v111.36.0
Pre-release
Pre-release
·
26 commits
to develop
since this release
111.36.0 (2026-08-17)
Features
- ai-chat: voice (speech-to-text) providers — per-tenant voice provider, actionable dictation errors, 8 new provider plugins incl. local OSS servers (a99188b)
- dashboard: React Time Tracking dashboard — full parity with the Angular tab (6507a2a)
- settings: tenant-wide "Preferred UI" (Angular vs React) switch (2122cf1)
- shell: "+ Create" at the band's leading edge, compact brand row, chrome hairlines, AI chat expanded by default with per-user server-side state (a538598)
Bug Fixes
- ai-chat: sentence join in the dictation failure message (c99efa2)
- api: keep structured error bodies + real statuses; pin the API bundle's swc target (86135a0), closes #9782
- ci: give build-monorepo-root the same 180-minute timeout as its siblings (c6a50ee), closes #9993 #9995
- docs: load a document by id under TypeORM 1.0 so its title can be edited (3768b88), closes #9793
- migration: plain sqlite ADD COLUMN default (no parenthesised expression) (2de60d0)
- react-tt: no backticks inside the styles template literal (DeepScan NON_REFERENCE_LHS) (4087c70)
- ui: DeepScan — normalise nullable window rows once, drop an unused import (11ab37d)
- ui: pages fit beside the expanded AI chat (or scroll inside the canvas), contact wizard step 4, Expenses toolbar / columns / filter inputs (fdcb246), closes #7631
- bot review round (CodeRabbit / cubic / CodeQL) — 30 findings (e2ed590)
- bot review round 2 — 13 findings on the fix commits (b7bd6b6)
- bot round 3 — depth bound covers nested arrays; carousel track gap reads --gz-rtt-slide-gap (ea64127)
- review round — sanitized error bodies, catalogue base URL, settings-page edge cases, one merged migration (877f3b5)
Documentation
- ui-react: cspell — initializer (9b8fd38)
What's Changed
- feat(ui): React Time Tracking parity + tenant Preferred-UI switch, AI voice providers, chat state per user, shell/layout fixes by @evereq in #9989
- fix(ci): give build-monorepo-root the same 180-minute timeout as its siblings by @evereq in #9996
Full Changelog: v111.35.16...v111.36.0