ruwuma/CHANGELOG.md
2020-04-17 12:28:58 +02:00

1.7 KiB

[unreleased]

Breaking changes:

  • All identifiers now allocate at maximum one string (localpart and host are no longer stored separately)
    • Because of this, these traits are now implemented for them and only allocate in the obvious case:
      • impl From<…Id> for String
      • impl AsRef<str> for …Id
      • impl TryFrom<Cow<'_, str>> for …Id
      • impl TryFrom<String> for …Id
      • PartialEq for Strings and string slices
    • Additionally, the Hash implementations will now yield the same hashes as hashing the string representation
      • Note that hashes are generally only guaranteed consistent in the lifetime of the program though, so do not persist them!
    • The hostname methods have been rename to server_name and updated to return string slices instead of &url::Host
  • Error::InvalidHost has been renamed to Error::InvalidServerName, because it also covers errors in the port, not just the host part section of the server name

Improvements:

  • Add support for historical uppercase MXIDs

0.14.1

Breaking changes:

  • Our Minimum Supported Rust Version is now 1.36.0
    • This is done in a patch version because it is only a documentation change. Practially, a new project using even ruma-identifiers 0.14 won't build out of the box on older versions of Rust because of an MSRV bump in a minor release of an indirect dependency. Using ruma-identifiers with older versions of Rust will potentially continue to work with some crates pinned to older versions, but won't be tested in CI.

Improvements: