[1.3.0] - 2026-09-14
⚠️ Breaking (client identity)
- The first-party OAuth2 clients are renamed:
vue-client→fulla-portal(user portal) andadmin-console→fulla-admin-console(admin console). Deployments upgrading from ≤ 1.2.0 must rename the existing rows once so consents and tokens keep pointing at a live client (run before or right after starting the new version — the startup seeder fills in whatever is still missing):
UPDATE oauth2_clients SET client_id = 'fulla-portal' WHERE client_id = 'vue-client';
UPDATE oauth2_client_scopes SET client_id = 'fulla-portal' WHERE client_id = 'vue-client';
UPDATE oauth2_clients SET client_id = 'fulla-admin-console' WHERE client_id = 'admin-console';
UPDATE oauth2_client_scopes SET client_id = 'fulla-admin-console' WHERE client_id = 'admin-console';Frontend deployments compiled with VITE_CLIENT_ID=vue-client must rebuild with the new id (the Docker images ship fulla-portal by default).
⚠️ Breaking (environment variables)
FULLA_VUE_CLIENT_SECRET/FULLA_VUE_REDIRECT_URIare renamed toFULLA_PORTAL_CLIENT_SECRET/FULLA_PORTAL_REDIRECT_URI; the old names remain honored as deprecated aliases. New:FULLA_ADMIN_CONSOLE_REDIRECT_URIregisters the admin console's production redirect URI.
Added
- Startup seeding of config-declared OAuth2 clients (#204): production had no path from the plugin config's
clientsblock to the database, so a freshly deployed server failed login at code issuance with3001. A startup seeder now inserts config-declared clients (both first-party clients ship declared in all configs) idempotently — production deployments no longer need any manual client SQL.
Fixed
- Registration no longer leaves users guessing about email verification: the success screen now persists, names the address the verification email was sent to, and links to login explicitly.
Commit-level changes
- oauth2: Rename first-party clients to fulla-portal / fulla-admin-console
- oauth2: Declare fulla-portal + fulla-admin-console in all shipped configs
- frontends: Portal client id becomes fulla-portal, admin becomes fulla-admin-console
- user: Tell users to verify their email after registration
- main: Correct OAuth2Plugin lookup and expose clients seed config publicly