Problem/Motivation
Currently, we have update functions going back to 8.0.0-rc1, including lots and lots of update tests as well as database dumps.
We currently have 75 classes that contain "extends UpdatePathTestBase", probably more when including subclasses of these as well. Those tests get slower and slower as we add more and more update functions. And we will continue to add more and more of those update tests.
In reality, most real projects can't really handle an update that skips minor versions, for example because contrib/custom update functions are not doing proper post updates when relying on entity and other API's.
Every Drupal minor release, we have had critical upgrade path bug reports, either due to bad core updates or contributed module incompatibilities, by narrowing the variables for 8-9 updates we should be able to more effectively troubleshoot the bugs that people run into, reduce the support burden (and DrupalCI testing time) of extremely outdated update path tests, and update our test coverage to be more realistic.
Proposed resolution
1. Document that updates from Drupal 8 to Drupal 9 must be from Drupal 8.8.x or Drupal 8.9.x, which will be the only supported versions when Drupal 9.0.0 is released. Sites on 8.7 or earlier must update to 8.8.x or later before then updating to Drupal 9. This will also encourage those sites to update contrib modules properly too.
2. Remove updates (and their corresponding hook_post_update_NAME() and test coverage) number 87** and lower from Drupal 9. This will require all new update tests to be based on an 8.8 or later database dump. Has to be a 9.x-only patch.
3. Open a spin-off issue to consider removing updates prior to 8.5 or 8.6 from Drupal 8.9, if we agree to this, we could apply that patch to both Drupal 8 and Drupal 9 prior to the step in #2, which would mean less divergence for backports of update path fixes. Sites on very old unsupported Drupal core versions would then need to update to 8.8.x first (the last branch with the old updates in), then either from there to 8.9 or 9.x.
This makes maintenance easier and tests faster.