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/mimeis 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 installwith that as well unfortunately. Also note that the version is not correctly being updated incomposer/Metapackage/CoreRecommended/composer.jsonafter 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/coreas that is the owner of the composer.json, andsymfony/mimeas 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/recommendedonly likesstableversions?// 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 commented5.3.0-RC1 got released today: https://symfony.com/blog/symfony-5-3-0-rc1-released.
Comment #15
effulgentsia 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 commentedSee #3186364-22: Allow pre-release dependencies in Drupal pre-release milestones.
Comment #19
effulgentsia commentedSee #3186364-24: Allow pre-release dependencies in Drupal pre-release milestones.
Comment #21
marcusml 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 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.xI get almost the same results.The only difference is that (by now) there's a
v5.3.0-RC1forsymfony/var-dumperas well (https://github.com/symfony/var-dumper/tree/v5.3.0-RC1), instead of thev5.3.0-BETA3in the uncombined patch in #15. I think you/me/we want that.(BTW: Am I the only one that finds the
BETAorRCa 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@rcwhich should satisfy both these things.Comment #27
effulgentsia 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 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 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": truein 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 commentedThis is #33 combined with #3186364-51: Allow pre-release dependencies in Drupal pre-release milestones, plus setting the
ComposerProjectTemplatesTest::MINIMUM_STABILITYconstant 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/coreonly)? 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 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