Changelog

Generated by releaseledger. Manual edits may be overwritten. Update releaseledger entries and rebuild this file instead.

[v0.4.5] - 2026-09-21

Added

  • Added 13 foundation language families with reviewed plain-cardinal rendering and explicit capability boundaries

Changed

  • Improved Spokenform Gold benchmark validation with release provenance and complete-corpus checks

  • Changed dependency floors to abbr2words 0.2.16 and numeralform 0.1.9 with matching CI coverage

Fixed

  • Fixed Spanish ordinal normalization to fail closed outside the reviewed range

[v0.4.4] - 2026-09-15

Added

  • Added deterministic Spokenform Gold benchmark consumption with immutable release-asset and runtime-source verification

  • Added contextual Spanish month/day date recognition without a year

Changed

  • Improved German comma-separated number and short social-identifier rendering

Fixed

  • Fixed French coordinate recognition for dot and comma decimal separators while preserving fail-closed quantity parsing

  • Fixed URL-like literals being treated as math and made unsupported math locales fail closed

  • Fixed malformed locale-mismatched currency amounts being rewritten while preserving valid currency normalization

[0.4.3] - 2026-09-14

Changed

  • Improved German speech normalization for technical sequences, mathematical expressions, contextual Roman forms, durations, and semantic versions

  • Added opt-in German URL, e-mail, and FTP literal promotion with localized punctuation while preserving default literal protection

  • Added reviewed German source-letter expansion for IBAN through the dependency registry

Fixed

  • Fixed German IBAN precedence and sentence-final IPv4 recognition without weakening literal protection

[v0.4.2] - 2026-09-13

Added

  • Added locale-aware currency and exchange-rate speech rendering for English, German, and Spanish

[v0.4.1] - 2026-09-13

Changed

  • Improved locale-aware numeric, currency, identifier, emergency-number, and German reference normalization

[0.4.0] - 2026-09-13

Changed

  • BREAKING: Changed numeric runtime dependency from upstream num2words to Numeralform 0.1.4

  • BREAKING: Changed the public numeric locale resolver and documented independent routing

Quality

  • Improved release hardening for the Numeralform 0.1.4 dependency boundary

[0.3.7] - 2026-09-12

Added

  • Added registry-backed language and locale support with capability-aware numeric and sequence policies

[0.3.6] - 2026-09-01

Added

  • Added explicit language-selected speech preparation with source-aligned provenance and generic speech configuration

[0.3.5] - 2026-08-31

Added

  • Added source-aligned semantic normalization coverage for migrated locales and abbreviation behavior

  • Added immutable isolated speech profiles for domain-specific abbreviation pronunciation

Changed

  • Improved German contextual year and Euro minor-unit speech with identifier-boundary protection

[0.3.4] - 2026-08-30

Added

  • Added typed German plural paragraph references and ranges with domain-aware precedence

  • Added Korean native counter forms for quantities and clock hours

  • Added source-aligned Thai preparation for times, decimals, identifiers, and semantic symbols

  • Added conservative Arabic, Hebrew, and Kazakh KokoroG2P profiles with aliases

  • Added public abbreviation controls and KokoroG2P profile metadata

Changed

  • Improved currency speech to preserve excess fractional precision instead of silently rounding or truncating

Fixed

  • Fixed German time and date normalization to reject partial-word matches and invalid calendar values

Documentation

  • Documented German structured normalization boundaries and exact currency precision

Quality

  • Added regression coverage for German boundaries, provenance, protection, and false positives

[0.3.3] - 2026-08-27

Added

  • Added Swedish runtime support for locale-aware numbers, reviewed quantities, temperatures, and SEK amounts

  • Added Vietnamese runtime support for locale-aware numbers, reviewed quantities, temperatures, and VND amounts

  • Added Thai runtime support for locale-aware numbers, reviewed quantities, temperatures, and THB amounts

  • Added typed German plural paragraph-list and range recognition with precedence and domain controls

  • Added conservative contextual German year pronunciation using the shared year renderer

Changed

  • Changed the abbr2words dependency floor to the release containing the reviewed German lexical registry

