New Major
What to consider when preparing a new major.
Even if we decide to make a new major, it's important to prioritize user-friendliness, ease of migration, and backwards compatibility.
Upgrading requires effort. Every major increases the chances of folks staying on an older version forever.
Don't break existing APIs for a minor maintenance benefit on your end.
Create a migration guide. Include easily understandable and copy-pastable examples wherever possible.
Many folks might try to upgrade using AI. Try it out yourself on an example project. Consider adding rules specifically for migrating.
When making a new major, consider whether we should drop support for an old Python version. There is data in Looker you can use to make an informed decision.
Investigate if we should drop support for old versions of frameworks and libraries. This is not feasible to do by hand as there's too many. For this purpose there is a small script in scripts/update_integration_support.py that automatically detects the effective lowest supported version based on our tests and package metadata. You can run the script after removing support for an old Python version, and it should automatically detect which minimum versions are no longer supported.
In order to fully specify the new minimum versions:
- Update
_MIN_VERSIONSinsentry_sdk/integrations/__init__.py - Update the lower bounds in
extras_requireinsetup.py, if specified - Update the documentation pages for the affected integrations (usually, the lowest supported version is mentioned at the bottom)
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").