In this article, we will introduce the Eclipse Theia Community Release. Theia follows a monthly release cycle and will continue to do so. In addition, Theia will declare every third release as a “community release” with additional focus on stability and compatibility. The goal is to ease the adoption of Theia as a platform for adopters with a lower update cadence. If you are adopting Theia or if you are developing a technology integrating with Theia, please check out the details described in this article!
Eclipse Theia is a very active open source project with lots of contributions and improvements every single month. To drive innovation and allow adopters to benefit from recent developments, Theia follows a monthly release cycle. This is especially great for adopters that also contribute as they can consume their fixes and enhancements in less than a month.
However, there are also challenges with such a fast release cycle. In the context of Theia, this is especially true for two groups: First, adopters that already have a released product based on Theia, and second, technologies and frameworks that integrate with Eclipse Theia, e.g. Eclipse GLSP.
Projects that build tools or IDEs based on Theia have to make a choice which new Theia version they adopt. During active development, many projects decide to upgrade to the new Theia version on a monthly basis or even on a daily basis. This follows the pattern of “early integration” as well as “latest and greatest”. However, by the time a tool based on Theia is released and deployed to end users, a monthly update might not be the best choice anymore. Before a tool is shipped to end users, there is typically an additional test cycle which requires effort. Doing this every month might cause an unproportional overhead if there are no critical improvements to ship. Consequently, these projects often decide to adopt new Theia versions on a lower frequency. While this was always possible, the Theia projects want to explicitly support this use case by introducing dedicated community releases as a recommended choice for slower update cycles.
For the second affected group, technologies and frameworks integrating with Theia, the monthly release cycle has a very similar challenge. Testing the compatibility of a technology with Theia on a monthly basis might introduce additional overhead. Again, the Theia community release is created to address this potential issue.
So what exactly is the Eclipse theia community release?
The Eclipse Theia Community Release
Every quarter, Eclipse Theia will provide a community release in addition to the monthly releases. The community release has the following special features:
- Release Candidate: For every community release, a release candidate will be published one month before the release date. This allows adopters and integrating technologies to test and report/fix potential issues ahead of the actual community release.
- Maintenance Branch: For every published community release, there is a maintenance branch. This allows adopters to contribute hot-fixes for additional maintenance releases based on a previous community release, e.g. in the case of security fixes. Please note that this is not the same as a “long term support” release. The Theia developer team will still focus on the monthly release cycle rather than supporting old versions.
- Compatibility of external technologies: Technologies and frameworks that integrate with Eclipse Theia can choose to ensure compatibility with community releases. They can specify a version of their project that is compatible with a specific Theia community release. This makes it easier for adopting projects to select a combination of versions when adopting these projects. Needless to say, though, testing compatibility and contributing a respective version number is the responsibility of the project integrating with Eclipse Theia.
The first Theia community release will be published in September 2022. The release candidate will be available August 25th, the final release on September 29 (also see the Theia release website).
If you adopt Theia in your project, take the opportunity to validate your project against the release candidate and provide feedback. If you develop a technology integrating with Eclipse Theia, please consider joining the community release. In this case:
- Add your technology to the Theia community release website.
- Select a version of your technology, test it against the release candidate and add this version to the release website.
We are looking forward to your feedback on the new community release at Theia. Please provide feedback, new ideas and any issues, preferable using the existing thread in our improvements section.
If you are interested in building custom tools or IDEs based on Eclipse Theia, EclipseSource provides consulting and implementation services for Eclipse Theia as well as for web-based tools in general. Furthermore, if you want to extend Theia, improve your adoption process or adapt a specific community release, EclipseSource provides sponsored development for Theia, too. Get in contact with us, to discuss your use case!