From 2b6c01506846e239295494cf389aa3481786c248 Mon Sep 17 00:00:00 2001 From: Ryan Emery Date: Thu, 3 Oct 2019 15:25:45 -0700 Subject: [PATCH 1/3] doc: Add versioning file --- VERSIONING.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 VERSIONING.md diff --git a/VERSIONING.md b/VERSIONING.md new file mode 100644 index 000000000..6b98363a5 --- /dev/null +++ b/VERSIONING.md @@ -0,0 +1,55 @@ +# Versioning Policy + +The AWS Encryption SDK for JavaScript versioning follows [semantic versioning][link-semver] standards. + +## Major versions + +Major version changes are significant and expected to break backwards compatibility. + +## Minor versions + +Minor version changes will not break compatibility between the previous minor versions; +to do so is a bug. +Encryption SDK changes will also involve addition of optional features, and non-breaking enhancements. +Additionally any change to the version of a dependency. + +## Patch versions + +Patch versions changes are meant only for bug fixes, +and will not break compatibility of the current major version. +A patch release will contain a collection of minor bug fixes, +or individual major and security bug fixes, depending on severity. +A patch release will also include warning of upcoming breaking changes, whenever possible. + +What this means for you +======================= + +We recommend running the most recent version. Here are our suggestions for managing updates: + +* X changes will require some effort to incorporate. +* Y changes will not require significant effort to incorporate. + + * If you have good unit and integration tests, these changes are generally safe to pick up automatically. + +* Z changes will not require any changes to your code. Z changes are intended to be picked up automatically. + + * Good unit and integration tests are always recommended. + +# Semantic Commits + +We seek to increase clarity at all levels of the update and releases process. +We require pull requests adhere to the [Conventional Commits][conventional-commits] spec, +which can be summarized as follows: + +* Commits that would result in a semver **major** bump must start with `BREAKING CHANGE:`. +* Commits that would result in a semver **minor** bump must start with `feat:`. +* Commits that would result in a semver **patch** bump must start with `fix:`. + +* We allow squashing of commits, + provided that the squashed message adheres the the above message format. + +* It is acceptable for some commits in a pull request to not include a semantic prefix, + as long as a later commit in the same pull request contains a meaningful encompassing semantic message. + +[link-semver]:https://semver.org/ +[conventional-commits]: https://conventionalcommits.org/ From e4fdbfadea5b6a2c6f2f7875b18019ec4021fc53 Mon Sep 17 00:00:00 2001 From: Ryan Emery Date: Thu, 3 Oct 2019 16:59:46 -0700 Subject: [PATCH 2/3] markdown --- VERSIONING.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/VERSIONING.md b/VERSIONING.md index 6b98363a5..ce949704a 100644 --- a/VERSIONING.md +++ b/VERSIONING.md @@ -21,8 +21,7 @@ A patch release will contain a collection of minor bug fixes, or individual major and security bug fixes, depending on severity. A patch release will also include warning of upcoming breaking changes, whenever possible. -What this means for you -======================= +# What this means for you We recommend running the most recent version. Here are our suggestions for managing updates: From d822dda02acd2ff78316b9b7329f67e322a70d58 Mon Sep 17 00:00:00 2001 From: Ryan Emery Date: Fri, 4 Oct 2019 13:14:38 -0700 Subject: [PATCH 3/3] update wording --- VERSIONING.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/VERSIONING.md b/VERSIONING.md index ce949704a..51ae1f215 100644 --- a/VERSIONING.md +++ b/VERSIONING.md @@ -11,7 +11,7 @@ Major version changes are significant and expected to break backwards compatibil Minor version changes will not break compatibility between the previous minor versions; to do so is a bug. Encryption SDK changes will also involve addition of optional features, and non-breaking enhancements. -Additionally any change to the version of a dependency. +Additionally, any change to the version of a dependency is a minor version change. ## Patch versions @@ -19,20 +19,6 @@ Patch versions changes are meant only for bug fixes, and will not break compatibility of the current major version. A patch release will contain a collection of minor bug fixes, or individual major and security bug fixes, depending on severity. -A patch release will also include warning of upcoming breaking changes, whenever possible. - -# What this means for you - -We recommend running the most recent version. Here are our suggestions for managing updates: - -* X changes will require some effort to incorporate. -* Y changes will not require significant effort to incorporate. - - * If you have good unit and integration tests, these changes are generally safe to pick up automatically. - -* Z changes will not require any changes to your code. Z changes are intended to be picked up automatically. - - * Good unit and integration tests are always recommended. # Semantic Commits