Skip to content

Release v0.0.37

Choose a tag to compare

@sebastienrousseau sebastienrousseau released this 11 Jan 17:51

Pain001 v0.0.37 Release Notes

Pain001 Banner

🔧 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


📋 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.