Changelog

All notable changes to this project will be documented in this file.

Unreleased

v1.3.2 - 2026-07-24

  • Refactor

    • Marked exported constants/lazy globals as Final for downstream users (via #69)

  • Docs

    • Fixed docstring of T_SYNTAX_PARSER_TERM (via #70)

v1.3.1 - 2026-07-23

  • Docs

    • Added and improved package docs (via #67)

v1.3.0 - 2026-07-21

  • Fixed

    • Fix grammar for ucschar character range (via #45)

    • Fix RFC3987_SYNTAX_TERMS correctly containing “ipath” (via #41)

    • Fix RFC3987_SYNTAX_TERMS correctly containing “ipath_absolute” (via #41)

    • Fix RFC3987_SYNTAX_TERMS correctly containing “ipath_noscheme” (via #41)

    • Fix RFC3987_SYNTAX_TERMS correctly containing “ipath_rootless” (via #41)

    • Fix RFC3987_SYNTAX_TERMS correctly containing “ipath_empty” (via #41)

    • Typehint of parse()’s arg term (via #50, #52)
      Narrowed down to valid values: “iri”, “iri_reference”, “absolute_iri”

    • Typehint of is_valid_syntax’s arg term (via #50, #52)
      Narrowed down to valid values: “iri”, “iri_reference”, “absolute_iri”

  • Added

    • Function is_valid_syntax issues a warning if an unexpected error occurred (via #51)

    • New function is_valid_syntax_scheme (via #48)

    • New function is_valid_syntax_pct_encoded (via #48)

    • New dict RFC3987_SYNTAX_TERM_VALIDATORS mapping RFC3987_SYNTAX_TERMS to validator function (via #49)

  • Performance

    • Public symbols use lazy loading (via #43, #59)

  • Docs:

    • Added docstrings to public API (via #58)

  • Tests

    • Add grammar regression tests (via #48)

v1.2.0 - 2026-07-16

  • Fixed

    • Align RFC 3987 grammar handling with the specification (via #10)

    • Fix RFC 3986-delegated IRI parsing edge cases (via #10)

    • Fix RFC3987_SYNTAX_TERMS correctly containing “irelative_part” `(via #19)

    • Fix RFC3987_SYNTAX_TERMS correctly containing “ihier_part” `(via #19)

  • Changed

    • Update grammar rules used by is_valid_syntax(...) and term-specific validators (via #10)

  • Added

    • Validate IPv6 compression (via #10)

    • Assert static typing (via #16)

  • Tests

    • Add grammar regression tests (via #10)

v1.1.1 - 2026-07-14

Fork release rfc3987-syntax2

  • Forked from willynilly/rfc3987-syntax.

  • Published this project as an independently maintained package under the new distribution name rfc3987-syntax2.

  • Preserved upstream functionality as the baseline for this initial fork release.

Notes for rfc3987-syntax2

  • This is the first release of the fork.

  • No intentional behavioral changes from upstream are introduced in this release unless explicitly listed above.

v1.1.0 - 2025-07-18

Original release: https://github.com/willynilly/rfc3987-syntax/releases/tag/v1.1.0

  • Features

    • Added add support for IRI-reference and absolute-IRI

  • Bugs

    • Fixed single quote sub-delimiter

v1.0.0 - 2025-05-18

Original release: https://github.com/willynilly/rfc3987-syntax/releases/tag/v1.0.0