Skip to content

Latest commit

 

History

History
61 lines (50 loc) · 2.36 KB

File metadata and controls

61 lines (50 loc) · 2.36 KB

Changelog

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.

1.0.1 - 2025-01-08

Fixed

  • Fixed no_std build by adding proper alloc imports to all modules
  • Fixed error handling in no_std mode by conditionally compiling UnsignedVarintDecode error variant
  • Removed unused imports identified by clippy

Changed

  • Improved code quality with clippy pedantic lints
  • Enhanced code readability by adding numeric literal separators (e.g., 100_000 instead of 100000)
  • Improved documentation formatting with proper backticks for code items
  • Updated bool assertions from assert_eq!(val, true) to assert!(val) for better idiomatic code
  • Optimized loop patterns from indexing to iterators where applicable

Documentation

  • Enhanced documentation with better formatting
  • Added comprehensive error handling examples
  • Improved module-level documentation across all traits
  • Verified all documentation links work correctly

1.0.0 - 2025-01-06

Added

  • Initial stable release
  • Core encoding traits: EncodeInto, EncodeIntoBuffer, EncodeIntoArray
  • Core decoding trait: TryDecodeFrom
  • Null value traits: Null and TryNull
  • Validated newtype: EncodedBytes for type-safe varint-encoded byte sequences
  • Comprehensive error handling with Error enum
  • Full no_std support with alloc
  • Thread-safe implementations (Send + Sync)
  • Extensive test suite with 105 tests including:
    • Unit tests for all traits
    • Property-based tests with proptest
    • Security tests for malicious input handling
    • Concurrency tests for multi-threaded usage
    • Round-trip encoding/decoding tests

Performance

  • Zero-copy decoding with slice references
  • Zero-allocation buffer encoding
  • Stack-only encoding for embedded systems
  • Single-allocation encoding for heap operations
  • Optimized varint format for space efficiency

Documentation

  • Comprehensive module and trait documentation
  • Usage examples for all public APIs
  • Performance characteristics documentation
  • Thread safety guarantees documented
  • Security considerations documented