niko1991
v1.33.2
Published
##### Semantic versioning is a set of rules that dictate how version numbers are assigned and incremented. The image below describes what each number means:
Downloads
7
Readme
Semantic Versioning:
Semantic versioning is a set of rules that dictate how version numbers are assigned and incremented. The image below describes what each number means:
So if:
The first number from the right is incremented (patch). It means that there is a new hotfix/bugfix on this package.
The middle number is incremented (minor). It means that there is a new feature.
The last number from the left is incremented (major). It means that there is a breaking change.
It is important to highlight that it should be safe to update the package if there are any patch/minor changes (backward compatibility). If you find any major change, you have to double-check the package's release notes before upgrading its version.
How does it work?
Commit message format
semantic-release uses the commit messages to determine the type of changes in the codebase. Following formalized conventions for commit messages, semantic-release automatically determines the next semantic version number, generates a changelog and publishes the release.
By default semantic-release uses Angular Commit Message Conventions. The commit message format can be changed with the preset
or config
options of the @semantic-release/commit-analyzer and @semantic-release/release-notes-generator plugins.
Here is an example of the release type that will be done based on a commit messages:
| Commit message | Release type |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------|
| fix(pencil): stop graphite breaking when too much pressure applied
| Patch Release |
| feat(pencil): add 'graphiteWidth' option
| Minor Feature Release |
| perf(pencil): remove graphiteWidth option
BREAKING CHANGE: The graphiteWidth option has been removed.
The default graphite width of 10mm is always used for performance reasons.
| Major Breaking Release |