Skip to content

v0.7.1

Choose a tag to compare

@oritwoen oritwoen released this 08 Mar 22:40
· 25 commits to main since this release

v0.7.1 is a patch release.

👀 Highlights

🩹 Two edge-case fixes: tiny boha targets (10-bit) stalling because auto-selected walker count oversubscribed the range, and 256-bit range arithmetic silently clamping through u128 casts. DP table lookups got faster too.

🩹 Bug Fixes

Small boha targets could stall because the solver spawned more walkers than the effective range had room for. The init math now caps walker count and hardens jitter/grid for small ranges. Separately, range arithmetic used u128 internally — anything ≥128 bits would silently wrap. Switched to K256U256.

  • Tiny-range boha stabilization — cap walkers to effective range size (#64)
  • 256-bit range arithmetic — replace u128 casts with K256U256 (#71)

⚡ Performance

count_by_type() was scanning the entire DP table on every call. Now it tracks incremental counters on insert — O(1) instead of O(n).

  • O(1) count_by_type — incremental counters maintained on insert (#68)

💅 Refactors

Cleaned up duplicate byte-conversion helpers in dp_table — imported from the convert module instead of keeping private copies. Removed dead legacy code. Net −74 lines.

  • Dedup dp_table conversions — use shared convert module (#66)

✅ Upgrading

cargo install kangaroo

👉 Changelog

compare changes

⚡ Performance

  • dp_table: O(1) count_by_type via incremental counters (#68)

🩹 Fixes

  • solver: Stabilize tiny-range boha targets (#64)
  • init: 256-bit range arithmetic — replace u128 casts (#71)

💅 Refactors

  • dp_table: Dedup limb/byte conversions, remove dead legacy code (#66)

🏡 Chore

  • Update README.md

❤️ Contributors