Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Problem/Motivation
Symfony 5.3 is nearly out. We have some Symfony 5 components as dependencies of Drupal 9, so should update those to rc1 in time for 9.2.0-beta1
Steps to reproduce
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
Release notes snippet
symfony\mime
, symfony\var-dumper
and symfony\phpunit-bridge
have been updated from Symfony 5.2.x to Symfony 5.3.0-rc1
Comment | File | Size | Author |
---|---|---|---|
#40 | diff-33-40.txt | 1.9 KB | effulgentsia |
#40 | 3213295-40.patch | 10.17 KB | effulgentsia |
#34 | 3213295-33-combined-with-3186364-51.patch | 22.81 KB | effulgentsia |
#33 | interdiff.txt | 1.28 KB | effulgentsia |
#33 | 3213295-33.patch | 9.47 KB | effulgentsia |
Comments
Comment #2
longwaveDo we know when rc1 will be released?
Also, this is going to run into #3186364: Allow pre-release dependencies in Drupal pre-release milestones, at the moment one of the build tests will fail due to this.
Comment #3
tedbowOk here is an attempt
I chatted with @xjm and she mentioned there was an extra step for indirect dependencies. I think that meant `core/composer.json`. I couldn't find the issue but I think this what she said to do.
if someone knows the issue with those instructions and I can double check.
Comment #4
xjmWith this patch,
symfony/mime
is still on 5.2.6 after acomposer install
. It needs to be on a beta or RC version of 5.3, which will only happen if it's specified specifically.Comment #5
tedbowok. I think this is it
Comment #6
xjmIt's still on 5.2.6 after
composer install
with that as well unfortunately. Also note that the version is not correctly being updated incomposer/Metapackage/CoreRecommended/composer.json
after following the steps in the handbook page, which is another way you can also tell it's not going to work. I think it needs to specify the exact beta ofsymfony/mime
, as with the other packages.Comment #7
longwave#5 just needed an explicit
composer update
. You have to update bothdrupal/core
as that is the owner of the composer.json, andsymfony/mime
as that is the package we want to update.Steps from #5:
Comment #8
longwaveAlso note that one package is beta4 while the others are beta3; Symfony changed their tagging policy recently and patch levels for individual components will no longer be bumped if there were no changes.
rc1 is not out yet, so this is as far as we can go for now.
Comment #9
longwaveSee also #3210632: Update dependencies for Drupal 9.2 where we are a few patchlevels out of date on several other components, I think it is OK to update these before beta1 as well?
Comment #12
SpokjeLooks like
drupal/recommended
only likesstable
versions?// At the moment, we are only testing stable versions.
Right here
Beta !== Stable, so no-go at the moment?
Comment #13
longwave@Spokje that is what #3186364: Allow pre-release dependencies in Drupal pre-release milestones is designed to solve
Comment #14
effulgentsia CreditAttribution: effulgentsia at Acquia commented5.3.0-RC1 got released today: https://symfony.com/blog/symfony-5-3-0-rc1-released.
Comment #15
effulgentsia CreditAttribution: effulgentsia at Acquia commentedI made this patch by:
- searching for symfony/mime in all composer.json files and setting the version to 5.3.0-rc1
- searching for symfony/var-dumper in all composer.json files and setting the version to 5.3.0-beta3 (the latest one currently available)
- searching for symfony/phpunit-bridge in all composer.json files and setting the version to 5.3.0-rc1
And then running:
I'm uploading both the standalone patch (which should fail
ComposerProjectTemplatesTest
) and a combined patch that includes #3186364-21: Allow pre-release dependencies in Drupal pre-release milestones (which should resolve that failure).Comment #17
effulgentsia CreditAttribution: effulgentsia at Acquia commentedSee #3186364-22: Allow pre-release dependencies in Drupal pre-release milestones.
Comment #19
effulgentsia CreditAttribution: effulgentsia at Acquia commentedSee #3186364-24: Allow pre-release dependencies in Drupal pre-release milestones.
Comment #21
marcusml CreditAttribution: marcusml at Axis Communications AB commentedComment #22
xjmComment #23
catchSo we didn't get to this for beta1, but I think it's worth trying to land the patch this week if we can, and releasing a beta2 so we can stay up-to-date. There doesn't seem to be anything disruptive in the update itself, it's just the pre-release issues making this complicated, so seems OK to stretch things a little bit.
Comment #24
effulgentsia CreditAttribution: effulgentsia at Acquia commentedI'm tempted to mark this postponed on #3186364: Allow pre-release dependencies in Drupal pre-release milestones, except I'm holding off on doing so, because the (non-combined) patch in #15 could still benefit from a human review (considering that earlier comments on this issue surfaced problems with earlier patches) to make sure that all looks right in terms of whether all of the composer.json and composer.lock changes are correct. Once that's reviewed, the correct status for this issue will be "postponed" on #3186364: Allow pre-release dependencies in Drupal pre-release milestones.
Comment #25
SpokjeRe #24: If I do my Composer-VooDoo on
9.3.x
I get almost the same results.The only difference is that (by now) there's a
v5.3.0-RC1
forsymfony/var-dumper
as well (https://github.com/symfony/var-dumper/tree/v5.3.0-RC1), instead of thev5.3.0-BETA3
in the uncombined patch in #15. I think you/me/we want that.(BTW: Am I the only one that finds the
BETA
orRC
a bit shouty?)Comment #26
longwaveI don't think we should be bumping the version numbers. We temporarily want to provide RC dependencies as the recommended versions, but we still want to allow users to install with the earlier versions - therefore I think these should be e.g.
^5.1.4@rc
which should satisfy both these things.Comment #27
effulgentsia CreditAttribution: effulgentsia at Acquia commentedWhy do we still want to allow that? We don't yet do testing for versions earlier than in the lock file (#2874198: Create and run dependency regression tests for core), so we won't know when we break something against them.
Comment #28
effulgentsia CreditAttribution: effulgentsia at Acquia commentedThis probably needs a reroll due to #3215039: Update symfony dependencies to latest release.
Comment #29
longwaveI tried reviving #3044175: [DO NOT COMMIT] Vendor minimum testing issue to find out what our real minimum dependency versions should be.
Comment #30
SpokjeStraight-up reroll of
3213295-15.patch
, nothing has been addressed about the discussion in #26/#27Comment #32
xjm#30 is missing the test changes so it will fail.
Comment #33
effulgentsia CreditAttribution: effulgentsia at Acquia commentedThis patch just changes it to ^5.3.0-rc1, because that got released after #15.
Re #26, thank you for #29, and with that issue in place, I'd be okay in principle with continuing to allow the lower minimums. However,
I tried that, but so long as we have
"prefer-stable": true
in our root composer.json, I can't get composer.lock updated to the RC versions. I don't think we should remove the global"prefer-stable": true
, and I don't know how to locally override the preference on a per-package basis. Therefore, this patch does not implement #26, but if you know of how to do it (and have it stick on a subsequentcomposer update
), please post a patch.Comment #34
effulgentsia CreditAttribution: effulgentsia at Acquia commentedThis is #33 combined with #3186364-51: Allow pre-release dependencies in Drupal pre-release milestones, plus setting the
ComposerProjectTemplatesTest::MINIMUM_STABILITY
constant from that patch to'RC'
(whereas, it's 'stable' in that patch).Comment #36
SpokjeRe-ordered a test on patch in #33 (which still applies) after #3186364: Allow pre-release dependencies in Drupal pre-release milestones got committed.
EDIT: Test won't change much since as stated in #34
isn't in patch #33.
_First_ read, _then_ order re-test...
Comment #38
longwaveRe #33 I am sure I managed to get composer to update to RC versions in the past with some command line trickery but I'm now unable to reproduce it. You can see at https://semver.mwl.be/?package=symfony%2Fmime&constraint=%5E5.2&stabilit... that it should be able to select symfony/mime:5.3.0-rc1 with this constraint but prefer-stable must be taking 5.2.x in preference.
However, could we still ship with a lock file that refers to the RC versions while having the original constraints in composer.json (by updating composer.json, updating the components, reverting composer.json and running
composer update drupal/core
only)? If we do that then anyone who uses our locked versions (i.e. core-recommended) should get the RC versions at least? Or is this just a waste of time and we should just bump our minimum dependencies here?Comment #39
catchI think it's reasonable to bump the minimums here - especially if it's starting to turn into a blocker not to. We're not expecting any disruptive changes, and the older branches will go out of security support soon anyway.
Comment #40
effulgentsia CreditAttribution: effulgentsia at Acquia commentedRerolled for #3215280: Bump minimum dependencies required for tests to pass and #3186364: Allow pre-release dependencies in Drupal pre-release milestones. Because of the former, can't do an interdiff, but here's a regular
diff
. There are some context line differences, but the only actual differences are the lines with a-
or+
following a>
or<
Comment #41
longwaveLooks good to me, RTBC assuming tests pass.
Comment #44
catchCommitted/pushed to 9.3.x and cherry-picked to 9.2.x, thanks!
Opened the 5.3.0 follow-up here: #3216088: Update Symfony 5 components to 5.3.
Comment #45
catch