0.72.0
Installing with pnpm works the first time
Verbaly stops bringing esbuild into your project, which made pnpm add fail on a build script nobody asked for. verbaly.lock merges itself after two branches translated in parallel, <br> works however you write it, and a visitor gets the language they read even when your list has only a close variant of it. Breaking: Verbaly now needs Node 22.12 or newer.
- Installing with pnpm works the first time. Verbaly no longer brings esbuild with it, so
pnpm add @verbaly/vitestops failing on a build script you never asked for, and the install is about 12 MB lighter. Averbaly.config.tskeeps working, and so do its imports written without an extension. - A merge no longer breaks
verbaly.lock. When two branches translated in parallel, Verbaly reads both sides of the conflict, keeps every draft either side had, and the nextextractwrites the file whole. Add it to the commit that resolves the merge. <br>works however you write it.<br>,<br/>and<br />are all line breaks in rich messages, in the files you send to translators and inverbaly check. Before,<br>vanished and<br />showed up as text.- Visitors get the language they read. A browser or a request in
zh-HKnow gets your Traditional Chinese, andptorpt-PTgets yourpt-BR, instead of falling back to English. - Faster builds. The Vite plugin and
@verbaly/unpluginread each file once instead of twice. - Breaking: Node 22.12 or newer. Node 20 reached its end of life in April 2026, and the frameworks Verbaly supports already ask for Node 22.
- A TypeScript config loads with jiti, so esbuild leaves the install
- Every package needs Node 22.12 or newer
- verbaly.lock reads both sides of a merge conflict, and the next command that writes it writes both
- resolveLocale and negotiateLocale match by likely script and region, then by a sibling in the same script
- The Vite plugin and unplugin parse each file once per build
- <br> and <br /> are line breaks in rich messages, in check and in the XLIFF export
- The compiler README and the Agent Skill still named the old state file