pypi validators 0.36.0

3 hours ago

Breaking ⚠️

  • Drops support for Python v3.9 and v3.10. Python v3.11 or newer is required. (#488)
  • Stricter validation: the following inputs, previously accepted by mistake, are now rejected.
    • isin() now verifies the check digit, which was previously ignored. Lowercase ISINs are still accepted. (#464)
    • cusip() and sedol() require a numeric check digit. (#487)
    • md5(), sha1(), sha224(), sha256(), sha384(), sha512(), base16(), base32(), base58() and base64() reject trailing characters, such as a trailing newline. (#486)
    • ind_pan() requires a full-string match. (#478)
    • fr_ssn() no longer accepts a comma as the gender or Corsica department character. (#469, merged as #491)
    • domain() rejects an underscore in the last label (#485) and names longer than 253 octets once IDNA-encoded, as defined by RFC 1035. (#461)
    • mastercard() accepts only the 2221-2720 range of the 2-series BINs. (#467)
    • eth_address() rejects non-hexadecimal characters. (#466)
    • mac_address() rejects mixed separators. (#432)
    • slug() rejects a trailing newline, and telnet URIs reject control characters. (#492)

Features

Maintenance

  • chore(deps): bump requests from 2.32.3 to 2.32.4 in /package by @dependabot in #430
  • fix: reject MAC addresses with mixed separators by @iCasture in #432
  • feat: Optimize slug. Extend tests. by @welder87 in #439
  • chore: update codebase to reflect new username by @nandgator in #447
  • docs: correct PossibleValueTypes note in between to include None by @SAY-5 in #460
  • chore!: drop Python 3.9 and 3.10, bump vulnerable dev dependencies by @nandgator in #488
  • fix: restore certifi and jinja2 pins downgraded by stale lock by @nandgator in #489
  • chore: use native pyproject config for tox and pytest by @nandgator in #490
  • test: cover RFC length limits for domain() and hostname() by @nandgator in #493
  • chore!: adopt uv and PEP 735 dependency groups by @nandgator in #495
  • ci: update GitHub Actions to their latest versions by @nandgator in #496
  • docs: explain why the documentation is hosted on the maintainer's fork by @nandgator in #497
  • docs: hide badges from the man page; upgrade docs tooling to latest stable by @nandgator in #498
  • ci: deploy versioned documentation with mike from the fork by @nandgator in #500
  • docs!: build and version the online documentation with Zensical by @nandgator in #502
  • ci: publish to PyPI with trusted publishing by @nandgator in #504

Full Changelog: 0.35.0...0.36.0

Don't miss a new validators release

NewReleases is sending notifications on new releases.