Skip to content

Changelog

Taiizor edited this page Jan 8, 2025 · 11 revisions

📝 Changelog

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.

[1.1.0] - 2025-01-08

Added

  • 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

Changed

  • Updated MessagePack package dependency to version 3.1.1
  • Optimized binary format representation for UUIDs
  • Enhanced thread safety in serialization operations

Performance

  • Implemented efficient binary serialization
  • Minimized memory allocations in serialization paths
  • Optimized byte array handling for better performance
  • Reduced data size with compact binary representation

[1.0.9] - 2025-01-07

Added

  • 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

Security

  • Implemented constant-time comparison methods
  • Enhanced protection against timing attacks
  • Added secure ordered generation capabilities

Performance

  • Optimized parallel UUID array generation
  • Added configurable threshold for parallel operations
  • Improved bulk generation efficiency

Changed

  • Enhanced array operations with timestamp support
  • Improved thread safety in parallel operations

[1.0.8] - 2025-01-04

Security

  • 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

Performance

  • 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

Changed

  • Improved random number generation architecture
  • Enhanced thread-safety implementation
  • Updated buffer management system
  • Optimized variant bit handling

[1.0.7] - 2024-12-23

Changed

  • Updated documentation for NewCompact() and NewCompactWithTime() methods
    • New methods for generating UUIDs with 12 characters
    • Added probabilistic uniqueness warnings
    • Detailed usage scenarios
    • Specified limitations and recommendations

Performance

  • Optimized bit manipulation operations
  • Improved memory usage efficiency
  • Enhanced thread synchronization mechanisms
  • Reduced memory allocations in critical paths

Security

  • Enhanced random value generation security
  • Improved thread-safety implementations
  • Added additional input validation checks
  • Enhanced error handling for edge cases

Documentation

  • 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

[1.0.5] - 2024-12-18

Added

  • 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

Changed

  • Updated project structure to include serialization packages
  • Enhanced documentation with serialization guidelines

[1.0.2] - 2024-12-18

Added

  • 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

Changed

  • 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

Fixed

  • Documentation formatting and consistency
  • Code sample syntax highlighting
  • Wiki page cross-references

Security

  • Cryptographically secure random number generation
  • Thread-safe implementation
  • Secure string parsing

Breaking Changes

Version 1.0.2

  • Projects require .NET SDK 9.0 or newer
  • Visual Studio 2022 or newer required for development

Deprecation Notices

Currently, there are no deprecated features or APIs.

Future Plans

  • Additional string format support
  • Enhanced performance optimizations
  • Extended platform support
  • Additional utility methods

Reporting Issues

If you encounter any issues or have suggestions:

  1. Check the existing issues
  2. Create a new issue with detailed information
  3. Follow the issue template guidelines