From the editor
This week I want to take a moment to talk about something personal. My best friend, Tamara Boyens, passed away last Friday, January 6, after more than a year of suffering from a spine injury and various related issues. It's been incredibly heartbreaking for everyone who loved her. She was a friendly, lively person, and was genuinely interested in any topic you would talk to her about. She and I talked online a lot—many hours every day, year after year. This was especially true after we both moved away from the city where we met. Because chatting online was the way we talked the most, we were always looking for a better chat system than what was available to us, and this was a large part of my initial motivation to get involved with Matrix and build Ruma. I have dedicated Ruma to her memory. I hope, once it reaches production quality, that it will help many people to strengthen their relationships and get the use out of it that Tamara and I no longer can.
And now, on with the project updates.
Notable changes to ruma
- Fixed intermittent deadlocks in the test suite.
- All users in trusted private chats now have equal privileges.
- Improved some error handling and factored out some duplicated logic.
- Replaced some string fields with appropriate ruma-identifiers types.
Notable changes to ruma-events
- Published version 0.3.0 to crates.io.
- Added missing trait implementations for
Notable changes to ruma-client
- Began spiking out the API for this high-level Matrix client library.
Notable changes to ruma-client-api
- The "supported versions" API endpoint has been moved into an
- Converted path parameters in docs from colon-snake-case to brace-lower-camel-case
- Updated to ruma-api 0.3.0.
Notable changes to ruma-api
- Published versions 0.2.0 and 0.3.0 to crates.io.
- Added a
Deserialize + Serializeconstraint to
Endpoint::QueryParams, for use with the serde_urlencoded crate.
Endpoint::router_path's return type changed from
- Added new required methods to
Call for participation
Interested in getting involved with Ruma? Here are some good places to start:
- [feature] Add an option to the CLI to supply the path to the config file
- [feature] Sending a m.room.member event again after changing avatar or displayname
Previously featured and still available:
- [feature] Add missing documentation
- [discussion] Bikeshed: Module names
- [discussion] Implementing Event storage/search with a timeseries database or a lucene indexed database
- [feature] Implement a rate-limiting middleware
There are also plenty of API endpoints that still need to be implemented. Check the status document for a list.