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
Explore needed workarounds to get a build to pass on 8.7 and 8.8 without deprecation suppression and evaluate.
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
Release notes snippet
Comment | File | Size | Author |
---|---|---|---|
#14 | 3089178-14.commerce.patch | 10.02 KB | mikelutz |
#3 | 3089178-3.commerce.patch | 33.04 KB | mikelutz |
Comments
Comment #2
mikelutzInitial patch from #2952526-13: Make the 8.7 build pass without deprecation warnings for a baseline, and a commit to filter those changes out once that issue gets in.
Comment #3
mikelutzMy patch put the drupalci file in the wrong place, oops.
So here's the baseline.
Comment #4
mikelutzAnd here's a batch for 8.8 that should fix a lot.
Comment #5
mikelutzLast deprecation is actually in the address module. I opened #3089266: AddressDefaultFormatter must implement \Drupal\Core\Security\TrustedCallbackInterface as of Drupal 8.8, but you can safely skip that deprecation for now, assuming address will be updated before 9.0.x is supported.
Here's a patch to suppress that deprecation. We use the custom error handler here rather than using @group legacy and @expectedDeprecation for a few reasons:
@group legacy
skips all deprecations including new ones that we may want to be informed about. The error handler skips only a specific deprecation that we know we want to suppress right now.This should cover tests on drupal.org. Travis is still complaining, I think because Travis is installing drupal/mailsystem as a dev dependency and d.org isn't, and there are additional deprecations around that. Going to test that next.
Comment #6
mikelutzAdding mailsystem as a dev requirement...
Comment #7
mikelutzComment #8
mikelutzHopefully this covers mailsystem and makes travis happy..
Comment #9
mikelutzCoding standard fix..
Comment #10
mikelutzNo, of course I wasn't thinking. Those mailsystem deprecations are happening outside of my error handler in the browser test.. :-( back to the drawing board.
Comment #11
mikelutzLooks like we need to wrap the entire setup.
Comment #12
mikelutzOkay, last test. As usual, I ended up in a rabbit hole, so let me know if you want this broken down somehow. If you commit #2952526: Make the 8.7 build pass without deprecation warnings I can pull those changes out and shrink this down quite a bit.
Comment #13
bojanz CreditAttribution: bojanz at Centarro commentedCommitted #2952526: Make the 8.7 build pass without deprecation warnings, let's proceed :)
Comment #14
mikelutzReroll. Note builds still fail on 7.3 and 8.9 due to #3089327: Make the testsuite pass on PhpUnit 7.
Comment #16
bojanz CreditAttribution: bojanz at Centarro commentedOpened #3089616: Require Drupal 8.8 with a note about removing workarounds added here.
Tweaked the new composer.json constraint to match the format of the other constraints.
And committed.
Thank you!
Comment #18
Kristen PolPer a Slack discussion with Gábor Hojtsy regarding usage of D9 tags (Drupal 9, Drupal 9 compatibility, Drupal 9 readiness, etc.), "Drupal 9 compatibility" should be used for contributed projects that need updating and "Drupal 9" was the old tag for D8 issues before the D9 branch was ready. Doing tag cleanup here based on that discussion.