Repository navigation
Release 1.18.0 #593
AngusHsu
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
1.18.0 (2026-10-12)
Changed
METADATA.regexpof 14computed-checksum classes (AUS Medicare Number and Tax File Number, BGR Unified Identification Code, CHL National
Unique Role Number, COL Unique Personal ID, GRC Tax Identity Number, HKG Hong Kong Identity Card Number, IRN National
ID Number, ISR Identity Number, JPN My Number, LVA Personal Code, TUR National ID Number, UKR Legal Entity ID Number
and Taxpayer ID Number) now names the check character(s) with a
checksumgroup, sofailure_reason()reportschecksum_mismatchinstead ofvalidation_failedfor a definite check-character mismatch. The unifiedvalidate()andparse_id_info()report it too for the nine classes that are their country's primary ID (CHL, COL,HKG, IRN, ISR, JPN, LVA, TUR and the UKR Taxpayer ID Number); they select only the primary ID, so the other five
(AUS Medicare Number and Tax File Number, BGR Unified Identification Code, GRC Tax Identity Number and UKR Legal
Entity ID Number) are reached through
failure_reason(id_class, number). Accepted and rejected inputs, parsedresults and
checksum()values are unchanged. The Australian tax file number'schecksum()returns a remainderrather than a check digit, so a remainder equal to the last digit keeps the generic reason.
Other fixes
before bytecode cleanup and test that a failed restore after
KeyboardInterruptorSystemExitreports both errorsand the tracked paths with exit code 2; successful rollback still propagates the original interrupt.
in the concurrency helper and check the portable non-iterable alias error fragment without changing registry behavior.
mismatched-version dist-info entry and an absolute package path in wheels; release guard behavior is unchanged.
Documentation
120-column line-length convention and its exceptions (whole URLs on their own line, Markdown tables and generated
guides); the 1.17.0 DOM entry now uses python-stdnum's own wording.
exemption applies to
from .util import ..., notfrom . import util; only the rule's wording changes.names are outside
{...}andDusually denotes a day, with widths and meanings defined per class; formats andvalidity are unchanged.
sister project's reported Luhn failure from its unproven weighted mod-11 hypothesis in the docstring; the research
note is not an official source, and validity is unchanged.
+exception to slot-count matching, with a synthetic layout example; preferred input-mask patterns still use literal
-, and formatting behavior is unchanged.representation helpers with class docstrings; test behavior is unchanged.
This discussion was created from the release Release 1.18.0.
All reactions