Semantic versioning
We follow a modified semantic versioning scheme in the format X.Y.Z [-designation], where:
Breaking changes
Breaking changes are part of the natural evolution of the platform. They happen when an update alters or removes behavior in a way that is not fully compatible with previous versions. To keep this process predictable, we follow strict rules and communicate early, allowing your teams to prepare with confidence.
- Breaking changes are introduced only in a major version.
- They are announced in advance, always with clear migration guides and practical examples.
- Deprecated features emit warnings before removal, giving teams time to adjust without sudden impact.
- We aim to minimize disruption by grouping breaking changes together and providing alternative solutions whenever possible.
Examples
- Field replacement: The free-text
routefield in transaction payloads was superseded byrouteId(UUID);routeremains accepted for backward compatibility but no longer drives validation. - Validation rules: The
ACCOUNT_TYPE_VALIDATIONandTRANSACTION_ROUTE_VALIDATIONenvironment variables were replaced by the Ledger Settings API, which controls accounting validation per ledger without redeployment. - Deprecation cycle: The
scalefield was removed from transaction amounts in v3, when amount handling moved to a numeric system.
Pre-release designations
We use the following pre-release designations when applicable:
Examples
Potential releases- 1.0.0 → Initial stable release
- 1.0.1 → Patch with bug fixes
- 1.1.0-alpha.1 → Alpha for next minor
- 1.1.0-beta.1 → Beta for next minor
- 1.1.0-rc.1 → Release candidate
- 1.1.0 → Stable minor release
- 1.2.0 → Next minor release
- 2.0.0 → New major version

