Our lead community developer, Alona Oneill, has been sitting in on the latest Drupal Core Initiative meetings and putting together meeting recaps outlining key talking points from each discussion. This article breaks down highlights from meetings this past week. You'll find that the meetings, while also providing updates of completed tasks, are also conversations looking for community member involvement. There are many moving pieces as things are getting ramped up for Drupal 9, so if you see something you think you can provide insights on, we encourage you to get involved.
Drupal 9 Readiness (08/05/19)
Meetings are for core and contributed project developers as well as people who have integrations and services related to core. Site developers who want to stay in the know to keep up-to-date for the easiest Drupal 9 upgrade of their sites are also welcome.
- Usually happens every other Monday at 18:00 UTC.
- Is done over chat.
- Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!
- Has a public Drupal 9 Readiness Agenda anyone can add to.
- Transcript will be exported and posted to the agenda issue.
Symfony 4/5 compatibility
The issue, Allow Symfony 4 to be installed in Drupal 8, has had a lot of work put into it by Michael Lutz.
Contrib deprecation testing on drupal.org
Gábor Hojtsy grabbed the data and did some analysis and posted his findings to prepare for Drupal 9. The main topic of the post is to stop using drupal_set_message() now.
Examples module Drupal 9 compatibility
Andrey Postnikov posted Kharkov code sprint on where 23 issues were addressed. Follow the example code for developers project for more information. There are still a bunch of issues to review there if anyone is interested!
Module Upgrader Drupal 9 compatibility
- The main issue is Make sure transformations don't use deprecated APIs, so resulting suggestions are Drupal 9 compatible.
- More help is needed there, especially to make the module pass its branch tests first so we can commit these fixes: 8.x-1.x branch test fails 20 times.
- In addition, there are more transformations to fix, eg. drupal_set_message().
Deprecation cleanup status - blockers to Drupal 9 branch opening
Drupal core's own deprecation testing results, there are currently 13 children issues open, most of them need reviews.
Twig 2 upgrade guide and automation and other frontend deprecations tooling
- Ben Mullins wrote up Preparing for use of Twig 2 in Drupal 9.
- We do not yet have any automated checking for twig 2 things, Lauri Eskola posted some recommendations for potential 3rd party tools to integrate at Provide information on usages of deprecated code in Twig templates.
- There are other frontend deprecations (libraries and JS deprecation) we need to build tooling around. You can find information in the issue on Drupal called Detect use of deprecated libraries.
Semantic versioning for contrib projects
Now that we've come to a path forward for how we plan on supporting semver in core (core key using semver + composer.json for advanced features), the Drupal Association is planning on auditing our infrastructure to start implementing semver.
New Drupal 8.8 deprecations that may need to be backported
- Ryan Aslett and Gábor Hojtsy did some analysis on deprecations in contrib that are new in Drupal 8.8. They found 17% of all contrib deprecated API use now is from either code deprecated in 8.7 or 8.8. Ryan Aslett looked at the toplist of those deprecations and categorized them based on whether the replacements are also introduced in 8.8 or earlier.
- We're not backporting API's, that carries far too much semver breaking risk. If a contrib maintainer has usages of code that were deprecated in 8.8.x, and they want their module to be 9.x compatible on the day that 9.0 comes out, they can:
- do internal version checking,
- open another branch,
- wait until 9.1 to be 100% compatible with all supported versions, or
- drop support for 8.7.x.
Renaming core modules, eg. actions
- There's a meta about renames.
- Renaming modules can have impacts on other modules that declare a dependency on those modules.
- We need some way to prove that a rename doesn't break contrib modules.
Migration Initiative Meeting (08/08/19)
This meeting:
- Usually happens every Thursday and alternates between 14:00 and 21:00 UTC.
- Is for core migrate maintainers and developers and anybody else in the community with an interest in migrations.
- Is done over chat.
- Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!
- Has a public migration meeting agenda anyone can add to.
- Transcript will be exported and posted to the agenda issue.
- For anonymous comments, start with a emoji. To take a comment or thread off the record, start with a emoji.
Some issues need review:
- Add test of D7 term localized source plugin
- Migrate D7 synchronized fields
- Ensure language is not Null in translation source queries
- Language specific term (i18n_taxonomy) should not rely on entity translation in D7 taxonomy term migration
- Migrate D6 and D7 node revision translations to D8
- Migrate D7 i18n taxonomy term language
- Use the lock service for migration locks
- Undeprecate Drupal\comment\Plugin\migrate\source\d6\Comment::prepareComment() and mark as internal
- Create Migration Lookup service
- Validate Migration State should load test fixture
- Boolean Field On and Off Label not Migrating
- Assert plural labels exist on migrate upgrade form
- Migrate UI - review help text