Chatto
Self-hosted team and community chat with built-in voice and video calls
Alternative to: slack, discord, microsoft teams
About
Versions (100)
v0.1.0-rc.0
2026-06-16This release candidate focuses on making Chatto 0.1.0 more dependable for real self-hosted and Chatto Cloud use before the final 0.1.0 release.
Highlights
Sign-in and Setup
- External Login Providers: Chatto now supports multiple external login providers, including OIDC, GitHub, GitLab, Google, and Discord. Server operators can expose those providers directly on the login page.
- Better Default Configs: New
chatto initconfigs are more production-ready, with clearer defaults for logging, storage, CORS, and embedded NATS. - Stricter Config Checks: Configuration validation is stricter, so invalid secrets, URLs, origins, and integration settings are caught at startup instead of failing later.
Permissions and Administration
- Permissions Update: The permissions model is simpler and more predictable: owners keep full control, and explicit denies now win for everyone else.
- Prometheus Metrics: Prometheus-compatible metrics are available for operators who want visibility into readiness, websocket activity, NATS, projections, services, and process health.
Calls and Realtime Reliability
- More Reliable Calls: Voice calls are more resilient when multiple server replicas are running, and stale call events are less likely to affect a newer call.
- Call Timeline Notices: Rooms now show call started and call ended notices in the timeline.
- Reconnect Recovery: After reconnecting or waking from sleep, the current room refreshes from server state so missed messages, thread updates, and projected state are less likely to go stale.
Chat Polish
- Remembered Sidebars: Sidebar visibility preferences are remembered on desktop.
- Smarter Mentions and Previews: Mentions and link previews now ignore Markdown code and quoted text, reducing accidental notifications and previews.
- Edit Window Guard: Pressing ArrowUp no longer starts editing a message after its edit window has expired.
- Safer Concurrent Changes: Several concurrency fixes make reactions, room names, and room organization more reliable under simultaneous changes.
Upgrade Notes
- Review Permissions: Server operators should review existing role, user, and room permission overrides after upgrading because permission resolution changed.
- Check Config Files: Existing hand-edited config files may need cleanup if they contain malformed values that older versions accepted.
- Review GraphQL Changes: Client developers should review the generated changelog below for GraphQL breaking changes around
viewer, live event subscriptions, and event delivery cursors.
0.1.0-rc.0 (2026-06-16)
⚠ BREAKING CHANGES
- refresh current room on reconnect (#878)
- auth: stabilize cookie session auth (#883)
- simplify RBAC permissions (#880)
Features
- add per-process Prometheus metrics (#877) (34a88e5)
- auth: support external auth providers (#873) (ff2fb06)
- make LiveKit reconciliation resilient (#869) (82a5bc9)
- show call lifecycle notices in room events (#867) (b652c4f)
Bug Fixes
- auth: stabilize cookie session auth (#883) (376a268)
- cli: improve generated chatto config defaults (#872) (7ba64b7)
- config: tighten chatto config validation (#868) (8b45012)
- core: align projection snapshots with OCC (#864) (f805493)
- frontend: prevent expired edit via ArrowUp (#879) (bbae3aa)
- ignore markdown code mentions and previews (#866) (37933cb)
- refresh current room on reconnect (#878) (8066af7)
- remember sidebar visibility preferences (#862) (ec13041)