From a5b843d6f9f8c5f6b5cf5e6ddc1d211065beb91c Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Wed, 8 Apr 2026 19:19:02 -0700 Subject: [PATCH] =?UTF-8?q?docs:=20v0.40.0=20release=20=E2=80=94=20i18n,?= =?UTF-8?q?=20notifications,=20thinking=20display=20(#184)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Nathan Esquenazi --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ static/index.html | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e96f52..ae76436 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,35 @@ --- + +## [v0.40.0] — 2026-04-09 + +### Features +- **i18n — pluggable language switcher** (PR #179): Settings panel now has a + Language dropdown. Ships with English and Chinese (中文). All UI strings use + a `t()` helper that falls back to English for missing keys. The login page + also localises — title, placeholder, button, and error strings all respond to + the saved locale. Add a language by adding a LOCALES entry to `static/i18n.js`. +- **Notification sound + browser notifications** (PR #180): Two new settings + toggles. "Notification sound" plays a short two-tone chime when the assistant + finishes or an approval card appears. "Browser notification" fires a system + notification when the tab is in the background. +- **Thinking / reasoning block display** (PR #181, #182): Inline `` + and Gemma 4 `<|channel>thought…` tags are parsed out of assistant + messages and rendered as a collapsible 💡 "Thinking" card above the reply. + During streaming, the bubble shows "Thinking…" until the tag closes. Hardened + against partial-tag edge cases and empty thinking blocks. + +### Bug Fixes +- **Stray `}` in message row HTML** (PR #183): A typo in the i18n refactor left + an extra `}` in the `msg-role` div template literal, producing `
`. + Removed. +- **JS-escape login locale strings** (PR #183): `LOGIN_INVALID_PW` and + `LOGIN_CONN_FAILED` were injected into a JS string context without escaping + single quotes or backslashes. Now uses minimal JS-string escaping. + +--- + ## [v0.39.1] — 2026-04-08 ### Bug Fixes diff --git a/static/index.html b/static/index.html index 9452d0f..a01fa20 100644 --- a/static/index.html +++ b/static/index.html @@ -14,7 +14,7 @@