Repository navigation
v16.0.0
TL;DR
Language codes become standard BCP 47 tags such as zh-CN, zh-TW and en-US, making Traditional Chinese a translation target of its own.
Breaking Changes
- Language codes: stored data, AI settings and API output now use language-region tags (
zh-CN,en-US,ja-JP) instead of bare codes (zh,en,ja). Aliases such asjp,cnandenglishare no longer accepted, andtwnow means Akan, not Taiwan. Migration: let the release-phase migration run before the new pods start; clients that comparesourceLang,availableTranslationsortargetLangagainst bare codes must map tags by language and script (Yohaku already ships this). @mx-space/ai1.0.0:normalizeLanguageCodeandnormalizeTargetLangare removed. Migration: switch tocanonicalizeLanguageTag,assertLanguageTagandmatchLanguage.
Highlights
Traditional Chinese is no longer folded into Simplified. Add zh-TW to the translation target languages and visitors browsing in Traditional Chinese receive a Traditional translation, while Simplified readers keep the original text. Every language code is generated by the runtime's own locale data, so no hand-written alias table can drift out of date.
Requests are matched by language and script, preferring the same region. A visitor asking for en-GB gets the en-US translation, zh-HK gets zh-TW, and zh-SG gets the Simplified original. Search, summaries, insights and narration follow the same rule, so regional browser settings no longer miss content that exists.
The admin AI overview shows one column per language even while rows written in the old format remain, and in-flight tasks line up with those columns. Language inputs in the admin validate and normalize what you type, rejecting codes that are not real languages.
Changes
Features
- Unify language codes on BCP 47 language-region tags, with
zh-TWas an independent translation target (#2894)
Bug Fixes
- Regional language requests such as
en-GBnow find the matching search documents and narration source text (#2894)
Upgrade Notes
- Migration
0047_language_tag_bcp47rewrites existing language codes in place. Where an old and a new code collide on the same article (for example azhand azh-CNsummary), the most recently written row is kept. It has no down migration; rolling back the code only makes old pods fall back to the original text. - Values the migration cannot map are left unchanged and reported with
RAISE NOTICE. - Visitors browsing in Traditional Chinese no longer see the Simplified summary when no Traditional summary exists.
- Release the matching Yohaku web and mobile versions together with this server release.
Full Changelog: v15.7.0...v16.0.0