In some cases it would be better to block major updates and allow only a fresh install.
Gitlab is an very good example, worse case scenario right now happend, gitlab got 2x major updated within 10 days. This update is from  12.0.6 -> 12.1 -> 12.2.4, which includes ruby from 2.5 -> 2.6 and postgressql from 9.5 -> 11.0.
This update needs a lot manual interaction , in fact we cant even make sure users are quick enough to update the plugins as we would like to see it. So for that I'd like to suggest a function in 12.0 to allow us to block major updates via index or plugin.json and allow only a fresh install with a easy migration documentation.