# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Changed
- **BREAKING**: Migrated dependency management from vcpkg to Conan
- Updated build system to use Conan toolchain files instead of vcpkg
- Updated `make init` command to use `conan install` instead of `vcpkg install`
- Modified CMakeLists.txt to use Conan's find_package mechanism
- Updated documentation in CLAUDE.md to reflect Conan usage

### Added
- `conanfile.py` - Conan recipe for dependency management with all required dependencies
- CMakeUserPresets.json (generated by Conan)
- Support for Conan build profiles (Release/Debug)

### Removed
- `vcpkg.json` - vcpkg manifest file
- `vcpkg-configuration.json` - vcpkg registry configuration
- vcpkg toolchain dependency in build system

### Notes
- The migration maintains compatibility with existing make targets and workflow
- All dependencies now managed through Conan package manager

## [1.1.0] - 2025-07-02

### Added
- **AdaBoost Implementation**: Complete multi-class SAMME AdaBoost classifier with optimization
  - Optimized AdaBoostPredict with 100 estimators as default
  - Enhanced predictProbaSample functionality
  - Full predict_proba support for probabilistic predictions
- **Decision Tree Classifier**: New base classifier implementation with comprehensive tests
- **XA1DE Model Family**: Extended Averaged One-Dependence Estimators
  - XA1DE, XBAODE, XSPODE variants with threading support
  - Complete integration with memory optimization
  - Prior probability computation in prediction
- **Wilcoxon Statistical Test**: Statistical significance testing for model comparison
- **Folder Management**: Enhanced file organization with folder parameter support across tools
  - Added folder parameter to b_best, b_grid, b_main, and b_manage
- **vcpkg Integration**: Package management system integration (now migrated to Conan)

### Enhanced
- **Grid Search System**: Complete refactoring with MPI parallelization
  - Grid experiment functionality with conditional result saving
  - Fixed smoothing problems and dataset ordering
  - Enhanced reporting and summary generation
- **Excel Reporting**: Advanced Excel export capabilities
  - ReportExcelCompared class for side-by-side result comparison
  - Enhanced formatting with colors and fixed headers
  - Automatic file opening after generation
- **Results Management**: Comprehensive result handling and validation
  - JSON schema validation for result format integrity
  - Improved console reporting with classification reports
  - Pagination support for large result sets
- **Statistical Analysis**: Enhanced statistical testing and reporting
  - AUC (Area Under Curve) computation and reporting
  - Confusion matrix generation and visualization
  - Classification reports with color coding

### Performance Improvements
- Optimized AdaBoost training and prediction algorithms
- Enhanced memory management in XA1DE implementations
- Improved discretization algorithms with MDLP integration
- Faster ROC-AUC computation for binary classification problems

### Developer Experience
- **Testing Framework**: Comprehensive test suite with Catch2
- **Build System**: Streamlined CMake configuration with dependency management
- **Documentation**: Enhanced project documentation and build instructions
- **Code Quality**: Refactored codebase with improved error handling and logging

### Bug Fixes
- Fixed predict_proba implementations across multiple classifiers
- Resolved grid search dataset ordering issues  
- Fixed Excel report formatting and column width problems
- Corrected time output formatting in various tools
- Fixed memory leaks and stability issues in model implementations

## [1.0.0] - 2024-01-09

### Initial Release
- **Core Framework**: Machine learning experimentation platform for Bayesian Networks
- **Basic Classifiers**: Initial set of Bayesian network classifiers
- **Experiment Management**: Basic experiment orchestration and result storage
- **Dataset Support**: ARFF file format support with discretization
- **Build System**: CMake-based build system with external library integration
- **Command Line Tools**: Initial versions of b_main, b_best, b_list utilities