idun-agent-engine, idun-agent-standalone.
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.
Added
- Central telemetry sink (enrolled mode). When
IDUN_MANAGER_HOSTandIDUN_AGENT_API_KEYare both set, the standalone trace writer ships span/trace batches over HTTP to the manager’s/collectendpoint instead of writing to the local database. Bootstrap selects between local-DB and manager-HTTP modes from settings, and the local retention scheduler is skipped in manager mode.
Fixed
- Reload concurrency.
POST /reloadnow serializes on a per-app lock, builds the new agent before tearing down the old one, and swaps it in atomically. Two HIGH-severity bugs are resolved: 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 now 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 shut an agent down out from under a run whose stream hadn’t started yet.
Changed
with_config_from_apiis now async, built onhttpx, with trailing-slash normalization and consistent error handling — supporting the enrolled-mode boot flow.
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.
Patch release. No engine code changes — the engine wheel just bundles the standalone UI at 0.6.2, which fixes a cluster of SPA-navigation bugs in the admin surface under Next.js 15
output: "export" + FastAPI SPA-rewrite.Fixed
- AuthGuard
?next=preservation. Login now round-trips back to the admin page the operator tried to reach instead of defaulting to chat. - Hard-nav after login. The success path forces a full navigation so the next request reissues with the freshly-set session cookie.
- Trace detail on soft nav. Switched trace-id resolution to the reactive
usePathname()hook so<Link>clicks load the right trace instead of rendering “No spans recorded” until refresh. - Sidebar Traces & post-delete hard-nav. Avoids a Next.js router-cache collision that could mount the trace-detail component at the list URL.
Patch release. Opens the password-mode chat surface that the v0.6.0 hardening accidentally locked behind
/login, and propagates a stable per-session user identity end-to-end.Added
- Per-user scoping under password auth. The engine accepts a per-request
X-Idun-User-Idheader and binds it to acurrent_user_idContextVar that adapters and the standalone trace writer read at the start of every/agent/*invocation, so chat history and traces can be scoped per user without a full OIDC ladder.
Fixed
- Password-mode chat. The chat shell is reachable again under password mode instead of being gated behind
/login.
The release where Idun Engine becomes the third path between LangGraph Cloud and DIY. One
pip install ships your LangGraph or Google ADK agent as a production-ready FastAPI service with a bundled Next.js chat / admin / traces UI, 15+ guardrails, multi-provider observability via OpenTelemetry, MCP tool governance, 5 memory backends, and OIDC. Self-hosted, open source, no vendor lock-in.Read the launch post →Highlights
- One wheel, three services collapsed.
pip install idun-agent-enginebundles the Next.js admin / chat / traces UI and theidunCLI. The separateidun-agent-manager(FastAPI) andidun-agent-web(React) services are gone — ~151,000 lines removed in one cut so the install path ispip+idun setup+idun serve, nothing else. - Standards composed, not invented. AG-UI streaming (CopilotKit-compatible), OpenTelemetry tracing across 5 providers, MCP tool servers (Linux Foundation governance since 2025), OIDC auth (Google + Microsoft). Pick Idun and your investment moves with you.
- Traces v1 lands. Trace store (asyncpg COPY), REST endpoints, list + detail UI with span tree and waterfall views. ADK spans projected to OpenInference attributes so they flow through the same pipeline as LangGraph spans.
- Brand + docs rebrand. “Idun Platform” → Idun Engine across the public surface. Docs moved to docs.idun-group.com with a paper/ink editorial design that matches the website.
Added
- Standalone trace store: schema, asyncpg writer, REST endpoints, list + detail UI.
- ADK adapter spans projected onto OpenInference attributes so they flow through the same trace pipeline as LangGraph spans.
GoogleGenAIInstrumentorauto-attached for Gemini cache-bucket capture.BaseAgent.register_run_event_observer(observer): async callbacks receive every AG-UI event from/agent/runbefore SSE encoding./healthnow reflects engine assembly state, returningagent_ready: boolandstatus: "degraded"when configured agents failed to come online.IDUN_UI_DIRenv var: mount a custom static UI at/; previous JSON info payload moves to/_engine/info.create_app(..., reload_auth=...): pluggable FastAPI dependency for thePOST /reloadendpoint.- Admin dashboard counters now sourced from the trace store (session count, run count, recent activity timeline).
- Standalone seeder persists all top-level YAML config blocks (agent, guardrails, mcp, prompts, integrations, observability) on first boot.
- Admin link surfaced on chat layouts; new Developer sidebar group links to
/docsand/redoc. - PostHog tracking + masked session replay (opt-in) in the chat UI.
- LangGraph auto-detection scanner: detects agents built via known factories and
CompiledStateGraphannotations, so thegraph_definitionconfig can be inferred rather than hand-written. /adminactivity dashboard: traces-driven KPIs across 24h / 7d / 30d, requests-per-minute sparkline, p50 / p95 latency dual-line chart, top-errors table.get_langchain_tools_sync()for module-load callers: makes MCP tools available in synchronous import-time contexts (e.g.create_deep_agentfactories) that can’tawait.- Microsoft OIDC alongside Google for SSO. Multi-provider auth, multi-tenant support.
- Google Chat integration joins WhatsApp, Discord, Slack, and Microsoft Teams.
- SSE / HTTP transport for ADK MCP toolsets, alongside the existing stdio.
- Real-LLM end-to-end test suite (
pytest-e2e): LangGraph + ADK adapter coverage with real LLM calls in CI, plus Playwright specs for chat and admin reload flows. - Coding-guidelines drift advisory CI: rules-as-YAML pipeline, headless-Claude review check.
Changed
- The engine wheel bundles standalone + schema.
pip install idun-agent-engineships theidunconsole script (mapped toidun_agent_standalone.cli:main), the chat/admin/traces Next.js bundle, alembic migrations, andidun-agent-schemaas a runtime dependency. guardrails-aiis now an optional extra ([guardrails]). Install withpip install idun-agent-engine[guardrails]if you use the Guardrails-AI integration.- Standalone admin DB rework. Run
idun setupafter upgrade to apply the new migrations. - Secure-by-default host binding.
idun serveno longer binds0.0.0.0by default; bind-all requires explicit opt-in. - Standalone “admin-only mode” fails loud instead of logging a single WARNING and serving 503s silently.
- Catch-all 404 for
/admin/api/v1/<unmapped>returns JSON 404 instead of falling through to the chat UI HTML. - Rebrand: “Idun Platform” → “Idun Engine” across
docs.json, OG metadata, navbar, search prompt, and the docs naming guidelines. The GitHub repo name (idun-agent-platform) is unchanged. - Docs moved from MkDocs to Mintlify at
docs.idun-group.com. New paper / ink editorial design matches the website’s Engine product page. ObservabilityConfigschema restructured. The discriminated union now stamps aproviderliteral onto each inner provider config; legacy YAML keeps working because validators auto-sync the parent and inner fields.AdkAgentConfig.app_namenow optional. When omitted, it auto-derives fromname(lowercase + non-alphanumeric → underscore). Non-breaking; explicit values still win.- BREAKING:
RestrictToTopicConfig.topicsis split intovalid_topicsandinvalid_topics. v0.5.x configs usingtopics:will fail validation; rename the key in your YAML.
Deprecated
/agent/invokeis markeddeprecated=Truein OpenAPI. Migrate toPOST /agent/run(AG-UI SSE stream). Removal targeted for 0.7.
Removed
services/idun_agent_manager/+services/idun_agent_web/— the FastAPI manager service and React admin UI. ~90,219 lines across 367 files. Replaced by the bundled Next.js admin / chat / traces UI atservices/idun_agent_standalone_ui/, served by the engine wheel.- TUI (
idun initTextual UI) and the Streamlit demo. 4,093 lines across 26 files. Replaced by the setup wizard inside the bundled Next.js admin at/admin. - MkDocs site (
old-docs/,mkdocs.yml). 11,638 lines across 160 files. Replaced by Mintlify atdocs.idun-group.com. - Haystack agent adapter,
HaystackAgentConfigschema,langfuse-haystackruntime dependency, and all related tests, docs, and UI surfaces. Migrate Haystack agents to LangGraph or ADK before upgrading. - Total: ~151,820 lines deleted in one commit (
9a54145d, “finalize standalone migration”); 712 file deletions; net reduction of 150,883 lines.
Fixed
- MCP tool calls wrapped so AG-UI can serialize event payloads end-to-end.
- Guardrail install failures surface to the reload pipeline instead of silently degrading the running agent.
- Trace pipeline no longer drops trace rows when the runtime OTel context leaks a parent.
- Prompts resolve from the
EngineConfigsnapshot in standalone, mirroring the MCP registry pattern. - Tool calls in the chat UI render their args and result instead of the literal string
"null". - Chat history sidebar auto-refreshes after a run and sorts newest first.
Security
- Third-party GitHub Actions pinned to SHAs; dep-audit job;
SECURITY.mdhardened. - Socket security gates wired into PRs and both publish workflows.
- Next.js and aiohttp CVE patches;
pinactpre-commit hook. guardrails-aimoved out of the default install footprint.
Standards composed
Idun Engine composes open standards rather than inventing new protocols. Your investment in any of these moves with you if you ever leave:- LangGraph and Google ADK — agent frameworks
- AG-UI — streaming protocol, compatible with any CopilotKit client
- OpenTelemetry — tracing, exported to Langfuse, Phoenix, LangSmith, or GCP Trace
- MCP — tool servers, under Linux Foundation governance since 2025
- OIDC — auth (Google, Microsoft, any compliant provider)
- FastAPI, Pydantic — HTTP layer and config models
Upgrading from 0.5.x
- Uninstall any separate
idun-agent-standalonewheel, since it is now bundled in the engine wheel. - Install with
pip install idun-agent-engine[guardrails]==0.6.0if you use Guardrails-AI; otherwise plainpip install idun-agent-engine==0.6.0. - Migrate Haystack agent configs to LangGraph or ADK.
- Update
RestrictToTopicConfigYAML: renametopics:to eithervalid_topics:orinvalid_topics:(or both). The old key is no longer accepted by the schema. - Switch smoke checks from
curl /healthtoPOST /agent/run(the deprecated/agent/invokestill works but will be removed in 0.7). - Run
idun setupafter upgrade so the new standalone admin DB migrations apply. - If you wrote scripts against
docs.idunplatform.com, point them atdocs.idun-group.com(the old domain redirects until further notice).
- Mintlify docs migration and UI rework
- Guardrails hub URL fixes
- LangSmith run name support for LangGraph and ADK agents
- Check connection for observability and memory providers
- MCP discover tools timeout
- ADK database session service support
- Observability V2 configuration schema
- Multi-provider observability support
- Prompt management system
- MCP servers
- Initial public release
- LangGraph and ADK framework support
- Guardrails AI integration
- Langfuse and Phoenix observability
- SQLite and PostgreSQL checkpointing
- Discord, Slack, and WhatsApp integrations
- SSO/OIDC authentication
- Docker Compose deployment