Fixed

  • Prevented German time and date normalization from claiming partial word or context matches

  • Preserved excess fractional digits in currency speech instead of silently truncating or rounding

  • Fixed German currency realization to label reviewed minor units explicitly

  • Fixed German date and time recognition to reject partial matches inside alphanumeric identifiers

Documentation

  • Documented Swedish identifiers, numeric punctuation, ownership boundaries, and fail-closed semantics

  • Documented Vietnamese identifiers, numeric punctuation, ownership boundaries, and fail-closed semantics

  • Documented Thai identifiers, numeric punctuation and digits, calendar boundaries, ownership, and fail-closed semantics

  • Documented German structured normalization and source-faithful currency precision

Quality

  • Added Swedish regression coverage for precision, source mapping, protection, and sequence safety

  • Added Vietnamese regression coverage for precision, grouping, mapping, protection, and sequence safety

  • Added Thai regression coverage for decimal precision, Thai digits, quantities, THB, calendar protection, mapping, and sequence safety

  • Added German regression coverage for structured boundaries, provenance, protection, and false positives

[0.3.2] - 2026-08-26

Added

  • Added Japanese, Korean, and Chinese runtime support with locale-aware numbers and conservative sequences

Changed

  • Changed abbreviation expansion to consume source-aligned replacement records and preserve dependency metadata

  • Changed the minimum abbr2words dependency to 0.2.11 and added minimum-dependency CI checks

Quality

  • Changed preparation and structured candidate processing into focused stages while preserving supported behavior

  • Improved Spokenform Gold evaluation for the v2 corpus with integrity checks and provenance-rich reports

[0.3.1] - 2026-08-23

Changed

  • Changed optional Lexhint compatibility to cover 0.2.x while retaining 0.1.2 support

Documentation

  • Documented Lexhint 0.2.x schema-8 dataset requirements and the runtime dataset upgrade path

Quality

  • Added an explicit CI compatibility gate for the supported Lexhint version families

[0.3.0] - 2026-08-19

Added

  • Added opt-in conservative orthographic fallback for residual sequences

  • Added diagnostics for fallback decisions and structured policy traces

Changed

  • Changed contextual countdowns to retain a generic spaced segment boundary

  • Changed countdown ownership to temporal and added fail-closed domain allowlisting

  • Changed sequence and code segment rendering to use one generic boundary

  • Changed benchmark oracle coverage to isolate policy expansion results

Documentation

  • Documented recognition evidence, domain ownership, fallback, and punctuation responsibilities

Quality

  • Added multilingual mapping coverage, recognizer extraction, and release validation evidence

[0.2.8] - 2026-08-18

Added

  • Added Async TN benchmark suite with deterministic evaluation, data management, and HTML reporting

  • Added candidate oracle for measuring structured-candidate selection headroom across benchmarks

  • Added extended currency symbol recognition for Spanish with labeled amounts and feminine agreement

  • Added hyphenated date recognition for Spanish and Italian (e.g., 15-julio-2026, 3-marzo-25)

  • Added Spanish time period recognition for bare hour-period patterns (e.g., 3 pm)

  • Added Italian dotted-time ambiguity guard to prevent false time recognition on decimals and units

  • Added failure reporting module with risk tiers, ownership mapping, and diagnostic aggregates

Changed

  • Improved Spanish ordinal rendering with feminine compound forms, quince special case, and duodécimo for twelve

  • Improved Spanish fraction rendering with natural forms for halves (media, medio) and feminine agreement

  • Improved English fraction rendering to use fourths instead of quarters

  • Improved French and Italian slash-fraction rendering with locale-specific natural forms (moitié, metà, centième)

  • Improved sports and score recognition with broader multilingual context keywords and higher value ranges

  • Expanded software version recognition to include macOS and WordPress

  • Improved ISBN rendering for Spanish, Italian, and French with locale-specific separator words

  • Refactored structured module to separate candidate collection from conflict resolution for reuse

  • Added sentence-start capitalization for Spanish numeric output at input boundaries

  • Improved Spanish phone number rendering with cardinal group mode and comma-separated groups

  • Improved number rendering with digitwise fraction mode for plain numbers and explicit leading-decimal sign handling

  • Improved Italian ordinal rendering with feminine elision for ottava after la

  • Added context-conditional number rendering for French identifier codes and Spanish page quantities

  • Improved Spanish Mexican time rendering with de la noche suffix for evening hours and auto-detected clock periods

  • Expanded version context recognition to support is/ist/est/es copula patterns and software-version label

