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