Changelog¶
Notable changes to Polyglossa, newest first.
The format follows Keep a Changelog. A version is the day the
data was exported from Wiktionary, year.month.day; the API changes only through deprecation.
[Unreleased]¶
Added¶
- Script detection, as Wiktionary's
findBestScriptdoes it:Language.detectScript(text)among the language's scripts, andScript.detect(text)andCatalog.detectScript(text)for any language. In Swift,detectScript(_:)andScript.detect(_:); in Python,detect_script(text)andScript.detect(text). Script.ranges, the code points of a script fromModule:scripts/data, withcontainsandcount, andScript.marks, the characters that tell Traditional from Simplified Han, from Unicode 18.0.0's Unihan.script_rangesandscript_marksin the SQL dump.- Documentation at docs.fenakhay.com/polyglossa, with every example in Kotlin, Swift and Python and the Kotlin API reference, and a logo.
Fixed¶
familyof an etymology-only variety whose parent is another variety, such as American English, is that of the nearest parent with one, here English's, instead of none.
2026.11.6 — 2026-11-06¶
Added¶
Language,LanguageFamily,ScriptandVariety: English Wiktionary's languages, etymology-only varieties, families and scripts, looked up withLanguage.of("en"),Language["xx"],Language.named("Old English")and"ang" in Language, and linked to one another.Catalog, the set they come from:Catalog.BUNDLED, built in frompolyglossa/data/catalog.tsv, itsdate, andfromExports,fromTsvandtoTsvfor others.catalogDumpandcatalogCheck, which record Wiktionary's data and say when it has changed.catalogDumprewrites the catalog only when the data has changed, adds the release toCHANGELOG.md, and fails without writing when an export cannot be read or comes back cut short.- A weekly workflow that fetches Wiktionary's data and, only when it has changed, checks it, tags it and
publishes the release. Run by hand with
release, it releases whatCHANGELOG.mdhas unreleased even when the data is the same. - A Swift package,
Polyglossa, with the same types, read from the samecatalog.tsv. - A Python package,
polyglossa, for Python 3.11 and up, with the same types. sqlDump, which writes the catalog as SQL for SQLite, PostgreSQL and MySQL.spec/expectations.json, which the Kotlin, Swift and Python tests all check their answers against.