Fixed

  • Fixed plural initialisms such as IDs, PCs, and ICs being misclassified as chemical formulas

  • Fixed French and Italian two-digit year date rendering to use two-digit expansion

  • Fixed Spanish currency grouping to accept comma-grouped decimals with three-digit tails

  • Fixed coordinate sequence priority and phone sequence priority to use correct precedence levels

  • Restricted bare-dot ordinal detection to German to prevent false ordinals in other locales

  • Fixed English date context detection to exclude pieces and diluted as non-date right-context

Quality

  • Added explicit coverage, documentation, artifact, wheel, and downstream release gates

  • Improved Polynorm and Proteno benchmark evaluation with numeric lexeme and sequence coverage

[0.2.7] - 2026-08-16

Added

  • Added Russian runtime support for locale-aware numbers and reviewed measurement quantities

Fixed

  • Fixed direct prepare() keyword validation to match PreparationConfig

  • Removed stale package manifest metadata and added distribution-content checks

  • Fixed plural initialism shapes such as IDs being misclassified as chemical formulas

  • Fixed explicit English leading-decimal signs and digit-wise precision for readings such as .3 and .02

Documentation

  • Documented the abbr2words 0.2.9 release boundary and configuration policy modes

  • Documented Russian identifiers, morphology boundaries, dependency ownership, and caller-managed currency

Quality

  • Added explicit coverage, documentation, artifact, wheel, and downstream release gates

  • Improved maintainability with shared date validation and dead-code cleanup

  • Added Russian regression coverage for grammar boundaries, protections, mapping, and fail-closed domains

[0.2.6] - 2026-08-14

Added

  • Added conservative acronym mode for context-aware initialism handling

  • Added contextual long-number mode for intelligent verbalization of 4+ digit numbers

  • Added registered acronym mode for controlling registered initialism expansion

  • Added bibliographic citation and reference sequence recognizers

  • Added decade rendering with natural English ordinal decade forms

  • Added duration recognition for HH:MM:SS timestamp formats

  • Added score recognition for sports results with contextual plausibility checks

  • Added chained score recognition for multi-set or multi-game results

  • Added software version recognition for named software packages

  • Added spaced ISBN label recognition for OCR or speech-recognized text

  • Added German Roman numeral title rendering for monarchs and popes

  • Added parenthesized initialism and ticker symbol recognition

  • Added superscript and Greek letter symbol rendering

  • Added additional Unicode fraction characters for fifths and sixths

  • Added compact license plate and vehicle code recognition

  • Added Google TN benchmark for English text normalization evaluation

  • Added benchmark ownership table with safety, extended, and quarantine gates

  • Added benchmark comparison identity validation and fresh report enforcement

Changed

  • Improved year detection with expanded temporal keyword context and bibliographic patterns

  • Improved formula recognition with balanced parenthesis context checking

  • Improved product code recognition with stronger label evidence requirements

  • Improved Roman numeral recognition with expanded context keywords for articles, acts, and scenes

  • Changed structured semantic precedence from regex iteration order to centralized precedence module

Fixed

  • Fixed fraction rendering to use natural word forms for fifths and sixths instead of Unicode fallback

  • Fixed formula recognition to reject fragments from unmatched parenthesized spans

  • Fixed slash fraction rendering to skip incomplete numerator or denominator matches

  • Fixed identifier separator handling to accept empty marker values

  • Fixed version literal detection to skip bare v-prefixed versions without contextual evidence

  • Fixed biology recognition to exclude temporal prepositions as false species markers

  • Fixed code recognition to classify vehicle-shaped codes with appropriate digit policies

Quality

  • Added Proteno diagnostic aggregates by rule, phase, ownership, and ambiguity family

  • Added PolyNorm ownership table documentation for comparison compatibility and quarantine policy

[0.2.5] - 2026-08-12

Added

  • Added Proteno benchmark suite with WER evaluation and data utilities

  • Added speech WER threshold configuration for benchmark evaluation

  • Added symbol handling parameters for configurable acronym and symbol processing

  • Added improved English date rendering with source-order preservation and decade support

  • Added Binder example with interactive Jupyter notebook

