v0.7.1
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
⚡ 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