Changelog entry
Alliance join now requires leader/officer approval
2026-03-19
- Replaced instant alliance joining with an application workflow: joining from `/alliances` now submits a pending request instead of granting immediate membership.
- Alliance leaders and officers can now approve or reject pending membership applications from `/alliances/[id]`.
- Applicants now see clear request state on the alliance directory (`Pending`, `Approved`, or `Declined`) until resolution.