diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index bfd7f2523fc..d79c21792be 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -46,9 +46,17 @@ jobs: - php-version: '8.1' symfony-version: '6.4.*' os: 'windows-latest' + # Explicit Symfony versions + - 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: '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 env: - SYMFONY_REQUIRE: ${{ matrix.symfony-version || '>=5.4' }} + SYMFONY_REQUIRE: ${{ matrix.symfony-version || '>=5.4' }} # TODO: To change to '>=6.4' in 3.x steps: - uses: actions/checkout@v4 diff --git a/src/Autocomplete/CHANGELOG.md b/src/Autocomplete/CHANGELOG.md index 41dd6e8a55c..0af4bde9d78 100644 --- a/src/Autocomplete/CHANGELOG.md +++ b/src/Autocomplete/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.28.0 - Default plugins like `clear_button` or `remove_button` can now be removed when setting their value to `false` in the `tom_select_options.plugins` option, for example: diff --git a/src/Autocomplete/composer.json b/src/Autocomplete/composer.json index f8253d95b9d..e1c906c40bd 100644 --- a/src/Autocomplete/composer.json +++ b/src/Autocomplete/composer.json @@ -25,11 +25,11 @@ }, "require": { "php": ">=8.1", - "symfony/dependency-injection": "^6.3|^7.0", + "symfony/dependency-injection": "^6.3|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-foundation": "^6.3|^7.0", - "symfony/http-kernel": "^6.3|^7.0", - "symfony/property-access": "^6.3|^7.0" + "symfony/http-foundation": "^6.3|^7.0|^8.0", + "symfony/http-kernel": "^6.3|^7.0|^8.0", + "symfony/property-access": "^6.3|^7.0|^8.0" }, "require-dev": { "doctrine/collections": "^1.6.8|^2.0", @@ -37,15 +37,15 @@ "doctrine/orm": "^2.9.4|^3.0", "fakerphp/faker": "^1.22", "mtdowling/jmespath.php": "^2.6", - "symfony/form": "^6.3|^7.0", - "symfony/options-resolver": "^6.3|^7.0", - "symfony/framework-bundle": "^6.3|^7.0", + "symfony/form": "^6.3|^7.0|^8.0", + "symfony/options-resolver": "^6.3|^7.0|^8.0", + "symfony/framework-bundle": "^6.3|^7.0|^8.0", "symfony/maker-bundle": "^1.40", - "symfony/phpunit-bridge": "^6.3|^7.0", - "symfony/process": "^6.3|^7.0", - "symfony/security-bundle": "^6.3|^7.0", - "symfony/twig-bundle": "^6.3|^7.0", - "symfony/uid": "^6.3|^7.0", + "symfony/phpunit-bridge": "^6.3|^7.0|^8.0", + "symfony/process": "^6.3|^7.0|^8.0", + "symfony/security-bundle": "^6.3|^7.0|^8.0", + "symfony/twig-bundle": "^6.3|^7.0|^8.0", + "symfony/uid": "^6.3|^7.0|^8.0", "twig/twig": "^2.14.7|^3.0.4", "zenstruck/browser": "^1.1", "zenstruck/foundry": "^2.0" diff --git a/src/Autocomplete/doc/index.rst b/src/Autocomplete/doc/index.rst index aa759554ec7..972479d7fe3 100644 --- a/src/Autocomplete/doc/index.rst +++ b/src/Autocomplete/doc/index.rst @@ -112,7 +112,7 @@ Or, create the field by hand:: #[AsEntityAutocompleteField] class FoodAutocompleteField extends AbstractType { - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'class' => Food::class, @@ -512,7 +512,7 @@ your ``configureOptions()`` method: .. code-block:: diff - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'class' => Food::class, diff --git a/src/Autocomplete/src/Form/ParentEntityAutocompleteType.php b/src/Autocomplete/src/Form/ParentEntityAutocompleteType.php index 6e2350bbbec..be088ce5089 100644 --- a/src/Autocomplete/src/Form/ParentEntityAutocompleteType.php +++ b/src/Autocomplete/src/Form/ParentEntityAutocompleteType.php @@ -33,7 +33,7 @@ public function __construct( ) { } - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $formType = $builder->getType()->getInnerType(); $attribute = AsEntityAutocompleteField::getInstance($formType::class); @@ -52,7 +52,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) ->setDataMapper($this); } - public function finishView(FormView $view, FormInterface $form, array $options) + public function finishView(FormView $view, FormInterface $form, array $options): void { // Add a custom block prefix to inner field to ease theming: array_splice($view['autocomplete']->vars['block_prefixes'], -1, 0, 'ux_entity_autocomplete_inner'); @@ -65,7 +65,7 @@ public function finishView(FormView $view, FormInterface $form, array $options) $view->vars['compound_data'] = true; } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'multiple' => false, diff --git a/src/Autocomplete/tests/Fixtures/Form/AlternateRouteAutocompleteType.php b/src/Autocomplete/tests/Fixtures/Form/AlternateRouteAutocompleteType.php index 2ef4025187a..f9b841b5f08 100644 --- a/src/Autocomplete/tests/Fixtures/Form/AlternateRouteAutocompleteType.php +++ b/src/Autocomplete/tests/Fixtures/Form/AlternateRouteAutocompleteType.php @@ -20,7 +20,7 @@ #[AsEntityAutocompleteField(route: 'ux_autocomplete_alternate')] class AlternateRouteAutocompleteType extends AbstractType { - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'class' => Ingredient::class, diff --git a/src/Autocomplete/tests/Fixtures/Form/CategoryAutocompleteType.php b/src/Autocomplete/tests/Fixtures/Form/CategoryAutocompleteType.php index 5f96dc3f369..671878bd155 100644 --- a/src/Autocomplete/tests/Fixtures/Form/CategoryAutocompleteType.php +++ b/src/Autocomplete/tests/Fixtures/Form/CategoryAutocompleteType.php @@ -27,7 +27,7 @@ public function __construct(private RequestStack $requestStack) { } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'class' => Category::class, diff --git a/src/Autocomplete/tests/Fixtures/Form/CategoryNoChoiceLabelAutocompleteType.php b/src/Autocomplete/tests/Fixtures/Form/CategoryNoChoiceLabelAutocompleteType.php index 9b80ea84968..92936fe3db9 100644 --- a/src/Autocomplete/tests/Fixtures/Form/CategoryNoChoiceLabelAutocompleteType.php +++ b/src/Autocomplete/tests/Fixtures/Form/CategoryNoChoiceLabelAutocompleteType.php @@ -20,7 +20,7 @@ #[AsEntityAutocompleteField] class CategoryNoChoiceLabelAutocompleteType extends AbstractType { - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'class' => Category::class, diff --git a/src/Autocomplete/tests/Fixtures/Form/IngredientAutocompleteType.php b/src/Autocomplete/tests/Fixtures/Form/IngredientAutocompleteType.php index c2b636ceea7..0b57ea04733 100644 --- a/src/Autocomplete/tests/Fixtures/Form/IngredientAutocompleteType.php +++ b/src/Autocomplete/tests/Fixtures/Form/IngredientAutocompleteType.php @@ -22,7 +22,7 @@ #[AsEntityAutocompleteField] class IngredientAutocompleteType extends AbstractType { - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'class' => Ingredient::class, diff --git a/src/Autocomplete/tests/Fixtures/Form/ProductWithTagsAutocompleteType.php b/src/Autocomplete/tests/Fixtures/Form/ProductWithTagsAutocompleteType.php index 68390e0868c..5998e1a5001 100644 --- a/src/Autocomplete/tests/Fixtures/Form/ProductWithTagsAutocompleteType.php +++ b/src/Autocomplete/tests/Fixtures/Form/ProductWithTagsAutocompleteType.php @@ -20,7 +20,7 @@ #[AsEntityAutocompleteField] class ProductWithTagsAutocompleteType extends AbstractType { - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'class' => Product::class, diff --git a/src/Chartjs/CHANGELOG.md b/src/Chartjs/CHANGELOG.md index 2e4ed856fc6..8ab43dfdf37 100644 --- a/src/Chartjs/CHANGELOG.md +++ b/src/Chartjs/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.23.0 - Listen to Stimulus `disconnect` event to destroy the chart #1944 diff --git a/src/Chartjs/composer.json b/src/Chartjs/composer.json index b4f1190bde2..5f1c0948d3f 100644 --- a/src/Chartjs/composer.json +++ b/src/Chartjs/composer.json @@ -29,16 +29,16 @@ }, "require": { "php": ">=8.1", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0|^8.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0|^8.0", "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": { - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0" }, "conflict": { "symfony/flex": "<1.13" diff --git a/src/Chartjs/src/DependencyInjection/ChartjsExtension.php b/src/Chartjs/src/DependencyInjection/ChartjsExtension.php index b3e8716d129..f706f87de03 100644 --- a/src/Chartjs/src/DependencyInjection/ChartjsExtension.php +++ b/src/Chartjs/src/DependencyInjection/ChartjsExtension.php @@ -28,7 +28,7 @@ */ class ChartjsExtension extends Extension implements PrependExtensionInterface { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $container ->setDefinition('chartjs.builder', new Definition(ChartBuilder::class)) @@ -48,7 +48,7 @@ public function load(array $configs, ContainerBuilder $container) ; } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$this->isAssetMapperAvailable($container)) { return; diff --git a/src/Cropperjs/CHANGELOG.md b/src/Cropperjs/CHANGELOG.md index 159f5bef7a7..171d58b65d1 100644 --- a/src/Cropperjs/CHANGELOG.md +++ b/src/Cropperjs/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.13.2 - Revert "Change JavaScript package to `type: module`" diff --git a/src/Cropperjs/composer.json b/src/Cropperjs/composer.json index 545195d3642..fbf22907651 100644 --- a/src/Cropperjs/composer.json +++ b/src/Cropperjs/composer.json @@ -30,19 +30,19 @@ "require": { "php": ">=8.1", "intervention/image": "^2.5", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/options-resolver": "^5.4|^6.0|^7.0", - "symfony/validator": "^5.4|^6.0|^7.0" + "symfony/config": "^5.4|^6.0|^7.0|^8.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", + "symfony/form": "^5.4|^6.0|^7.0|^8.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0|^8.0", + "symfony/options-resolver": "^5.4|^6.0|^7.0|^8.0", + "symfony/validator": "^5.4|^6.0|^7.0|^8.0" }, "require-dev": { - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0|^8.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0", "twig/twig": "^2.14.7|^3.0.4" }, "conflict": { diff --git a/src/Cropperjs/src/DependencyInjection/CropperjsExtension.php b/src/Cropperjs/src/DependencyInjection/CropperjsExtension.php index 26a8de5b60c..56de4113800 100644 --- a/src/Cropperjs/src/DependencyInjection/CropperjsExtension.php +++ b/src/Cropperjs/src/DependencyInjection/CropperjsExtension.php @@ -29,7 +29,7 @@ */ class CropperjsExtension extends Extension implements PrependExtensionInterface { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $container ->setDefinition('form.cropper', new Definition(CropperType::class)) @@ -51,7 +51,7 @@ public function load(array $configs, ContainerBuilder $container) $container->setAlias(CropperInterface::class, 'cropper')->setPublic(false); } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$this->isAssetMapperAvailable($container)) { return; diff --git a/src/Cropperjs/src/Form/CropperType.php b/src/Cropperjs/src/Form/CropperType.php index de2f70d6a0c..9f0c55e318a 100644 --- a/src/Cropperjs/src/Form/CropperType.php +++ b/src/Cropperjs/src/Form/CropperType.php @@ -26,7 +26,7 @@ */ class CropperType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('options', HiddenType::class, [ @@ -40,7 +40,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) ; } - public function buildView(FormView $view, FormInterface $form, array $options) + public function buildView(FormView $view, FormInterface $form, array $options): void { $view->vars['attr']['class'] = trim(($view->vars['attr']['class'] ?? '').' cropperjs'); @@ -50,7 +50,7 @@ public function buildView(FormView $view, FormInterface $form, array $options) } } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setRequired('public_url'); $resolver->setAllowedTypes('public_url', 'string'); @@ -62,7 +62,7 @@ public function configureOptions(OptionsResolver $resolver) ]); } - public function getBlockPrefix() + public function getBlockPrefix(): string { return 'cropper'; } diff --git a/src/Dropzone/CHANGELOG.md b/src/Dropzone/CHANGELOG.md index 77389fe0f19..1e178d9c441 100644 --- a/src/Dropzone/CHANGELOG.md +++ b/src/Dropzone/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.20 - Enable file replacement via "drag-and-drop" diff --git a/src/Dropzone/composer.json b/src/Dropzone/composer.json index e4bda48342f..fa7a52623fb 100644 --- a/src/Dropzone/composer.json +++ b/src/Dropzone/composer.json @@ -29,17 +29,17 @@ }, "require": { "php": ">=8.1", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/options-resolver": "^5.4|^6.0|^7.0" + "symfony/config": "^5.4|^6.0|^7.0|^8.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", + "symfony/form": "^5.4|^6.0|^7.0|^8.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0|^8.0", + "symfony/options-resolver": "^5.4|^6.0|^7.0|^8.0" }, "require-dev": { - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0", "twig/twig": "^2.14.7|^3.0.4" }, "extra": { diff --git a/src/Dropzone/doc/index.rst b/src/Dropzone/doc/index.rst index 85624d9b38b..5813fa3ca41 100644 --- a/src/Dropzone/doc/index.rst +++ b/src/Dropzone/doc/index.rst @@ -43,7 +43,7 @@ replacement of the native FileType class:: class CommentFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... @@ -136,7 +136,7 @@ Then in your form, add your controller as an HTML attribute:: class CommentFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... diff --git a/src/Dropzone/src/DependencyInjection/DropzoneExtension.php b/src/Dropzone/src/DependencyInjection/DropzoneExtension.php index 697d1249840..4f260d27a92 100644 --- a/src/Dropzone/src/DependencyInjection/DropzoneExtension.php +++ b/src/Dropzone/src/DependencyInjection/DropzoneExtension.php @@ -45,7 +45,7 @@ public function prepend(ContainerBuilder $container): void } } - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $container ->setDefinition('form.dropzone', new Definition(DropzoneType::class)) diff --git a/src/Dropzone/src/Form/DropzoneType.php b/src/Dropzone/src/Form/DropzoneType.php index d0e73271c61..7c0dbdffe6e 100644 --- a/src/Dropzone/src/Form/DropzoneType.php +++ b/src/Dropzone/src/Form/DropzoneType.php @@ -22,7 +22,7 @@ */ class DropzoneType extends AbstractType { - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'attr' => [ @@ -31,12 +31,12 @@ public function configureOptions(OptionsResolver $resolver) ]); } - public function getParent() + public function getParent(): string { return FileType::class; } - public function getBlockPrefix() + public function getBlockPrefix(): string { return 'dropzone'; } diff --git a/src/Icons/CHANGELOG.md b/src/Icons/CHANGELOG.md index 0c856de7799..3eea06bcc5d 100644 --- a/src/Icons/CHANGELOG.md +++ b/src/Icons/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.25.0 - Improve DX when `symfony/http-client` is not installed. diff --git a/src/Icons/composer.json b/src/Icons/composer.json index 469effc3a2f..83d0a25d25f 100644 --- a/src/Icons/composer.json +++ b/src/Icons/composer.json @@ -36,14 +36,14 @@ }, "require": { "php": ">=8.1", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/twig-bundle": "^6.4|^7.0" + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/twig-bundle": "^6.4|^7.0|^8.0" }, "require-dev": { - "symfony/asset-mapper": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/http-client": "6.4|^7.0", - "symfony/phpunit-bridge": "^6.3|^7.0", + "symfony/asset-mapper": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-client": "6.4|^7.0|^8.0", + "symfony/phpunit-bridge": "^6.3|^7.0|^8.0", "symfony/ux-twig-component": "^2.14", "zenstruck/console-test": "^1.5", "psr/log": "^2|^3" diff --git a/src/LazyImage/CHANGELOG.md b/src/LazyImage/CHANGELOG.md index e5a3d00312e..694aa1b60ca 100644 --- a/src/LazyImage/CHANGELOG.md +++ b/src/LazyImage/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.26.0 - Deprecate the package diff --git a/src/LazyImage/composer.json b/src/LazyImage/composer.json index f15a99eda48..4eef83304ef 100644 --- a/src/LazyImage/composer.json +++ b/src/LazyImage/composer.json @@ -29,19 +29,19 @@ }, "require": { "php": ">=8.1", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0|^8.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0|^8.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { "intervention/image": "^2.5|^3.0", "kornrunner/blurhash": "^1.1", - "symfony/cache-contracts": "^2.2", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.2|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/cache-contracts": "^2.2|^3.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.2|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0" }, "extra": { "thanks": { diff --git a/src/LazyImage/src/DependencyInjection/LazyImageExtension.php b/src/LazyImage/src/DependencyInjection/LazyImageExtension.php index 52405f71bbb..07981b592be 100644 --- a/src/LazyImage/src/DependencyInjection/LazyImageExtension.php +++ b/src/LazyImage/src/DependencyInjection/LazyImageExtension.php @@ -34,7 +34,7 @@ */ class LazyImageExtension extends Extension implements PrependExtensionInterface { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $configs); @@ -83,7 +83,7 @@ public function load(array $configs, ContainerBuilder $container) ; } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$this->isAssetMapperAvailable($container)) { return; diff --git a/src/LiveComponent/CHANGELOG.md b/src/LiveComponent/CHANGELOG.md index 06863ce27af..561c086e70d 100644 --- a/src/LiveComponent/CHANGELOG.md +++ b/src/LiveComponent/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.28.0 - Add new modifiers for input validations, useful to prevent unnecessary HTTP requests: diff --git a/src/LiveComponent/composer.json b/src/LiveComponent/composer.json index 093723c9521..189f7b45a4d 100644 --- a/src/LiveComponent/composer.json +++ b/src/LiveComponent/composer.json @@ -28,8 +28,8 @@ "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3.0", - "symfony/property-access": "^5.4.5|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0|^7.0|^8.0", + "symfony/property-info": "^5.4|^6.0|^7.0|^8.0", "symfony/stimulus-bundle": "^2.9", "symfony/ux-twig-component": "^2.25.1", "twig/twig": "^3.10.3" @@ -41,17 +41,17 @@ "doctrine/orm": "^2.9.4", "doctrine/persistence": "^2.5.2|^3.0", "phpdocumentor/reflection-docblock": "5.x-dev", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/options-resolver": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^6.1|^7.0", - "symfony/security-bundle": "^5.4|^6.0|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", + "symfony/expression-language": "^5.4|^6.0|^7.0|^8.0", + "symfony/form": "^5.4|^6.0|^7.0|^8.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/options-resolver": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^6.1|^7.0|^8.0", + "symfony/security-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/serializer": "^5.4|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/uid": "^5.4|^6.0|^7.0|^8.0", + "symfony/validator": "^5.4|^6.0|^7.0|^8.0", "zenstruck/browser": "^1.2.0", "zenstruck/foundry": "^2.0" }, diff --git a/src/LiveComponent/doc/index.rst b/src/LiveComponent/doc/index.rst index 9701f13fc82..46f0c7e1bdf 100644 --- a/src/LiveComponent/doc/index.rst +++ b/src/LiveComponent/doc/index.rst @@ -1438,7 +1438,7 @@ instant validation as the user types:: class PostType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('title') @@ -1447,7 +1447,7 @@ instant validation as the user types:: ; } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => Post::class, @@ -1749,7 +1749,7 @@ typing! To fix this, either re-render on the ``change`` event (which fires after the text box loses focus) or set the ``trim`` option of your field to ``false``:: - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... @@ -1768,7 +1768,7 @@ a submit. To fix this, set the ``always_empty`` option to ``false`` in your form:: - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... @@ -1818,7 +1818,7 @@ via the ``CollectionType``:: class BlogPostFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('title', TextType::class) @@ -1832,7 +1832,7 @@ via the ``CollectionType``:: ; } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults(['data_class' => BlogPost::class]); } @@ -1964,7 +1964,7 @@ via the ``LiveCollectionType``:: class BlogPostFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('title', TextType::class) @@ -1975,7 +1975,7 @@ via the ``LiveCollectionType``:: ; } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults(['data_class' => BlogPost::class]); } diff --git a/src/LiveComponent/src/DependencyInjection/LiveComponentExtension.php b/src/LiveComponent/src/DependencyInjection/LiveComponentExtension.php index 4315638e869..ffe6c88b2fd 100644 --- a/src/LiveComponent/src/DependencyInjection/LiveComponentExtension.php +++ b/src/LiveComponent/src/DependencyInjection/LiveComponentExtension.php @@ -66,7 +66,7 @@ final class LiveComponentExtension extends Extension implements PrependExtension { public const TEMPLATES_MAP_FILENAME = 'live_components_twig_templates.map'; - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { // Register the form theme if TwigBundle is available $bundles = $container->getParameter('kernel.bundles'); diff --git a/src/LiveComponent/tests/Fixtures/Factory/CategoryFixtureEntityFactory.php b/src/LiveComponent/tests/Fixtures/Factory/CategoryFixtureEntityFactory.php index ccc7d8d7e76..e9e53e9abdf 100644 --- a/src/LiveComponent/tests/Fixtures/Factory/CategoryFixtureEntityFactory.php +++ b/src/LiveComponent/tests/Fixtures/Factory/CategoryFixtureEntityFactory.php @@ -14,6 +14,9 @@ use Symfony\UX\LiveComponent\Tests\Fixtures\Entity\CategoryFixtureEntity; use Zenstruck\Foundry\Persistence\PersistentProxyObjectFactory; +/** + * @extends PersistentProxyObjectFactory + */ final class CategoryFixtureEntityFactory extends PersistentProxyObjectFactory { protected function defaults(): array|callable diff --git a/src/LiveComponent/tests/Fixtures/Form/BlogPostFormLiveCollectionType.php b/src/LiveComponent/tests/Fixtures/Form/BlogPostFormLiveCollectionType.php index e7898ee6f3a..c013dc1ad24 100644 --- a/src/LiveComponent/tests/Fixtures/Form/BlogPostFormLiveCollectionType.php +++ b/src/LiveComponent/tests/Fixtures/Form/BlogPostFormLiveCollectionType.php @@ -21,7 +21,7 @@ class BlogPostFormLiveCollectionType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('title', TextType::class) @@ -34,14 +34,14 @@ public function buildForm(FormBuilderInterface $builder, array $options) ; } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => BlogPost::class, ]); } - public function getBlockPrefix() + public function getBlockPrefix(): string { return 'blog_post_form'; } diff --git a/src/LiveComponent/tests/Fixtures/Form/BlogPostFormType.php b/src/LiveComponent/tests/Fixtures/Form/BlogPostFormType.php index 584bcdbc823..cd9c3bbd872 100644 --- a/src/LiveComponent/tests/Fixtures/Form/BlogPostFormType.php +++ b/src/LiveComponent/tests/Fixtures/Form/BlogPostFormType.php @@ -21,7 +21,7 @@ class BlogPostFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('title', TextType::class) @@ -34,7 +34,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) ; } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => BlogPost::class, diff --git a/src/LiveComponent/tests/Fixtures/Form/CommentFormType.php b/src/LiveComponent/tests/Fixtures/Form/CommentFormType.php index e7b5e5e5dfb..37ebd4e8a3f 100644 --- a/src/LiveComponent/tests/Fixtures/Form/CommentFormType.php +++ b/src/LiveComponent/tests/Fixtures/Form/CommentFormType.php @@ -19,14 +19,14 @@ class CommentFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('content', TextareaType::class) ; } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => Comment::class, diff --git a/src/LiveComponent/tests/Fixtures/Form/ComplexFieldType.php b/src/LiveComponent/tests/Fixtures/Form/ComplexFieldType.php index e3281c73031..520a049c7e2 100644 --- a/src/LiveComponent/tests/Fixtures/Form/ComplexFieldType.php +++ b/src/LiveComponent/tests/Fixtures/Form/ComplexFieldType.php @@ -11,12 +11,12 @@ class ComplexFieldType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('sub_field', TextType::class); } - public function finishView(FormView $view, FormInterface $form, array $options) + public function finishView(FormView $view, FormInterface $form, array $options): void { // try to confuse ComponentWithFormTrait // mimics what autocomplete does diff --git a/src/LiveComponent/tests/Fixtures/Form/FormWithManyDifferentFieldsType.php b/src/LiveComponent/tests/Fixtures/Form/FormWithManyDifferentFieldsType.php index bc3794a22c8..1cb10aac995 100644 --- a/src/LiveComponent/tests/Fixtures/Form/FormWithManyDifferentFieldsType.php +++ b/src/LiveComponent/tests/Fixtures/Form/FormWithManyDifferentFieldsType.php @@ -30,7 +30,7 @@ */ class FormWithManyDifferentFieldsType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('text', TextType::class) diff --git a/src/LiveComponent/tests/Fixtures/Form/UserFormType.php b/src/LiveComponent/tests/Fixtures/Form/UserFormType.php index 99bd456d38c..e0103151dad 100644 --- a/src/LiveComponent/tests/Fixtures/Form/UserFormType.php +++ b/src/LiveComponent/tests/Fixtures/Form/UserFormType.php @@ -19,14 +19,14 @@ class UserFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('username', TextType::class) ; } - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => User::class, diff --git a/src/Map/CHANGELOG.md b/src/Map/CHANGELOG.md index 9b7ac7ef5f1..e5f5dc35431 100644 --- a/src/Map/CHANGELOG.md +++ b/src/Map/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.28 - Add `minZoom` and `maxZoom` options to `Map` to set the minimum and maximum zoom levels diff --git a/src/Map/composer.json b/src/Map/composer.json index 909e090ec33..635ac9638ff 100644 --- a/src/Map/composer.json +++ b/src/Map/composer.json @@ -36,11 +36,11 @@ "symfony/stimulus-bundle": "^2.18.1" }, "require-dev": { - "symfony/asset-mapper": "^6.4|^7.0", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/phpunit-bridge": "^7.2", - "symfony/twig-bundle": "^6.4|^7.0", - "symfony/ux-twig-component": "^2.18", + "symfony/asset-mapper": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/phpunit-bridge": "^7.2|^8.0", + "symfony/twig-bundle": "^6.4|^7.0|^8.0", + "symfony/ux-twig-component": "^2.18|^8.0", "symfony/ux-icons": "^2.18", "spatie/phpunit-snapshot-assertions": "^4.2.17", "phpunit/phpunit": "^9.6.22" diff --git a/src/Map/src/Bridge/Google/CHANGELOG.md b/src/Map/src/Bridge/Google/CHANGELOG.md index fbdc858d9c9..0e8fe128388 100644 --- a/src/Map/src/Bridge/Google/CHANGELOG.md +++ b/src/Map/src/Bridge/Google/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.27 - Fix `InfoWindow` compatibility with new `Circle` and `Rectangle` supported elements. diff --git a/src/Map/src/Bridge/Google/composer.json b/src/Map/src/Bridge/Google/composer.json index 7889f360787..a6fd6d1b71d 100644 --- a/src/Map/src/Bridge/Google/composer.json +++ b/src/Map/src/Bridge/Google/composer.json @@ -21,7 +21,7 @@ "symfony/ux-map": "^2.19" }, "require-dev": { - "symfony/phpunit-bridge": "^7.2", + "symfony/phpunit-bridge": "^7.2|^8.0", "symfony/ux-icons": "^2.18", "spatie/phpunit-snapshot-assertions": "^4.2.17", "phpunit/phpunit": "^9.6.22" diff --git a/src/Map/src/Bridge/Leaflet/CHANGELOG.md b/src/Map/src/Bridge/Leaflet/CHANGELOG.md index a9e17804201..0b5fc0eb405 100644 --- a/src/Map/src/Bridge/Leaflet/CHANGELOG.md +++ b/src/Map/src/Bridge/Leaflet/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.27 - Add `attributionControl` and `attributionControlOptions` to `LeafletOptions`, diff --git a/src/Map/src/Bridge/Leaflet/composer.json b/src/Map/src/Bridge/Leaflet/composer.json index f33e00cd48a..7b7bba54c5c 100644 --- a/src/Map/src/Bridge/Leaflet/composer.json +++ b/src/Map/src/Bridge/Leaflet/composer.json @@ -21,7 +21,7 @@ "symfony/ux-map": "^2.19" }, "require-dev": { - "symfony/phpunit-bridge": "^7.2", + "symfony/phpunit-bridge": "^7.2|^8.0", "symfony/ux-icons": "^2.18", "spatie/phpunit-snapshot-assertions": "^4.2.17", "phpunit/phpunit": "^9.6.22" diff --git a/src/Map/tests/Kernel/FrameworkAppKernel.php b/src/Map/tests/Kernel/FrameworkAppKernel.php index 1246a8d8d13..82704b4c3a5 100644 --- a/src/Map/tests/Kernel/FrameworkAppKernel.php +++ b/src/Map/tests/Kernel/FrameworkAppKernel.php @@ -32,7 +32,7 @@ public function registerBundles(): iterable return [new FrameworkBundle(), new StimulusBundle(), new UXMapBundle()]; } - public function registerContainerConfiguration(LoaderInterface $loader) + public function registerContainerConfiguration(LoaderInterface $loader): void { $loader->load(function (ContainerBuilder $container) { $container->loadFromExtension('framework', ['secret' => '$ecret', 'test' => true, 'http_method_override' => false]); diff --git a/src/Map/tests/Kernel/TwigAppKernel.php b/src/Map/tests/Kernel/TwigAppKernel.php index 364b843d518..8acc3816e5a 100644 --- a/src/Map/tests/Kernel/TwigAppKernel.php +++ b/src/Map/tests/Kernel/TwigAppKernel.php @@ -33,7 +33,7 @@ public function registerBundles(): iterable return [new FrameworkBundle(), new StimulusBundle(), new TwigBundle(), new UXMapBundle()]; } - public function registerContainerConfiguration(LoaderInterface $loader) + public function registerContainerConfiguration(LoaderInterface $loader): void { $loader->load(function (ContainerBuilder $container) { $container->loadFromExtension('framework', ['secret' => '$ecret', 'test' => true, 'http_method_override' => false]); diff --git a/src/Map/tests/Kernel/TwigComponentKernel.php b/src/Map/tests/Kernel/TwigComponentKernel.php index 7ee33360058..b1c590863a1 100644 --- a/src/Map/tests/Kernel/TwigComponentKernel.php +++ b/src/Map/tests/Kernel/TwigComponentKernel.php @@ -38,7 +38,7 @@ public function registerBundles(): iterable ]; } - public function registerContainerConfiguration(LoaderInterface $loader) + public function registerContainerConfiguration(LoaderInterface $loader): void { $loader->load(function (ContainerBuilder $container) { $container->loadFromExtension('framework', [ diff --git a/src/Notify/CHANGELOG.md b/src/Notify/CHANGELOG.md index e1daa04d829..40a72344e09 100644 --- a/src/Notify/CHANGELOG.md +++ b/src/Notify/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.24.0 - Added `options` to Notification diff --git a/src/Notify/composer.json b/src/Notify/composer.json index a427a302ec8..65c5b836be3 100644 --- a/src/Notify/composer.json +++ b/src/Notify/composer.json @@ -29,18 +29,18 @@ }, "require": { "php": ">=8.1", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0|^8.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0|^8.0", "symfony/mercure-bundle": "^0.3.4", - "symfony/mercure-notifier": "^5.4|^6.0|^7.0", + "symfony/mercure-notifier": "^5.4|^6.0|^7.0|^8.0", "symfony/stimulus-bundle": "^2.9.1", - "symfony/twig-bundle": "^5.4|^6.0|^7.0" + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0" }, "require-dev": { - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0" }, "conflict": { "symfony/config": "<5.4.0" diff --git a/src/React/CHANGELOG.md b/src/React/CHANGELOG.md index 5cbccbe805a..96ed8c6a744 100644 --- a/src/React/CHANGELOG.md +++ b/src/React/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.28.0 - [BC BREAK] By modernizing our building tools, the file `dist/render_controller.js` now does not contain any useless diff --git a/src/React/composer.json b/src/React/composer.json index 53fd92f79ed..46081a52359 100644 --- a/src/React/composer.json +++ b/src/React/composer.json @@ -32,12 +32,12 @@ "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": { - "symfony/asset-mapper": "^6.3|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/asset-mapper": "^6.3|^7.0|^8.0", + "symfony/finder": "^5.4|^6.0|^7.0|^8.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0" }, "extra": { "thanks": { diff --git a/src/React/src/DependencyInjection/ReactExtension.php b/src/React/src/DependencyInjection/ReactExtension.php index 0d6a0269780..6b8adf8b8b3 100644 --- a/src/React/src/DependencyInjection/ReactExtension.php +++ b/src/React/src/DependencyInjection/ReactExtension.php @@ -31,7 +31,7 @@ */ class ReactExtension extends Extension implements PrependExtensionInterface, ConfigurationInterface { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $configuration = $this->getConfiguration($configs, $container); $config = $this->processConfiguration($configuration, $configs); @@ -58,7 +58,7 @@ public function load(array $configs, ContainerBuilder $container) ->addTag('asset_mapper.compiler'); } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$this->isAssetMapperAvailable($container)) { return; diff --git a/src/StimulusBundle/CHANGELOG.md b/src/StimulusBundle/CHANGELOG.md index 46cc4512108..a2201c231da 100644 --- a/src/StimulusBundle/CHANGELOG.md +++ b/src/StimulusBundle/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.20.1 - Normalize Stimulus controller name in event name diff --git a/src/StimulusBundle/composer.json b/src/StimulusBundle/composer.json index bfceb40241f..346b2841df5 100644 --- a/src/StimulusBundle/composer.json +++ b/src/StimulusBundle/composer.json @@ -14,18 +14,18 @@ ], "require": { "php": ">=8.1", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0|^8.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", + "symfony/finder": "^5.4|^6.0|^7.0|^8.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0|^8.0", "twig/twig": "^2.15.3|^3.8", "symfony/deprecation-contracts": "^2.0|^3.0" }, "require-dev": { - "symfony/asset-mapper": "^6.3|^7.0", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", + "symfony/asset-mapper": "^6.3|^7.0|^8.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", "zenstruck/browser": "^1.4" }, "minimum-stability": "dev", diff --git a/src/StimulusBundle/src/DependencyInjection/Compiler/RemoveAssetMapperServicesCompiler.php b/src/StimulusBundle/src/DependencyInjection/Compiler/RemoveAssetMapperServicesCompiler.php index 2e29e535734..e805465dee8 100644 --- a/src/StimulusBundle/src/DependencyInjection/Compiler/RemoveAssetMapperServicesCompiler.php +++ b/src/StimulusBundle/src/DependencyInjection/Compiler/RemoveAssetMapperServicesCompiler.php @@ -21,7 +21,7 @@ */ class RemoveAssetMapperServicesCompiler implements CompilerPassInterface { - public function process(ContainerBuilder $container) + public function process(ContainerBuilder $container): void { if (!$container->hasDefinition('asset_mapper')) { $container->removeDefinition('stimulus.ux_controllers_twig_runtime'); diff --git a/src/StimulusBundle/src/StimulusBundle.php b/src/StimulusBundle/src/StimulusBundle.php index 21e0e9a802f..e3b62084c56 100644 --- a/src/StimulusBundle/src/StimulusBundle.php +++ b/src/StimulusBundle/src/StimulusBundle.php @@ -25,7 +25,7 @@ public function getPath(): string return \dirname(__DIR__); } - public function build(ContainerBuilder $container) + public function build(ContainerBuilder $container): void { $container->addCompilerPass(new RemoveAssetMapperServicesCompiler()); } diff --git a/src/Svelte/CHANGELOG.md b/src/Svelte/CHANGELOG.md index ef7204eb4d7..5c7e94c763f 100644 --- a/src/Svelte/CHANGELOG.md +++ b/src/Svelte/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.13.2 - Revert "Change JavaScript package to `type: module`" diff --git a/src/Svelte/composer.json b/src/Svelte/composer.json index 8d19662b0ad..6ce86e8dff8 100644 --- a/src/Svelte/composer.json +++ b/src/Svelte/composer.json @@ -36,12 +36,12 @@ "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": { - "symfony/asset-mapper": "^6.3|^7.0", - "symfony/finder": "^5.4|^6.2|^7.0", - "symfony/framework-bundle": "^5.4|^6.2|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.2|^7.0", - "symfony/twig-bundle": "^5.4|^6.2|^7.0", - "symfony/var-dumper": "^5.4|^6.2|^7.0" + "symfony/asset-mapper": "^6.3|^7.0|^8.0", + "symfony/finder": "^5.4|^6.2|^7.0|^8.0", + "symfony/framework-bundle": "^5.4|^6.2|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.2|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.2|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.2|^7.0|^8.0" }, "extra": { "thanks": { diff --git a/src/Svelte/src/DependencyInjection/SvelteExtension.php b/src/Svelte/src/DependencyInjection/SvelteExtension.php index 1b4af03dead..cdfebdde3c0 100644 --- a/src/Svelte/src/DependencyInjection/SvelteExtension.php +++ b/src/Svelte/src/DependencyInjection/SvelteExtension.php @@ -31,7 +31,7 @@ */ class SvelteExtension extends Extension implements PrependExtensionInterface, ConfigurationInterface { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $configuration = $this->getConfiguration($configs, $container); $config = $this->processConfiguration($configuration, $configs); @@ -52,7 +52,7 @@ public function load(array $configs, ContainerBuilder $container) ->addTag('asset_mapper.compiler', ['priority' => 100]); } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$this->isAssetMapperAvailable($container)) { return; diff --git a/src/Swup/CHANGELOG.md b/src/Swup/CHANGELOG.md index 814bd720922..0598d4df539 100644 --- a/src/Swup/CHANGELOG.md +++ b/src/Swup/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.26.0 - Deprecate the package diff --git a/src/Swup/src/DependencyInjection/SwupExtension.php b/src/Swup/src/DependencyInjection/SwupExtension.php index f71cced0f73..07e9d97b1b0 100644 --- a/src/Swup/src/DependencyInjection/SwupExtension.php +++ b/src/Swup/src/DependencyInjection/SwupExtension.php @@ -23,11 +23,11 @@ */ class SwupExtension extends Extension implements PrependExtensionInterface { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$this->isAssetMapperAvailable($container)) { return; diff --git a/src/TogglePassword/CHANGELOG.md b/src/TogglePassword/CHANGELOG.md index ee855b97a5e..5b13aaae0b3 100644 --- a/src/TogglePassword/CHANGELOG.md +++ b/src/TogglePassword/CHANGELOG.md @@ -2,6 +2,10 @@ ## 2.29.0 +- Add Symfony 8 support + +## 2.29.0 + - Deprecate the package ## 2.13.2 diff --git a/src/TogglePassword/composer.json b/src/TogglePassword/composer.json index d9c989d6c44..bfb4775e372 100644 --- a/src/TogglePassword/composer.json +++ b/src/TogglePassword/composer.json @@ -29,18 +29,18 @@ }, "require": { "php": ">=8.1", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/options-resolver": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0" + "symfony/config": "^5.4|^6.0|^7.0|^8.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", + "symfony/form": "^5.4|^6.0|^7.0|^8.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0|^8.0", + "symfony/options-resolver": "^5.4|^6.0|^7.0|^8.0", + "symfony/translation": "^5.4|^6.0|^7.0|^8.0" }, "require-dev": { - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0", "twig/twig": "^2.14.7|^3.0.4" }, "extra": { diff --git a/src/TogglePassword/doc/index.rst b/src/TogglePassword/doc/index.rst index 111e3db33e9..97eef740491 100644 --- a/src/TogglePassword/doc/index.rst +++ b/src/TogglePassword/doc/index.rst @@ -53,7 +53,7 @@ Any ``PasswordType`` can be transformed into a toggle password field by adding t class CredentialFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... @@ -73,7 +73,7 @@ You can disable it by passing ``use_toggle_form_theme`` option to ``false``:: class CredentialFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... @@ -103,7 +103,7 @@ to the field (use ``null`` to disable label or icon):: class CredentialFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... @@ -173,7 +173,7 @@ A ``toggle_container_classes`` option is also available to customize the contain class CredentialFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... @@ -255,7 +255,7 @@ Then in your form, add your controller as an HTML attribute:: class CredentialFormType extends AbstractType { - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... diff --git a/src/Toolkit/CHANGELOG.md b/src/Toolkit/CHANGELOG.md index f19dba21ca7..f9b96a35f39 100644 --- a/src/Toolkit/CHANGELOG.md +++ b/src/Toolkit/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG - + +## 2.29.0 + +- Add Symfony 8 support + ## 2.25 - Package added diff --git a/src/Toolkit/composer.json b/src/Toolkit/composer.json index 2f6d2ae7140..1b8a15949b8 100644 --- a/src/Toolkit/composer.json +++ b/src/Toolkit/composer.json @@ -30,21 +30,21 @@ "require": { "php": ">=8.1", "twig/twig": "^3.0", - "symfony/console": "^6.4|^7.0", - "symfony/filesystem": "^6.4|^7.0", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/twig-bundle": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/filesystem": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/twig-bundle": "^6.4|^7.0|^8.0", "symfony/ux-twig-component": "^2.25.1", - "symfony/yaml": "^6.4|^7.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "require-dev": { - "symfony/finder": "6.4|^7.0", + "symfony/finder": "6.4|^7.0|^8.0", "twig/extra-bundle": "^3.19|^4.0", "twig/html-extra": "^3.19", "zenstruck/console-test": "^1.7", - "symfony/http-client": "6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/phpunit-bridge": "^7.2", + "symfony/http-client": "6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/phpunit-bridge": "^7.2|^8.0", "vincentlanglet/twig-cs-fixer": "^3.5", "spatie/phpunit-snapshot-assertions": "^4.2.17", "phpunit/phpunit": "^9.6.22", diff --git a/src/Translator/CHANGELOG.md b/src/Translator/CHANGELOG.md index 34532d510ef..266c9abc932 100644 --- a/src/Translator/CHANGELOG.md +++ b/src/Translator/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.22.0 - Support both the Symfony format (`fr_FR`) and W3C specification (`fr-FR`) for locale subcodes. diff --git a/src/Translator/composer.json b/src/Translator/composer.json index 0ac6e58b869..435d1addf38 100644 --- a/src/Translator/composer.json +++ b/src/Translator/composer.json @@ -29,16 +29,16 @@ }, "require": { "php": ">=8.1", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/string": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0" + "symfony/console": "^5.4|^6.0|^7.0|^8.0", + "symfony/filesystem": "^5.4|^6.0|^7.0|^8.0", + "symfony/string": "^5.4|^6.0|^7.0|^8.0", + "symfony/translation": "^5.4|^6.0|^7.0|^8.0" }, "require-dev": { - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.2|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.2|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0", + "symfony/yaml": "^5.4|^6.0|^7.0|^8.0" }, "extra": { "thanks": { diff --git a/src/Turbo/CHANGELOG.md b/src/Turbo/CHANGELOG.md index fef22f69cf1..df654e7c1d2 100644 --- a/src/Turbo/CHANGELOG.md +++ b/src/Turbo/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.24.0 - Add Twig Extensions for `meta` tags diff --git a/src/Turbo/composer.json b/src/Turbo/composer.json index 797f2cdd93a..db83621fa7e 100644 --- a/src/Turbo/composer.json +++ b/src/Turbo/composer.json @@ -41,22 +41,22 @@ "doctrine/doctrine-bundle": "^2.4.3", "doctrine/orm": "^2.8 | 3.0", "phpstan/phpstan": "^2.1.17", - "symfony/asset-mapper": "^6.4|^7.0", - "symfony/debug-bundle": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^6.4|^7.0", + "symfony/asset-mapper": "^6.4|^7.0|^8.0", + "symfony/debug-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/form": "^5.4|^6.0|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", "symfony/mercure-bundle": "^0.3.7", - "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0|^8.0", "symfony/panther": "^2.2", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|6.3.*|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/security-core": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/process": "^5.4|6.3.*|^7.0|^8.0", + "symfony/property-access": "^5.4|^6.0|^7.0|^8.0", + "symfony/security-core": "^5.4|^6.0|^7.0|^8.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0|^8.0", "symfony/ux-twig-component": "^2.21", - "symfony/twig-bundle": "^6.4|^7.0", - "symfony/web-profiler-bundle": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/twig-bundle": "^6.4|^7.0|^8.0", + "symfony/web-profiler-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/expression-language": "^5.4|^6.0|^7.0|^8.0", "dbrekelmans/bdi": "dev-main", "php-webdriver/webdriver": "^1.15" }, diff --git a/src/Turbo/src/DependencyInjection/Compiler/RegisterMercureHubsPass.php b/src/Turbo/src/DependencyInjection/Compiler/RegisterMercureHubsPass.php index ebe97b68e98..ae7718389f7 100644 --- a/src/Turbo/src/DependencyInjection/Compiler/RegisterMercureHubsPass.php +++ b/src/Turbo/src/DependencyInjection/Compiler/RegisterMercureHubsPass.php @@ -25,7 +25,7 @@ */ final class RegisterMercureHubsPass implements CompilerPassInterface { - public function process(ContainerBuilder $container) + public function process(ContainerBuilder $container): void { foreach ($container->findTaggedServiceIds('mercure.hub') as $hubId => $tags) { $name = str_replace('mercure.hub.', '', $hubId); diff --git a/src/Turbo/tests/app/Kernel.php b/src/Turbo/tests/app/Kernel.php index 3f68994ea52..0f0af961c7b 100644 --- a/src/Turbo/tests/app/Kernel.php +++ b/src/Turbo/tests/app/Kernel.php @@ -24,6 +24,7 @@ use Symfony\Bundle\MercureBundle\MercureBundle; use Symfony\Bundle\TwigBundle\TwigBundle; use Symfony\Bundle\WebProfilerBundle\WebProfilerBundle; +use Symfony\Component\Config\Exception\LoaderLoadException; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; @@ -132,9 +133,13 @@ protected function configureContainer(ContainerConfigurator $container): void protected function configureRoutes(RoutingConfigurator $routes): void { - $routes->import('@WebProfilerBundle/Resources/config/routing/wdt.xml')->prefix('/_wdt'); - $routes->import('@WebProfilerBundle/Resources/config/routing/profiler.xml')->prefix('/_profiler'); - + try { + $routes->import('@WebProfilerBundle/Resources/config/routing/wdt.xml')->prefix('/_wdt'); + $routes->import('@WebProfilerBundle/Resources/config/routing/profiler.xml')->prefix('/_profiler'); + } catch (LoaderLoadException) { + $routes->import('@WebProfilerBundle/Resources/config/routing/wdt.php', 'php')->prefix('/_wdt'); + $routes->import('@WebProfilerBundle/Resources/config/routing/profiler.php', 'php')->prefix('/_profiler'); + } $routes->add('home', '/')->controller(TemplateController::class)->defaults(['template' => 'home.html.twig']); $routes->add('block', '/block')->controller(TemplateController::class)->defaults(['template' => 'block.html.twig']); $routes->add('lazy', '/lazy')->controller(TemplateController::class)->defaults(['template' => 'lazy.html.twig']); diff --git a/src/TwigComponent/CHANGELOG.md b/src/TwigComponent/CHANGELOG.md index 8ddd89fb4b6..d21cd8e5c7e 100644 --- a/src/TwigComponent/CHANGELOG.md +++ b/src/TwigComponent/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.25.2 - Fix `ComponentAttributes` rendering when using `StimulusAttributes` as default attributes diff --git a/src/TwigComponent/composer.json b/src/TwigComponent/composer.json index e959ae4357e..cb1e08c65e0 100644 --- a/src/TwigComponent/composer.json +++ b/src/TwigComponent/composer.json @@ -27,21 +27,21 @@ }, "require": { "php": ">=8.1", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0|^8.0", "symfony/deprecation-contracts": "^2.2|^3.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0|^8.0", + "symfony/property-access": "^5.4|^6.0|^7.0|^8.0", "twig/twig": "^3.10.3" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0|^8.0", + "symfony/css-selector": "^5.4|^6.0|^7.0|^8.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0|^8.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^6.0|^7.0|^8.0", "symfony/stimulus-bundle": "^2.9.1", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/webpack-encore-bundle": "^1.15" + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/webpack-encore-bundle": "^1.15|^2.3.0" }, "conflict": { "symfony/config": "<5.4.0" diff --git a/src/TwigComponent/tests/Unit/ComponentAttributesTest.php b/src/TwigComponent/tests/Unit/ComponentAttributesTest.php index dda7dd583f7..1009da8e558 100644 --- a/src/TwigComponent/tests/Unit/ComponentAttributesTest.php +++ b/src/TwigComponent/tests/Unit/ComponentAttributesTest.php @@ -79,6 +79,10 @@ public function testCanGetWithout() */ public function testCanAddStimulusController() { + if (!class_exists(AbstractStimulusDto::class)) { + $this->markTestSkipped('AbstractStimulusDto class does not exist, skipping test.'); + } + $attributes = new ComponentAttributes([ 'class' => 'foo', 'data-controller' => 'live', @@ -108,6 +112,10 @@ public function testCanAddStimulusController() */ public function testCanAddStimulusControllerIfNoneAlreadyPresent() { + if (!class_exists(AbstractStimulusDto::class)) { + $this->markTestSkipped('AbstractStimulusDto class does not exist, skipping test.'); + } + $attributes = new ComponentAttributes([ 'class' => 'foo', ], new EscaperRuntime()); diff --git a/src/Typed/CHANGELOG.md b/src/Typed/CHANGELOG.md index d373a51a933..152c335d498 100644 --- a/src/Typed/CHANGELOG.md +++ b/src/Typed/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.26.0 - Deprecate the package diff --git a/src/Typed/src/DependencyInjection/TypedExtension.php b/src/Typed/src/DependencyInjection/TypedExtension.php index 5b825775a55..5e901d624c6 100644 --- a/src/Typed/src/DependencyInjection/TypedExtension.php +++ b/src/Typed/src/DependencyInjection/TypedExtension.php @@ -23,11 +23,11 @@ */ class TypedExtension extends Extension implements PrependExtensionInterface { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$this->isAssetMapperAvailable($container)) { return; diff --git a/src/Vue/CHANGELOG.md b/src/Vue/CHANGELOG.md index a038a30695e..5040161e7ea 100644 --- a/src/Vue/CHANGELOG.md +++ b/src/Vue/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.29.0 + +- Add Symfony 8 support + ## 2.13.2 - Revert "Change JavaScript package to `type: module`" diff --git a/src/Vue/composer.json b/src/Vue/composer.json index 14e65e6238e..bf3f80c37df 100644 --- a/src/Vue/composer.json +++ b/src/Vue/composer.json @@ -36,12 +36,12 @@ "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": { - "symfony/asset-mapper": "^6.3|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/asset-mapper": "^6.3|^7.0|^8.0", + "symfony/finder": "^5.4|^6.0|^7.0|^8.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^5.4|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0" }, "extra": { "thanks": { diff --git a/src/Vue/src/DependencyInjection/VueExtension.php b/src/Vue/src/DependencyInjection/VueExtension.php index f340b172c06..3d79b41f747 100644 --- a/src/Vue/src/DependencyInjection/VueExtension.php +++ b/src/Vue/src/DependencyInjection/VueExtension.php @@ -31,7 +31,7 @@ */ class VueExtension extends Extension implements PrependExtensionInterface, ConfigurationInterface { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $configuration = $this->getConfiguration($configs, $container); $config = $this->processConfiguration($configuration, $configs); @@ -53,7 +53,7 @@ public function load(array $configs, ContainerBuilder $container) ; } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$this->isAssetMapperAvailable($container)) { return;