0.0.9
Summary
Added comprehensive MessagePack timestamp extension type (-1) support and significantly expanded test coverage for the zig-msgpack library.
Key Features
π Timestamp Extension Support
- Support for all three MessagePack timestamp formats per specification:
- 32-bit timestamp: Seconds-only for 32-bit unsigned integers
- 64-bit timestamp: Nanosecond precision with 34-bit second range
- 96-bit timestamp: Full range with signed 64-bit seconds + 32-bit nanoseconds
- Automatic optimal format selection based on value ranges
- Seamless integration with existing serialization/deserialization logic
π§ͺ Comprehensive Testing Enhancement
- Boundary testing for all MessagePack formats (array32, map32, str16/32, bin16/32, ext8/16/32)
- Edge case coverage (NaN/infinity floats, int64/uint64 boundaries, error conditions)
- Format marker verification and Unicode string support
- Memory management validation and timestamp-specific tests
π Documentation Improvements
- Updated README.md with timestamp usage examples and API documentation
- Added Chinese translation (README_CN.md)
- Enhanced usage examples and error handling documentation
Technical Implementation
- Strict adherence to MessagePack timestamp specification (extension type ID -1)
- Nanosecond precision validation (0-999,999,999)
- Full Unix timestamp range support including pre-1970 negative values
- Maintains backward compatibility
Breaking Changes
None. Fully backward-compatible additive functionality.
Performance Impact
Minimal. Negligible timestamp support overhead with optimal storage efficiency through automatic format selection.