In http://semver.org/spec/v2.0.0.html we have a "formal description" about how to manage software versioning in a way to create a standard and avoid some dependencies management problems. In the item-spec-7 we have as follows:
Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible functionality is introduced to the public API. It MUST be incremented if any public API functionality is marked as deprecated. It MAY be incremented if substantial new functionality or improvements are introduced within the private code. It MAY include patch level changes. Patch version MUST be reset to 0 when minor version is incremented.
Item 1.1 makes senses for me, but the sentences order confused me. After all, the Minor value had just been incremented and the patch was reset to 0(zero).
Did I get it right?
Thanks in advance!
As far as I could understand in the iten-spec 7 of sermver.org (2.0.0), that descibes how to increment Minor version value:
- Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible functionality is introduced to the public API. It MUST be incremented if any public API functionality is marked as deprecated. It MAY be incremented if substantial new functionality or improvements are introduced within the private code. It MAY include patch level changes. Patch version MUST be reset to 0 when minor version is incremented.
It MAY include patch level changes into the code in this new version with Minor incremented. But only patch level changes could not lead us to a Minor increment. In the other hand, it is expressed in item-spec 6:
- Patch version Z (x.y.Z | x > 0) MUST be incremented if only backwards compatible bug fixes are introduced. A bug fix is defined as an internal change that fixes incorrect behavior.