I lead a team who successfully migrated an e-commerce app from
Spree 2.3 to Spree 3.7(9 versions), Rails 4.1 to 5.2(4 versions) and Ruby 2.2 to 2.6(4 versions).
It was very challenging as many versions changed in between, used many abandoned gems and some of the core functionality was complete rewrite and have no/little documentation.
There are some regressions but comprehensive test suite helped us to release confidently.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.