Last active
July 19, 2025 05:44
-
-
Save brandonbloom/465625acaf0120354614e7fc0c117c62 to your computer and use it in GitHub Desktop.
Revisions
-
brandonbloom revised this gist
Jul 19, 2025 . No changes.There are no files selected for viewing
-
brandonbloom revised this gist
Mar 18, 2024 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -9,7 +9,7 @@ Version numbers have the short form: `<major>.<minor>` Breaking changes may only be introduced in major version bumps. However, no breaking change may be made to a feature unless it was declared deprecated in the _previous_ major version bump. A key property of projects that use StableVer is that it should always be possible to -
brandonbloom revised this gist
Mar 18, 2024 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,7 +13,7 @@ Breakings may only be introduced in major version bumps. However, no breaking ch may be made to a feature unless it was declared deprecated in the _previous_ major version bump. A key property of projects that use StableVer is that it should always be possible to migrate from major version N to major version N+1 without breaking changes -- provided that you are not using any features that were marked deprecated in version N. ## Stability Status -
brandonbloom revised this gist
Mar 17, 2024 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -61,4 +61,5 @@ release. Bug fixes may introduce breaking changes within the _undefined_ portion features, but should be accompanied by guidance. Major version bumps _may_ be used for marketing purposes, even if there are no new deprecations or feature removals. This capacity should not be used to avoid providing sufficient migration time for deprecations. -
brandonbloom revised this gist
Mar 17, 2024 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -31,7 +31,8 @@ Unstable features fall in to five categories: **alpha**, **beta**, warning. **Beta** features _may_ experience breaking changes, but the goal is for them to stabilize, and so such breakage will be accompanied by guidance. It is not necessary to bump the major version when making changes to beta features. **Deprecated** features are previously _beta_ or _stable_ features that will be _removed_ in the next major version release. Warning and a migration plan will be provided. -
brandonbloom revised this gist
Mar 17, 2024 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -33,8 +33,8 @@ warning. **Beta** features _may_ experience breaking changes, but the goal is for them to stabilize, and so such breakage will be accompanied by guidance. **Deprecated** features are previously _beta_ or _stable_ features that will be _removed_ in the next major version release. Warning and a migration plan will be provided. **Internal** features are also subject to breaking changes at anytime. They differ from _alpha_ features in that they are not expected to stabilize. -
brandonbloom revised this gist
Mar 17, 2024 . 1 changed file with 4 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -57,4 +57,7 @@ _internal_. Non-breaking bug fixes and _unstable_ features may be added or modified in any minor version release. Bug fixes may introduce breaking changes within the _undefined_ portion of _stable_ features, but should be accompanied by guidance. Major version bumps _may_ be used for marketing purposes, even if there are no new deprecations or feature removals. -
brandonbloom revised this gist
Mar 17, 2024 . 1 changed file with 11 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -24,8 +24,8 @@ of individual APIs, data formats, and other features. Functionality can be either **stable** or **unstable**. Stable features are not subject to breaking changes, even in major version upgrades. Unstable features fall in to five categories: **alpha**, **beta**, **deprecated**, **internal**, and **undefined**. **Alpha** features are subject to breaking changes at anytime and without warning. @@ -39,6 +39,11 @@ Warning and a migration plan will be provided. **Internal** features are also subject to breaking changes at anytime. They differ from _alpha_ features in that they are not expected to stabilize. **Undefined** behavior of features is the subset of functionality of any feature -- include _stable_ features -- that has not been adequately documented. Undefined behavior is treated as _internal_ for unstable features, and as _beta_ when associated with otherwise _stable_ features. ## Version Numbering When the major version is 0, it is called the "alpha release". All features are @@ -49,3 +54,7 @@ at best. For major version 1 and up, all _documented_ features are considered _stable_, unless otherwise indicated. All _undocumented_ functionality is considered _internal_. Non-breaking bug fixes and _unstable_ features may be added or modified in any minor version release. Bug fixes may introduce breaking changes within the _undefined_ portion of _stable_ features, but should be accompanied by guidance. -
brandonbloom renamed this gist
Mar 17, 2024 . 1 changed file with 16 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,12 +1,25 @@ # StableVer This document describes the "StableVer" versioning scheme. Like SemVer and related schemes, major version numbers convey semantic information about breaking changes. Unlike SemVer, StableVer discourages breaking changes by adding semantics regarding feature stability, deprecation, and migrations. Version numbers have the short form: `<major>.<minor>` Breakings may only be introduced in major version bumps. However, no breaking change may be made to a feature unless it was declared deprecated in the _previous_ major version bump. A key property of projects that use StableVer is that it should always be possible to migrate from major version N to major version N+1 without breakign changes -- provided that you are not using any features that were marked deprecated in version N. ## Stability Status Projects using StableVer are responsible for communicating the stability status of individual APIs, data formats, and other features. Functionality can be either **stable** or **unstable**. Stable features are not subject to breaking changes, even in major version upgrades. -
brandonbloom revised this gist
Feb 21, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -12,7 +12,7 @@ Functionality can be either **stable** or **unstable**. Stable features are not subject to breaking changes, even in major version upgrades. Unstable features fall in to four categories: **alpha**, **beta**, **deprecated**, and **internal**. **Alpha** features are subject to breaking changes at anytime and without warning. -
brandonbloom revised this gist
Feb 21, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -12,7 +12,7 @@ Functionality can be either **stable** or **unstable**. Stable features are not subject to breaking changes, even in major version upgrades. Unstable features fall in to four categories: **alpha**, **beta**, **internal**, and **deprecated**. **Alpha** features are subject to breaking changes at anytime and without warning. -
brandonbloom revised this gist
Feb 21, 2021 . 1 changed file with 1 addition and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,9 +4,7 @@ This project uses `$SOME_CUTE_VERSIONING_SCHEME_NAME`. It works like this: Version numbers have the short form: `<major>.<minor>` ## Stability -
brandonbloom created this gist
Feb 21, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,40 @@ # Versioning This project uses `$SOME_CUTE_VERSIONING_SCHEME_NAME`. It works like this: Version numbers have the short form: ``` <major>.<minor> ``` ## Stability Functionality can be either **stable** or **unstable**. Stable features are not subject to breaking changes, even in major version upgrades. Unstable features fall in to four categories: **alpha**, **beta**, **internal**, and **"deprecated"**. **Alpha** features are subject to breaking changes at anytime and without warning. **Beta** features _may_ experience breaking changes, but the goal is for them to stabilize, and so such breakage will be accompanied by guidance. **Deprecated** features will be _removed_ in the next major version release. Warning and a migration plan will be provided. **Internal** features are also subject to breaking changes at anytime. They differ from _alpha_ features in that they are not expected to stabilize. ## Version Numbering When the major version is 0, it is called the "alpha release". All features are considered _alpha_, unless explicitly declared otherwise. Even if designated _stable_, functionality in an alpha release should should be treated as _beta_ at best. For major version 1 and up, all _documented_ features are considered _stable_, unless otherwise indicated. All _undocumented_ functionality is considered _internal_.