# [unreleased] # 0.15.1 Bug fixes: * Fix docs.rs build # 0.15.0 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 for …Id` * `impl TryFrom> for …Id` * `impl TryFrom for …Id` * `PartialEq` for `String`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 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 * The random identifier generation functions (`Id::new`) are now only available if the `rand` feature of this crate is enabled Improvements: * Add support for historical uppercase MXIDs * Made all dependencies optional * `serde` is the only one that is enabled by default * The `user_id` module is now public and contains `fn localpart_is_fully_conforming` * This function can be used to determine whether a user name (the localpart of a user ID) is valid without actually constructing a full user ID first * Add `UserId::parse_with_server_name` # 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` and `regex` * We now support [historical user IDs](https://matrix.org/docs/spec/appendices#historical-user-ids)