-
Notifications
You must be signed in to change notification settings - Fork 107
Versioning Policy
mqtt_cpp uses semver. The version format is vMajor.Minior.Patch
.
- Major version is updated if the release contains breaking changes.
- Patch version is updated when the release contains only bug fixes.
- It could be change the behavior but we don't call it is breaking change. Because the original (buggy) behavior is unexpected. Some users might depend on such buggy behavior. In this case, users need to update their code.
- Minor version is updated other reasons.
- Typically adding functionalities.
It is up to date branch. It is normal pull request target.
Let's say the latest release is v1.0.0.
The next release version candidate is as follows:
Priority(small number is high) | Merged Update | Next version |
---|---|---|
1 | Major e.g.)Breaking change | v2.0.0 |
2 | Minor e.g.)Add functionality | v1.1.0 |
3 | Patch e.g.)Bug fix | v1.0.1 |
If a bugfix is merged to the master, then the version candidate is updated. It is reflected to README.md. Once the higher priority update is merged, then lower priority update doesn't affect the version.
If a serious bug is fixed e.g.) memory corruption, and if the major version candidate of the master has already been updated, then create the new branch from the release tag. e.g.)v1.x. And the bugfix is merged to vN.x branch and release as vN.x.
It required to manage multiple branches. We create vN.x branch only if it is required. Please understand we have very limited resource, and managing multiple vN.x branches consume our resource.
- Requirements
- Config
- Tutorial
- Authentication and Authorization
- Advanced topics
- Examples
- API Reference
- Versioning Policy
- How to contribute