Skip to content

0.22.0

Choose a tag to compare

@bbstats bbstats released this 24 Jul 00:33
· 417 commits to main since this release

Perf + correctness release from the 2026-07-23 predict/fit semi-bug audit (PR #26).

Perf (all bit-identical):

  • Cross-feature columns no longer re-cast their parent columns per pair — one float64 cast per column. On object-dtype input (categoricals present): 4k-row predict 13.6 ms → 8.6 ms, 1-row 0.35 → 0.27 ms; fit improves too.
  • Predict converts the input once, not twice (DataFrame input paid a second full to_numpy per call).
  • Bagged predict switches the numba thread count once per call, not once per member.
  • Multiclass predict drops a dead init; shap_values reuses the cached linear forest pack.
  • warmup() now also compiles the weighted ordered-TS and gdiff group-sum kernels.

Fixed:

  • leaf_estimation_iterations > 1 no longer corrupts MAE/Quantile leaf values (the documented "no effect" warning is now true).
  • A depth-0 early exit now truncates to the best validation prefix like every other exit.

Full details in the CHANGELOG. Note: PR #27 (pair-code combos, grouped-split random_state, tiny-batch serial predict kernels) merged after this artifact was built and ships in the next release.