When possible, I prefer to upgrade dependencies incrementally rather than making several version jumps. So, we try not to go from React 16 to 19. We go from 16 to 17, then to 18, and finally to 19.

The Risks of Jumping Multiple Versions

It’s very tempting to jump to the latest release. It feels like time travel; putting your application on the latest in the fewest number of steps. What’s not to like?

The danger of such a jump is that it’s easy to miss information when it’s stacked. Multiple releases can contain multiple deprecations, sunsetted features, and scripts you were supposed to run. And also new features and bugfixes! The risk of missing information rises with each stacked release.

Conclusion

To follow this approach, you need patience and a deployment pipeline that supports continuous improvement. I think this is a case where, in general, slow is smooth, and smooth is fast.

Note: I shared a version of this idea previously on Linkedin.