Update to Symfony 8.1#243
Merged
Merged
Conversation
Bump the highest supported Symfony line from 8.0 to 8.1 across the module: the require-dev constraints, the CI matrix and version-pinning sed, the readme requirements, and the module docblock. symfony/var-exporter needs special handling. Its 8.x release removed the LazyGhost trait (PHP 8.4 ships native lazy objects), and symfony/cache 8.1 requires var-exporter ^8.1, so the Symfony 8.1 row installs var-exporter 8.x for the first time. Two changes keep every matrix row working: * The test app enables Doctrine native lazy objects on PHP 8.4+ (Configuration::enableNativeLazyObjects), since the LazyGhost trait it previously relied on is gone in var-exporter 8.x. * var-exporter keeps a floating constraint (^6.4 | ^7.4 | ^8.1) instead of being pinned to the row version, because doctrine/orm requires it to be >= 6.3.9 and it therefore can never be installed at 5.4.*. Each symfony/cache version still caps it to a compatible range (5.4 -> 6.4, 6.4 -> 7.4, 7.4 -> 8.1, 8.1 -> 8.1).
f3cd1f7 to
04ecd41
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the highest supported Symfony line from
8.0to8.1across the module.Changes
composer.json— bump everyrequire-devSymfony constraint from^8.0to^8.1..github/workflows/main.yml— matrix row, exclude entry, the version-pinningsed, the quality-checks gate, and the coverage condition move from8.0to8.1.readme.md— supported-versions line now reads8.1.x.src/Codeception/Module/Symfony.php— docblock heading updated to8.1.tests/_app/Doctrine/DoctrineSetup.php— enable Doctrine native lazy objects on PHP 8.4+ (see below).Why
symfony/var-exporterneeds special handlingsymfony/var-exporter8.x removed theLazyGhosttrait (PHP 8.4 ships native lazy objects), andsymfony/cache8.1 requiresvar-exporter ^8.1. So the Symfony 8.1 row installs var-exporter 8.x for the first time — under8.0the module capped var-exporter at^7.4, so the 8.0 row actually ran var-exporter 7.4 (withLazyGhost) and never exercised this.Without
LazyGhost, Doctrine'sEntityManagerconstruction fails withSymfony LazyGhost is not available. Please install the "symfony/var-exporter" package version 6.4 or 7 ... or enable PHP 8.4 native lazy objects.Two changes keep every matrix row green:Configuration::enableNativeLazyObjects(true)on PHP 8.4+ (guarded byPHP_VERSION_IDandmethod_exists), so Doctrine uses PHP's native lazy objects instead of the removed trait. PHP 8.2/8.3 rows keep usingLazyGhostfrom a<= 7.4var-exporter.var-exporterkeeps a floating constraint (^6.4 | ^7.4 | ^8.1) rather than being pinned to the row version, becausedoctrine/ormrequires it>= 6.3.9and it can therefore never be installed at5.4.*. Eachsymfony/cacheversion still caps it to a compatible range:LazyGhostLazyGhostLazyGhostAll 7 matrix jobs (PHP 8.2 & 8.5 × Symfony 5.4/6.4/7.4/8.1) pass.