Many users in the YugabyteDB community simply love the velocity with which new and exciting features are introduced through frequent releases. However, as more and more business-critical applications start depending on YugabyteDB as the system of record database, there is an increasing need for enterprises to operate existing versions in production longer and avoid adopting fast-moving releases which can go through radical design changes. It’s clear we have different groups of users, each with important needs: those who need to go into production now with the generally available features, and those who need access to the latest and greatest features now with plans to go to production in the future.
To address the needs of all our users, we decided to adopt a new versioning system that is not only flexible but also has a rigorous and predictable schedule. Starting now, Yugabyte uses a new release versioning convention, separating out stable and latest releases.
Stable releases are production level releases suitable for widespread enterprise deployment. Releases within stable release series, denoted by MAJOR.EVEN versioning (such as 2.2, 2.4, …), introduce thoroughly tested new features and changes added since the last stable release. The stable release contains tested and hardened features suitable for production environments and receives long term commercial support.
Latest releases are development releases and incrementally and regularly introduce new features and changes that are suitable for development, testing, and proofs-of-concept. Releases within the latest release series, denoted by MAJOR.ODD versioning (such as 2.3, 2.5, …), incrementally introduce new features and changes that are intended for development and testing. The 2.3 latest release series will become the basis for the next 2.4 stable release series after a certain period of testing and validation. And the next latest release series available will then be 2.5.
New Release Versioning Explained
Let us quickly take a look at how the new version numbers work with our upcoming release schedule (subject to change).
- Releases that are odd-numbered (Latest) under active development receive new features every two weeks (or so) with the new patch releases.
- Releases that are odd-number versions do not receive long-term support. Use odd-number releases for development, testing, and proofs-of-concept.
- Odd-number releases become the basis for the next stable release after a couple of months of hardening and thorough testing.
- Releases that are even-number versions (Stable) are the only ones that receive long-term support and contain tested features suitable for a production environment.
When downloading YugabyteDB, you can select the latest or stable version as shown below.
So the aim here in this post was to explain the new release lifecycle and how release versioning works in both YugabyteDB and YugabyteDB Anywhere going forward. This versioning makes it much easier to ensure that Yugabyte continues to bring new features to the market at a rapid pace, while also communicating to our users about stable releases, our maintenance policy, and when it is time to upgrade.