Release 0.4.14 — Slack and Chat Reliability
Released: 2026-05-20 Chart:
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering:0.4.14Previous release: 0.4.13
Highlights
0.4.14 is a maintenance release focused on Slack and chat reliability. It fixes several cases where the Slack bot silently failed to respond — overthink skip logic that never fired on auto-routed channel messages, and alert integrations that put all their content inside attachment blocks. The /invoke chat endpoint gains optional conversation-history persistence, the skill scanner now returns actionable validation errors for malformed skills, and Jira agents can post internal (non-customer-visible) service desk comments.
What's New
Jira
- Internal service desk comments — a dedicated Jira MCP tool posts Jira Service Management internal notes via the request comment API with
public: false, so agents can leave internal-only notes without customer-visible comments (#1445)
Chat API
- Configurable
/invokehistory persistence —POST /api/v1/chat/invokewas always ephemeral, so reusing aconversation_idcarried no memory across turns. A newINVOKE_PERSIST_HISTORYenv var (defaultfalse) opts into the shared MongoDB-backed runtime for multi-turn history; the endpoint also now appliesconfig_overrideand returns503on capacity errors instead of500(#1449)
Bug Fixes
- slack-bot: set
is_overthink_messagein_route_to_agentso the[DEFER]skip-check fires for auto-routed channel messages — previously[DEFER]was stripped to empty and a footer-only message was posted (#1466) - slack-bot: parse
attachment.blocksinextract_message_textso the bot responds to alert integrations that post with emptytextand all content nested inside attachment Block Kit (#1467) - escalation: use the last email match for VictorOps on-call lookup so the current on-call person is tagged when the agent reasons through multiple shifts (#1459)
- agent-runtime: guard
delete_by_key_prefixagainstInMemoryStore, which lacks the method and raised anAttributeError(500) on runtime init in ephemeral contexts (#1450) - skill-scanner: return HTTP 422 with actionable detail for malformed
SKILL.mdinstead of a generic 500 (#1410) - ui: drop stale v1-schema MongoDB indexes on
workflow_runs, point the workflow engine at the correctDYNAMIC_AGENTS_URLenv var, and include cause code/message and target URL in streaming error messages (#1469)
Security
- Dependency and code-scanning fixes — refreshed vulnerable Python, npm, Go, and workflow dependency pins/lockfiles; redacted sensitive output and avoided raw stack traces in code-scanning findings; removed the checked-in GitHub MCP server binary (#1473)
Breaking Changes
No breaking changes. Drop-in upgrade from 0.4.13.
Known Issues
None known at this time.
Upgrade
helm upgrade ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version 0.4.14 \
-f your-values.yaml
Upgrade Guide: 0.4.13 → 0.4.14
Overview
0.4.14 is a drop-in upgrade — no values.yaml edits are required. There are no Helm values changes between 0.4.13 and 0.4.14.
Helm Values Changes
No Helm values changes between 0.4.13 and 0.4.14. Drop-in upgrade.
Data Migrations
No data migrations are required. As a one-time cleanup, #1469 drops stale v1-schema indexes from the workflow_runs collection automatically on startup; the operation is idempotent and no operator action is needed.
Upgrade Runbook
1. Update chart version
helm upgrade ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version 0.4.14 \
-f your-values.yaml
2. (Optional) Enable /invoke history persistence
If you rely on multi-turn memory through POST /api/v1/chat/invoke, set INVOKE_PERSIST_HISTORY: "true" in your supervisor config. It defaults to false (ephemeral, no MongoDB writes).
3. Verify
kubectl get pods -n <namespace>
