1.7 KiB
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
forString
s 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 toserver_name
and updated to return string slices instead of&url::Host
- Because of this, these traits are now implemented for them and only allocate in the obvious
case:
Error::InvalidHost
has been renamed toError::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:
- Remove the dependency on
lazy_static
andregex
- We now support historical user IDs