This issue was originally at #2543568: Remove the md_entity destination plugin hack - that issue has been narrowed in scope to the WTFery which required destinations to access the Migration plugin.
Problem/Motivation
Ideally, migration destination plugins (which wrap delivery of data to destinations such as Drupal entities) should be usable by themselves, without a containing migration - unfortunately, DestinationBase requires a MigrationInterface argument.
This is an API breaker, given it's not a blocker for #2810347: [policy, no patch] Mark migrate.module as beta stability it is postponed until 9.0.
Proposed resolution
Remove the migration from the interface and all classes accepting it as a parameter.
Remaining tasks
Start from the patch at https://www.drupal.org/node/2543568#comment-11616593 and remove the bits being addressed in that issue.
User interface changes
N/A
API changes
Removal of $migration from all destination constructors.
Data model changes
None.
Comments
Comment #3
xjmDoes this need to be postponed anymore?
This would be a minor-only change. Since 8.9.x and 9.0.x are now in beta, I'm moving this to 9.1.x. Thanks!