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 TypeExampleAPI Stability
Experimental Feature4.10.0-experimental-hot-restart.0Highly Unstable
Preview4.10.0-preview.1Unstable
Release Candidate (RC)4.10.0-rc.3Stable
Generally Available4.10.0Stable

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.
Preview releases offer early access to features and improvements that are approaching maturity but still undergoing development. These releases are intended for gathering user feedback and testing integration with existing workflows. API may change based on feedback and ongoing development.

Experimental Feature Releases

Do not use experimental releases in production.
Experimental feature releases introduce innovative or experimental functionality that is still in early stages of development. These features are exploratory and intended for early-stage feedback. They are highly unstable and likely to undergo significant changes or possibly removal based on evaluation.

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 VersionCompatible with
v4.x.xv3.x.x or v5.x.x
v5.x.xv4.x.x

Was this page helpful?