You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Documentation: full Sphinx-built docs are now published at https://www.method-b.uk/pyStrich/docs/, covering each symbology, recipes and printing guidance, exception hierarchy and a reference index.
DataMatrix: add explicit "iso-8859-1" and "utf-8" encodings for non-ASCII payloads, selectable via DataMatrixData.
DataMatrix: saner handling of non-ASCII input under the legacy "compat" encoding, with deprecation in favour of explicit encodings.
DataMatrix: proper FNC1 support via the FNC1 marker constant. The long-accepted chr(231) workaround for GS1 still works behind a Fnc1WorkaroundCompatWarning (see issue #13).
QR Code: fix issue #8; certain valid strings could not generate a QR code.
EAN-13 quiet zone is now 11 modules left, 7 modules right (per the GS1 General Specifications); previously 9 modules each side, which was below spec on the left.
EAN-13: the leading digit’s vertical position is now configurable via an options dict (first_digit_y_offset); pass 0 for a level baseline across all three digit groups (issue #18). The default preserves the classic look where the first digit is slightly higher.
Errors: unified exception hierarchy. All pyStrich-raised errors now inherit from PyStrichError.
Public get_pilimage method on every encoder, returning a PIL.Image.Image directly.
Typing: encoders and renderers now have type hints and are checked with mypy.
Tests: refactored test suite to make better use of pytest, and extended encode/decode round-trip test coverage to Code 39, Code 128, EAN-13 and QR Code (previously DataMatrix only).
Confirmed compatibility with newer Pillow versions and Python 3.13.
Drop support for Python 3.8 and 3.9. Supported versions are now Python 3.10 to 3.14.