Stoat
Open source, user-first chat platform and Discord alternative
Alternative to: discord
About
Versions (55)
v0.9.0
2026-01-100.9.0 (2026-01-10)
Features
- add id field to role (#470) (2afea56)
- add ratelimits to gifbox (1542047)
- include groups and dms in fetch mutuals (caa8607)
- include member payload in ServerMemberJoin event (480f210)
- initial work on tenor gif searching (b0c977b)
- make message lexer use unowned string (1561481)
- ready payload field customisation (db57706)
- require auth for search (b5cd5e3)
- trending and categories routes (5885e06)
- voice chats v2 (#414) (d567155)
Bug Fixes
- add license to revolt-parser (5335124)
- allow for disabling default features (65fbd36)
- apple music to use original url instead of metadata url (bfe4018)
- apply uname fix to january and autumn (8f9015a)
- ci: publish images under stoatchat and remove docker hub (d65c1a1)
- correct miniz_oxide in lockfile (#478) (5d27a91)
- correct shebang for try-tag-and-release (050ba16)
- correct string_cache in lockfile (#479) (0b178fc)
- don’t remove timeouts when a member leaves a server (#409) (e635bc2)
- don’t update the same field while trying to remove it (f4ee35f), closes #392
- github webhook incorrect payload and formatting (#468) (dc9c82a)
- implement Serialize to ClientMessage (dea0f67)
- newly created roles should be ranked the lowest (947eb15)
- permit empty
removearray in edit requests (6ad3da5) - preserve order of replies in message (#447) (657a3f0)
- prevent timing out members which have TimeoutMembers permission (e36fc97)
- relax settings name regex (3a34159)
- remove authentication tag bytes from attachment download (32e6600)
- rename openapi operation ids (6048587), closes #406
- respond with 201 if no body in requests (#465) (24fedf8)
- swap to using reqwest for query building (38dd4d1)
- use
trust_cloudflareconfig value instead of env var (cc7a796) - use our own result types instead of tenors types (a92152d)