========= Changelog ========= All notable changes to this project are documented here. The format is based on `Keep a Changelog `_, and this project adheres to `Semantic Versioning `_. Unreleased ========== Added ----- - Comprehensive documentation with Sphinx - FAQ with common questions and troubleshooting - Tutorial system with step-by-step guides - Read the Docs integration - Installation guide with troubleshooting section - User guides for all major components - Complete API reference documentation Changed ------- - Restructured documentation for better organization - Enhanced README with clearer examples - Improved CONTRIBUTING guidelines with detailed workflows - Updated data interface to support both pandas and numpy - Improved error messages throughout the codebase Fixed ----- - Fixed column transformer inverse transform handling - Improved preprocessor wrapper compatibility Removed ------- - Removed temporary Q&A files from development process - Cleaned up redundant documentation files - Removed deprecated ARES and WachterCF explainers (moved to external) [0.1.0] - 2024-01-15 ==================== Added ----- **Core Features** - Initial release of COLA (COunterfactual explanations with Limited Actions) - Core COLA functionality for refining counterfactual explanations - ``COLAData`` class for unified data management - ``Model`` interface supporting multiple ML frameworks **Counterfactual Explainers** - DiCE (Diverse Counterfactual Explanations) integration - DisCount (Distributional Counterfactuals) integration - Support for external explainers (Alibi, custom implementations) **Matching Policies** - Optimal Transport (OT) matcher - globally optimal matching - Exact Class Transition (ECT) matcher - fast deterministic matching - Nearest Neighbor (NN) matcher - simple proximity-based - Soft CEM matcher - probabilistic soft matching **Feature Attribution** - PSHAP (Pair-wise SHAP) attributor - Joint distribution-informed feature importance - Automatic feature ranking for refinement **Visualization Tools** - Binary heatmaps (which features changed) - Directional heatmaps (increase/decrease patterns) - Highlighted DataFrames with color-coded changes - Stacked bar charts comparing CE vs ACE - Diversity analysis visualizations **ML Framework Support** - scikit-learn pipelines and models - PyTorch neural networks - TensorFlow 1.x and 2.x / Keras models - Custom models via base interface **Data Processing** - Support for pandas DataFrames - Support for NumPy arrays - Automatic feature type inference - Integration with sklearn preprocessors - ColumnTransformer support **Documentation** - Basic README with usage examples - API reference documentation - Example notebooks - German Credit dataset for testing [0.0.1] - 2024-01-01 ==================== Added ----- - Initial project structure - Basic implementation of COLA algorithm - Proof of concept code Version History =============== Summary of releases: - **0.1.0** (2024-01-15): First public release with full feature set - **0.0.1** (2024-01-01): Initial development version Upgrade Guide ============= From 0.0.x to 0.1.0 ------------------- **Breaking Changes:** None - 0.1.0 is the first public release. **New Features:** If you were using internal development versions: 1. Update import paths: .. code-block:: python # Old (internal) from cola import COLA # New (public) from xai_cola import COLA 2. Update data interface: .. code-block:: python # Old cola = COLA(factual=X, counterfactual=CF, model=model) # New data = COLAData(factual_data=X, label_column='target') data.add_counterfactuals(CF) cola = COLA(data=data, ml_model=model) Deprecation Notices =================== Current Version (0.1.0) ----------------------- No deprecations in current version. Planned Deprecations -------------------- None currently planned. We maintain backward compatibility within major versions. Migration Path ============== We're committed to smooth upgrades: 1. **Deprecated features** are marked in documentation 2. **Warnings** are issued for deprecated usage 3. **One major version** of overlap before removal 4. **Migration guides** provided for breaking changes Contributing ============ See :doc:`contributing` for how to contribute to COLA. See Also ======== - :doc:`installation` - Installation instructions - :doc:`quickstart` - Quick start guide - :doc:`faq` - Frequently asked questions - `GitHub Releases `_ - Download releases - `PyPI `_ - Python Package Index