This release starts the 1.x series and drops support for Python 3.10.
New features:
- Add support for Python 3.13 #314.
- Add JSON serialization and deserialization for optimal binning objects #387.
- Add negative
split_digitsvalues to round split points to the left of the decimal point #319.
Improvements:
- Make CP-SAT optimization deterministic.
- Calculate HHI and KS statistics using valid records only #369.
- Improve typing annotations and API docstrings throughout the package.
Bugfixes:
- Fix missing-bin indexes in binning plots and valid-bin HHI masking.
- Fix per-variable
metric_specialandmetric_missingoverrides in scorecard points tables. - Fix record counts in
OptimalBinningSketch#368 . - Fix
ContinuousOptimalBinningwhen special codes are not present #340. - Fix
binning_transform_paramsleaking between variables #355 . - Fix JSON state restoration required by
transform#387. - Silence expected runtime warnings during event-rate to WoE conversion.
Packaging and dependencies:
- Replace
setup.pywith a PEP 621pyproject.toml#350. - Require Python 3.11 or newer and update the continuous integration matrix.
- Update the minimum OR-Tools version to 9.15.
Documentation:
- Refresh installation instructions for the modern
pip install .workflow. - Update version information and copyright notices for the 1.0.0 release.
Contributors:
Uvindu <https://github.com/Uvindu>_ : author of the PEP 621 packaging migration pull request #386.detrin <https://github.com/detrin>_ : original proposer of the PEP 621 packaging migration #350.Lucas Morin <https://github.com/lcrmorin>_ : JSON serialization fixes, scorecard metric overrides, sketch record
counts, special-code handling, parameter isolation, warning cleanup, and convex-hull maintenance.