Skip to content

@jimmycuadra jimmycuadra released this Jul 23, 2019 · 4 commits to master since this release

Breaking changes:

  • Events and their content types no longer implement Deserialize and instead implement FromStr and TryFrom<&str>, which take a &str of JSON data and return a new InvalidEvent type on error.
  • Integers are now represented using the Int and UInt types from the js_int crate to ensure they are within the JavaScript-interoperable range mandated by the Matrix specification.
  • Some event types have new fields or new default values for previous fields to bring them up to date with version r0.5.0 of the client-server specification.
  • Some event types no longer have public fields and instead use a constructor function to perform validations not represented by the type system.
  • All enums now include a "nonexhaustive" variant to prevent exhaustive pattern matching. This will change to use the #[nonexhaustive] attribute when it is stabilized.
  • ParseError has been renamed FromStrError.

New features:

  • This release brings ruma-events completely up to date with version r0.5.0 of the client-server specification. All previously supported events have been updated as necessary and the following events have newly added support:
    • m.dummy
    • m.forwarded_room_key
    • m.fully_read
    • m.ignored_user_list
    • m.key.verification.accept
    • m.key.verification.cancel
    • m.key.verification.key
    • m.key.verification.mac
    • m.key.verification.request
    • m.key.verification.start
    • m.push_rules
    • m.key.encrypted
    • m.key.encryption
    • m.key.server_acl
    • m.key.tombstone
    • m.room_key
    • m.room_key_request
    • m.sticker


  • Improved documentation for the crate and for many types.
  • Added many new tests.
  • rustfmt and clippy are now used to ensure consistent formatting and improved code quality.
Assets 2
You can’t perform that action at this time.