diff --git a/src/content/docs/index.mdoc b/src/content/docs/index.mdoc
index 23b0ae8..ed866ac 100644
--- a/src/content/docs/index.mdoc
+++ b/src/content/docs/index.mdoc
@@ -4,8 +4,8 @@ description: Learn what FOSSBilling is, where to start, and how to get involved
tableOfContents: false
banner:
content: |
- 0.8.3 is here! Check out the
- release notes
+ 0.8.4 is here! Check out the
+ release notes
and the 0.7 → 0.8 upgrade guide for details.
---
diff --git a/src/content/docs/maintenance/Updating/0-7-to-0-8.mdoc b/src/content/docs/maintenance/Updating/0-7-to-0-8.mdoc
index 3b0f074..9e34f03 100644
--- a/src/content/docs/maintenance/Updating/0-7-to-0-8.mdoc
+++ b/src/content/docs/maintenance/Updating/0-7-to-0-8.mdoc
@@ -504,6 +504,16 @@ Cron jobs now carry an `is_cron` flag, and the system no longer falls back to an
Custom modules that relied on admin-level permission fallback during cron runs (e.g. for subscription renewals, deposit payments) need review. Use the `is_cron` flag to determine context and ensure your module works with the correct identity during cron.
{% /aside %}
+## Admin Permissions Group Rework (0.8.4)
+
+Admin permissions have moved from per-user to a Doctrine-backed group model. Staff members can belong to multiple groups; permissions are set at the group level.
+
+{% aside type="caution" %}
+Custom modules or themes that check permissions directly via `$staff->hasPermission(...)` or inspect the `role`/`permissions` fields on the staff entity may need updating. The `manage_settings` permission is now enforced on extension configuration pages.
+{% /aside %}
+
+Existing staff group assignments are migrated automatically, with legacy non-admin staff from the old default group assigned to the **Migrated staff** group. For untouched legacy groups, `manage_settings` is backfilled on selected core modules where access was already granted to preserve prior behavior. After updating, review staff group assignments and permissions in the admin panel. Use the `has_permission` Twig function for template checks; in PHP, use the staff service's group-aware methods instead of reading the `permissions` field directly.
+
## Deprecations & Removals (Summary)
| Component | Status | Notes |
diff --git a/src/content/docs/maintenance/changelog.mdoc b/src/content/docs/maintenance/changelog.mdoc
index 7728ff7..a90810d 100644
--- a/src/content/docs/maintenance/changelog.mdoc
+++ b/src/content/docs/maintenance/changelog.mdoc
@@ -18,6 +18,23 @@ FOSSBilling publishes release notes and tagged versions on GitHub. Use the links
For the latest changes, start with the [most recent release](https://github.com/FOSSBilling/FOSSBilling/releases/latest).
+### Version 0.8.4
+
+| Area | Summary |
+|------|---------|
+| **Breaking: Admin Permissions** | Admin permissions reworked from per-user to a group-based model. Existing staff are auto-migrated to temporary groups on upgrade. Custom modules/themes checking permissions directly may need updating. |
+| **Security** | Server manager credentials masked in API/admin UI; `manage_settings` permission enforced on extension config pages; Stripe webhooks require signing secret; server manager input hardened |
+| **Stripe** | Recurring subscriptions via Setup Intents and webhooks; invoice paid webhook and currency normalization |
+| **Client Profiles** | Per-user timezone support; country code selector and number formatter; custom client fields sorted and cap raised to 20; custom client IDs exposed in API |
+| **Knowledge Base** | Migrated to Doctrine with improved search, view counts, and canned responses; Markdown-safe sanitization for ticket/KB messages |
+| **Admin UX** | Ticket replies editable with revision history; staff notification emails scoped to admin groups; ribbon-style suspended badges; rate limit management UI; Discord community button |
+| **Invoicing** | PDF invoice attachment to emails; configurable reminder intervals; zero-price order invoices; price validation at order creation; renewal price and duplicate-payment fixes |
+| **Bug Fixes** | MySQL 8.0.22+ REGEXP charset conflict in patches 67/74; registrar adapter autoloader fix; PayPal duplicate subscription handling; Product Promotions crash on NULL flags; domain double-activation fix; UpdatePatcher undefined method from 0.6.x upgrades; Twig 500 error pages; cron defaults on fresh installs; DirectAdmin account deletion recovery |
+| **Development** | Email, Extension, Support modules migrated to Doctrine; frontend JS migrated to TypeScript; document fields migrated to custom client fields |
+| **Dependencies** | Twig v3.28.0; CKEditor 5 v48.3.0; Sentry v4.29.0; Stripe PHP v20.3.1; PostCSS v8.5.16; Autoprefixer v10.5.2; Rector v2.5.5 |
+
+[View the full 0.8.4 release notes](https://github.com/FOSSBilling/FOSSBilling/releases/tag/0.8.4) for the complete list of changes.
+
### Version 0.8.3
| Area | Summary |