-
Notifications
You must be signed in to change notification settings - Fork 0
Versioning
We follow the Semantic Versioning (SemVer) convention for managing the versions of our repositories, SerialCommands.NET and IoliteCoding_SerialCommands. This section explains how we handle versioning across these repositories to maintain compatibility and provide clarity on updates.
The version number is structured as MAJOR.MINOR.PATCH, where:
-
MAJOR (X): Increments indicate breaking changes or significant updates that may not be backward compatible. Both repositories are updated simultaneously to ensure they remain compatible.
-
MINOR (Y): Increments indicate the addition of new features that are backward compatible. These features may span both repositories, and their version numbers are updated in tandem.
-
PATCH (Z): Increments are used for small bug fixes or minor updates that do not affect compatibility. Each repository may have independent patch versions, as bug fixes can occur at different times for each repository.
Both SerialCommands.NET and IoliteCoding_SerialCommands are developed to work closely together. As such, we maintain the same major and minor version numbers across both repositories. This ensures that users can expect the same level of functionality and compatibility when using corresponding versions of the packages.
-
Major Version Alignment: Whenever a major version change occurs (e.g., 1.x.x to 2.x.x), it signifies breaking changes. Both repositories will update their major version numbers to reflect these changes, ensuring compatibility.
-
Minor Version Alignment: When a new feature is added that is backward compatible (e.g., 1.1.x to 1.2.x), both repositories receive the same minor version increment.
-
Independent Patch Versions: While major and minor versions are kept in sync, patch versions (e.g., 1.2.1 vs. 1.2.2) may differ. These are used to address specific bug fixes or minor updates in each repository.
For example, consider the following scenario:
- Version 1.0.0: Initial release with core functionalities in both repositories.
- Version 1.1.0: A new feature is introduced, expanding functionality. Both repositories are updated to 1.1.0.
- Version 1.1.1: A bug is fixed in SerialCommands.NET. The version becomes 1.1.1, while IoliteCoding_SerialCommands remains at 1.1.0.
- Version 1.1.2: A bug fix in IoliteCoding_SerialCommands brings its version to 1.1.2, while SerialCommands.NET remains at 1.1.1.
- Version 2.0.0: Significant changes introduce breaking changes. Both repositories update to 2.0.0 to indicate these changes.
As long as the major and minor versions of both repositories match, they are compatible. This alignment ensures that features and functionalities work seamlessly together.
By adhering to this versioning scheme, we aim to provide a clear and consistent approach to managing updates, ensuring that users can reliably integrate both repositories into their projects. We encourage users to always refer to the version numbers when reporting issues or seeking support.