Changelog
v0.1.0 (2026-08-01)
Features
- web: add public profile and status pages (bca0b30)
- polls: add federated poll support (c903772)
- moderation: add reports and instance rules (3a99e9e)
- moderation: add account suspension and domain rules (905551b)
- api: add PostgreSQL status search (2da5615)
- api: add scalable trending link previews (c6f750e)
- api: add federated profile directory (8fb8e3c)
- api: add scalable cached trends (8fe042f)
- api: add trending hashtags (718e0c1)
- api: add status interaction account lists (9a5b09f)
- web: split admin account views (f248e8d)
- web: adopt daisyUI components (83101f5)
- web: integrate tailwind css (6261996)
- web: add profile submenu (fdbec54)
- statuses: add scheduled publication (4aa5cfd)
- web: show build and session details (ec1e8b0)
- admin: add operations interface (3adc0e6)
- federation: hydrate remote thread context (a6f0e6c)
- web: migrate authentication flows to Leptos (1d0a507)
- web: focus welcome pages on instance (77bb372)
- web: add server-rendered Leptos frontend (bc7ec71)
- accounts: expose known remote follow graph (ae195e0)
- notifications: add Mastodon notification policies (7eefb1f)
- add grouped notifications (05f48b0)
- add Mastodon-compatible lists (fad41a7)
- push: add Mastodon-compatible web push (3e9b631)
- add federated featured hashtags (30e6c30)
- add federated pinned posts (11cb011)
- http: expose build version information (bd03937)
- statuses: add consent-aware quote posts (1e53cc8)
- tags: add cached remote hashtags (4921b5d)
- statuses: linkify web URLs (88506d3)
- statuses: add edit history (ba850d8)
- feed: add federated posts and Mastodon-compatible timelines (8ce4695)
- moderation: support remote accounts and domain suspension (5f05957)
- streaming: add PostgreSQL multi-process fan-out (d1b6182)
- federation: support follower-only statuses (8eda82d)
- statuses: support mixed remote reply contexts (cb67319)
- add remote account search (cbc9834)
- federation: harden inbox replay and delete repair (89dff03)
- add remote direct conversations (a31d879)
- project remote custom emojis (83b3ddb)
- cache remote status media safely (524ed1e)
- process remote actor lifecycle activities (3386d9f)
- advertise profile image media types (d303bf3)
- cache remote profile media (79acd25)
- enrich local actor profiles (82fa655)
- federation: publish profile images (360d5d0)
- worker: add concurrent job processing (50c1ed8)
- federation: cache remote media attachments (9dc4fca)
- federation: support remote boosts (75b90be)
- accounts: paginate remote follow requests (0a1c7ee)
- federation: harden remote follow processing (0551979)
- federation: support remote replies and mentions (376e648)
- notifications: support remote status references (c31d48a)
- federation: expose remote follow collections (d82bbf5)
- federation: cache and stream remote statuses (9850019)
- federation: deliver status lifecycle activities (de2429a)
- deploy: enable caddy access logs (cd69541)
- deploy: add production health checks (55affa9)
- federation: support wildcard domain policy (cf963f0)
- deploy: add optional production elk (4c124b7)
- deploy: add optional production phanpy (fc24618)
- auth: add self-service password changes (3f41525)
- rename project to roosty (b1dc121)
- federation: add safe remote actor discovery (24d5078)
- add local mutes and blocks (45dc394)
- add timeline markers (fedd0df)
- add local hashtag support (a746c8f)
- add local direct conversations (85b7042)
- tighten cursor pagination links (c80f38b)
- add local boost timelines (aa37897)
- add local notifications (5fa5129)
- improve profile and status compatibility (35e8449)
- add local media previews (b43d781)
- add collection cursor pagination (6e34847)
- add local follows and account pages (53d41ce)
- add local account search and mentions (39d61a7)
- add local status bookmarks (99f767f)
- add local status favourites (eebab1c)
- improve local status semantics (0d57199)
- add local status timelines (c86f061)
- add mastodon compatibility endpoints (22a6930)
- persist account preferences (9ea86c4)
- implement the nodeinfo API (b029d09)
- add local Elk OAuth development flow (5774333)
Fixes
- release: generate changelog from correct release (f65cf49)
- web: stable profile header (2fcf285)
- release: render raw commits inline (7afe57f)
- release: use available Rust toolchain (81cbcd5)
- web: improve public profile navigation and metadata (01d3793)
- jobs: coordinate trend refresh scheduling (82b1583)
- web: enable hashed asset references at runtime (9b232a4)
- web: hash browser assets (a68edb1)
- ci: restore container build cache (2b9ee81)
- ci: force cached build tool installs (fbb2c97)
- admin: load mixed account dashboard (57fd456)
- docs: render compatibility tables in columns (578451c)
- web: raise Leptos recursion limit (3e51ea9)
- oauth: support forced account login (4b2d178)
- release: omit v prefix from container tags (093bafe)
- release: check out tag before publication (4d058b3)
- federation: accept template-only WebFinger links (ddee5cb)
- push: accept Elk JSON subscriptions (d263bc7)
- deliver replies to remote authors (2e35828)
- federation: preserve delegated mention handles (a92c506)
- http: allow cross-origin PUT requests (b1757eb)
- statuses: complete edit delivery lifecycle (8aa9e2c)
- subscriptions: honor follow delivery options (a11352f)
- streaming: publish status edit events (01f293b)
- statuses: expose source for editing (8af3d57)
- auth: support toot OAuth login (678732b)
- align direct conversation mutations (8e45a70)
- validate federated profile images (6a193a0)
- federate profile fields (8bdc21e)
- expose account creation timestamps (0f2c396)
- auth: accept empty profile image parts (a1d04d6)
- deploy: preserve phanpy oauth callbacks (3f97243)
- federation: align ActivityStreams wire format (5d771ae)
- federation: serialize ActivityStreams properties (cc2176f)
- deploy: self-host phanpy and secure elk (a923937)
- deploy: prevent phanpy redirect loop (5193228)
- deploy: reload caddy configuration (98724cc)
- deploy: correct ansible deployment paths (bf01362)
- stream notification-only events (d653a82)
- parse profile updates with axum params (2e92119)
- add account lookup route (342563c)
Refactoring
- server: extract database context from app state (8980fed)
- db: add explicit transaction boundaries (643528d)
- transactions: move ownership to handlers (a63e2c0)
Documentation
- add note about type prefix for import name clashes (cad9909)
- note large-scale instance design target (97d065d)
- link to Rita follow page (a3e92a1)
- separate account creation and sign-in (1e03222)
- separate user and administrator guides (b8cc231)
- expand installation and compatibility guides (15f394d)
- require documentation updates (d7f6493)
- publish Antora site with GitHub Pages (23f61c8)
- execute documented version bump (2adb2a2)
- use cargo release for versioning (026cb53)
- include Ansible version in releases (476283f)
- add release workflow (3f02dce)
- streamline project overview (8d09483)
- format README content (f75b83f)
- track scheduled posts and explore gaps (1771137)
- align remote follow graph roadmap with Mastodon (416242b)
- push: clarify support and operations (3e2b2aa)
- agents: require transactions for database reads (a85d559)
- add error handling guidelines (fbe3385)
- update agent instructions (d3cb8cf)
- require dependency version checks (011ddba)
- add apache-2.0 license (c8626a9)
- track multi-process support (168c898)
- note timeline pagination follow-up (2a97059)
- note compatibility targets (51f61c6)
- add roadmap and compatibility status (440b35f)
Tests
- federation: box delivery futures (e1bae6a)
- web: follow emitted hashed bundle path (ac997ef)
- db: avoid temporary database drop race (ed51b7d)
- federation: cover worker recovery (57505da)
- federation: cover remote follow lifecycle (8d548ec)
- db: correct retry backoff cap (dfbe1a8)
- cover follow streaming notifications (901e54d)
Build
- pass in git information (fce84c7)
- deps: bump dtolnay/rust-toolchain from 1.96 to 1.100 (9bd240b)
- deps: bump actions/configure-pages from 5 to 6 (b827eb3)
- deps: bump actions/deploy-pages from 4 to 5 (44a3807)
- deps: bump actions/setup-node from 6 to 7 (dd1266e)
- deps: bump actions/upload-pages-artifact from 4 to 5 (044d6ed)
- web: pin wasm-opt version 131 (8422938)
Continuous Integration
- expose GitHub token to tests (c993890)
- cache Rust build artifacts (3fede4c)
- install frontend tools from binaries (5a1d7eb)
- release: cache archive builds (05fbfbc)
- release: install build tools with cargo-binstall (b0b54f2)
- publish versioned release containers (1c35741)
- validate main and pull requests (5218f72)
- fix multi-architecture image publishing (b4915b1)
- lint rust workspace (a0194b9)
- use stable rust toolchain (3d3ac25)
- parallelize container builds (a170c3f)
- update buildkit cache action (aef801c)
- persist cargo build cache mounts (5cbcced)
- add container and release workflows (4f64041)
Maintenance
- release: prepare v0.1.0 (3a44a20)
- minor cleanups (cb2e96a)
- clean up (43c0060)
- release: prepare v0.1.0-alpha.3 (7f0c7ea)
- release: prepare v0.1.0-alpha.2 (e8531ba)
- release: prepare v0.1.0-alpha.1 (8716cc1)
- minor cleanups (cbfe442)
- deploy: add default setting for workers (df85353)
- send profile updates (dccf317)
- clarify error conversion guidance (18cfd0f)
- add instructions about multi-instance (a2d3dd7)
- add header image (8b657b4)
- deploy: add local phanpy client (a68485a)
- update repository agent notes (083eb4a)