Skip to content

v5.1.3

Latest

Choose a tag to compare

@wolph wolph released this 28 Oct 00:33
v5.1.3
8dc090d

Compatibility

  • No output changes. The parser, models, tags and processors carry the same code paths as 5.1.1, and the 5.1.1 test suite passes unchanged against this release. A compatibility check of the public API against 5.1.1 found no removed or changed names or parameters.

Build

  • The build requirement allows every uv_build release below 1.0 (uv_build>=0.11.0,<1) instead of stopping at 0.13, so distribution packagers and python -m build users on a newer uv can build the source archive without waiting for a release. Reported for portalocker by @jeremycline in wolph/portalocker#155, applied here too.
  • The source archive now includes the test suite, the examples, the documentation sources and the tool configuration, so a build from the sdist can run the tests.
  • Python 3.15 is in the test matrix and the classifiers.

Documentation

  • Every public module, class, function and Options switch has a docstring that states its contract, and the documentation builds them into reference pages with verified examples.
  • Project URLs for the documentation, repository, issue tracker, changelog and funding are in the package metadata.

Maintenance

  • The tag v5.1.2 carries the same code but never reached PyPI: its release workflow stopped at the dependency audit, because the fourteen-day resolver quarantine still held certifi and filelock on releases with open advisories. Both now get a one-week soak so the audit job resolves the fixed versions. 5.1.3 is the published release.
  • import datetime is spelled import datetime as dt in mt940.json and the tests, the alias ruff 0.17 asks for. mt940.models keeps the full name because the FixedOffset tzinfo methods take dt as a keyword. No runtime change.
  • Plain pyright runs in strict mode next to basedpyright, mypy, pyrefly and ty.
  • Ruff fixes are applied to pull requests automatically, and Dependabot targets develop.