Jonas Helming, Maximilian Koegel and Philip Langer co-lead EclipseSource. They work as consultants and software engineers for building web-based and desktop-based tools. …
Eclipse Theia 1.53 Release: News and Noteworthy
September 9, 2024 | 6 min ReadWe are happy to announce the Eclipse Theia 1.53 release! The release contains 48 merged pull requests. In this article, we will highlight some selected improvements and provide an overview of the latest news around Theia.
For those new to Eclipse Theia, it is the next-generation platform for building IDEs and tools for the web or desktop, based on modern state-of-the-art web technologies. For more details, please refer to this article and visit the Theia website.
We are happy to announce that the Call for Presentations is now OPEN for the 2024 TheiaCon! TheiaCon is an annual virtual conference focused around the Eclipse Theia ecosystem. It brings together a diverse group of Theia developers, adopters, and other contributors. The program will feature a mix of full-length talks, expert panel discussions and short lightning talks featuring project contributor insights, adopter stories, and work being done in the broader ecosystem. TheiaCon is a virtual event on November 13th and 14th 2024. Submit your proposal today to be a speaker and get registered!
The Theia project also releases a product, the Theia IDE. The Eclipse Theia IDE is a modern and open IDE for cloud and desktop aimed at end users. The Theia IDE is based on the Theia platform. For more details, see the Theia IDE website.
Remember that the Theia IDE left its beta phase and is now generally available (already with release 1.51). Also, see the press release, the blog post and the section below about this.
If you are looking for a simple way to check out the new release, please download and install the Theia IDE, which is based on Theia 1.53.
Eclipse Theia 1.53: Selected features and improvements
In the following, we will highlight some selected improvements in the new release. As usual, we cannot mention all 48 improvements, however we will focus on the most notable changes as well as changes visible to end users. The corresponding pull requests are linked under the respective heading when applicable.
Support collaboration feature
The 1.53 release of Theia introduces highly anticipated support for open collaboration, seamlessly integrated into IDEs and tools based on Theia. This feature leverages the Open Collaboration Tools project, which allows developers to collaboratively edit and interact in real-time within Theia. The new functionality enables multiple users to work together on a single document, editors and arbitrary other views, with the ability to see each other’s cursor positions and edits, enhancing productivity and teamwork. It will be available in the Theia IDE, but adopters of Theia can integrate it into their own custom tools. The flexibility of the framework explicitly supports adding collaborative work support on custom UI elements such as diagram editors, terminals or forms.
In contrast to other solutions, Open Collaboration Tools have two governance advantages. First, they are fully open source, including the available clients, the protocol and the server implementation. Therefore, they allow full control, transparency and avoid any vendor lock-in. Second, as an adopter, you can easily host your own server infrastructure, keeping full control over your sensitive data, which might be shared among users.
The basic workflow for using this feature is straightforward (see screenshot below). After opening Theia, simply click on the share button located in the status bar. From there, you can start a new collaboration session, which will prompt you to log in—this is only to generate a username. A room code is then automatically copied to your clipboard. In another instance of Theia, click on the share button again, choose to connect to a session, and input the previously generated room code. This connects both instances, enabling real-time collaboration on the same document.
By default, Theia IDE connects to a public server hosted by the Open Collaboration Tools project, making it easy to try out this feature. This public server is available for open-source work, evaluation, and testing of the collaboration tools. However, companies looking to implement this technology are advised to deploy their own instances, which can be secured with their existing access control measures.
The integration of open collaboration within Theia simplifies the process of collaborative development, offering an open, real-time editing environment. For more information about the benefits of Open Collaboration Tools and how they can transform your development process, refer to this article. Please note that the public server’s usage is subject to its Terms of Use, and we encourage users to review these terms and engage with the community via the Discussions page for any questions.
Comparing files with custom editors
Theia 1.53 allows users to visually compare two versions of files not only for text files in the standard editor, but also with custom editors. The two versions will be opened in a side-by-side editor, as you are used to from the default text comparison. This feature is particularly useful for comparing changes in non-text files, such as images or any structured data. Therefore, the feature is also very useful for tool builders providing any sorts of custom and domain-specific editors. As you can see in the screenshot below, each version of the file opens in a separate custom editor within the side-by-side view, allowing to spot differences in in any type of content.
Support for window#registerURIhandler
Theia 1.53 implements the previously stubbed window.registerUriHandler API, enabling extensions to register URI handlers for custom schemes. This allows Theia applications to handle custom URIs, such as those with the theia:// scheme, within the application, facilitating integration with external services or resources. The feature is crucial for extensions that need to manage external URI handling, enhancing the application’s ability to interact with external content and services seamlessly. URI handlers are available via the VS Code extension API.
Dependency Upgrades
Maintaining up-to-date dependencies is essential for keeping Theia a secure, stable, and compatible platform and up-to-date with industry standards. With 1.53, Theia drops support for Node.js 16.x as it is no longer maintained, allowing Theia to adopt newer packages that are incompatible with Node 16. Similarly, we updated Electron to version 26, enhancing security and access to the latest features.
All these features and improvements (in total 48) were the result of one month of intensive development. Eclipse Theia follows a monthly release schedule. We are looking forward to the next release due next month, stay tuned! To be notified about future releases, follow Theia on Twitter and subscribe to our mailing list.
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. We are happy to announce that we provide a new Eclipse Theia online training that you can conduct anytime, anywhere. It provides you and your team with a jump start for the development of your own custom solutions based on Eclipse Theia extensions.
Furthermore, if you want to extend Theia with features such as the toolbar or the test framework, EclipseSource provides sponsored development for Theia, too. Finally, we provide consulting and support for hosting web-based tools in the cloud. Get in contact with us, to discuss your use case!