v0.9.31
Plugin OAuth onboarding reaches first-run usability — the two blockers found while verifying Yahoo! JAPAN Ads on an agency install — plus the configure correctness/UI fixes that landed alongside.
Added
- Operator-supplied loopback callback URL for plugin OAuth (#216) — the wizard binds the operator-registered loopback port and sends that URL verbatim as the
redirect_uri(exact match providers require), validated loopback-only, with a clearcallback_port_unavailableerror and saved-URL pre-fill on re-auth. - Authenticate-is-save for plugin OAuth providers (#217) — Authenticate now persists the submitted form values together with the obtained token in one atomic write; no Save button, read-only token status, OAuth
target_fieldexempt from required-validation. First-time setup no longer deadlocks. - Scope-aware required-validation for plugin credentials (#211) — a field a multi-account backend scopes out of the dashboard is no longer required-enforced on save; standalone installs unchanged.
- Materialize the credentials file at the runtime path on wizard completion (#210).
Fixed
- Dashboard toasts now render above page content (#214) — the toast overlay moved to body level so it is visible regardless of scroll position.
Full Changelog: v0.9.30...v0.9.31