This document summarizes lessons learned from failures in backporting bug fixes to Ruby stable branches:
- Don't backport performance improvements or fixes for imaginary use cases as they can introduce regressions.
- Be careful backporting fixes related to parsing, constants/method search, and refinements as they are complex and prone to causing new bugs.
- Some long-standing bugs may not need fixing if no real applications are affected. It's better to avoid regressions.
- Consider an application's needs before backporting - don't backport fixes if no one requested or needs them. Be practical.