Skip to content

Release v0.0.40

Choose a tag to compare

@sebastienrousseau sebastienrousseau released this 11 Jan 20:14

Pain001 v0.0.40 Release Notes

Release Date

January 11, 2026

Overview

Version 0.0.40 is a quality and configuration improvement release that modernizes the development tooling and enhances CI/CD workflows.

Changed

Configuration Updates

  • Pylint Configuration: Modernized .pylintrc for Pylint 3.x compatibility
    • Removed deprecated options: optimize-ast, files-output, no-space-check, naming hint options
    • Updated overgeneral-exceptions to use builtins.Exception
    • Disabled style checks already covered by ruff (line-too-long, invalid-name, duplicate-code, etc.)

CI/CD Improvements

  • Mutation Testing: Split into fast and full variants for better CI performance
    • Fast mutation: Runs on push/PR, limited to core modules (15min timeout)
    • Full mutation: Runs on scheduled builds (30min timeout)
  • Quality Workflow: Fixed missing on: trigger section
  • Documentation Build: Updated Makefile target to use root Poetry environment with docs group

Fixed

Code Quality

  • Fixed unspecified-encoding warning in XML generator (now explicitly uses UTF-8)
  • Added nosec B405 comment to create_common_elements.py for XML ElementTree usage
  • All lint checks now pass cleanly without warnings

Workflow Configuration

  • Restored proper workflow trigger configuration in quality.yml
  • Added schedule trigger for weekly comprehensive mutation testing

Quality Metrics

Test Coverage

  • Tests: 341 passed
  • Coverage: 98.57% (target: ≥95%)
  • Missing Coverage: 10 statements in CLI entry points

Code Quality

  • Ruff: ✓ Passed
  • Flake8: ✓ Passed
  • Pylint: ✓ 10.00/10 (no warnings)
  • Mypy: ✓ No issues (70 files checked)

Security

  • Bandit: ✓ Passed (known safe XML usage documented)
  • Safety: ✓ 0 vulnerabilities found

Performance

  • Benchmarks: All passing
  • CSV Loading: ~1,579 μs (633 ops/sec)
  • XML Generation: ~19 μs (52,300 ops/sec)

Complexity

  • Average Cyclomatic Complexity: A (4.0)
  • Maintainability Index: A across all modules

Documentation

  • Builds successfully with PyData Sphinx theme
  • Generated HTML documentation at https://docs.pain001.com/
  • 6 minor cosmetic warnings (no impact on functionality)

Migration Notes

No breaking changes. This release focuses entirely on development tooling and CI/CD improvements. No code changes required for users.

Dependencies

No dependency changes in this release.

Full Changelog

For a complete list of changes, see the commit history