Starting with Synse v3, all Synse compatible Synse components will share the same major version number.
With the v3 release of Synse, previous versions of Synse will no longer be supported.
Synse components use semantic versioning for their releases. Releases are driven by a CI workflow that is kicked off from a GitHub tag. See the releases page on a project's GitHub repository for release notes and any build artifacts for that component.
A major release will include breaking changes. When a new major release
is cut, it will be versioned as
X.0.0. For example, if the previous
release version was
1.4.2, the next version would be
Breaking changes are changes which break backwards compatibility with previous versions. Typically, this would mean major changes to the API, the request scheme, or the response scheme. A new major release should only be done if there are breaking API changes; it should not occur for standard bug fixes, feature additions, dependency updates, etc.
Because the Synse ecosystem has many components, a general rule is that all components with the same major version should be compatible. That is to say a plugin using SDK version 3.2.5 should be compatible with Synse Server 3.1.1, however it will not be compatible with Synse Server 2.1.2.
A minor release will not include breaking changes to the API or scheme, but may
otherwise include additions, updates, or bug fixes. If the previous release
1.4.2, the next minor release would be
Minor version releases are backwards compatible with releases of the same major version number, and should strive to be backwards compatible with releases of lesser minor version.
A micro release will not include any breaking changes and will typically only
include minor changes, bug fixes, dependency updates, etc. If the previous release
1.4.2, the next micro release would be