Announcing Long Term Support (LTS) for the Cosmos SDK
What does LTS mean?
Long Term Support or LTS is a term used to describe a version that will receive extended support and maintenance for a longer period than typical releases. LTS versions are intended to provide stability and reliability for users who require a consistent and secure software environment over an extended timeframe. They offer a guarantee that critical updates and security patches will be available, ensuring that the software remains dependable and secure over its lifespan.
Why We Did Not Offer LTS Previously
Understanding why the Cosmos SDK maintenance team did not offer LTS versions in the past requires a look at the evolution of the Cosmos SDK. The Cosmos SDK, developed around 2016, was created during a time of rapid innovation and uncertainty in the trends of the broader blockchain ecosystem.
During 2021-2022, the industry began to mature, and the vision for the Cosmos SDK became clearer. The team started working towards a more modular, expandable, and performant software suite. However, achieving this vision required significant changes to the codebase, making it difficult to offer LTS versions while changes were ongoing. This is not to say that the original authors and maintainer of the Cosmos SDK did not share this vision.
Moving Forward with LTS
With the 2024 roadmap, we are nearing the final milestone to introduce an LTS version. The upcoming Olympus release (v0.52) marks a significant shift, where all modules except Auth have been removed from the main import, paving the way for a more modular Cosmos SDK.
Olympus
Olympus (v0.52) will be a LTS release. The Cosmos SDK maintainers are making the guarantee that this version will be supported for two years. This allows users to upgrade to 0.52 without worrying of new versions making this version obsolete.
V2
Olympus lays the groundwork for a new Cosmos SDK. In 2023 we set out how to simplify the software in order to meet a wider range of use cases. This has been the team’s focus for 2024 and we are actively working with teams on testing. This rewrites the core of the Cosmos SDK, simplifying the codebase and making it easier to understand and work with.
Previously, users often had to fork the codebase to customize it to their needs. With v2, this will no longer be necessary, as the codebase will be more flexible and user-friendly.
We envision v2 being a long term version, longer than our v0.52 LTS support. For this reason we aim to support v2 for 3 years past the release date. This allows people to freely upgrade without worrying about being made obsolete within months or a year.
LTS for Modules
The LTS version will first be introduced for the core components (store, client, baseapp, server, runtime) of the Cosmos SDK. While the core components will achieve LTS status with the v0.52 & v2 release in Q3 of 2024, the modules will follow a different process.
Each module will undergo changes to meet new simplified development standards, ensuring stability and ease of use for developers. These standards will follow the direction the rest of the software is taking. In our research of proving execution within the state machine we identified inefficiencies and would like to refactor and/or rewrite sections to take advantage of the new standards needed for proving and performance.
Conclusion
The introduction of LTS versions for the Cosmos SDK brings us closer to a more stable and reliable software environment, by addressing past challenges and focusing on a clear vision. CometBFT will also be rolling out an LTS version, and we hope to progress the entire stack to adopt LTS through 2024 and beyond.
As we roll out v0.52, v2, and gradually transition modules to LTS, we invite the community to engage with us, provide feedback, and contribute to the ongoing success of the Cosmos SDK.
Join the discussions on GitHub.