# Changelog

All notable changes to Easy PMF 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).

## [0.1.0] - 2025-08-08

### Added
- Initial release of Easy PMF package
- Core PMF algorithm implementation with convergence checking
- Support for concentration and uncertainty data input
- Comprehensive visualization capabilities:
  - Factor profiles heatmaps
  - Factor contributions over time
  - EPA PMF-style individual factor plots
  - Correlation matrices and summary plots
- Three built-in example datasets:
  - Baton Rouge air quality data (307 samples × 41 species)
  - St. Louis environmental data (418 samples × 13 species)
  - Baltimore PM2.5 data (657 samples × 26 species)
- Command-line interface for easy analysis
- Interactive analysis tools
- Batch processing capabilities
- Comprehensive documentation and examples
- Type hints and input validation
- Support for Python 3.8+

### Features
- Easy-to-use scikit-learn style API
- Robust error handling and input validation
- Flexible data input (CSV, TXT formats)
- Automatic output organization
- EPA PMF-style visualizations
- Q-value calculation for model assessment
- Transform method for applying fitted models to new data
- Comprehensive test suite

### Documentation
- Complete API documentation
- Usage examples and tutorials
- Installation instructions
- Contributing guidelines
- MIT license

## [Unreleased]

### Planned Features
- Additional visualization options
- Support for more data formats (Excel, HDF5)
- Web-based interface
- Advanced statistical diagnostics
- Model comparison tools
- Integration with other environmental analysis packages
