The developers of the Thunderbird email client have announced the start of integrating components written in Rust into the codebase. The next significant release of Thunderbird, expected in July this year, will include code implementing the Microsoft Exchange Web Services (EWS) email protocol, developed in Rust. Support for accessing the Microsoft Exchange calendar and address book will be added later. This built-in implementation will eliminate the need for third-party add-ons, which have been the means of supporting Microsoft Exchange so far.
It is noted that using Rust for implementing the planned functionality will reduce the likelihood of memory errors, improve performance compared to the JavaScript add-on, and seamlessly fit into the existing ecosystem that is developing email-related modules in Rust. The integration of development tools in the new language is facilitated by the fact that Rust is already used in Firefox, allowing Thunderbird to leverage the existing infrastructure for testing and continuous integration, as well as the XPCOM (Cross-Platform Component Object Model) wrappers for interaction between Rust components and code in C++ and JavaScript.
Among the drawbacks of integrating Rust support, there are concerns about the increased codebase size, the need to create missing bindings, and adaptations required for some asynchronous handlers that are incompatible with the asynchronous operations model in Rust.
Other features planned for inclusion in the July ESR release of Thunderbird include:
- Support for syncing settings between systems via a link to a Mozilla Account.
- Transition to a new global message storage base that allows for alternative ways of displaying correspondence.
- Further development of the vertical message list layout mode (Card View), styled to resemble mobile interfaces where items are displayed as 'flat' cards.
- Full support for a dark mode, applicable to messages and images.
- New features for the folder pane.
- Creation of an Account Hub, a single point for configuring all accounts.
- Integration of the built-in translation engine Firefox Translate.
Source: opennet.ru
