All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
to_raw_string()method to convert to the raw identifier string - Added
to_identifier()method to convert to the underlying identifier type - Added
uuid_error(),ulid_error(), anderror_message()methods toIdentifierErrorfor accessing underlying errors - Added
AsRef<str>andFrom<T> for Stringimplementations forEntityIdError - Enhanced error handling with more descriptive error messages and better access to underlying errors
- Added
from_raw_strmethod to parse raw identifier strings (without prefix) - Added
parse_raw_strmethod with custom error handling for more flexible parsing
- Fixed Clippy warnings in the identifier caching implementation
- Improved performance by using the HashMap entry API
- Added more flexible string handling with
AsRef<str>for string parameters - Added standard Rust traits:
TryFrom,FromStr,Borrow<str>, andAsRef<str> - Added convenience methods:
with_uuid,new_v4,new_v5,with_ulid,with_timestamp, andmonotonic_from - Added builder pattern with
EntityIdBuilderfor more flexible creation of entity IDs - Added thread-safe caching for string representations in
Identifiertypes - Added
id_str()method to get the raw identifier string without prefix
- Improved API consistency with
with_prefix for builder methods - Updated documentation with examples of the new flexible API
- Updated the derive macro attribute format to use a single
#[entid(...)]attribute - Removed separate
#[prefix]and#[delimiter]attributes - Updated examples and documentation to reflect the new attribute format
- Fixed compatibility with the latest version of the
syncrate
- Added derive macro for implementing the
Prefixtrait - Added
derivefeature to enable the derive macro - Added examples for using the derive macro
- Added namespaced attribute
#[entid(...)]to avoid collisions with other crates
- Updated documentation to include information about the derive macro
- Improved error messages for the derive macro
- Initial release
- Support for UUID and ULID identifiers
- Type-safe entity IDs with prefixes
- Serde compatibility
- Comprehensive error handling