Skip to content

Commit

Permalink
docs: add versioning policy
Browse files Browse the repository at this point in the history
  • Loading branch information
bdunderscore committed Sep 22, 2023
1 parent 3c7f4a1 commit 886803d
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
4 changes: 3 additions & 1 deletion docfx~/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,6 @@
- name: Execution Model
href: execution-model.md
- name: Extension Contexts
href: extension-context.md
href: extension-context.md
- name: Versioning Policy
href: versioning-policy.md
21 changes: 21 additions & 0 deletions docfx~/versioning-policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Versioning policy

NDMF generally complies with [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html). Versions are expressed as
a MAJOR.MINOR.PATCH version triplet.

* The major version will be incremented when non-backwards-compatible changes are made. For example, removing API
members, or adding abstract methods to abstract classes.
* The minor version will be incremented when backwards-compatible changes are made. For example, adding new API members
to a class, or adding new abstract classes. It will also be incremented when changes to execution order heuristics
are made.
* The patch version will be incremented when backwards-compatible bug fixes are made.

Execution order heuristics are used to resolve the order of execution of passes when constraints are not sufficient to
fully determine the order. For example, if two passes are declared to run after a third pass, but no other constraints
are declared, the order of execution of the two passes is not fully determined. In this case, NDMF will use a heuristic
to determine the order of execution. NDMF will strive not to change this heuristic between patch releases, but it may
change on minor releases. If you run into problems with changes in a heuristic, please constrain the order of execution
of your passes explicitly.

**Versions before 1.0.0**: Versions starting with 0.x.y are considered to be unstable and do not guarantee API stability.
We will make a best-effort attempt to increment the "x" version when making incompatible changes.

0 comments on commit 886803d

Please sign in to comment.