Skip to content

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 13 May 23:25
· 9 commits to main since this release

v0.4.1

This release focuses on lower allocation overhead in key folding, faster direct bytes input from Python, and stronger release-profile optimization.

Highlights

  • Reduced key-folding overhead in the Rust encoder by removing the temporary sibling HashSet allocation. Collision checks now reuse sonic_rs::Object lookups directly.
  • Avoided an unnecessary memory copy in etoon.dumps() when the input is already bytes. bytearray inputs still copy once into immutable bytes before entering the Rust binding.
  • Enabled full LTO for release builds (lto = true) to improve cross-crate optimization.

Performance

  • PR benchmark notes reported the release-profile change improving encode time from about 8.26us to 7.91us in the tested case.
  • The key-folding path now avoids per-object sibling-set allocation when folding is enabled.

CI And Release

  • OpenSSF Scorecard now runs on main branch pushes and weekly schedule, matching Scorecard's expected trigger model.
  • Release artifacts are built for Linux, macOS, and Windows, with Python wheels for CPython 3.10-3.13.

Install

cargo install etoon
pip install etoon

Verification

  • cargo test
  • uv run pytest tests/test_spec_fixtures.py

Release Assets

  • etoon-linux-x86_64
  • etoon-linux-aarch64
  • etoon-macos-x86_64
  • etoon-macos-aarch64
  • etoon-windows-x86_64.exe
  • SHA256SUMS.txt

VirusTotal Scan Results

Full changelog: v0.3.0...v0.4.1