Skip to content

v1.0.0 Release

Compare
Choose a tag to compare
@Alexhuszagh Alexhuszagh released this 14 Sep 23:11
· 125 commits to main since this release
7c0100d

The full changelog is as follows:

Added

  • Added fuzzing and miri code safety analysis to our CI pipelines.
  • Removed requirement of alloc in no_std ennvironments without the write feature.
  • Make multi-digit optimizations in integer parsing optional.
  • Much higher miri coverage including for proptests and our corner cases from the golang test suite.

Changed

  • Updated the MSRV to 1.63.0 (1.65.0 for development).
  • Improved performance due to compiler regressions in rustc 1.81.0 and above.

Fixed

  • Removed use of undefined behavior in MaybeUninit.
  • Provide better safety documentation.
  • Parsing of Ruby float literals.
  • Performance regressions in Rust 1.81.0+.
  • Removed incorrect bounds checking in reading from iterators.
  • Overflow checking with integer parsing.
  • Writing -0.0 with a leading -.
  • Reduced binary siezes when the compact feature was enabled.
  • Improved performance of integer and float parsing, particularly with small integers.
  • Removed almost all unsafety in lexical-util and clearly documented the preconditions to use safely.
  • Removed almost all unsafety in lexical-write-integer and clearly documented the preconditions to use safely.
  • Writing special numbers even with invalid float formats is now always memory safe.

Removed

  • Support for mips (MIPS), mipsel (MIPS LE), mips64 (MIPS64 BE), and mips64el (MIPS64 LE) on Linux.
  • All _unchecked API methods, since the performance benefits are dubious and it makes safety invariant checking much harder.
  • The safe and nightly features, since ASM is now supported by the MSRV on stable and opt-in for memory-safe indexing is no longer relevant.