- Rename VIEWER role to COMMISSIONER throughout (schema, middleware,
admin layout, users page); add psql pre-migration step in entrypoint
to rename the PostgreSQL enum value without data loss
- Install postgresql-client in Docker runner stage for psql access
- Login page: fetch sbLogo from settings API instead of hardcoded path
- Password change for all authenticated users:
- New PATCH /api/users/me endpoint (verifies current password, hashes new)
- Change Password button/modal on /my-squares page
- Change Password link in admin sidebar (links to /my-squares)
- New password_change email template (seeded, editable in admin)
- sendPasswordChangedEmail auto-email triggered on change
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>