Closed (fixed)
Project:
Drupal core
Version:
8.9.x-dev
Component:
base system
Priority:
Critical
Category:
Plan
Assigned:
Unassigned
Reporter:
Created:
6 Apr 2018 at 19:30 UTC
Updated:
20 Mar 2020 at 13:59 UTC
Jump to comment: Most recent
Comments
Comment #2
alexpottComment #3
alexpottComment #4
alexpottComment #5
alexpottI think some of the Twig stuff might be covered by #2572605: Make Drupal 8 optionally working with Twig 2, while keeping its dependency on Twig 1
Comment #6
alexpottComment #7
berdir@alexpott+++++ :)
> The revision_user revision metadata key is not set.
We won't be able to get rid of these due to the upgrade path and we actually explicitly don't have them on one test class to test the BC layer as we broke it at some point in 8.5.x. Not sure how to deal with issues like that.
Comment #8
mile23I was curious which ones would be easy to find....
Comment #9
alexpottComment #10
alexpottComment #11
alexpottIn order to be sure we're not triggering deprecated code we need to move back to strict checking - see #2961691: Change SYMFONY_DEPRECATIONS_HELPER back to strict
removing the drupal_set_message() issues from related issues. Duplicating the issue summary in the related issues is not going to be that useful.
Comment #12
alexpottComment #13
berdirComment #14
alexpottComment #15
alexpottComment #16
rteijeiro commentedComment #17
marcel66 commentedComment #18
marcel66 commentedComment #19
mihai11 commentedComment #20
jmikii commentedComment #21
szloredan commentedComment #22
marcel66 commentedComment #23
jmikii commentedComment #24
mihai11 commentedComment #25
mihai11 commentedComment #26
szloredan commentedComment #27
jmikii commentedComment #28
mihai11 commentedComment #29
szloredan commentedComment #30
jmikii commentedComment #31
marcel66 commentedComment #32
mihai11 commentedComment #33
marcel66 commentedComment #34
alexpottMoving some things to the done section. Also there's no need to related the issues to this plan since we have the list in the issue summary.
Another thing is that we have plenty of deprecations that do not trigger a silence error because they we added before the policy. We need to fix that too. They are harder to identify. Plenty of stuff to be getting on will :)
Comment #35
alexpottComment #36
alexpottComment #37
mile23We have a problem with some issues such as #2970017-9: Fix "Drupal\system\Tests\Menu\AssertBreadcrumbTrait is deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.0. Instead, use \Drupal\Tests\system\Functional\Menu\AssertBreadcrumbTrait"
We can't fix the deprecation because it's triggered during discovery, and some tests cause another discovery.
We could limit our discovery to include only
*Test.phpfiles, but this has BC problems. #2296635: Evaluate performance impact of limiting test discovery to *Test.php filename suffixAnother solution might be to remove
@trigger_error()from deprecated test traits and base classes which are touched byTestDiscoveryin these instances. So for instance, in #2970017: Fix "Drupal\system\Tests\Menu\AssertBreadcrumbTrait is deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.0. Instead, use \Drupal\Tests\system\Functional\Menu\AssertBreadcrumbTrait" we'd remove@trigger_error()fromDrupal\system\Tests\Menu\AssertBreadcrumbTraitand also remove that error from the whitelist. At some point in the future, if we scan only for*test.phpfiles, we could change back to using@trigger_error().We'll also eventually officially deprecate WebTestBase which will handle this use-case anyway. #2847678: Deprecate WebTestBase and its required classes in favour of BrowserTestBase
I'm offering this solution here because there are a number of trait errors we're dealing with in child issues.
Thoughts?
Comment #38
alexpottComment #39
alexpottComment #40
daniel.bosenComment #41
mairi commentedComment #42
mairi commentedComment #43
alexpottAdding a clarification to the issue title. We are allowed to trigger deprecated code in tests marked with
@group legacyand in whilst running update functions.Comment #44
mile23Added this issue to CR: https://www.drupal.org/node/2937545
Comment #46
alexpottTrying to make the list a bit smaller... #2991080: Remove skipped deprecations no longer triggered by tests
Comment #47
alexpottUpdating todo list.
Removing the done list - not that helpful - we have revisions.
Comment #48
mile23Added #3001619: Fix "AssertLegacyTrait::getAllOptions() is scheduled for removal in Drupal 9.0.0. Use $element->findAll(\'xpath\', \'option\') instead." deprecation error
Comment #49
jibranIs there a way for contrib modules to keep up with these removed deprecated warnings?
If Drupal CI starts failings the daily test runs of a module then that would be great. It would not be ideal to start failing all contrib test runs but to allow modules to opt in would be great. Is there a way to do that?
Comment #50
mile23You can add or modify your project's drupalci.yml file and say
suppress-deprecations: truein therun_testssections.Docs: https://www.drupal.org/drupalorg/docs/drupal-ci/customizing-drupalci-tes...
It'd be ideal if we had different build target types in drupalci, but we don't yet. #2951375: Allow for build targets
Comment #51
mile23New child: #3001800: Fix "The revision_user revision metadata key is not set." and friends
Comment #52
mile23Comment #53
mile23New child: #3002933: Fix "The Drupal\editor\Plugin\EditorBase::settingsFormSubmit method is deprecated since version 8.3.x and will be removed in 9.0.0." and friends
Comment #54
tim.plunkettOpened #3002935: Document that DeprecationListenerTrait::getSkippedDeprecations() should not be expanded for new deprecations
Comment #55
mile23New child: #3003298: Fix "Adding or retrieving messages prior to the container being initialized was deprecated in Drupal 8.5.0 and this functionality will be removed before Drupal 9.0.0." deprecation error.
Comment #56
berdirComment #57
mile23A lot of these messages relate to the migration system, and we've hit a little bit of a snag in #2970108-22: Fix "MigrateCckField is deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. Use \Drupal\migrate_drupal\Annotation\MigrateField instead." deprecation error. So here's a plan issue for dealing with migration-related deprecations: #3003920: Plan how to expose deprecated migration entities
Comment #58
mikelutzComment #59
mikelutzComment #60
mikelutz.
Comment #61
mile23New child issue #3006397: Fix "Drupal\system\Plugin\views\field\BulkForm is deprecated in Drupal 8.5.x, will be removed before Drupal 9.0.0. Use \Drupal\views\Plugin\views\field\BulkForm instead." deprecation error
Comment #62
gábor hojtsyComment #63
mile23Added child #3009854: Fix "The "serializer.normalizer.file_entity.hal" normalizer service is deprecated: it is obsolete, it only remains available for backwards compatibility." deprecation error
Comment #64
voleger#2848161: [meta] Replace calls to deprecated db_*() wrappers
Comment #66
berdirComment #67
berdirComment #68
berdirSplitting the issue summary into todo and done, as it is very hard to scan.
Comment #69
berdirAnd removing one of the assert messages as that is no longer deprecated for 9.x
Comment #70
alexpottComment #71
berdirComment #72
berdirComment #73
berdirComment #74
alexpottComment #75
alexpottComment #77
berdir#3084983: Move all the code related to path aliases to a new (required) "path_alias" module added a bunch of new entries to this list, so we should open a D8 issue to clean that up as much as possible.
Beside those explicitly skipped deprecations, it also added @deprecated to various interfaces that aren't enforced with @trigger_error() because the new interfaces are actually just extending from those, that makes sense for BC, but it's going to be tricky to detect/enforce it.
Comment #78
plachIssue addressing #77 available at #3094292: Remove usages of deprecated path alias services and clear "DeprecationListenerTrait" entries.
Comment #79
jonathan1055 commentedAdded #3009848: Fully deprecate WorkflowDeleteAccessCheck
Comment #80
damienmckennaTagging as a requirement for Drupal 9.0-beta1.
Comment #81
catchLooks like we need an issue to remove these:
Comment #82
catchFound the issue with some help from longwave: #3098489: Remove deprecated jQuery UI library definitions
Comment #83
catchExplicitly bumping this to critical, these are some of the stickier blockers to getting to zero deprecated code.
Comment #84
gábor hojtsyReparenting as this was the only children left of its parent.
Comment #85
berdirComment #86
gábor hojtsy#3009848: Fully deprecate WorkflowDeleteAccessCheck landed.
Comment #87
catchRemoving #3020296: Remove Symfony's classloader as it does not exist in Symfony 4 from the issue summary, because it is also covered in #3009213: [META] Update / reconsider PHP dependencies for Drupal 9 (in which it is the only remaining blocking issue) and independently mentioned in the issue summary of #3079680: [META] Requirements for tagging Drupal 9.0.0-beta1. So I think we can get away with counting it three times instead of five...
We can't actually empty this method due to Symfony 4 deprecations so it's a case of removing the two that were incomplete deprecations we did ourselves, both of which have in-progress issues.
Comment #88
catchWe're down to #3098489: Remove deprecated jQuery UI library definitions.
Comment #89
gábor hojtsy#3098489: Remove deprecated jQuery UI library definitions landed.
Comment #90
gábor hojtsyComment #91
xjmCrediting contributors to organizing the meta.