Skip to content

Fulla v1.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Sep 13:16
· 1 commit to master since this release

[1.3.0] - 2026-09-14

⚠️ Breaking (client identity)

  • The first-party OAuth2 clients are renamed: vue-clientfulla-portal (user portal) and admin-consolefulla-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_URI are renamed to FULLA_PORTAL_CLIENT_SECRET / FULLA_PORTAL_REDIRECT_URI; the old names remain honored as deprecated aliases. New: FULLA_ADMIN_CONSOLE_REDIRECT_URI registers 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 clients block to the database, so a freshly deployed server failed login at code issuance with 3001. 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