Skip to content

0.29.0

Choose a tag to compare

@oschwald oschwald released this 28 Jun 23:05
· 19 commits to greg/release since this release
Immutable release. Only release title and notes can be modified.
5c656d4
  • Breaking: Metadata::build_time() now returns
    Result<SystemTime, MaxMindDbError> instead of panicking on
    unrepresentable timestamps, and databases whose build_epoch cannot be
    represented as SystemTime are rejected as invalid during open and verify.
  • Breaking: Reader::metadata is now private. Use Reader::metadata() to
    access validated metadata by shared reference.
  • Breaking: Opening a database now rejects unsupported major format versions,
    unsupported IP versions, and zero-node search trees. Minor format versions
    are still accepted for forward compatibility.
  • Fixed: within() and networks() now handle IPv6 databases without an
    IPv4 subtree without reading terminal data nodes as tree nodes or
    panicking while formatting low IPv6 networks.
  • Fixed: Skipping ignored or unknown fields now enforces data-section
    bounds and the maximum nesting depth instead of accepting truncated
    values or overflowing the stack on deeply nested corrupt data.
  • Internal: Added focused benchmarks for network iteration and serde
    unknown-field skipping, plus metadata build-time conversion, to guard
    performance-sensitive fixes.
  • Documentation: Fixed intra-doc links so docs build with warnings denied,
    and added a CI check to keep them passing.