Skip to content

0.1.0 - 2026-09-06

Choose a tag to compare

@github-actions github-actions released this 06 Sep 17:45
v0.1.0
4e38aa1

Release Notes

First release.

Added

  • Normalizer (normalize, annotate) with Options (region,
    abbreviation expansion, caller lexicon) and the spell module
    (cardinal, ordinal, year, digits) — design §5.
  • CLDR/ICU rule-based number formatting (RBNF) interpreter, verified
    against ICU4C over every public spellout ruleset of the vendored locales
    (tools/icu-diff, 0 mismatches in 546,208 tuples).
  • German (de): every semiotic class of design §7.2 and §7.6 with the
    §7.3 case/gender agreement — cardinal, year, ordinal, decimal, money,
    percent, degrees, measure, time, time range, date, range, score,
    telephone, long digit runs, abbreviations, Unicode and slash fractions,
    clinical Roman numerals, scientific notation, powers, chemical formulae,
    math expressions, ratios/titers/blood pressure, dose schemes,
    repetition, angles/coordinates, paragraph signs; docs/rules/de.md.
  • Dotted number class (Token::Dotted): section and version numbers
    (2.3, 3.10, 1.2.7) read group by group with "Punkt"/"point"/
    "punct" between the groups (3.10 → "drei Punkt zehn"). Grouped
    cardinals (1.000), decimals (2.3 in English) and dates are
    unaffected.
  • Token::class() returns the semiotic class name, used for the CLI's
    annotate column and JSON field.
  • Digital units: KB, Mbit, Gbit, kbit, Tbit, bit/Bit,
    byte/Byte aliases in all three languages and the bps spellings
    (100 Mbps → "einhundert Megabit pro Sekunde"); GB, MB, TB, kB
    already came from CLDR.
  • Time zones: a zone name after a time stays as written (14:30 CET,
    2:30 PM EST; fixtures), and a UTC/GMT offset reads as an expression
    (12:00 UTC+2 → "zwölf Uhr UTC plus zwei"; MathItem::Word).
  • Digit groups (Token::DigitGroups): a 16-digit card number
    (4111 1111 1111 1111, all languages) and a US SSN (123-45-6789, en)
    read digit by digit with a pause between groups.
  • Scale words with money and counts (Token::Scale, Money::scale,
    Token::Scaled): 2,5 Mrd. € → "zwei Komma fünf Milliarden Euro",
    $2.5 billion → "two point five billion dollars", 3 mil. lei → "trei
    milioane de lei", 1,2 Mio. Einwohner → "eins Komma zwei Millionen
    Einwohner".
  • Electronic class (Token::Electronic, design §7.2, highest priority):
    emails, scheme:// URLs, www. and bare domains with a known TLD, IPv4
    addresses and @handles read symbol by symbol with per-language names
    (@ at, . Punkt/dot/punct, / Schrägstrich/slash/bară, …), letters
    as written, digits one by one; electronic.tsv fixtures per language.
  • Slash fractions with denominators 13–99 (1/13 → "ein Dreizehntel",
    31/32 → "thirty-one thirty-seconds", 3/20 → "trei douăzecimi"); en
    1/4th with the ordinal suffix.
  • English: YYYY/M/D dates, H:MM:SS as counted hours, minutes and
    seconds, $.01 amounts, email addresses with a path. German: a scale
    word before a unit (2 Millionen km/h → "zwei Millionen Kilometer pro
    Stunde"), also lower-case. Found by the second-opinion oracle run.
  • ISO year-month (2003-03) reads as a Date ("März zweitausenddrei",
    "March two thousand three", "martie două mii trei"); Token::Date::day
    is Option<u8>.
  • English (en) with en-US/en-GB date order (§7.4); docs/rules/en.md.
  • Romanian (ro) with gender agreement and the "de" construction (§7.5);
    docs/rules/ro.md.
  • Vendored CLDR 48.2.1 tables generated by cargo xtask gen (Unicode
    License v3, see NOTICE); cargo xtask check-data guards staleness.
  • verbalize CLI: normalize, annotate (--json), survey; prebuilt
    binaries for Linux, macOS and Windows with shell/PowerShell installers
    on every GitHub release (cargo-dist).
  • Golden fixtures per class and language (verbalize/tests/fixtures/),
    idempotence and no-digits-in-output property tests, a criterion bench,
    and tools/oracles/ (text-processing-rs, num2words, PyICU, NeMo) as
    second-opinion review aids.

Install verbalize-cli 0.1.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/relu/verbalize/releases/download/v0.1.0/verbalize-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/relu/verbalize/releases/download/v0.1.0/verbalize-cli-installer.ps1 | iex"

Download verbalize-cli 0.1.0

File Platform Checksum
verbalize-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
verbalize-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
verbalize-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
verbalize-cli-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
verbalize-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum