Skip to content

Release history

Chatto releases

Chat app for teams and communities

All releases

79 shown

No immediate action
v0.4.17 Bug fix

Bottom sheet fix + latency reduction

No immediate action
v0.4.16 Bug fix

Thread badge distinction

No immediate action
v0.4.15 Bug fix

Frontend bug fixes

No immediate action
v0.4.14 Bug fix

NATS streams + frontend UI fixes

No immediate action
v0.4.13 Mixed

Audio share + bugfixes + release chore

Review required
v0.4.12 Bug fix
RBAC

Bug fixes: core, frontend, PWA

Review required
v0.4.11 Bug fix
Auth

Frontend + presence bug fixes & asset restriction

No immediate action
v0.4.10 Bug fix

Bug fixes 0.4.10

Config change
v0.4.9 Bug fix
Auth

Bug fixes + projection performance

Review required
v0.4.8 Bug fix
Auth Crypto / TLS

Bug fixes in multiple modules

No immediate action
v0.4.7 Mixed

Frontend bug fixes + performance

No immediate action
v0.4.6 Mixed

Performance + bug fix

No immediate action
v0.4.5 Mixed

Bug fixes + performance improvements

No immediate action
v0.4.4 Bug fix

Bug fixes 0.4.4

Review required
v0.4.3 Bug fix
Auth

api, frontend, metrics bug fixes

No immediate action
v0.4.2 Bug fix

api, frontend, push bug fixes

No immediate action
v0.4.1 Bug fix

Bug fixes in api, frontend, read-state

v0.4.0 Breaking risk
⚠ Upgrade required
  • Migrate existing GraphQL clients to ConnectRPC endpoints; update configuration accordingly.
  • Review operator user administration changes when enabling socket‑backed admin features.
Breaking changes
  • Replace GraphQL with ConnectRPC across api surface
  • Consolidate and reshape ConnectRPC public API types, packages, and server profile responses
  • Split ConnectRPC packages and clean up related calls
Notable features
  • Universal rooms added
  • Filter event log in admin UI
  • Add protobuf realtime websocket for api
Full changelog

0.4.0 (2026-07-06)

