All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and the versioning is mostly derived from Semantic Versioning.
v0.1.12 - 2019-08-09
- Fixed EBM bug where 2 features with 1 state are included in the dataset.
- Fixed EBM bug that was causing processing of attributes past an attribute combination with 0 useful attributes to fail.
v0.1.11 - 2019-08-09
- C++ testing framework added.
- More granular options for training EBM (not public-facing, added for researchers)
- Improved POSIX compliance for build scripts.
- Failure cases handled better for EBM in both Python/native layer.
- Fixed a bug around dash relating to dependencies.
- Removed dead code around web server for visualization.
- For Python setup.py, requirements.txt now used for holding dependencies.
- Directory structure changed for whole repository, in preparation for R support.
- Native code further optimized with compiler flags.
- Consistent scaling for EBM plots across all features.
- For explanation's data method, behavior will be non-standard at key equals -1.
- Testing suite for visual interface added via selenium.
- Extension system for blackbox explainers added. Enables other packages to register into interpret.
- Data standardization under way, currently for linear, LIME, SHAP where key equals -1 for data method.
v0.1.10 - 2019-07-16
- Fix for duplicated logs.
- EBM now throws exception for multi-class (not supported yet).
- Added requests as dependency.
- File requirements.txt renamed to dev-requirements.txt
- Native libraries' names now start with 'lib_' prefix.
- Adjusted return type for debug_mode method to provide logging handler.
- EBM native layer upgraded asserts to use logging.
- EBM native layer hardened for edge case data.
- Adjustments to dev dependencies.
- Method debug_mode defaults log level to INFO.
v0.1.9 - 2019-06-14
- Added method debug_mode in develop module.
- Connected native logging to Python layer.
- Native libraries can now be in release/debug mode.
- Increased system compatibility for C++ code.
- Debug related methods expose memory info in human readable form.
- Clean-up of logging levels.
- Various internal C+ fixes.
v0.1.8 - 2019-06-07
- Fixed calibration issue with EBM.
- Method show_link fix for anonymous explanation lists.
- Method show_link now takes same arguments as show.
- Better error messages with random port allocation.
- More testing for various modules.
- Various internal C+ fixes.
v0.1.7 - 2019-06-03
- Added show_link method. Exposes the URL of show(explanation) as a returned string.
- Fixed shutdown_show_server, can now be called multiple times without failure.
- Hardened status_show_server method.
- Testing added for interactive module.
- Removal of extra memory allocation in C++ code for EBM.
- Various internal C++ fixes.
v0.1.6 - 2019-05-31
- Integer indexing for preserve method.
- Public-facing CI build added. Important for pull requests.
- Visual-related imports are now loaded when visualize is called for explanations.
v0.1.5 - 2019-05-30
- Added preserve method. Can now save visuals into notebook/file - does not work with decision trees.
- Added status_show_server method. Acts as a check for server reachability.
- Exposed init_show_server method. Can adjust address, base_url, etc.
- Added print_debug_info method in develop module. Important for troubleshooting/bug-reports.
- Various internal C++ fixes.
- Minor clean up on example notebooks.
- Additional dependency required: psutil.
- Test refactoring.
v0.1.4 - 2019-05-23
- Root path for show server now has a light monitor page.
- Logging registration can now print to both standard streams and files.
- Error handling for non-existent links fixed for visualization backend.
- In some circumstances, Python process will hang. Resolved with new threading.
- Unpinning scipy version, upstream dependencies now compatible with latest.
- Show server is now run by a thread directly, not via executor pools.
- Re-enabled notebook/show tests, new threading resolves hangs.
- Small clean-up of setup.py and Azure pipelines config.
v0.1.3 - 2019-05-21
- Model fit can now support lists of lists as instance data.
- Model fit can now support lists for label data.
- Various internal C++ fixes.
- Removed hypothesis as public test dependency.
- C++ logging introduced (no public access).
v0.1.2 - 2019-05-17
- EBM can now disable early stopping with run length set to -1.
- EBM tracking of final episodes per base estimator.
- Pinning scipy, until upstream dependencies are compatible.
- Clean-up of EBM logging for training.
- Temporary disable of notebook/show tests until CI environment is fixed.
v0.1.1 - 2019-05-16
- Added server shutdown call for 'show' method.
- Axis titles now included in performance explainer.
- Fixed hang on testing interface.
v0.1.0 - 2019-05-14
- Added port number assignments for 'show' method.
- Includes codebase of v0.0.6.
- Native code build scripts hardened.
- Libraries are statically linked where possible.
- Code now conforms to Python Black and its associated flake8.