stoat-release[bot]
b47e32f5c0
chore(main): release 0.15.3 ( #943 )
...
* chore(main): release 0.15.3
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-08-26 19:59:14 -07:00
Tom
ee4d998692
fix: discover errors and Removed field ( #944 )
...
add Removed status, and fully document locale for ContactSupport
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
2026-08-24 19:06:00 -07:00
stoat-release[bot]
a6232a2655
chore(main): release 0.15.2 ( #901 )
...
* chore(main): release 0.15.2
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-08-24 11:49:15 -07:00
Erik LaBine
aea1e75ed0
fix: audit log test failures when events sort out-of-order ( #933 )
...
fix: select specific audit log entries to fix nondeterministic sorting of audited events submitted too quickly
Signed-off-by: Assisting <erik@eriklabine.com >
2026-08-24 11:33:15 -07:00
Zomatree
405d9bdb8c
fix: send relationship info for bots ( #935 )
...
* fix: send relationship info for bots
Signed-off-by: Zomatree <me@zomatree.live >
* fix: dont allow bots to block users
Signed-off-by: Zomatree <me@zomatree.live >
* fix: always allow users to view bot's profile
Signed-off-by: Zomatree <me@zomatree.live >
---------
Signed-off-by: Zomatree <me@zomatree.live >
2026-08-24 11:07:09 -07:00
Zomatree
0bce9b332e
fix: store ratelimits in redis ( #934 )
...
* fix: store ratelimits in redis
Signed-off-by: Zomatree <me@zomatree.live >
* chore: remove old 0.8 handling
Signed-off-by: Zomatree <me@zomatree.live >
* fix: skip ratelimits in test environments
Signed-off-by: Zomatree <me@zomatree.live >
---------
Signed-off-by: Zomatree <me@zomatree.live >
2026-08-24 11:03:37 -07:00
Tom
793061685d
feat: implement discover endpoints ( #940 )
...
* feat: implement discover endpoints
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
Release-As: 0.15.2
2026-08-24 11:01:38 -07:00
infi
8e2eacb1b0
fix: internal server error when uploading AVIF ( #937 )
...
* fix: add avif feature to dependencies
the comment should also say decode, encode uses rav1e not dav1d
Signed-off-by: infi <infi@infi.sh >
* chore: upgrade to debian 13
Signed-off-by: infi <infi@infi.sh >
* fix: revert unrelated EOF newlines
Signed-off-by: infi <infi@infi.sh >
* ci: provide dav1d
also in nix
Signed-off-by: infi <infi@infi.sh >
* chore: move feature definition to autumn Cargo.toml
Signed-off-by: infi <infi@infi.sh >
* fix: avif feature also required in revolt-files
Signed-off-by: infi <infi@infi.sh >
---------
Signed-off-by: infi <infi@infi.sh >
2026-08-24 10:56:15 -07:00
stoat-release[bot]
6352f2924f
chore(main): release 0.15.1 ( #897 )
...
* chore(main): release 0.15.1
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-08-07 20:05:05 -07:00
stoat-release[bot]
a1628d7dd2
chore(main): release 0.15.0 ( #874 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-08-07 01:30:03 +01:00
Zomatree
ccfb5f1a62
feat: add an approximate member count to servers ( #884 )
...
* feat: add an approximate member count to servers
Signed-off-by: Zomatree <me@zomatree.live >
* fix: use approx member count on invites
Signed-off-by: Zomatree <me@zomatree.live >
---------
Signed-off-by: Zomatree <me@zomatree.live >
2026-08-05 00:14:05 -07:00
Tom
b0698a6b78
Merge commit from fork
...
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
2026-08-01 19:38:22 -07:00
stoat-release[bot]
d5ca4a0fd6
chore(main): release 0.14.3 ( #867 )
...
* chore(main): release 0.14.3
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-21 19:10:35 -07:00
stoat-release[bot]
3f393ea24b
chore(main): release 0.14.2 ( #864 )
...
* chore(main): release 0.14.2
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-18 15:17:18 -07:00
stoat-release[bot]
7784be21cc
chore(main): release 0.14.1 ( #862 )
...
* chore(main): release 0.14.1
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-17 23:09:15 -07:00
stoat-release[bot]
07217dfac4
chore(main): release 0.14.0 ( #798 )
...
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-07-15 00:22:18 -07:00
Zomatree
502203d37c
feat: Audit Logs ( #466 )
...
* fix: squash audit log branch changes
Signed-off-by: Zomatree <me@zomatree.live >
* feat: emoji edit + pronoun
Signed-off-by: Zomatree <me@zomatree.live >
* fix: use tokio instead of async-std
Signed-off-by: Zomatree <me@zomatree.live >
* feat: add slowmode to audit log
Signed-off-by: Zomatree <me@zomatree.live >
* chore: update comments on permissions
Signed-off-by: Zomatree <me@zomatree.live >
---------
Signed-off-by: Zomatree <me@zomatree.live >
2026-07-13 13:39:28 -07:00
Zomatree
21daf3aec6
fix: allow removing channel slowmode ( #836 )
...
Signed-off-by: Zomatree <me@zomatree.live >
2026-07-02 19:23:52 -07:00
Zomatree
01c7d925b0
chore: replace async-std with tokio ( #813 )
...
Signed-off-by: Zomatree <me@zomatree.live >
2026-06-24 13:38:20 +01:00
İspik
ffab2369ab
feat: add pronouns to user and server members field ( #811 )
...
Signed-off-by: İspik <ispik@ispik.dev >
2026-06-21 00:55:23 -07:00
Zomatree
d27917b824
chore: migrate authifier into codebase ( #658 )
...
Co-authored-by: izzy <me@insrt.uk >
Signed-off-by: Zomatree <me@zomatree.live >
Signed-off-by: izzy <me@insrt.uk >
2026-06-21 00:50:06 +01:00
Kenyon Hopkins
a7af24b38d
fix: channel role permissions fail with 400 InvalidOperation for server owners/admins ( #802 )
...
fix: channel role permissions fail with InvalidOperation for owners/admins
Fix: explicitly populate the server reference via
set_server_from_channel() before relying on server_ref().
Signed-off-by: bluecords <133072610+bluecords@users.noreply.github.com >
2026-06-20 11:34:54 -07:00
Kenyon Hopkins
0af376c26b
fix: server owner should bypass rank check on channel role-permission overrides ( #805 )
...
fix: allow true server owner to bypass rank check on channel role-permission overrides
The set_role_permissions route blocks editing a role's channel permission
overrides whenever role.rank <= the acting member's rank
(NotElevated), to prevent privilege-escalation loops.
However this check has no exemption for the server's true owner
(server.owner == user.id). If an owner has assigned themselves their
own top-level role (e.g. "Admin"/"Server Admin" - extremely common
since most server setups have the owner hold their highest role for
visible status/cosmetics), that role's rank is necessarily equal to
their own computed member rank, so the check incorrectly throws
NotElevated for the owner too - even though server owners by definition
outrank every role and every member, owner-held roles included.
This produces a confusing experience: the owner cannot edit channel-level
overrides for their own top role via the UI, with no clear explanation,
and may reasonably believe something is broken or their permissions are
miscconfigured (they aren't).
This adds a short-circuit: if the acting user is the server's owner,
skip the rank comparison entirely, matching how Stoat already treats
true ownership as an absolute bypass elsewhere in the permission system
(e.g. channel-visibility lockout cascades).
Signed-off-by: bluecords <133072610+bluecords@users.noreply.github.com >
2026-06-20 11:33:28 -07:00
Tom
c70459b10c
fix: openapi using old naming ( #777 )
...
* fix: openapi using old naming
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
* fix: remove january openapi security header
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
* fix(docs): more Revolt usage
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
---------
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
2026-06-07 16:56:00 -07:00
stoat-release[bot]
7937179db7
chore(main): release 0.13.7 ( #770 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-21 19:33:49 +01:00
stoat-release[bot]
03b52655ff
chore(main): release 0.13.6 ( #762 )
...
* chore(main): release 0.13.6
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 15:53:42 -07:00
Angelo Kontaxis
5b1985381a
chore: switch to lapin ( #767 )
...
* chore: begin switching to lapin fully
Signed-off-by: Zomatree <me@zomatree.live >
* chore: update rest of pushd to lapin
Signed-off-by: Zomatree <me@zomatree.live >
* chore: cleanup code
Signed-off-by: Zomatree <me@zomatree.live >
* chore: cleanup code
Signed-off-by: Zomatree <me@zomatree.live >
* fix: github webui sucks
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
---------
Signed-off-by: Zomatree <me@zomatree.live >
Signed-off-by: Tom <iamtomahawkx@gmail.com >
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
Co-authored-by: Tom <iamtomahawkx@gmail.com >
Release-As: 0.13.6
2026-05-18 15:46:17 -07:00
İspik
af0d8aad14
feat: user slowmode events ( #760 )
...
* feat: user slowmode events
Signed-off-by: ispik <ispik@ispik.dev >
* fix: remove debug print statement for slowmodes
Signed-off-by: ispik <ispik@ispik.dev >
* refactor: Send user slowmodes as websocket connects instead of trying to send it in ready payload
Signed-off-by: ispik <ispik@ispik.dev >
* refactor: optimize user slowmode handling with bulk operations
Signed-off-by: ispik <ispik@ispik.dev >
* chore: specify release version
Release-As: 0.13.6
---------
Signed-off-by: ispik <ispik@ispik.dev >
2026-05-18 14:51:43 -07:00
Tom
494c8b7cab
fix: Use proper headers to determine IP when not behind cloudflare ( #764 )
...
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
2026-05-18 10:51:19 -07:00
stoat-release[bot]
6c920de03a
chore(main): release 0.13.5 ( #759 )
...
* chore(main): release 0.13.5
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-17 11:02:21 -07:00
stoat-release[bot]
ee4575470b
chore(main): release 0.13.4 ( #754 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-16 18:27:44 +01:00
stoat-release[bot]
ab9b8ccfca
chore(main): release 0.13.3 ( #750 )
...
* chore(main): release 0.13.3
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-15 12:22:27 -07:00
Tom
7647cfc8d9
fix: don't automatically set up rabbitmq in delta ( #749 )
...
fix: don't declare queues which seem to cause the backend to crash in prod
for now, these exchanges/queues/bindings will need to be declared manually. Hopefully the lapin rewrite will fix this.
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
2026-05-15 12:17:36 -07:00
stoat-release[bot]
8157e1f6e9
chore(main): release 0.13.2 ( #747 )
...
* chore(main): release 0.13.2
* chore: update Cargo.lock
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 15:26:03 +01:00
stoat-release[bot]
260036488d
chore(main): release 0.13.1 ( #745 )
...
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 15:34:41 +01:00
Tom
1100eaf46f
fix: amqprs startup bug ( #744 )
2026-05-10 15:22:26 +01:00
stoat-release[bot]
d52e84c5d3
chore(main): release 0.13.0 ( #722 )
...
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-09 17:26:38 +01:00
Taureon
6f3441cf4a
feat: Add webhook endpoints for editing and deleting messages ( #682 )
...
* feat: ErrorType.CannotDeleteMessage, needed later
Signed-off-by: Taureon <taureon@noreply.codeberg.org >
* feat: webhook edit/delete message endpoints
Signed-off-by: Taureon <taureon@noreply.codeberg.org >
* lol, lmao even
Signed-off-by: Taureon <taureon@noreply.codeberg.org >
* fix contradictory comment
Signed-off-by: Taureon <taureon@noreply.codeberg.org >
---------
Signed-off-by: Taureon <taureon@noreply.codeberg.org >
Co-authored-by: Taureon <taureon@noreply.codeberg.org >
2026-05-08 15:37:00 -07:00
Gabriel
23ad135983
feat: add emoji rename endpoint ( #714 )
...
* feat: add rename endpoint with rename-only update
Signed-off-by: Gabriel <60961939+gabrielfordevelopment@users.noreply.github.com >
* fix: enforce detached emoji edit restrictions
Signed-off-by: Gabriel <60961939+gabrielfordevelopment@users.noreply.github.com >
* fix: always enforce emoji edit permissions
Signed-off-by: Gabriel <60961939+gabrielfordevelopment@users.noreply.github.com >
---------
Signed-off-by: Gabriel <60961939+gabrielfordevelopment@users.noreply.github.com >
2026-05-08 15:23:57 -07:00
Tom
ab5bd47a39
feat: Rewrite acks ( #741 )
...
* feat: rewrite ack system
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
* feat: rewrite acks to crond + rabbit task
* fix: review changes
---------
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com >
2026-05-08 14:39:16 -07:00
İspik
21d82018cf
feat: add legal links to root payload ( #733 )
...
Signed-off-by: ispik <ispik@ispik.dev >
2026-05-06 16:35:20 -07:00
İspik
841985d3b9
feat: add role icon support ( #724 )
...
Signed-off-by: ispik <ispik@ispik.dev >
2026-05-02 17:04:28 -07:00
İspik
279f5d5fd7
fix: add new_user_hours to configuration limits ( #729 )
...
Signed-off-by: ispik <ispik@ispik.dev >
2026-04-26 22:47:52 -07:00
Angelo Kontaxis
3675ff1a1f
chore: migrate all local dependancies to workspace dependancies ( #710 )
...
* chore: start moving all deps to workspace deps
Signed-off-by: Zomatree <me@zomatree.live >
* chore: migrate all deps to workspace deps
Signed-off-by: Zomatree <me@zomatree.live >
* chore: add more dep groups
Signed-off-by: Zomatree <me@zomatree.live >
* fix: add migration to update existing files to be animated (#705 )
* fix: add migration to update existing files to be animated
Signed-off-by: Zomatree <me@zomatree.live >
* Revert "fix: add migration to update existing files to be animated"
This reverts commit 4e1f1c116c .
Signed-off-by: Zomatree <me@zomatree.live >
* fix: calculate animated for existing files when fetched
Signed-off-by: Zomatree <me@zomatree.live >
---------
Signed-off-by: Zomatree <me@zomatree.live >
* fix: mise start + missing docker image (#564 )
* fix: mise start + missing docker image
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
* fix: bump livekit version
Signed-off-by: Damocles <106018783+Damocles078@users.noreply.github.com >
---------
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
Signed-off-by: Tom <iamtomahawkx@gmail.com >
Signed-off-by: Damocles <106018783+Damocles078@users.noreply.github.com >
Co-authored-by: Tom <iamtomahawkx@gmail.com >
* docs: update donation link (#709 )
Signed-off-by: Zomatree <me@zomatree.live >
* fix: remove usage of deprecated functions
Signed-off-by: Zomatree <me@zomatree.live >
---------
Signed-off-by: Zomatree <me@zomatree.live >
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
Signed-off-by: Tom <iamtomahawkx@gmail.com >
Signed-off-by: Damocles <106018783+Damocles078@users.noreply.github.com >
Co-authored-by: Damocles <106018783+Damocles078@users.noreply.github.com >
Co-authored-by: Tom <iamtomahawkx@gmail.com >
Co-authored-by: Paul Makles <me@insrt.uk >
2026-04-17 19:02:18 -07:00
stoat-release[bot]
61fd13629f
chore(main): release 0.12.1 ( #700 )
...
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-11 12:31:11 +01:00
stoat-release[bot]
4d4b0dd864
chore(main): release 0.12.0 ( #602 )
...
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-03-28 22:22:37 -07:00
Angelo Kontaxis
ccda6f5c53
fix: pass &str to Reference ( #697 )
...
Signed-off-by: Zomatree <me@zomatree.live >
2026-03-27 18:39:00 -07:00
Damocles
52ed5100c2
fix: improve generated openapi.json ( #584 )
...
* fix: /bots/{bot}
Paths "/bots/{bot}" and "/bots/{target}" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
* fix: /channels/{group_id}/recipients/{member_id}
Paths "/channels/{group_id}/recipients/{member_id}" and "/channels/{target}/recipients/{member}" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
* fix: /channels/{channel_id}/webhook
Paths "/channels/{target}/webhooks" and "/channels/{channel_id}/webhooks" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
* fix: /servers/{server_id}/members/{member_id}
Paths "/servers/{target}/members/{member}" and "/servers/{server}/members/{member}" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
* fix: /custom/emoji/{emoji_id}
Paths "/custom/emoji/{id}" and "/custom/emoji/{emoji_id}" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
---------
Signed-off-by: Damocles078 <hellodamocles078@gmail.com >
Signed-off-by: Damocles <106018783+Damocles078@users.noreply.github.com >
2026-03-27 17:31:57 -07:00
Angelo Kontaxis
91783b9066
fix: only show first line on commit messages ( #696 )
...
Signed-off-by: Zomatree <me@zomatree.live >
2026-03-27 17:29:37 -07:00
LazyCat
735d644e04
feat: Transfer ownership ( #396 )
...
* feat: Transfer ownership
Signed-off-by: LazyCat2 <68156188+LazyCat2@users.noreply.github.com >
* Allow privileged users to change ownership
Signed-off-by: LazyCat2 <68156188+LazyCat2@users.noreply.github.com >
* Require TOTP
Signed-off-by: LazyCat2 <68156188+LazyCat2@users.noreply.github.com >
* Require TOTP or password
Signed-off-by: LazyCat2 <68156188+LazyCat2@users.noreply.github.com >
---------
Signed-off-by: LazyCat2 <68156188+LazyCat2@users.noreply.github.com >
Signed-off-by: Tom <iamtomahawkx@gmail.com >
Co-authored-by: Tom <iamtomahawkx@gmail.com >
2026-03-27 17:24:53 -07:00