⚠ BREAKING CHANGES

  • api: consolidate ConnectRPC surface (#1306)
  • api: clean up server assets calls and includes (#1303)
  • api: consolidate shared api shapes (#1302)
  • api: consolidate shared public API types (#1299)
  • api: consolidate public ConnectRPC API (#1295)
  • api: polish ConnectRPC API for 0.4.0 (#1224)
  • operator: add socket-backed operator user administration (#1164)
  • api: reshape server profile responses (#1185)
  • api: split ConnectRPC packages (#1179)
  • api: replace GraphQL with ConnectRPC (#1166)
  • api: use optional timeline presence fields (#1110)

Features

Bug Fixes

  • api: address 0.4.0 surface review findings (#1228) (bd054ff)
  • api: align ConnectRPC permission exposure (#1246) (cf2eca7)
  • api: centralize Connect room RBAC in core (#1149) (8ba5b0c)
  • api: close ConnectRPC RBAC gaps (#1207) (da0b129)
  • api: include user status in generated docs (#1092) (52521fa)
  • api: make ConnectRPC plumbing idiomatic (#1123) (338f573)
  • api: preserve offline presence in snapshots (#1172) (7fce244)
  • api: tighten ConnectRPC caller auth (#1126) (bb8c10d)
  • assets: prevent protected attachment caching (#1261) (e3c6eed)
  • assets: serve protected assets through stable gateway (#1264) (744e93e)
  • attachments: crop extreme image thumbnails (#1181) (d5dd244)
  • auth: add structured unauthenticated GraphQL errors (#1048) (510c07d)
  • auth: reject empty-user runtime credentials (#1201) (43b569c)
  • calls: preserve call on tab takeover (#1284) (451929d)
  • ci: gate release-please on green ci (#1135) (4decb0f)
  • conductor: use workspace port for Storybook (#1290) (c5ba4dc)
  • connectapi: harden message post migration (#1097) (b15fb14)
  • connectapi: harden timeline and thread read handling (#1117) (ba027fe)
  • connectrpc: cap request message size (#1102) (a773531)
  • connectrpc: reject missing read anchors (#1109) (f2f68b9)
  • core: complete service inventory metrics (#1130) (9bc89f3)
  • core: prevent read marker regressions (#1107) (cb81d58)
  • dockercompose: enable LiveKit TURN relay (#1190) (51eb5e7)
  • docs: keep release note cards in grid lanes (#1204) (a6c79df)
  • frontend: address svelte guidance review (#1154) (d8c4010)
  • frontend: align call control button colors (#1085) (4b7f37e)
  • frontend: align muted call participant icon (#1050) (68cea04)
  • frontend: clarify echo reply actions (#1253) (5a2b264)
  • frontend: clarify iOS PWA push setup (#1192) (2416a41)
  • frontend: clarify remote push notification support (#1105) (bfdbdea)
  • frontend: clear call-wide mode on notification navigation (#1291) (db09a62)
  • frontend: constrain current user card height (#1239) (1b536b9)
  • frontend: defer camera permission until enabled (#1243) (2145a95)
  • frontend: defer unread separator until return to the room (#1079) (9535694)
  • frontend: handle API auth failures gracefully (#1269) (e82c554)
  • frontend: harden asset proxy token handling (#1054) (8797c65)
  • frontend: ignore stale DM member loads when switching rooms (#1065) (b4264b7)
  • frontend: improve call presence indicators (#1257) (696a92e)
  • frontend: improve extreme image thumbnails (#1227) (d5c596d)
  • frontend: improve LiveKit media error handling (#1281) (94a86c0)
  • frontend: improve unread channel contrast (#1089) (74247b4)
  • frontend: localize date formatting (#1242) (cfc96ec)
  • frontend: make attachment remove control subtle (#1265) (6537c27)
  • frontend: make scrollbars follow selected theme (#1152) (9c5fa16)
  • frontend: polish error and missing media states (#1267) (b9dabba)
  • frontend: preserve touch composer line breaks (#1194) (8c62c70)
  • frontend: quiet console warning noise (#1280) (4df7b85)
  • frontend: reconcile notification badge dismissals (#1058) (13c7a6e)
  • frontend: reconcile PWA notification badges (#1229) (e44645e)
  • frontend: refresh messages after local deletions (#1148) (cefc22a)
  • frontend: remove redundant universal room badge (#1052) (5f6131e)
  • frontend: reset inline code state when composer clears (#1251) (0dddeaa)
  • frontend: restore circular avatars with stable presence dots (#1252) (14b15b9)
  • frontend: restore default text smoothing (#1268) (b3a6dc3)
  • frontend: restrict same-tab message links (#1068) (d43d23f)
  • frontend: restyle reply attribution preview (#1140) (909c1f4)
  • frontend: share unread marker lifecycle with threads (#1310) (07c3601)
  • frontend: show loading state for call media toggles (#1237) (9063832)
  • frontend: stabilize new messages separator (#1308) (c35ed86)
  • frontend: stabilize tab resume catch-up (#1288) (b70916d)
  • frontend: style room member search clear button (#1226) (e43f615)
  • frontend: submit simple message edits with enter (#1129) (f5651b4)
  • frontend: sync presence badge across tabs (#1301) (5fbfb22)
  • frontend: sync room thread follow bell state (#1121) (4048f23)
  • frontend: use direct ticketed asset URLs (#1312) (b41eb1d)
  • frontend: use full-width image galleries (#1247) (f5fe88a)
  • frontend: use semantic presence colors (#1259) (ccf64db)
  • frontend: wire UI strings to i18n (#1225) (7eafcd3)
  • media: preserve video aspect ratios (#1254) (8a85f0a)
  • messages: validate reply targets before posting (#1176) (2919a1a)
  • notifications: clear read notifications server-side (#1297) (c6f3c30)
  • notifications: preserve unread badge state across dismissals (#1069) (03444e3)
  • pwa: reduce service worker reload churn (#1187) (5489e47)
  • reactions: canonicalize echo reaction targets (#1272) (2b87044)
  • release: publish release before updating tap (#1298) (c5c8aa6)
  • voice: scope LiveKit observations to active calls (#1049) (dcd95c8)

Performance Improvements

  • build: improve frontend and CLI cache reuse (#1106) (f22da3a)
  • core: cache unwrapped DEKs per request (#1193) (0623831)
  • core: slim timeline projection memory (#1287) (cd026ff)
  • frontend: load room members in larger batches (#1206) (f465a09)
  • frontend: split chat code from app chrome (#1103) (4a4a4de)

Code Refactoring

No immediate action
v0.3.8 Mixed

Bug fixes + performance

No immediate action
v0.3.7 Breaking risk

GraphQL error logging removed

No immediate action
v0.3.6 Performance

Timeline projection reduction

No immediate action
v0.3.5 New feature

LiveKit sharing + frontend enhancements

No immediate action
v0.3.4 Mixed

Scoped sign-out + bug fixes + perf boost

No immediate action
v0.3.3 Maintenance

Routine maintenance and dependency updates.

Review required
v0.3.2 Bug fix
RBAC

Reply quote preservation + GraphQL permission enforcement

No immediate action
v0.3.1 Bug fix

Frontend bug fixes + notifications

v0.3.0 Breaking risk
Breaking changes
  • sidebar: now lists rooms only visible via `room.list`
Notable features
  • Added simple and rich composer modes
  • Gated message attachments with `message.attach`
  • Improved linked message previews
Full changelog

0.3.0 (2026-06-18)

⚠ BREAKING CHANGES

  • sidebar: list rooms visible via room.list (#961)

Features

Bug Fixes

  • composer: preserve trailing hashes in headings (#967) (3028cb2)
  • frontend: align chat control border radii (#968) (5bc44df)
  • frontend: improve blockquote styling (#973) (441706c)
  • frontend: route room badges from scoped notifications (#972) (8bb1cc1)
  • tighten sidebar item spacing (#975) (8aab581)
No immediate action
v0.2.3 New feature

Notification sound + composer submit + push routing

No immediate action
v0.2.2 Mixed

Group org + Sidebar links + Error logs

No immediate action
v0.2.1 Breaking risk

CLI reset removal + bug fixes

Config change
v0.2.0 Breaking risk
Breaking upgrade

Docker mount change + Markdown + notifications

Config change
v0.1.0 Mixed
Auth

Bearer tokens + UI fixes

No immediate action
v0.0.193 Bug fix

Frontend link cleanup + composer disable

No immediate action
v0.0.192 Bug fix

Scroll fades + attachment URLs

No immediate action
v0.0.191 Bug fix

Missed messages fix

No immediate action
v0.0.190 Bug fix

Attachment URL refresh

No immediate action
v0.0.189 New feature

NATS CLI in docker

Config change
v0.0.188 Bug fix
Auth

Cross‑origin attachment fix

No immediate action
v0.0.187 New feature

Room seeding

No immediate action
v0.0.186 Maintenance

Routine maintenance and dependency updates.

No immediate action
v0.0.185 Bug fix

Backfill video records

Review required
v0.0.184 Bug fix
Auth

Attachment download auth fix

No immediate action
v0.0.183 Maintenance

release-please adoption

v0.0.182 Breaking risk
⚠ Upgrade required
  • Persisted events and notifications now reserve `space_id`; ensure downstream consumers handle the reserved field.
Breaking changes
  • Removed `space_id` field from live-only event protocol definitions
Notable features
  • Frontend auto-reloads client on new version when user is idle
  • Refactored asset uploads to drop `space_id` (Phase 4)
  • Added `Room.kind` enum and switched room resolvers off `space_id`
Full changelog

Changelog

⚠️ Breaking Changes

  • b998f2f515e44c90606797d4e24f59b1e19d043c: refactor(proto)!: drop space_id from live-only event protos (#568) (@hmans)

Features

  • 391fe3ff0eb7bee3f7da0dcc1925ac082b26c191: feat(frontend): auto-reload client on new version when user is idle (#570) (@hmans)

Other

  • 34df4677b0ad27038afbd56535a317155c413c05: refactor(assets): drop space_id from new attachment uploads (Phase 4) (#572) (@hmans)
  • de362f8e5a8cc2a6f4d26fad33fe8d0afa64bce6: refactor(proto): add Room.kind enum; switch room resolvers off space_id (#569) (@hmans)
  • c58e0bd71618be54d73e433aefb756893e2b00e7: refactor(proto): reserve space_id on persisted events + notifications (#571) (@hmans)

Released by GoReleaser.

v0.0.181 Breaking risk
Breaking changes
  • Removed duplicate AdminQueries fields for Server role in graphql (#561)
  • Changed joinRoom mutation return type from Boolean to Room in graphql (#564)
  • Deleted AdminQueries.userRoles field in graphql (#557)
Full changelog

Changelog

⚠️ Breaking Changes

  • ae4f6c4c7f223ddb1115ee3a0004b7731fb2f692: refactor(graphql)!: drop AdminQueries duplicates of Server role fields (#561) (@hmans)
  • 18fb1389be41220bb42bd0780e808fa105555c92: refactor(graphql)!: joinRoom returns Room instead of Boolean (#564) (@hmans)
  • 0c1489f4eeef9ac163f0442bdf8f5bb2ffee05b5: refactor(graphql)!: remove duplicate AdminQueries.userRoles (#557) (@hmans)
  • e031620c7e977c9aef5864d3532d4c5ab5540d32: refactor(graphql)!: rename ConnectionInfo.serverID to serverId (#555) (@hmans)
  • db159b765f60c481006dbb550e5606333b4ba17e: refactor(graphql)!: rename Query.user(id:) argument to userId (#563) (@hmans)
  • 50a8ade4ca1ec0cadb1baea47611f375edbf60df: refactor(graphql)!: rename editMessage to updateMessage (#562) (@hmans)
  • cd77568ec0362a3e17b69e2606048cf7ee0c7d06: refactor(graphql)!: rename role to roleName in permission inputs (#556) (@hmans)
  • 709a56c779e6fe73eef6acaa9a5e6ed5192eda57: refactor(graphql)!: rename thread-root references to threadRootEventId (#558) (@hmans)
  • cd0378ae7be43d646e1b33ca00888a61f1578a43: refactor(graphql)!: standardize permission list names on group inspectors (#559) (@hmans)
  • ee3ba83ce233140b23b1409ccee1167d0d548c10: refactor(graphql)!: wrap deleteAvatar and clearUsernameCooldown in Input objects (#560) (@hmans)

Other

  • 45feff19fb10abf4d86c93fd02fe1d5270fd1048: refactor(core): collapse rbac sub-package + unify scoped permission writes (#566) (@hmans)

Released by GoReleaser.

No immediate action
v0.0.180 Bug fix

Frontend dialog stability fixes

No immediate action
v0.0.179 Breaking risk

User card redesign + UI fixes + terminology renames

Review required
v0.0.178 Mixed
RBAC

Cmd‑K entries + sidebar move + bug fixes

Review required
v0.0.177 New feature
Auth RBAC Crypto / TLS

core, frontend, dev, natsauth, RBAC

No immediate action
v0.0.176 Mixed

Tombstone messages + presence‑driven read marker

No immediate action
v0.0.175 Mixed

Rooms grouping + store sync

No immediate action
v0.0.174 Breaking risk

Space tier retirement + GraphQL refactor + Subscriptions collapse

No immediate action
v0.0.173 New feature

Header hover + Emoji Recently Used + Subscriptions recovery

Review required
v0.0.172 Breaking risk
Auth Breaking upgrade

Server edit window + group collapse + permission fix

Review required
v0.0.171 Breaking risk
Auth RBAC

Unified RBAC + Resizable Sidebar + MOTD update

No immediate action
v0.0.170 Mixed

Instance config change + branding consolidation

No immediate action
v0.0.169 Breaking risk

SpaceEvent → ServerEvent

No immediate action
v0.0.168 Breaking risk

RoomEvent rename + spaceId removal

No immediate action
v0.0.167 Breaking risk

Space type removal

No immediate action
v0.0.166 Maintenance

Routine maintenance and dependency updates.

No immediate action
v0.0.165 Maintenance

Routine maintenance and dependency updates.

No immediate action
v0.0.164 Bug fix

DM exclusion + reply scrolling

No immediate action
v0.0.163 Mixed

Migration phases + sidebar refactor

No immediate action
v0.0.162 Breaking risk

SERVER_EVENTS per-space

No immediate action
v0.0.161 Maintenance

Routine maintenance and dependency updates.

No immediate action
v0.0.160 New feature

Primary‑aware subject dispatch

No immediate action
v0.0.159 Breaking risk

Attachments migration

No immediate action
v0.0.158 Breaking risk

SERVER_ per-message KVs

No immediate action
v0.0.157 Bug fix

E2E flake fixes

No immediate action
v0.0.156 Breaking risk

Config rename

No immediate action
v0.0.155 Bug fix

Encryption key restore report

No immediate action
v0.0.154 New feature

--include-keys flag

No immediate action
v0.0.153 New feature

Drag‑to‑dismiss + slide‑in sidebar

No immediate action
v0.0.152 Mixed

Quick-switcher enhancements + link-preview fix

No immediate action
v0.0.151 New feature

Auto-focus navigation

No immediate action
v0.0.150 Mixed

Sidebar collapsible + DM visibility + auto‑join

No immediate action
v0.0.149 Breaking risk

Auto‑join + drop createSpace

No immediate action
v0.0.148 Maintenance

Routine maintenance and dependency updates.

No immediate action
v0.0.147 Mixed

Seeding + dialog alignment + DM order fix

Beta — feedback welcome: [email protected]