The AWS Encryption SDK for JavaScript versioning follows semantic versioning standards.
Major version changes are significant and expected to break backwards compatibility.
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 is a minor version change.
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.
We seek to increase clarity at all levels of the update and releases process. We require pull requests adhere to the 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.