# 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 is a minor version change. ## 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. # 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/