21.0.0 (2026-10-30)
Features
- add system_state table (3c5c523)
- annotations: add DECISION and AGENT kinds (#17306) (9e7a797)
- auth: enable auth by default without requiring PHOENIX_SECRET (#16737) (c9c7353)
- cost-tracking: fetch the model cost manifest at runtime (#17019) (bae8382)
Bug Fixes
- annotations: type experiment-run annotator kind like the others (3fdddc6)
- auth: apply PHOENIX_DEFAULT_ADMIN_INITIAL_PASSWORD when upgrading an unchanged default admin (840d2b9)
- auth: end OAuth2 sessions on security events but not on browser sign-out (16f01b8)
- auth: reject a bad deployment seed without assert (a3cb270)
- auth: replace existing password reset token atomically on creation (986ecf0)
- auth: sign OAuth2 login-context cookie and bind it to state (4d7fbfc)
- cost-tracking: deduplicate manifest entries during parse and protect skipped models (68eb063)
- cost-tracking: keep serving when the bundled manifest fails to apply at startup (31fa7af)
- cost-tracking: preserve $0 token prices in manifest sync and SpanCost (ab0ca46)
- cost-tracking: require input and output fallback prices in ManifestModel (246c654)
- cost-tracking: resolve pattern reassignments and swaps in _upsert_models (63178c4)
- cost-tracking: soft-delete retired built-in models referenced by SpanCost (bd3743c)
- db: normalize sqlite:/// URLs in sqlite_migration_engine (b5d027d)
- db: ORM deletes follow the foreign keys' ON DELETE rules (#16680) (94f8396)
- db: require user_id on api_keys and password_reset_tokens (#16680) (6576858)
- db: run alembic's SQLite migrations through sqlean (#16875) (27b4c5c)
- db: stop deduplicating prompt versions that differ only by custom provider (#16680) (4e76cdc)
- email: replace assert-bound assignments in email_sender_from_env (4fb526b)
- server: bind dual-stack in ThreadServer when host is :: (7a54be2)
Documentation
- clarify facilitator bootstrap comments (4953903)
- document secret re-entry after setting or changing PHOENIX_SECRET (6a89188)
- remove contribute, environments, and non-competitive FAQ pages (#17423) (843bfc7)
- remove Phoenix user guide page (#17430) (edcd9a3)
- show star-history rank and trending badges side by side in README (#17421) (5c35d40)
- streamline v21 migration guidance (f9df18f)