Skip to content

Commit 2b6c015

Browse files
committed
doc: Add versioning file
1 parent c4255fa commit 2b6c015

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

VERSIONING.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Versioning Policy
2+
3+
The AWS Encryption SDK for JavaScript versioning follows [semantic versioning][link-semver] standards.
4+
5+
## Major versions
6+
7+
Major version changes are significant and expected to break backwards compatibility.
8+
9+
## Minor versions
10+
11+
Minor version changes will not break compatibility between the previous minor versions;
12+
to do so is a bug.
13+
Encryption SDK changes will also involve addition of optional features, and non-breaking enhancements.
14+
Additionally any change to the version of a dependency.
15+
16+
## Patch versions
17+
18+
Patch versions changes are meant only for bug fixes,
19+
and will not break compatibility of the current major version.
20+
A patch release will contain a collection of minor bug fixes,
21+
or individual major and security bug fixes, depending on severity.
22+
A patch release will also include warning of upcoming breaking changes, whenever possible.
23+
24+
What this means for you
25+
=======================
26+
27+
We recommend running the most recent version. Here are our suggestions for managing updates:
28+
29+
* X changes will require some effort to incorporate.
30+
* Y changes will not require significant effort to incorporate.
31+
32+
* If you have good unit and integration tests, these changes are generally safe to pick up automatically.
33+
34+
* Z changes will not require any changes to your code. Z changes are intended to be picked up automatically.
35+
36+
* Good unit and integration tests are always recommended.
37+
38+
# Semantic Commits
39+
40+
We seek to increase clarity at all levels of the update and releases process.
41+
We require pull requests adhere to the [Conventional Commits][conventional-commits] spec,
42+
which can be summarized as follows:
43+
44+
* Commits that would result in a semver **major** bump must start with `BREAKING CHANGE:`.
45+
* Commits that would result in a semver **minor** bump must start with `feat:`.
46+
* Commits that would result in a semver **patch** bump must start with `fix:`.
47+
48+
* We allow squashing of commits,
49+
provided that the squashed message adheres the the above message format.
50+
51+
* It is acceptable for some commits in a pull request to not include a semantic prefix,
52+
as long as a later commit in the same pull request contains a meaningful encompassing semantic message.
53+
54+
[link-semver]:https://semver.org/
55+
[conventional-commits]: https://conventionalcommits.org/

0 commit comments

Comments
 (0)