Changed

  • Improved number detection in sequences and structured text normalization

Fixed

  • Added contextual English single-dot release-label pronunciation while preserving ordinary decimal precision and multi-dot protection

Internal

  • Fixed pre-commit formatting and linting issues

[0.2.4] - 2026-08-11

Added

  • Added opt-in URL, e-mail, version, and contextual Roman rendering with caller protection

Changed

  • Added locale-aware rendering for sequences, fractions, numeric values, and identifiers

Documentation

  • Documented ownership boundaries, literal policy, benchmark diagnostics, and dependency requirements

Quality

  • Added precedence, no-false-claim, locale, source-mapping, specialist, and benchmark-equivalence diagnostics

[0.2.3] - 2026-08-10

Fixed

  • Fixed German extended quantity realization for square, cubic, hectare, and speed units with source-aligned mappings

Documentation

  • Documented active English kokorog2p semantic ownership and downstream G2P boundaries

Quality

  • Added a real run-level German kokorog2p gate for extended quantity parity and protected-span behavior

[0.2.2] - 2026-08-09

Added

  • Added parity-gated Spanish semantic normalization for reviewed numbers, units, temperatures, currencies, and numeric dates

  • Added Spanish parity and real kokorog2p es/la integration coverage with protected coordinate checks

  • Added parity-gated Italian semantic normalization for reviewed numbers, units, temperatures, currencies, and numeric dates

  • Added Italian parity and real kokorog2p integration coverage with protected coordinate checks

  • Added English locale with structured text normalization for dates, times, numbers, ordinals, quantities, temperatures, and currencies

  • Added Portuguese locale with dates, times, numbers, ordinals, quantities, temperatures, and currencies

  • Added Czech locale with dates, times, numbers, ordinals, quantities, temperatures, and currencies

Changed

  • Promoted Spanish kokorog2p preparation to structured and plain number ownership while keeping time expressions caller-managed

  • Promoted Italian kokorog2p preparation to structured and plain number ownership while keeping colon times caller-managed

Documentation

  • Documented Spanish migration ownership, the released abbr2words prerequisite, and downstream release readiness

  • Documented Italian migration ownership, the released abbr2words prerequisite, and downstream release readiness

Quality

  • Expanded API with structured normalization pipeline, text protection improvements, and comprehensive packaging and dependency tests

[0.2.1] - 2026-08-07

Added

  • Added French locale with dates, times, numbers, ordinals, quantities, temperatures, and currencies

  • Added French kokorog2p parity corpus and released downstream integration gate

Changed

  • Refactored structured text normalization to delegate locale-specific grammar to per-locale modules

Documentation

  • Promoted French kokorog2p number ownership to structured and plain after parity coverage

  • Updated limitations documentation with French language support details

[0.2.0] - 2026-08-07

Added

  • Added source replacement composition and abbr2words conversion helpers for offset mapping

  • Added German locale module with quantity grammar for units, currencies, and magnitudes

  • Added German structured text normalization for dates, times, currencies, temperatures, quantities, ordinals, and labels

  • Added kokorog2p integration with prepare_for_kokorog2p() adapter projection API

  • Added locale registry with stub modules for cs, en, es, fr, it, and pt

Fixed

  • Fixed pytest configuration for proper test execution

  • Fixed tomli dependency configuration for package installation

Documentation

  • Added kokorog2p migration guide with language ownership audit and integration boundaries

[0.1.0] - 2026-08-07

Added

  • Added core spoken form normalization with number verbalization, token annotations, and CLI

  • Added offset mapping, text protection, and spaCy model integration

  • Added structured text normalization for dates, times, currencies, and measurements with German locale support

  • Added configurable whitespace normalization policies and benchmark suite

Changed

  • Removed language detection and SSML features to simplify the API

Fixed

  • Fixed tomli dependency configuration for package installation

  • Fixed pytest configuration for proper test execution

Documentation

  • Added API reference, architecture guide, CLI docs, installation guide, and usage examples

Internal

  • Added CI workflow updates and pre-commit configuration

  • Added changelog documentation updates