This Week in Ruma
› published on byFrom the editor
Work is underway to bring Ruma up to date with version r0.5.0 of the Matrix specification. Starting with the most foundational libraries and working up towards the higher-level ruma-client, this work should be done in the next week or two. The bulk of the work since the last update has been on ruma-events, adding all of the events that were previously missing, and doing a full pass through existing events to make sure our definitions match the specification.
In addition, community members Florian and Luca identified an issue regarding the use of Rust's u64
and i64
for numeric values and potential interoperability problems with JavaScript.
After some discussion, Ruma team member jplatte created a new crate called js_int to address this.
It has already been integrated with ruma-client-api and ruma-events, and will be used for all integer values in Ruma from now on.
Notable changes to ruma-api
- Released version 0.8.0.
- Simplified the
Error
type. - Updated to the latest ruma-identifiers (0.13).
- Simplified the
Notable changes to ruma-api-macros
- Released version 0.5.0
- Generated documentation now includes the names and descriptions of API endpoints.
- Updated to the latest ruma-api (0.5).
Notable changes to ruma-client-api
- Integrated the new js_int crate to ensure numeric types conform to the requirements stated in the specification.
Notable changes to ruma-events
- Added new events and updated existing events to cover everything in version r0.5.0 of the client-server specification. Notably, this includes events for end-to-end encryption and push notifications.
- Integrated the new js_int crate to ensure numeric types conform to the requirements stated in the specification.
Notable changes to ruma-identifiers
- Released version 0.13.0
EventId::hostname
andEventId::port
now returnOption
because they are only applicable for the original event ID format.- All methods named
opaque_id
are now namedlocalpart
. EventId
now supports multiple formats according to the different room versions.RoomVersionId
was added.DeviceId
and a function for generating aDeviceId
were added.
- Released version 0.13.1
- Added support for room version 5 with
RoomVersionId::version_5
andRoomVersionId::is_version_5
.
- Added support for room version 5 with
Matrix at large
In the last post I mentioned that Matrix 1.0 was coming soon, and it has now happened! A hearty congratulations to everyone who works on Matrix! This is a huge milestone. You can read the details about Matrix 1.0, as well as the new Matrix.org Foundation, over on the Matrix blog: Introducing Matrix 1.0 and the Matrix.org Foundation.