Skip to content

0.16.0

Choose a tag to compare

@dnsl48 dnsl48 released this 09 Aug 05:26
· 7 commits to master since this release
0.16.0
d24249d

[0.16.0] - 2026-08-09

Changed

  • Replaced optional lazy_static usage with std::sync::OnceLock and num-bigint constants for approximation accuracy multipliers (special thanks to Expyron for the std::sync::OnceLock patch).
  • Breaking: Rust 1.70 is now the minimum supported Rust version (MSRV).

Fixed

  • Fraction and Decimal parsing now routes zero-denominator inputs to signed infinity or NaN (including optional Unicode from_unicode_str) rather than panicking.
  • Restored Decimal Ord/PartialOrd/Eq/Hash consistency by comparing each value using its stored precision, including truncation and canonical zero handling (-0, -0.9@p0, -0.04@p1), so ordered and hashed collections now agree.
  • Added PostgreSQL NUMERIC infinity round-trip support for both Fraction and Decimal, encoding/decoding ±Infinity using 0xD000/0xF000 markers and documenting PostgreSQL 14+/unconstrained NUMERIC requirements.