v0.2.0
Chatto 0.2.0 improves Markdown composition, notification counts, DM room tools, room navigation, authentication defaults, email delivery, and Docker self-hosting.
Highlights
- Markdown Composer Preview: Compose and edit messages with a rich Markdown preview for links, inline code, fenced code blocks, language selection, and syntax highlighting.
- Notification Counts: Room and server notification dots now show counts.
- DM Room Sidebar: Direct messages now support the room sidebar for files, without DM moderation actions.
- Fixed an issue where active call badges were not shown consistently for direct-message rooms.
Sign-In and Setup
- Email OTP Guardrails: Operators can configure email verification code TTLs, delivery throttling, wrong-code limits, and whether throttling is enabled.
- Fixed an issue where CSRF state depended on stored session data, improving multi-replica compatibility.
- Fixed an issue where SMTP providers requiring implicit TLS on port 465 were not supported cleanly.
Chat and Realtime Reliability
- Fixed an issue where opening a notification from another server could reuse stale room state.
- Fixed an issue where newly created rooms and room layout changes did not always refresh immediately in the same tab.
- Fixed an issue where normal server shutdown logged redundant lifecycle messages.
Upgrade Notes ⚠️
- Docker Runtime Layout: Self-hosted Docker deployments should mount configuration at
/config/chatto.tomland data at/data; older/home/chatto-style mounts need to be updated before upgrading.
API Changes
- Notification count support adds
Room.viewerNotificationsandServer.viewerNotifications. Existing notification fields remain available.
0.2.0 (2026-06-17)
⚠ BREAKING CHANGES
- docker: use config and data root paths (#903)
Features
- add notification badge counts (#909) (f25a69d)
- auth: configure email OTP throttling (#902) (8c2d202)
- frontend: preview Markdown in composer (#876) (06afedb)
- show room sidebar in DMs (#912) (32222fa)
Bug Fixes
- auth: make CSRF tokens stateless (#900) (a2da80c)
- ci: checkout docs image PR refs (#906) (a2af9a2)
- docker: use config and data root paths (#903) (c90f0d9)
- frontend: remount room on notification switch (#908) (fcba838)
- frontend: show active call badges for DMs (#899) (a7299e1)
- refresh room layout state after room creation (#907) (7cd94d2)
- support implicit SMTP TLS (#905) (d7d83b1)
- tidy server lifecycle logs (#914) (2b95bf4)