exadra37-versioning / explicit-versioning

A specification for Software Releases that care about intentional breaking changes being explicit announced in the versioning schema.
GNU General Public License v3.0
22 stars 5 forks source link
explicit-versioning isolation schema semantic semantic-versioning semver version version-changer version-check version-control version-locked version-manager version-parser versioned versioning versions

Explicit Versioning

To know why another Software Versioning Schema exists as an alternative to SemVer please read here.

Explicit Versioning is a specification for developers that care about releasing software and explicit announce intended breaking changes, by using an extra required identifier to handle Incompatible changes that are intentional.

Specification Schema

Explicit Versioning specification will use a schema composed of 4 identifiers, that are represented like:

Required Identifiers

Creating a Tag, by incremented any of the 4 required identifiers, represents a new Software Release.

Given 1.0.0.0 as the first version for a Production Release:

NOTE:

The usage of v preceding the schema, like v1.0.0.0 is not recommend, but is acceptable.

Optional Identifiers

Each team of Developers and Organization may have specific needs in their Software release process that they can address with the Optional Identifiers.

Recommended:

MAY be used to:

MUST NOT be used to:

NOTE:

When creating a tag a message can be added, therefore don't use an Optional Identifier for something that is more appropriated to be told in the message.

Conclusion

Basically Explicit Versioning main differential factors to SemVer versioning schema are: