Security
- security(mcp): Revoke MCP access when any granted org removes a user (#3962)
- security(deps): Patch Next.js image RCE, DOMPurify, OTel, virtualenv (#3965)
- security(api): Add AES-256-GCM option for database encryption (#3983)
Case management
- fix(cases): Keep search focused while results load (#3978)
- fix(cases): Show a neutral empty state when case search times out (#3980)
- perf(cases): Speed up case text search with stored search vectors (#3998)
- perf(cases): Match case search typos through stored word lists (#4004)
- fix(infra+cases): Support IBM Cloud's ibm_extension schema (#4014)
Agents
- fix(agents): Enforce the shared MCP tool discovery timeout (#3744)
- feat(agents): Steer a running turn from chat (#3944)
- feat(agents): Add session command table and store (#3961)
- feat(agents+ui): Restore builder chat tab on agent presets (#3963)
- feat(agents): List pending messages and expose withdraw to UI extensions (#3970)
- fix(agents): Show missing provider credentials as a chat error (#3975)
- fix(agents): Route managed OpenRouter, Ollama, vLLM, LiteLLM models (#3981)
- feat(agents): Run stdio MCP servers through a pluggable runner (#3986)
- feat(agents): Run Slack, comment and MCP agents on the selected backend (#3990)
- feat(agents): Gate non-default agent backends by entitlement (#3991)
- feat(agents): Share the session sink and add caller-owned turn results (#3992)
- refactor(agents): Drop the agent-runtime feature flag (#3993)
Core actions
- revert(actions): Deduplicate by whole item when keys is empty (#3966)
Integrations
- feat(integrations): Add Spur Context API templates (#3997)
- feat(integrations): Expand Fleet REST API coverage (#3999)
Engine
- feat(engine): Execute Git sync with durable background receipts (#3740)
API
- fix(api): Guard workspace Git writes against branch races (#3737)
- refactor(api): Separate Git sync preparation from import commits (#3738)
- feat(api): Preserve reviewed Git sync snapshots and stale guards (#3739)
- feat(api): Expose durable Git sync operations and paginated diffs (#3741)
- fix(api): Map named unique violations and sanitize database errors (#3911)
- fix(api): Preserve action descriptions in workflow definitions (#3928)
- feat(api+ui): Require security keys and passkeys for sign-in (#3941)
- fix(api+ui): Require Publish before first workflow Git push (#3950)
- feat(api): Configure managed resources source and list its tags (#4009)
- fix(api): Release the database session before streaming chat events (#4013)
User interface
- feat(ui): Review and resume background Git sync operations (#3742)
- feat(ui): Move workflow published time into row timestamps (#3976)
- refactor(ui): Standardize create and delete button labels (#3979)
Infrastructure
- infra: Run the Git sync background worker (#3708)
- fix(infra): Reparent the WebAuthn MFA migration onto the command table (#3973)
- docs(infra): Add self-hosting support checklist page (#3974)
- refactor(infra): Use transaction-scoped advisory locks (#4003)
- feat(infra): Add managed resource side tables (#4008)
Observability
- fix(logging): Stop logging secret ciphertext in workflow validation (#3988)
- fix(logging): Stop logging decrypted GitHub and GitLab credentials (#3989)
Dependencies
- build(deps): Bump temporalio to 1.34.0 (#3996)
- build(deps): Pin temporalio to 1.32.0 (#4001)
- build(deps): Bump authlib, litellm, pymongo and others for advisories (#4002)
Full changelog: 1.3.0-alpha.4...1.3.0-alpha.5