0.5.0-beta.21 (2026-10-25)
Features
- api: add short public discovery URL (#3154) (92fa0aa)
- client: bound room and thread stores with a recently-used limit (#3160) (585b46f)
- client: keep thread timelines live and report load errors (#3149) (3b84f67)
- client: publish Apache-2.0 client packages to npm (#3135) (181a521)
- client: report bot presence and separate broadcast mentions (#3170) (ebc9ac7)
- desktop: synchronize releases with Chatto (#3172) (bff3b33)
- frontend: expand pinned messages into room information (#3131) (7a31dd6)
- import: add Slack imports with historical threads and reactions (#3133) (bf075e0)
- import: reuse message idempotency for historical imports (#3171) (f88012f)
- messages: make keyed sends safe to retry across transports (#2880) (1d355e1)
Bug Fixes
- bots: use owner authority for managed room joins (#3134) (369802b)
- ci: keep media image pins local to each branch (#3144) (446e6b9)
- client: read the server version again at each realtime catch-up (#3169) (742cf9b)
- frontend: enforce the message attachment limit in the composer (#3168) (57028ee)
- frontend: fall back gracefully from missing audio devices (#3141) (ccba55a)
- frontend: keep composer focus while a message sends (#3163) (e0ab8fe)
- frontend: keep Escape within the active modal (#3126) (fa386da)
- frontend: label profile text as About (#3159) (355e231)
- frontend: preserve DM conversations during thread navigation (#3136) (533e16c)
- frontend: show featured call participants once in sidebar (#3127) (ddc9649)
- frontend: simplify password prompts and validation messages (#3152) (f3eeee2)
- frontend: sort direct messages by latest activity (#3167) (4ae93dd)
- tooling: pin Node 24.22.1 for Brotli security fix (#3145) (9df433b)