-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create MAINTENANCE_STANDARDS.md #10709
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
This document outlines a standardized policy for when Dependabot will cease guaranteeing support with package managers, and for when it begin supporting a new version. "Cease guaranteeing support" is intentionally distinct from "deprecating support", because just because something's not supported, doesn't necessarily mean that we need to "rip out support immediately". Instead, it means more like, "if supporting this becomes a problem, we won't fix it". | ||
|
||
These principles will need to be weighed against the unique circumstances, but without principles, we won't ever be able to make consistent decisions. | ||
|
||
Note, this builds on ideas documented internally earlier by @jeffwidman. | ||
|
||
**General support principles** | ||
|
||
We should try to align with the ideas of [SemVer](https://semver.org/), but we can’t guarantee everything will follow that. | ||
|
||
* Support compatibility with major versions within 1 quarter | ||
* Rationale: major versions will (presumably) have breaking updates, and users will follow them. | ||
* New features, e.g. a new lockfile type - Support within 2-4 quarters | ||
* Rationale: This allows time for users to transition to using it. Not jumping on it immediately will also let the community gauge adoption so we don’t waste time on features nobody uses | ||
* Exception: if it’s a **breaking** change that forces users to use the new thing - support that within 1 quarter (if it’s Semver, that should be a major version - but 🤷) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. should we remove "(if it’s Semver, that should be a major version - but 🤷)" |
||
|
||
**Deprecation principles** | ||
|
||
* Deprecate within 6 months of a version of the package manager being deprecated, or whenever it becomes a problem for us to maintain its support. We will publish deprecation notices within the GitHub Changelog, and where possible, we will send warnings to users about using versions targeted for deprecation within Dependabot. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Deprecations happen within 6 months of a version of the package manager being deprecated" |
||
* Rationale: if it’s EOL by the maintainers, we shouldn’t need to keep supporting it either. But also, unless it’s actively doing harm, there is probably not a rush. | ||
|
||
**New package managers** | ||
|
||
* We need to treat these like new ecosystems and be cautious about supporting without careful consideration, given the ongoing maintenance costs associated. See [CONTRIBUTING](CONTRIBUTING.md#contributing-new-ecosystems) for more details |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are moving towards SemVer2