Versioning
Overview
A clear and comprehensive versioning strategy is the only way to maintain any sense of order in a standards-based project. The canonical version used to describe the Rosetta APIs comes from the specifications repository releases. The current version number in which we publish this documentation matches the current version number of the rosetta-specifications. If you are using older versions, you can access older versions of our documentation by clicking the version number displayed at the top of the screen.
We recommend that your implementation of Rosetta APIs use independent versioning. However, the implementation must explicitly state for which Rosetta API version(s) it maintains compatibility. We recommend the same for SDK versioning. Check out these repositories for examples of how we built codegen toolchains for Golang:
A Note About New SDKs
If you choose to implement the Rosetta APIs in a language that does not yet have a supported SDK, we recommend creating a separate project for generating code from the specifications, instead of embedding code generation into your implementation. This will make managing specification updates and versioning much easier.