Silent Backwards Compatibility Breaking Changes in PyTorch
2 days ago
- #Software Maintenance
- #API Development
- #Backwards Compatibility
- Silent BC breaking changes alter API semantics without obvious errors, risking incorrect results.
- Bug fixes can be silent BC breaks if old behavior was useful, necessitating bug-for-bug compatibility.
- Options for fixing BC breaks: YOLO fix (change behavior directly), turn silent breaks into noisy ones (raise errors), or make breaks gentler (warnings before errors).
- Gentler BC breaks involve steps: warnings, errors, then new semantics, with telemetry for monitoring usage.
- Feature flags can temporarily revert BC breaks to aid in updates without full rollbacks.
- Detecting deprecated API usage can be complex, requiring specific conditions to observe changes.