diff --git a/.github/workflows/code-quality.yaml b/.github/workflows/code-quality.yaml index 9f3e53c2b1d..9c1dc53e0a9 100644 --- a/.github/workflows/code-quality.yaml +++ b/.github/workflows/code-quality.yaml @@ -49,7 +49,7 @@ jobs: include: # dev packages (probably not needed to have multiple such jobs) - minimum-stability: 'dev' - php-version: 8.4 + php-version: 8.5 # lowest deps - dependency-version: 'lowest' # LTS version of Symfony diff --git a/.github/workflows/functional-tests.yml b/.github/workflows/functional-tests.yml index b8bcce9f257..e07ff96a566 100644 --- a/.github/workflows/functional-tests.yml +++ b/.github/workflows/functional-tests.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - php-version: ['8.1', '8.2', '8.3', '8.4'] + php-version: ['8.1', '8.2', '8.3', '8.4', '8.5'] dependency-version: [''] symfony-version: [''] minimum-stability: ['stable'] @@ -29,7 +29,7 @@ jobs: include: # dev packages (probably not needed to have multiple such jobs) - minimum-stability: 'dev' - php-version: '8.4' + php-version: '8.5' # lowest deps - php-version: '8.1' dependency-version: 'lowest' diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 37e52a5105a..63699864767 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -28,7 +28,7 @@ jobs: strategy: fail-fast: false matrix: - php-version: ['8.1', '8.2', '8.3', '8.4'] + php-version: ['8.1', '8.2', '8.3', '8.4', '8.5'] dependency-version: [''] symfony-version: [''] minimum-stability: ['stable'] @@ -36,7 +36,7 @@ jobs: include: # dev packages (probably not needed to have multiple such jobs) - minimum-stability: 'dev' - php-version: '8.4' + php-version: '8.5' # lowest deps - php-version: '8.1' dependency-version: 'lowest' @@ -50,8 +50,8 @@ jobs: - php-version: '8.1' symfony-version: '6.4.*' - php-version: '8.2' - symfony-version: '7.3.*' # TODO: change to '7.4' when Symfony 7.4 is released - - php-version: '8.4' + symfony-version: '7.4.x-dev' # TODO: change to '7.4' when Symfony 7.4 is released + - php-version: '8.5' symfony-version: '8.0.x-dev' # TODO: change to '8.0' when Symfony 8.0 is released minimum-stability: 'dev' # TODO: remove when Symfony 8.0 is released diff --git a/src/Autocomplete/CHANGELOG.md b/src/Autocomplete/CHANGELOG.md index 0af4bde9d78..3814e6a0983 100644 --- a/src/Autocomplete/CHANGELOG.md +++ b/src/Autocomplete/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Chartjs/CHANGELOG.md b/src/Chartjs/CHANGELOG.md index 8ab43dfdf37..39e990b8a05 100644 --- a/src/Chartjs/CHANGELOG.md +++ b/src/Chartjs/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Cropperjs/CHANGELOG.md b/src/Cropperjs/CHANGELOG.md index 171d58b65d1..3452f04f2fe 100644 --- a/src/Cropperjs/CHANGELOG.md +++ b/src/Cropperjs/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Dropzone/CHANGELOG.md b/src/Dropzone/CHANGELOG.md index 1e178d9c441..b285e933c09 100644 --- a/src/Dropzone/CHANGELOG.md +++ b/src/Dropzone/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Icons/CHANGELOG.md b/src/Icons/CHANGELOG.md index 3eea06bcc5d..76befd404e0 100644 --- a/src/Icons/CHANGELOG.md +++ b/src/Icons/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/LazyImage/CHANGELOG.md b/src/LazyImage/CHANGELOG.md index 694aa1b60ca..aba2b58131b 100644 --- a/src/LazyImage/CHANGELOG.md +++ b/src/LazyImage/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/LiveComponent/CHANGELOG.md b/src/LiveComponent/CHANGELOG.md index 561c086e70d..2f4cbdcdabf 100644 --- a/src/LiveComponent/CHANGELOG.md +++ b/src/LiveComponent/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Map/CHANGELOG.md b/src/Map/CHANGELOG.md index fdd7bf21505..105cd5eb8d3 100644 --- a/src/Map/CHANGELOG.md +++ b/src/Map/CHANGELOG.md @@ -2,6 +2,10 @@ ## 2.30 +- Ensure compatibility with PHP 8.5 + +## 2.30 + - Deprecate option `title` from `Polygon`, `Polyline`, `Rectangle` and `Circle` in favor of `infoWindow` ## 2.29.0 diff --git a/src/Map/src/Bridge/Google/CHANGELOG.md b/src/Map/src/Bridge/Google/CHANGELOG.md index 0e8fe128388..1d4f56cc59e 100644 --- a/src/Map/src/Bridge/Google/CHANGELOG.md +++ b/src/Map/src/Bridge/Google/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Map/src/Bridge/Google/tests/GoogleRendererTest.php b/src/Map/src/Bridge/Google/tests/GoogleRendererTest.php index 0106e1bc1c8..33432cd7188 100644 --- a/src/Map/src/Bridge/Google/tests/GoogleRendererTest.php +++ b/src/Map/src/Bridge/Google/tests/GoogleRendererTest.php @@ -71,7 +71,7 @@ public static function provideTestRenderMap(): iterable ->addMarker($marker1) ->addMarker($marker2) ->removeMarker($marker1) - ->removeMarker($marker2), + ->removeMarker('marker2'), ]; yield 'with marker remove and new ones added' => [ diff --git a/src/Map/src/Bridge/Leaflet/CHANGELOG.md b/src/Map/src/Bridge/Leaflet/CHANGELOG.md index 0b5fc0eb405..4f691574a99 100644 --- a/src/Map/src/Bridge/Leaflet/CHANGELOG.md +++ b/src/Map/src/Bridge/Leaflet/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Map/src/Bridge/Leaflet/tests/LeafletRendererTest.php b/src/Map/src/Bridge/Leaflet/tests/LeafletRendererTest.php index 8636773a181..39955417bb7 100644 --- a/src/Map/src/Bridge/Leaflet/tests/LeafletRendererTest.php +++ b/src/Map/src/Bridge/Leaflet/tests/LeafletRendererTest.php @@ -66,7 +66,7 @@ public static function provideTestRenderMap(): iterable ->addMarker($marker1) ->addMarker($marker2) ->removeMarker($marker1) - ->removeMarker($marker2), + ->removeMarker('marker2'), ]; yield 'with marker remove and new ones added' => [ diff --git a/src/Map/src/Elements.php b/src/Map/src/Elements.php index 6dee1939f13..c68876c659a 100644 --- a/src/Map/src/Elements.php +++ b/src/Map/src/Elements.php @@ -27,18 +27,18 @@ public function __construct( ) { $this->elements = new \SplObjectStorage(); foreach ($elements as $element) { - $this->elements->attach($element); + $this->add($element); } } public function add(Element $element): static { - $this->elements->attach($element, $element->id ?? $this->elements->getHash($element)); + $this->elements[$element] = $element->id ?? $this->elements->getHash($element); return $this; } - private function getElement(string $id): ?Element + private function getElementById(string $id): ?Element { foreach ($this->elements as $element) { if ($element->id === $id) { @@ -52,15 +52,13 @@ private function getElement(string $id): ?Element public function remove(Element|string $elementOrId): static { if (\is_string($elementOrId)) { - $elementOrId = $this->getElement($elementOrId); + $element = $this->getElementById($elementOrId); + } else { + $element = $elementOrId; } - if (null === $elementOrId) { - return $this; - } - - if ($this->elements->contains($elementOrId)) { - $this->elements->detach($elementOrId); + if (null !== $element && $this->elements->offsetExists($element)) { + unset($this->elements[$element]); } return $this; diff --git a/src/Notify/CHANGELOG.md b/src/Notify/CHANGELOG.md index 40a72344e09..f011a3fd6e5 100644 --- a/src/Notify/CHANGELOG.md +++ b/src/Notify/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/React/CHANGELOG.md b/src/React/CHANGELOG.md index 96ed8c6a744..e79f7f81f52 100644 --- a/src/React/CHANGELOG.md +++ b/src/React/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/StimulusBundle/CHANGELOG.md b/src/StimulusBundle/CHANGELOG.md index a2201c231da..62e818d294f 100644 --- a/src/StimulusBundle/CHANGELOG.md +++ b/src/StimulusBundle/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Svelte/CHANGELOG.md b/src/Svelte/CHANGELOG.md index 5c7e94c763f..a211ab9ce92 100644 --- a/src/Svelte/CHANGELOG.md +++ b/src/Svelte/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Swup/CHANGELOG.md b/src/Swup/CHANGELOG.md index 0598d4df539..e7fd890d9cf 100644 --- a/src/Swup/CHANGELOG.md +++ b/src/Swup/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/TogglePassword/CHANGELOG.md b/src/TogglePassword/CHANGELOG.md index 5b13aaae0b3..0a1457e9b26 100644 --- a/src/TogglePassword/CHANGELOG.md +++ b/src/TogglePassword/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Toolkit/src/Installer/PoolResolver.php b/src/Toolkit/src/Installer/PoolResolver.php index 6f45618ffeb..67736ff71e0 100644 --- a/src/Toolkit/src/Installer/PoolResolver.php +++ b/src/Toolkit/src/Installer/PoolResolver.php @@ -37,11 +37,11 @@ public function resolveForRecipe(Kit $kit, Recipe $recipe): Pool $currentRecipe = array_pop($recipesStack); // Skip circular references - if ($visitedRecipes->contains($currentRecipe)) { + if ($visitedRecipes->offsetExists($currentRecipe)) { continue; } - $visitedRecipes->attach($currentRecipe); + $visitedRecipes[$currentRecipe] = null; foreach ($currentRecipe->getFiles() as $file) { $pool->addFile($currentRecipe, $file); diff --git a/src/Translator/CHANGELOG.md b/src/Translator/CHANGELOG.md index 266c9abc932..ed3e80db648 100644 --- a/src/Translator/CHANGELOG.md +++ b/src/Translator/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Turbo/CHANGELOG.md b/src/Turbo/CHANGELOG.md index df654e7c1d2..87efd753512 100644 --- a/src/Turbo/CHANGELOG.md +++ b/src/Turbo/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/TwigComponent/CHANGELOG.md b/src/TwigComponent/CHANGELOG.md index d21cd8e5c7e..0c4ea93e6a7 100644 --- a/src/TwigComponent/CHANGELOG.md +++ b/src/TwigComponent/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/TwigComponent/src/Command/TwigComponentDebugCommand.php b/src/TwigComponent/src/Command/TwigComponentDebugCommand.php index 85b0f291ae4..7332455eacd 100644 --- a/src/TwigComponent/src/Command/TwigComponentDebugCommand.php +++ b/src/TwigComponent/src/Command/TwigComponentDebugCommand.php @@ -298,7 +298,7 @@ private function getComponentProperties(ComponentMetadata $metadata): array } else { $typeName = (string) $type; } - $value = $property->getDefaultValue(); + $value = $property->hasDefaultValue() ? $property->getDefaultValue() : null; $propertyDisplay = $typeName.' $'.$propertyName.(null !== $value ? ' = '.json_encode($value) : ''); $properties[$property->name] = $propertyDisplay; } diff --git a/src/Typed/CHANGELOG.md b/src/Typed/CHANGELOG.md index 152c335d498..1dbbb3f9276 100644 --- a/src/Typed/CHANGELOG.md +++ b/src/Typed/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support diff --git a/src/Vue/CHANGELOG.md b/src/Vue/CHANGELOG.md index 5040161e7ea..7abf152875c 100644 --- a/src/Vue/CHANGELOG.md +++ b/src/Vue/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.30 + +- Ensure compatibility with PHP 8.5 + ## 2.29.0 - Add Symfony 8 support