Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
Added¶
- PR guidance: new documentation at
docs-mkdocs/development/pr-guide.mdoutlining branching, testing, changelog, and review expectations - GitHub Actions workflow for automatic documentation deployment to GitHub Pages
- MkDocs Material documentation is now the official documentation system
Changed¶
- Documentation Migration: Transitioned from Sphinx (in
docs/) to MkDocs Material (indocs-mkdocs/) - New documentation site: https://meighenbergers.github.io/fennel/
- Auto-deployed via GitHub Actions on every push to master
- Old Sphinx documentation in
docs/is now deprecated (seedocs/DEPRECATED.md) - Updated README.md with comprehensive documentation links and improved structure
- Added documentation build commands to Makefile (
make docs-serve,make docs-build)
Deprecated¶
- Sphinx documentation in
docs/directory - use MkDocs documentation instead
[2.0.0] - 2026-01-09¶
Added¶
- Result Container Classes: New
TrackYieldResult,EMYieldResult, andHadronYieldResultclasses that provide structured, self-documenting results with named attributes - v2 API Methods:
track_yields_v2(): ReturnsTrackYieldResultinstead of tupleem_yields_v2(): ReturnsEMYieldResultwith additional metadatahadron_yields_v2(): ReturnsHadronYieldResultwith EM fraction info- Convenience Methods:
quick_track(): Simplified muon track calculationsquick_cascade(): Simplified cascade calculationscalculate(): Universal method that auto-detects particle type- Input Validation: Comprehensive validation at API boundaries with helpful error messages via
ValidationErrorexception - Validation Module: New
fennel.validationmodule with validators for energy, particle PDG codes, wavelengths, angles, and refractive indices - Pretty Printing: Result containers have informative
__repr__methods showing all contained data - Particle Names: Result objects include human-readable particle names (e.g., "e⁻", "π⁺")
- Comprehensive Test Suite: 123 tests covering v2 API, validation, result containers, convenience methods, and backward compatibility
- Documentation:
- Complete
UPGRADE_GUIDE_V2.mdwith migration examples - Example notebook
example_v2.ipynbdemonstrating all new features - Extended docstrings for all new methods
- GitHub Actions: CI workflow for automated testing on push and PR
- Pre-commit Hooks: Configuration for code quality tools
- MkDocs Documentation: Modern documentation site with API reference and user guide
Changed¶
- Major Version Bump: Version 2.0.0 to indicate new API surface (fully backward compatible)
- All internal modules now use consistent validation via
fennel.validation - Improved error messages across the codebase
- Enhanced type hints throughout
Deprecated¶
- None (old API remains fully supported)
Fixed¶
- More robust input validation prevents silent errors
- Consistent handling of edge cases across all methods
Backward Compatibility¶
- 100% Compatible: All v1.x methods work identically
- No breaking changes to existing API
- Old tuple-unpacking code continues to work
- Users can migrate gradually or not at all
[1.3.4] - Previous Release¶
(Prior changelog entries would go here)