Release 0.5.52 — Deep Links, Session Refresh Fix, Slack Escalation Fix, Configurable Metrics Port
Released: 2026-07-15 Chart:
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering:0.5.52Previous release: 0.5.51
Highlights
0.5.52 adds deep links across the Agents surface so resource editors can be shared and bookmarked, fixes a session expiry bug that was logging users out despite a successful silent refresh, corrects Slack escalation and message-delete failures caused by a missing agent_id, and makes the dynamic-agents Prometheus metrics port configurable.
New Features
Deep links for agent resources
The Agents surface now uses URL-backed deep links throughout, so resource editors can be shared, refreshed, and navigated with browser history.
- Agents:
?tab=agents&agent=<id>&step=<step> - MCP Servers:
?tab=mcp-servers&server=<id> - LLM Models:
?tab=llm-models&model=<id>
(#2212)
Dynamic-agents Prometheus metrics port configurable
A new METRICS_PORT env var (and corresponding Helm value) lets the dynamic-agents Prometheus /metrics endpoint be served on a dedicated port, separate from the main API port. This unblocks running the main API port under strict mTLS while keeping the metrics endpoint accessible to Prometheus without mTLS.
(#2135)
Bug Fixes
Session silent-refresh failures no longer force logout
TokenExpiryGuard was treating any transient silent-refresh failure as a terminal logout trigger. Users in caipe-preview environments were being kicked out and forced to sign in again despite the UI banner claiming a refresh was in progress. The guard now tolerates transient failures and only forces logout after exhausting retries.
(#2220)
Slack escalation and message-delete no longer fail with HTTP 400
_resolve_conversation_id performs a get-or-create lookup keyed by thread_ts, but the conversation-creation API validates that agent_id is non-empty before reaching the lookup. The Slack bot's "Get help" escalation and message-delete handlers were calling _resolve_conversation_id without passing agent_id, causing an HTTP 400 on every call. The agent_id is now passed correctly in both handlers.
(#2222)
Admin view-as access preview repaired
The Admin View as flow now provides an accurate read-only access preview. The previous implementation was showing an opaque user ID or blank page. The fix uses access simulation (not session impersonation) — the signed-in admin session is unchanged, no target-user token is minted, and no session state is altered.
(#2206)
Unlinked access modal scrolls instead of overflowing
The "Unlinked Access" modal (Platform Settings tab) now wraps its scopes list and add-scope form in a scrollable container (max-h-[65vh] overflow-y-auto) instead of growing the dialog past the viewport.
(#2224)
Breaking Changes
No breaking changes. Drop-in upgrade from 0.5.51.
Upgrade Guide: 0.5.51 → 0.5.52
No values changes required unless you want to configure a dedicated metrics port:
dynamic-agents:
env:
METRICS_PORT: "9090"
helm upgrade ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version 0.5.52 \
-f your-values.yaml


