Repository navigation
0.22.0
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 > 1no 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.