-
-
Notifications
You must be signed in to change notification settings - Fork 2
Changelog
Taiizor edited this page Jan 8, 2025
·
11 revisions
All notable changes to the UUID library will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Full MessagePack serialization support via UUID.Serialization.MessagePack package
- Custom UUIDFormatter for efficient binary serialization
- Thread-safe MessagePack resolver implementation
- Comprehensive error handling for MessagePack operations
- Binary format validation with detailed error messages
- Zero-allocation deserialization path optimization
- Support for complex object serialization with MessagePack
- Efficient handling of UUID collections and dictionaries
- Updated MessagePack package dependency to version 3.1.1
- Optimized binary format representation for UUIDs
- Enhanced thread safety in serialization operations
- Implemented efficient binary serialization
- Minimized memory allocations in serialization paths
- Optimized byte array handling for better performance
- Reduced data size with compact binary representation
- Added
UUID.Empty
property for null-object pattern support - Added
SecureEquals
methods for timing-attack resistant comparisons - Added
GenerateOrdered
methods for bulk UUID creation - Added
FillParallel
methods for efficient array operations
- Implemented constant-time comparison methods
- Enhanced protection against timing attacks
- Added secure ordered generation capabilities
- Optimized parallel UUID array generation
- Added configurable threshold for parallel operations
- Improved bulk generation efficiency
- Enhanced array operations with timestamp support
- Improved thread safety in parallel operations
- Replaced PRNG with true cryptographic random generation
- Implemented direct use of RandomNumberGenerator for all UUID components
- Enhanced thread isolation with thread-local buffers
- Maintained full cryptographic security throughout the generation process
- Implemented efficient batched random generation system
- Reduced cryptographic operation calls by 128x through buffer reuse
- Optimized thread-local buffer management
- Minimized memory allocations with 1024-byte buffer strategy
- Improved random number generation architecture
- Enhanced thread-safety implementation
- Updated buffer management system
- Optimized variant bit handling
- Updated documentation for
NewCompact()
andNewCompactWithTime()
methods- New methods for generating UUIDs with 12 characters
- Added probabilistic uniqueness warnings
- Detailed usage scenarios
- Specified limitations and recommendations
- Optimized bit manipulation operations
- Improved memory usage efficiency
- Enhanced thread synchronization mechanisms
- Reduced memory allocations in critical paths
- Enhanced random value generation security
- Improved thread-safety implementations
- Added additional input validation checks
- Enhanced error handling for edge cases
- Added detailed usage examples for Compact UUID methods
- Added explanations about uniqueness guarantees and limitations
- Updated performance recommendations
- Improved code organization and readability
- Enhanced XML documentation coverage
- Made error messages more descriptive
- Updated API reference documentation
- Added serialization support through two new packages:
-
UUID.Serialization.System
for System.Text.Json -
UUID.Serialization.Newtonsoft
for Newtonsoft.Json
-
- Added comprehensive serialization documentation
- Added benchmark projects for serialization performance testing
- Added serialization examples in wiki and documentation
- Updated project structure to include serialization packages
- Enhanced documentation with serialization guidelines
- Initial release of UUID library
- Basic UUID generation functionality
- Thread-safe operations
- Guid compatibility
- String format support (Hex, Base32, Base64)
- Comprehensive unit tests
- Performance benchmarks
- Enhanced documentation with detailed examples
- Improved thread safety documentation
- Added performance benchmarking guidelines
- Minimum .NET SDK requirement set to 9.0
- Development environment requirements updated
- Updated wiki documentation to English
- Improved code examples in documentation
- Enhanced API reference documentation
- Documentation formatting and consistency
- Code sample syntax highlighting
- Wiki page cross-references
- Cryptographically secure random number generation
- Thread-safe implementation
- Secure string parsing
- Projects require .NET SDK 9.0 or newer
- Visual Studio 2022 or newer required for development
Currently, there are no deprecated features or APIs.
- Additional string format support
- Enhanced performance optimizations
- Extended platform support
- Additional utility methods
If you encounter any issues or have suggestions:
- Check the existing issues
- Create a new issue with detailed information
- Follow the issue template guidelines
- Check our FAQ section
- Visit Debugging and Diagnostics
- Review Performance guidelines
- Join our Discord community
- Ask on Stack Overflow
- Report issues on GitHub