Idun Engine v0.6.3 — Reload concurrency + enrolled-mode telemetry
Patch release. Hardens the standalone /reload path under concurrency, makes config-from-API async for enrolled-mode boot, and adds a central telemetry sink so enrolled agents report traces to the manager instead of a local DB.
📋 Full changelog: docs.idun-group.com/changelog
Install
pip install --upgrade idun-agent-engine==0.6.3
idun setup
idun serveOpen http://localhost:8000 — your agent runs at /, admin at /admin, traces at /admin/traces.
Highlights
- Reload no longer deadlocks or crashes under concurrency.
POST /reloadserializes on a per-app lock, builds the new agent before tearing down the old one, swaps atomically, and drains in-flight runs before closing the old agent. - Enrolled-mode telemetry sink. Standalone can ship traces over HTTP to the manager's
/collectendpoint instead of a local DB — auto-selected whenIDUN_MANAGER_HOST+IDUN_AGENT_API_KEYare set. - Async config-from-API.
with_config_from_apiis now async (httpx) for the enrolled boot flow.
Added
- Central telemetry sink (enrolled mode). When
IDUN_MANAGER_HOSTandIDUN_AGENT_API_KEYare both set, the standalone trace writer POSTs span/trace batches to the manager's/collectendpoint instead of writing to the local database. Bootstrap selects between local-DB and manager-HTTP modes, and the local retention scheduler is skipped in manager mode (#698).
Fixed
- Reload concurrency. Serializes reloads on a per-app lock and builds-before-teardown with an atomic swap. Resolves two HIGH-severity bugs: a deadlock when reloads overlapped, and a mid-run
'NoneType' object is not a mappingcrash when a run was in flight during a swap. In-flight streaming runs are drained before the old agent is closed — and counted at stream construction rather than first iteration, closing the residual window where a fast reload could close an agent out from under a run whose stream hadn't started yet (#698).
Changed
with_config_from_apiis now async, built onhttpx, with trailing-slash normalization and consistent error handling (#698).
Maintenance
- The optional
idun-agent-engine[guardrails]extra installs cleanly from PyPI again now that the upstreamguardrails-aiproject was restored from quarantine. The published engine wheel is unchanged — only the dev/CI install path was affected.