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 toIdentifierError
for accessing underlying errors - Added
AsRef<str>
andFrom<T> for String
implementations forEntityIdError
- Enhanced error handling with more descriptive error messages and better access to underlying errors
- Added
from_raw_str
method to parse raw identifier strings (without prefix) - Added
parse_raw_str
method 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
EntityIdBuilder
for more flexible creation of entity IDs - Added thread-safe caching for string representations in
Identifier
types - 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
syn
crate
- Added derive macro for implementing the
Prefix
trait - Added
derive
feature 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