Goal
Make Lightning D9 Ready
Requirements
1. Create issues for each of the lightning modules
2. Review all modules for Lightning using status upgrade module to get a list of issues to resolve.
3. Remediate issues for the modules that present deprecations, until no more are present for lightning's modules.
DONE
- acquia_telemetry (#3096212: Make Lightning Core D9 Ready)
- autosave_form #3086690: entity_get_form_display() is deprecated and should be removed
- bg_image_formatter (#3071868: Prepare bg_image_formatter for Drupal 9)
- blazy (#3079167: Implement TrustedCallbackInterface to fix deprecation notices)
- conflict #3042781: Drupal 9 Deprecated Code Report
- consumers #3042825: Drupal 9 Deprecated Code Report
- contact_storage (#3081195: Update code deprecated in 8.8)
- crop (#3096959: Drupal 9 deprecated code report)
- ctools (#3107844: SerializableTempstoreTest calls deprecated PHPUnit methods)
- diff (#3042675: Drupal 9 Deprecated Code Report)
- dropzonejs (#3095062: Drupal 9 deprecated code report for DropzoneJS)
- embed (#3042596: Drupal 9 Deprecated Code Report)
- entity_block (#3096417: Make Entity Blocks D9 Ready)
- entity_browser (#3057212: Drupal 9 compatibility )
- entity_browser_block (#3097657: Make Entity Browser Block D9 ready)
- entity_embed (#3087572: Drupal 9 Deprecated Code report)
- image_widget_crop (#3042648: Drupal 9 Deprecated Code Report and #2895377: Convert WebTestBase to BrowserTestBase)
- inline_entity_form (#3098018: Make Inline Entity Form D9 Ready)
- layout_builder_restrictions (#3096597: Indicate Drupal 8/9 compatibility via core_version_requirement)
- layout_builder_st (#3096600: Prepare Layout Builder Symmetric Translations for Drupal 9)
- layout_builder_styles #3092650: Remove deprecated function drupal_set_message
- layout_library (#3075888: Drupal 9 Deprecated Code Report)
- lightning #3097015: Make Lightning Profile D9 Ready
- lightning_api (#3094651: Make Lightning API D9 Ready)
- lightning_core (#3096212: Make Lightning Core D9 Ready)
- lightning_install #3097015: Make Lightning Profile D9 Ready
- lightning_media (#3093814: Prepare lightning_media for Drupal 9)
- lightning_layout (#3094605: Make Lightning Layout D9 Ready)
- lightning_workflow (#3094616: Make Lightning Workflow D9 Ready)
- media_entity_instagram (#3097666: Make Media entity Instagram D9 Ready)
- media_entity_twitter (#3097669: Make media entity twitter D9 ready.)
- metatag (#3042590: Drupal 9 Deprecated Code Report)
- moderation_dashboard #3096345: D9 Readiness of Moderation Dashboard
- moderation_sidebar #3096342: D9 Deprecation report
- openapi (#3070671: Drupal 9 Deprecated Code Report)
- openapi_ui (#3097495: Drupal 9 Deprecated Code Report)
- openapi_ui_redoc (#3097605: D9 Readiness Report)
- openapi_ui_swagger (#3097607: D9 Readiness Report)
- page_manager (#2859105: Update deprecated function calls)
- panelizer (#3124333: Drupal 9 Compatibility)
- panels (#3042590: Drupal 9 Deprecated Code Report and #3042660: Drupal 9 Deprecated Code Report)
- pathauto (#3042582: Drupal 9 Deprecated Code Report for Pathauto and #3069603: [8.8+] Removing deprecated method entity_get_display())
- redirect #3051124: Remove Drupal 8.7 and earlier deprecations, compatibility with Drupal 9
- schemata (#3097024: Remove deprecated code to make Drupal 9 compatible)
- search_api (#3023170: Test for compatibility with Drupal 9)
- simple_gmap #3088320: Make sure Simple Google Maps is fully Drupal 9 compatible
- simple_oauth (#3088546: Drupal 9 deprecation report)
- slick (#3079155: Fix deprecation reported by drupal-check and deprecation errors from test results. and #3087752: Deprecated APIs should be removed for Drupal 9 compatibility)
- slick_entityreference (#3097269: Prerare slick_entityreference module for Drupal 9)
- token (#3075631: Drupal 9 Deprecated Code Report)
- video_embed_field (#3097287: Prepare Video Embed Field for Drupal 9)
- video_embed_media (#3097287: Prepare Video Embed Field for Drupal 9)
- views_infinite_scroll (#3097542: Prepare views_infinite_scroll module for Drupal 9)
Note about Libraries API
- Libraries API has been removed from the upcoming Lightning Media 4.x, and therefore also from the upcoming Lightning 5. Therefore, projects that use Lightning and themselves depend on Libraries API will need to either decouple from Libraries API or explicitly declare the Lightning API dependency themselves and resolve its remaining issues, some of which are:
Comments
Comment #2
phenaproximaAnything that starts with lightning_*, including Lightning itself, is scanned continuously for deprecations, and tests fail if we are using deprecated code. So everything Lightning ships is D9-ready, and kept that way as a matter of course.
However, our dependencies may not be. I would suggest we file issues in each of those modules to verify their Drupal 9 readiness.
Comment #3
balsamaTagging. We have a goal of making Lightning Components 100% compatible this quarter and a stretch goal for all of the dependencies.
Comment #4
balsamaComment #5
joshi.rohit100I notice that some of the modules mentioned in the IS are core modules like file, views, block, breakpoint, etc.
Should we remove them from the IS?
Comment #6
phenaproximaYes, please do!
Comment #7
amitgoyal commentedComment #8
milindk commentedComment #9
amitgoyal commentedComment #10
saurabh.tripathi.cs commentedComment #11
amitgoyal commentedComment #12
saurabh.tripathi.cs commentedComment #13
amitgoyal commentedComment #14
pranit84Comment #15
joshi.rohit100Comment #16
joshi.rohit100Comment #17
joshi.rohit100Comment #18
rajanvalecha12 commentedComment #19
rajanvalecha12 commentedComment #20
rajanvalecha12 commentedComment #21
amitgoyal commentedComment #22
amitgoyal commentedComment #23
rajanvalecha12 commentedComment #24
rajanvalecha12 commentedComment #25
rajanvalecha12 commentedComment #26
rajanvalecha12 commentedComment #27
amitgoyal commentedComment #28
joshi.rohit100Comment #29
sharique commentedComment #30
phenaproximaComment #31
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.
Comment #32
saurabh.tripathi.cs commentedComment #33
saurabh.tripathi.cs commentedComment #34
milindk commentedComment #35
sharique commentedComment #36
sharique commentedComment #37
joshi.rohit100Comment #38
joshi.rohit100Comment #39
joshi.rohit100Comment #40
joshi.rohit100Comment #41
sharique commentedComment #42
pranit84Comment #43
pranit84Comment #44
pranit84Comment #45
pranit84Comment #46
saurabh.tripathi.cs commentedComment #47
sharique commentedComment #48
sharique commentedComment #49
rajanvalecha12 commentedComment #50
saurabh.tripathi.cs commentedComment #51
milindk commentedComment #52
milindk commentedComment #53
milindk commentedComment #54
milindk commentedComment #55
amitgoyal commentedComment #56
amitgoyal commentedComment #57
amitgoyal commentedComment #58
amitgoyal commentedComment #59
amitgoyal commentedComment #60
effulgentsia commentedAlphabetized, deduped by project, and added some missing entries.
Comment #61
effulgentsia commentedFixed the issue link for Blazy.
Comment #62
milindk commentedComment #63
milindk commentedComment #64
milindk commentedComment #65
milindk commentedComment #66
amitgoyal commentedComment #67
amitgoyal commentedComment #68
effulgentsia commentedA bunch are now done, so moving them into a DONE section.
Comment #69
effulgentsia commentedComment #70
effulgentsia commentedUpdated the Blazy issue link to its remaining issue.
Comment #71
effulgentsia commentedComment #72
effulgentsia commentedAdding #2895377: Convert WebTestBase to BrowserTestBase as another image_widget_crop issue.
Comment #73
effulgentsia commentedOpened #3107844: SerializableTempstoreTest calls deprecated PHPUnit methods, moving CTools back to the not-done list.
Comment #74
effulgentsia commentedMoving lightning_api, lightning_media, and simple_gmap to done.
Comment #75
effulgentsia commentedMoving ctools and entity_embed to Done.
Comment #76
berdirSome notes from what we did:
libraries: Instead of making that work on D9, I'd focus on removing it. https://www.drupal.org/node/3099614 got in today, there's a patch already for dropzonejs and other modules should be able to be updated in the same way, you could include the core patch and already stop installing it now and recommend existing sites to uninstall.
video_embed_field and video_embed_media: Similar, we just switched to the core oembed provider, the upgrade path seems to work quite well. But likely easier for us as we control all sites and were able to write an update to migrate and uninstall, just like libraries.
Comment #77
effulgentsia commentedMoving image_widget_crop, openapi, and schemata to DONE.
Comment #78
ankush_03Comment #79
effulgentsia commentedMoved information about Libraries API to its own section of the IS.
Comment #80
effulgentsia commentedMoved a bunch of modules to DONE
Comment #81
phenaproximaMoved Panels to the "done" list.
Comment #82
phenaproximaDitto for Panelizer.
Comment #83
phenaproximaMoving Search API to the "done" list.
Comment #84
phenaproximaComment #85
phenaproximaLightning 5 is released and supports Drupal 9. So this, I think, is quite fixed!