From 2b9784864d184373f1baeb765d38f77624895639 Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Fri, 26 Nov 2021 13:05:08 +0000 Subject: [PATCH] docs/Versions: require ABI stability --- docs/Versions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Versions.md b/docs/Versions.md index bc9da96576..7143095880 100644 --- a/docs/Versions.md +++ b/docs/Versions.md @@ -17,6 +17,7 @@ Versioned formulae we include in [homebrew/core](https://github.com/homebrew/hom * Versioned formulae should not have `resource`s that require security updates. For example, a `node@6` formula should not have an `npm` resource but instead rely on the `npm` provided by the upstream tarball. * Versioned formulae should be as similar as possible and sensible compared to the main formulae. Creating or updating a versioned formula should be a chance to ask questions of the main formula and vice versa, e.g. can some unused or useless options be removed or made default? * No more than five versions of a formula (including the main one) will be supported at any given time, regardless of usage. When removing formulae that violate this, we will aim to do so based on usage and support status rather than age. +* Versioned formulae must be ABI stable for the lifetime of the version branch. Updates to the versioned formula must not introduce ABI incompatibilities or otherwise require dependents to be revision bumped. Updates which violate this should be rejected and the formula be deprecated from that point onwards. Homebrew's versions should not be used to "pin" formulae to your personal requirements. You should instead create your own [tap](How-to-Create-and-Maintain-a-Tap.md) for formulae you or your organisation wish to control the versioning of, or those that do not meet the above standards. Software that has regular API or ABI breaking releases still needs to meet all the above requirements; that a `brew upgrade` has broken something for you is not an argument for us to add and maintain a formula for you.