Release Notes
SDK Versioning Lifecycle
Our software uses semantic versioning (major.minor.patch
) with additional labels to communicate the stability and readiness of each release clearly. Below are definitions and guidelines to help you understand and select appropriate releases for your use case.
Semantic Versioning
Semantic Versioning (semver) is a versioning convention structured as major.minor.patch
.
- Major: Incompatible API changes and removal of deprecated APIs.
- Minor: New features, bug fixes, performance improvements.
- Patch: Bug fixes & performance improvements. Feature improvements may be included in some circumstances.
Release Labels
Release Type | Example | API Stability |
---|---|---|
Experimental Feature | 4.10.0-experimental-hot-restart.0 | Highly Unstable |
Preview | 4.10.0-preview.1 | Unstable |
Release Candidate (RC) | 4.10.0-rc.3 | Stable |
Generally Available | 4.10.0 | Stable |
Release Candidates (RC)
Release candidates have completed initial development and API definition. They are currently undergoing rigorous QA testing and review. While RCs are stable in terms of API, they have not yet received full QA approval.
- If no critical issues are found, an RC will become the official release.
- Only use RCs in production after careful consideration and testing.
- RCs will only be supported in production when sanctioned by a Ditto support engineer.
Preview Releases
Do not use
preview
releases in production.Experimental Feature Releases
Do not use
experimental
releases in production.Synchronization Compatibility
Synchronization will remain backward-compatible with the previous major version. This means a previous major version can reliably synchronize with the next newest major version.
- Local Mesh: A v4 SDK can successfully synchronize data with either v5 SDK or v3 SDK, but not both simultaneously on the same local mesh. This is because v3 and v5 are more than one version apart.
- Upgrading: Before you deploy the next major version of the SDK (e.g. v5), ensure all devices have been updated to the latest previous major (e.g. v4).
- Big Peer: v4.0 and higher are supported.
Client Version | Compatible with |
---|---|
v4.x.x | v3.x.x or v5.x.x |
v5.x.x | v4.x.x |