docs: release notes format and patch notes for v2.0.0-beta to v2.4.0-beta

This commit is contained in:
fsylvain committed 2026-09-30 03:11:37 +02:00
1 parent 142325730d
commit e0fa433ff9
6 files changed
+193

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
RenewCMS now knows who owns the workspace. The owner manages invites, including cancelling and renewing them, while every admin keeps the same access to content. A new Settings page shows which build is running.
## New
**Owner and admin roles**
- The first registered account is the owner. Everyone who joins through an invite is an admin.
- Only the owner can send, cancel or renew invites. Admins keep the same access to articles, images, the Users list, their Profile and Settings.
- There is exactly one owner. Roles can't be changed or transferred yet.
- Existing installs are migrated automatically: the oldest account becomes the owner and every other account an admin.
**Invite management**
- Pending invites get a Cancel invite action on the Users page. The invite link stops working.
- Expired invites get a Renew invite action. It sends a new email with a new personal link valid for 3 days, and the old link stays dead.
**Users list**
- The Users table and the mobile card list now show Email, Display name (a dash when empty), Role, Invite status and Created.
- A new role badge tells the owner and admins apart.
**Settings page**
- A new Settings page at `/settings` sits after Integration in the sidebar and the mobile drawer. It shows the version of the running build.
## Improvements and fixes
- The desktop account menu's icons, labels and check mark are now centred in their 32 px rows.
- The account menu follows the redesigned board: System, Light and Dark stay in both the menu and the mobile sheet.
- The article editor's toolbar scrolls horizontally on mobile instead of overflowing.
- The editor's last-saved label now moves from minutes to hours and days instead of counting minutes only.
## API
- `DELETE /v1/user/invite/{id}` cancels a pending invite and returns 204.
- `POST /v1/user/invite/{id}/renew` returns 200 with a new code, sets `expires_at` to now plus 3 days and `created_at` to now, and resends the invitation email.
- Changed: `POST /v1/user/invite` is now owner-only, like the two endpoints above. Other users get 403 with "Only the owner can do this."
- `GET /v1/settings` (authenticated, verified users) returns the running build's version.
- Changed: user objects from `GET /v1/user/`, `GET /v1/auth/me` and `POST /v1/auth/verify` now include `role` (`owner` or `admin`).
## Upgrading
- Replace the binary and restart. Your `.env` and SQLite file stay as they are.
- The database migrates itself on startup. It adds a `role` column to `users` and fills it in: the account with the lowest id becomes the owner, every other account an admin. A database that already has roles is left unchanged. Back up your SQLite file first as a precaution.
- Behaviour change: admins who joined through a v2.3.0-beta invite can no longer send invites.
- No new environment variables.
## Known limitations
- No endpoint changes or transfers the owner role, and users can't be removed yet.