Skip to content

Release 1.17.0

Choose a tag to compare

@AngusHsu AngusHsu released this 11 Oct 18:39
646eb63

Other fixes

  • Metadata follow-up (#540): independently pin metadata
    discovery counts, approved display formats and official names in tests; report JSON scans of modules without ID
    classes as clean CLI usage errors. Clarify length-only formatting, refresh Cyprus government/OECD source links
    and use an official Swedish test personal number in formatting tests. Country validation behaviour is unchanged.
  • Packaging (#529): the release check now also rejects a
    wheel entry that is a bare file named idnumbers or idnumbers-<version>.dist-info rather than a path inside that
    directory; the published wheel is unchanged.
  • Parity sync script (#533): when --from-port fails and
    restoring the tracked files also fails, both errors are reported and the possibly half-updated files are named;
    tests now cover drop_bytecode() and keep the non-git port case from finding an enclosing repository.
  • Unified API (#538): validate(), validate_many() and
    parse_id_info() no longer raise when a country's repr() returns a str subclass whose length or slicing raises;
    the README describes the error_message fallbacks.

Documentation

  • CRI cédula de identidad (#515): correct the example's
    provenance to the Node port and add tests for compact, fully hyphenated, mixed and malformed hyphen layouts;
    validity and parsed results are unchanged.
  • DOM cédula de identidad y electoral (#519): state the
    exact size of python-stdnum's list of issued numbers that fail Luhn (578 entries: 576 with 11 digits, 2 with 10
    digits) and quote its own description of them; validity is unchanged.
  • ECU cédula de identidad (#521): drop the unsourced RUC
    remark, describe the Gob.EC issue on the third digit 6 as reported validation failures, and cite python-stdnum's
    actual hyphenated example 171430710-3; validity is unchanged.
  • EGY national ID number (#523): attribute the Luhn and
    mod-11 check-digit claims to third-party sources and cite the Node port's research note; the failure-reason guide
    now calls its date witnesses impossible-date witnesses, since not every one has a checksum; validity is unchanged.
  • GTM, SAU (#527): define the display_format
    placeholder letters in the class docstrings, and explain in docs/nationalid/METADATA.md that letters other than
    # (and, in a few classes, L) name per-class fields; formats are unchanged.
  • Narrow the AGENTS.md re-export rule to the single-dot relative imports that tests/test_explicit_reexports.py
    checks, and unit-test the checker (#531).
  • Say in the register() docstring that a non-iterable aliases raises TypeError, and make the registry
    concurrency tests fail when the registration lock is missing
    (#535).
  • Unified API (#543): render builtin TypeError names as
    literals in result-class hash documentation, avoiding unresolved API documentation links; behaviour is unchanged.