Release v0.0.37
Pain001 v0.0.37 Release Notes
🔧 CI/CD & Code Quality Improvements
Release Date: January 11, 2026
We are pleased to announce Pain001 v0.0.37, a maintenance release focused on fixing critical CI/CD issues and improving code quality. All functionality from v0.0.36 is preserved, with enhanced reliability for enterprise deployments.
🚀 What's Fixed
CI/CD Pipeline Improvements
- Setup.cfg Version Handling: Changed from dynamic
attr: pain001.__version__to static version string- Fixes GitHub Actions version extraction failures
- Enables automated releases and version management
- Compatible with standard Python packaging tools
Code Quality & Complexity Refactoring
- Cyclomatic Complexity Optimization: Refactored
pain001/xml/generate_xml.py- Reduced function complexity from 22 to below 18 (flake8 compliance)
- Extracted data preparation logic into separate functions:
_prepare_xml_data_v03()- pain.001.001.03 specific preparation_prepare_xml_data_v04()- pain.001.001.04 specific preparation_prepare_xml_data_v05_to_v08()- Unified preparation for v05-v08_prepare_xml_data_v09_to_v11()- Unified preparation for v09-v11
- Implemented dictionary dispatch pattern for cleaner version handling
- Improved code maintainability and testability
Test Suite Enhancements
- CLI Test Fixes: Fixed ANSI color code handling in test assertions
- Tests now correctly handle Rich console output
- Improved test robustness for CI/CD environments
- All 341 tests passing with 98.57% coverage
📊 Quality Metrics
| Metric | Value | Status |
|---|---|---|
| Unit Tests | 341 passing | ✅ |
| Code Coverage | 98.57% | ✅ |
| Lint Score | 10.00/10 | ✅ |
| Type Checking | No errors | ✅ |
| Security Scan | 1 low (acceptable) | ✅ |
| Cyclomatic Complexity | All within limits | ✅ |
🔄 Backward Compatibility
All v0.0.36 functionality is fully preserved. This is a maintenance release with:
- ✅ Same ISO 20022 version support (pain.001.001.03 through .11)
- ✅ Same API and function signatures
- ✅ Same XML generation capabilities
- ✅ Same CSV and SQLite data source support
Users upgrading from v0.0.36 will experience no breaking changes.
📦 Installation
pip install pain001==0.0.37🔗 Quick Links
- GitHub: https://github.com/sebastienrousseau/pain001
- Documentation: https://pain001.com
- Issues: https://github.com/sebastienrousseau/pain001/issues
📋 Summary
v0.0.37 is a production-ready, enterprise-grade release with all quality gates passing and CI/CD pipeline fully functional. Recommended for all deployments requiring stability and automated release capabilities.