diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 3967810fcfe..677460f5530 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -34,7 +34,6 @@ jobs: minimum-stability: ['stable'] os: [''] include: - # dev packages (probably not needed to have multiple such jobs) - minimum-stability: 'dev' php-version: '8.5' # lowest deps @@ -48,10 +47,11 @@ jobs: os: 'windows-latest' # Explicit Symfony versions - php-version: '8.2' - symfony-version: '7.4.x-dev' # TODO: change to '7.4' when Symfony 7.4 is released + symfony-version: '^7.4.0-BETA1' # TODO: change to '7.4.*' when Symfony 7.4 is released + minimum-stability: 'beta' # TODO: remove when Symfony 8.0 is released as stable - 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 + symfony-version: '^8.0.0-BETA1' # TODO: change to '8.0.*' when Symfony 8.0 is released + minimum-stability: 'beta' # TODO: remove when Symfony 8.0 is released as stable env: SYMFONY_REQUIRE: ${{ matrix.symfony-version || '>=5.4' }} # TODO: To change to '>=6.4' in 3.x diff --git a/composer.json b/composer.json index 4a24cfc1386..c4ded4af239 100644 --- a/composer.json +++ b/composer.json @@ -4,6 +4,7 @@ "keywords": [ "dev" ], + "minimum-stability": "dev", "require-dev": { "php": ">=8.1", "symfony/filesystem": "^6.4|^7.0", diff --git a/src/Autocomplete/composer.json b/src/Autocomplete/composer.json index e1c906c40bd..70607dbcb61 100644 --- a/src/Autocomplete/composer.json +++ b/src/Autocomplete/composer.json @@ -33,7 +33,7 @@ }, "require-dev": { "doctrine/collections": "^1.6.8|^2.0", - "doctrine/doctrine-bundle": "^2.4.3", + "doctrine/doctrine-bundle": "^2.4.3|^3.0.0", "doctrine/orm": "^2.9.4|^3.0", "fakerphp/faker": "^1.22", "mtdowling/jmespath.php": "^2.6", diff --git a/src/Autocomplete/tests/Fixtures/Kernel.php b/src/Autocomplete/tests/Fixtures/Kernel.php index 323ccf5b60f..93ac2cfd839 100644 --- a/src/Autocomplete/tests/Fixtures/Kernel.php +++ b/src/Autocomplete/tests/Fixtures/Kernel.php @@ -113,7 +113,6 @@ protected function configureContainer(ContainerConfigurator $c): void $doctrineConfig = [ 'dbal' => ['url' => '%env(resolve:DATABASE_URL)%'], 'orm' => [ - 'auto_generate_proxy_classes' => true, 'auto_mapping' => true, 'mappings' => [ 'Test' => [ @@ -133,8 +132,12 @@ protected function configureContainer(ContainerConfigurator $c): void ]; } if (null !== $doctrineBundleVersion = InstalledVersions::getVersion('doctrine/doctrine-bundle')) { - if (version_compare($doctrineBundleVersion, '2.8.0', '>=')) { - $doctrineConfig['orm']['enable_lazy_ghost_objects'] = true; + if (version_compare($doctrineBundleVersion, '3.0.0', '<')) { + $doctrineConfig['orm']['auto_generate_proxy_classes'] = true; + + if (version_compare($doctrineBundleVersion, '2.8.0', '>=')) { + $doctrineConfig['orm']['enable_lazy_ghost_objects'] = true; + } } if (\PHP_VERSION_ID >= 80400 && version_compare($doctrineBundleVersion, '2.15.0', '>=')) { $doctrineConfig['orm']['enable_native_lazy_objects'] = true; diff --git a/src/Icons/composer.json b/src/Icons/composer.json index 83d0a25d25f..e0759b82d39 100644 --- a/src/Icons/composer.json +++ b/src/Icons/composer.json @@ -42,7 +42,7 @@ "require-dev": { "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/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", diff --git a/src/LiveComponent/composer.json b/src/LiveComponent/composer.json index 6b48567e415..dae4043ade1 100644 --- a/src/LiveComponent/composer.json +++ b/src/LiveComponent/composer.json @@ -37,7 +37,7 @@ "require-dev": { "doctrine/annotations": "^1.0|^2.0", "doctrine/collections": "^1.6.8|^2.0", - "doctrine/doctrine-bundle": "^2.4.3", + "doctrine/doctrine-bundle": "^2.4.3|^3.0.0", "doctrine/orm": "^2.9.4|^3.0", "doctrine/persistence": "^2.5.2|^3.0", "phpdocumentor/reflection-docblock": "5.x-dev", diff --git a/src/LiveComponent/tests/Fixtures/Kernel.php b/src/LiveComponent/tests/Fixtures/Kernel.php index cfa48d09d1e..aaf277a5d5e 100644 --- a/src/LiveComponent/tests/Fixtures/Kernel.php +++ b/src/LiveComponent/tests/Fixtures/Kernel.php @@ -162,7 +162,6 @@ protected function configureContainer(ContainerConfigurator $c): void 'url' => '%env(resolve:DATABASE_URL)%', ], 'orm' => [ - 'auto_generate_proxy_classes' => true, 'auto_mapping' => true, 'mappings' => [ 'Default' => [ @@ -184,18 +183,23 @@ protected function configureContainer(ContainerConfigurator $c): void ]; if (null !== $doctrineBundleVersion = InstalledVersions::getVersion('doctrine/doctrine-bundle')) { - if (version_compare($doctrineBundleVersion, '2.8.0', '>=')) { - $doctrineConfig['orm']['enable_lazy_ghost_objects'] = true; + if (version_compare($doctrineBundleVersion, '3.0.0', '<')) { + $doctrineConfig['orm']['auto_generate_proxy_classes'] = true; + + if (version_compare($doctrineBundleVersion, '2.8.0', '>=')) { + $doctrineConfig['orm']['enable_lazy_ghost_objects'] = true; + } + if (version_compare($doctrineBundleVersion, '2.12.0', '>=')) { + $doctrineConfig['orm']['controller_resolver']['auto_mapping'] = false; + } } + // https://github.com/doctrine/DoctrineBundle/pull/1661 if (version_compare($doctrineBundleVersion, '2.9.0', '>=')) { $doctrineConfig['orm']['report_fields_where_declared'] = true; $doctrineConfig['orm']['validate_xml_mapping'] = true; $doctrineConfig['dbal']['schema_manager_factory'] = 'doctrine.dbal.default_schema_manager_factory'; } - if (version_compare($doctrineBundleVersion, '2.12.0', '>=')) { - $doctrineConfig['orm']['controller_resolver']['auto_mapping'] = false; - } if (\PHP_VERSION_ID >= 80400 && version_compare($doctrineBundleVersion, '2.15.0', '>=')) { $doctrineConfig['orm']['enable_native_lazy_objects'] = true; } diff --git a/src/Map/composer.json b/src/Map/composer.json index 635ac9638ff..aeb19e5730a 100644 --- a/src/Map/composer.json +++ b/src/Map/composer.json @@ -42,7 +42,7 @@ "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", + "spatie/phpunit-snapshot-assertions": "^4.2.17|^5.2.3", "phpunit/phpunit": "^9.6.22" }, "conflict": { diff --git a/src/Map/src/Bridge/Google/composer.json b/src/Map/src/Bridge/Google/composer.json index a6fd6d1b71d..6c0135a18ec 100644 --- a/src/Map/src/Bridge/Google/composer.json +++ b/src/Map/src/Bridge/Google/composer.json @@ -23,7 +23,7 @@ "require-dev": { "symfony/phpunit-bridge": "^7.2|^8.0", "symfony/ux-icons": "^2.18", - "spatie/phpunit-snapshot-assertions": "^4.2.17", + "spatie/phpunit-snapshot-assertions": "^4.2.17|^5.2.3", "phpunit/phpunit": "^9.6.22" }, "autoload": { diff --git a/src/Map/src/Bridge/Leaflet/composer.json b/src/Map/src/Bridge/Leaflet/composer.json index 7b7bba54c5c..cb9ca02e52e 100644 --- a/src/Map/src/Bridge/Leaflet/composer.json +++ b/src/Map/src/Bridge/Leaflet/composer.json @@ -23,7 +23,7 @@ "require-dev": { "symfony/phpunit-bridge": "^7.2|^8.0", "symfony/ux-icons": "^2.18", - "spatie/phpunit-snapshot-assertions": "^4.2.17", + "spatie/phpunit-snapshot-assertions": "^4.2.17|^5.2.3", "phpunit/phpunit": "^9.6.22" }, "autoload": { diff --git a/src/Toolkit/composer.json b/src/Toolkit/composer.json index 7c8678f400a..1348624625f 100644 --- a/src/Toolkit/composer.json +++ b/src/Toolkit/composer.json @@ -40,15 +40,15 @@ "symfony/yaml": "^6.4|^7.0|^8.0" }, "require-dev": { - "symfony/finder": "6.4|^7.0|^8.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|^8.0", + "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.9", - "spatie/phpunit-snapshot-assertions": "^4.2.17", + "spatie/phpunit-snapshot-assertions": "^4.2.17|^5.2.3", "phpunit/phpunit": "^9.6.22", "symfony/ux-icons": "^2.18", "tales-from-a-dev/twig-tailwind-extra": "^0.4.0" diff --git a/src/Turbo/composer.json b/src/Turbo/composer.json index 8c2cd971bd0..744de91e48f 100644 --- a/src/Turbo/composer.json +++ b/src/Turbo/composer.json @@ -38,7 +38,7 @@ "symfony/stimulus-bundle": "^2.9.1" }, "require-dev": { - "doctrine/doctrine-bundle": "^2.4.3", + "doctrine/doctrine-bundle": "^2.4.3|^3.0.0", "doctrine/orm": "^2.8|^3.0", "phpstan/phpstan": "^2.1.17", "symfony/asset-mapper": "^6.4|^7.0|^8.0", diff --git a/src/Turbo/tests/app/Kernel.php b/src/Turbo/tests/app/Kernel.php index 2e879d52cde..54f30532b6f 100644 --- a/src/Turbo/tests/app/Kernel.php +++ b/src/Turbo/tests/app/Kernel.php @@ -99,12 +99,17 @@ protected function configureContainer(ContainerConfigurator $container): void ]; if (null !== $doctrineBundleVersion = InstalledVersions::getVersion('doctrine/doctrine-bundle')) { - if (version_compare($doctrineBundleVersion, '2.8.0', '>=')) { - $doctrineConfig['orm']['enable_lazy_ghost_objects'] = true; - } - // https://github.com/doctrine/DoctrineBundle/pull/1661 - if (version_compare($doctrineBundleVersion, '2.9.0', '>=')) { - $doctrineConfig['orm']['report_fields_where_declared'] = true; + if (version_compare($doctrineBundleVersion, '3.0.0', '<')) { + $doctrineConfig['orm']['auto_generate_proxy_classes'] = true; + + if (version_compare($doctrineBundleVersion, '2.8.0', '>=')) { + $doctrineConfig['orm']['enable_lazy_ghost_objects'] = true; + } + + // https://github.com/doctrine/DoctrineBundle/pull/1661 + if (version_compare($doctrineBundleVersion, '2.9.0', '>=')) { + $doctrineConfig['orm']['report_fields_where_declared'] = true; + } } if (\PHP_VERSION_ID >= 80400 && version_compare($doctrineBundleVersion, '2.15.0', '>=')) {