6.0.0
General Availability · April 2026
This is the production release of EDDI v6 — the most significant update since the project's inception. A ground-up modernization spanning backend architecture, security, observability, AI capabilities, and developer experience.
Tech Stack: Java 25 · Quarkus 3.34.3 LTS · LangChain4j 1.13.0 · MongoDB / PostgreSQL
🎯 What is EDDI v6?
EDDI v6 is a complete rewrite and modernization of the multi-agent orchestration middleware. Following the RC1 release candidate (March 2026) and extensive hardening, this GA release delivers production-grade reliability with 2,400+ tests, comprehensive security audits, and significant quality-of-life improvements.
What Changed Since RC1
The RC2 hardening cycle resolved 70+ issues across security, testing, import/export, CI/CD, auth, and developer experience — transforming a release candidate into a production release:
- Testing: 1,500+ → 2,400+ tests (unit + integration), 250+ new integration tests across both MongoDB and PostgreSQL
- Security audit: 6 vulnerability remediations (Mend Bolt), CodeQL SSRF + regex injection fixes, surgical model cache invalidation on vault secret rotation, template data collision protection
- Import/export hardening: Descriptor versioning, DocumentDescriptor lifecycle management, PostgreSQL UUID validation, RESTful 201 responses
- Keycloak auth: Fixed 3 compounding bugs that made
--with-authcompletely non-functional (OIDC hybrid mode, missing user credentials, SPA asset blocking) - CI/CD: Unified GitHub Actions pipeline, Red Hat preflight on push, Testcontainers-based E2E tests, semver Docker tags (
6.0.0,6.0,6,latest) - Agent Father: API key auto-vaulting, password input mode, vault key collision fix, UX polish
- Dependencies: Quarkus 3.34.3, LangChain4j 1.13.0, swagger-annotations 2.2.48, commons-lang3 3.20.0
- Documentation: Architecture doc expanded (4 new sections), project philosophy (7 → 9 pillars), ~6 MB stale docs purged
✨ Highlights
🤖 Multi-Agent Orchestration
- 🔀 Intelligent Routing — Direct conversations to different agents based on context, rules, and intent
- 🗣️ Group Conversations — Multi-agent debates with 5 built-in discussion styles: Round Table, Peer Review, Devil's Advocate, Delphi, and Debate
- 🪆 Nested Groups — Compose groups-of-groups for tournament brackets, red-team vs blue-team, and panel reviews
- 👥 Managed Conversations — Intent-based auto-routing with one conversation per user per intent
- 🎯 Capability Matching — Discover and route to agents by skill, confidence score, and custom attributes
- 🧙 Agent Father — Meta-agent that creates other agents through conversation (ships out of the box)
🧠 12 LLM Providers
| Category | Providers |
|---|---|
| Cloud APIs | OpenAI · Anthropic Claude · Google Gemini · Mistral AI |
| Enterprise Cloud | Azure OpenAI · Amazon Bedrock · Oracle GenAI · Google Vertex AI |
| Self-Hosted | Ollama · Jlama · Hugging Face |
| Compatible | Any OpenAI-compatible endpoint (DeepSeek, Cohere, etc.) via baseUrl |
🧩 MCP Integration
- MCP Server — 42+ tools exposing full EDDI control to Claude Desktop, Cursor, IDE plugins, or any MCP client
- Agent CRUD, deployment, conversation, diagnostics, trigger management
setup_agentcomposite tool — creates a full agent pipeline in one callcreate_api_agent— paste an OpenAPI spec, get a fully deployed API-calling agent- Group conversation tools, user memory tools, resource management
- MCP Client — Agents connect to external MCP servers and use their tools during conversations
🔗 A2A Protocol
- Full Agent-to-Agent peer communication implementation
- Agent Cards for discovery and skill advertisement
- Cross-platform interoperability via
langchain4j-agentic-a2a
📚 RAG — Retrieval-Augmented Generation
- 7 embedding providers: OpenAI, Ollama, Azure OpenAI, Mistral, Bedrock, Cohere, Vertex AI
- 5 vector stores: pgvector, In-Memory, MongoDB Atlas, Elasticsearch, Qdrant
- httpCall RAG — Zero-infrastructure RAG via any search API
- REST ingestion API — Async document ingestion with status tracking
- First-class versioned knowledge base resources with full CRUD
💭 Memory & Context Management
- 💾 Persistent User Memory — Cross-conversation fact retention with visibility scoping (
global,agent,group) - 🧠 LLM Memory Tools — Built-in tools agents can call to read, write, and search their own persistent memory
- 💤 Dream Consolidation — Background memory maintenance: stale pruning, contradiction detection, fact summarization
- 🪟 Token-Aware Windowing — Intelligent context packing with model-specific tokenizer support and anchored opening steps
- 📝 Rolling Summary — Incremental LLM-powered summarization of older turns with Conversation Recall Tool for drill-back
- 🔧 Property Extraction — Config-driven slot-filling with
longTerm/conversation/stepscoping - 🛡️ Memory Policy (Commit Flags) — Strict write discipline marks failed task output as uncommitted and injects concise error digests for graceful degradation
📈 Smart Model Cascading
- Sequential model escalation with 4 confidence strategies (
structured_output,heuristic,judge_model,none) - Per-conversation cost budgets and tenant cost ceilings with automatic enforcement
🔐 Enterprise Security
- 🏦 Secrets Vault — Envelope encryption (PBKDF2 + AES-256) with tenant-scoped DEK/KEK rotation. API keys auto-vaulted during agent creation
- ✍️ Agent Signing — Ed25519 cryptographic identity per agent; audit entries signed with agent private keys
- 🛡️ SSRF Protection — All tools validate URLs against private IPs, internal hostnames, and non-HTTP schemes
- 🔒 Sandboxed Evaluation — Recursive-descent math parser only. No
eval(), no script engines, no reflection-based execution - 🔑 OAuth 2.0 / Keycloak — Multi-tenant authentication with correctly wired OIDC service mode
- 🛡️ Template Data Protection — Reserved key deny-list prevents LLM prompt injection into internal template variables
- 🔄 Surgical Cache Invalidation — Vault secret rotation triggers targeted model cache eviction
📜 Regulatory Compliance
| Regulation | EDDI Support |
|---|---|
| EU AI Act | Immutable HMAC-SHA256 audit ledger, decision traceability, risk classification guidance |
| GDPR | Cascading data erasure (Art. 17), data portability (Art. 15/20), restriction of processing (Art. 18), per-category retention, pseudonymization |
| CCPA | Right to delete, right to know, data portability |
| HIPAA | Deployment guide, BAA template, LLM provider BAA matrix |
| International | PIPEDA 🇨🇦 · LGPD 🇧🇷 · APPI 🇯🇵 · POPIA 🇿🇦 · PDPA 🇸🇬🇹🇭🇲🇾 · PIPL 🇨🇳 compatibility documented |
🗄️ DB-Agnostic Architecture
- PostgreSQL support — Full storage adapter with JSONB + indexed columns
- MongoDB sync driver — Migrated from reactive to proper sync driver
- Switch databases with one env var:
EDDI_DATASTORE_TYPE=mongodb|postgres - Caffeine cache — Lightweight, Micrometer-instrumented (50 entries, 30min TTL)
🔄 Agent Sync & Portability
- Live Sync — Instance-to-instance agent sync with structural matching, content diffing, and selective resource picking — no ZIP intermediary
- Granular Import/Export — Upgrade strategy preserves resource IDs, prevents breaking references
- ZIP Portability — Agents portable as ZIP files with automatic secret scrubbing on export
⏰ Scheduled Execution & Heartbeats
- 🫀 Heartbeat triggers at configurable intervals for proactive agent behavior
- ⏲️ Cron scheduling with
persistentornewconversation strategies - 📊 Fire logging with status, duration, cost tracking, and retry logic
- 🌙 Dream cycles — scheduled background memory consolidation with cost ceilings per run
🖥️ Manager Dashboard
- Complete React 19 rewrite — Vite + Tailwind CSS + shadcn/ui + TanStack Query + Zustand
- 11 languages — EN, DE, FR, ES, AR (RTL), ZH, TH, JA, KO, PT, HI
- Pages: Dashboard, Agents (wizard + version picker + env badges + import/export), Chat (SSE streaming + history), Resources, Logs (live SSE), Audit Trail, Secrets, Coordinator, Schedules, Groups
📝 New in GA (Since RC1)
- 📎 Prompt Snippets — Reusable, versioned system prompt building blocks (
{{snippets.safety_rules}}) - 📎 Multimodal Attachments — Image, PDF, audio, video input with MIME-based routing and content type matcher
- 🔮 Template Preview — REST endpoint for previewing resolved system prompts with sample/live data
- 🏗️ One-Command Installer — Interactive wizard for Linux, macOS, WSL2, and Windows PowerShell
- 📊 50+ Micrometer Metrics — Tools, vault, memory, scheduling, conversations
- 🔍 Compliance Startup Checks — Advisory warnings on boot for TLS and database encryption gaps
🔧 Breaking Changes (v5 → v6)
Important
Data migration is automatic. EDDI v6 includes startup migrations that handle all internal format changes — MongoDB collection renames, URI rewrites, template syntax conversion (Thymeleaf → Qute), and naming alignment (bot → agent, package → workflow). You can point v6 at an existing v5 database and it should work. ZIP imports from v5 are also auto-migrated on the fly.
Warning
The REST API surface has breaking changes. If you have external integrations (custom frontends, scripts, CI pipelines), review the table below.
| Change | Migration |
|---|---|
Simplified conversation URLs — POST /agents/{env}/{agentId}/{convId} → POST /agents/{conversationId} |
Update all API clients |
Start conversation — POST /agents/{env}/{agentId} → POST /agents/{agentId}/start |
Add /start suffix |
Managed agents — POST /managedagents/{intent}/{userId} → POST /agents/managed/{intent}/{userId} |
Update path prefix |
Deployment status — Returns JSON {"status":"READY"} instead of plain text |
Use ?format=text for backward compat (deprecated) |
Query params — packageVersion → workflowVersion |
Update query strings |
| Secrets API — 3-segment paths → 2-segment (removed agentId) | Secrets are now tenant-scoped |
Vault reference syntax — ${vault:key} → ${eddivault:key} |
Both syntaxes accepted; new preferred |
Templating engine — Thymeleaf [[${var}]] → Qute {var} |
Auto-migration at startup |
ZIP export format — .package.json → .workflow.json |
Import accepts both |
Import response — 200 OK → 201 Created with Location header |
Standard RESTful response |
Naming Alignment
All v5 naming has been systematically updated:
bot→agent(code, API, MCP tools, docs)package→workflow(code, API, configs)- 349 files changed, 11,253 insertions
A V6RenameMigration runs at startup to rename MongoDB collections and rewrite stored URIs. ZIP import handles both v5 and v6 naming.
📊 By the Numbers
| Metric | Value |
|---|---|
| Unit tests | 2,100+ (all passing) |
| Integration tests (MongoDB) | 164 (all passing) |
| Integration tests (PostgreSQL) | 122 (all passing) |
| Total tests | 2,400+ |
| LLM providers | 12 |
| MCP tools | 42+ |
| Embedding providers (RAG) | 7 |
| Vector stores (RAG) | 5 |
| Discussion styles (Groups) | 5 + custom |
| Supported languages (UI) | 11 |
| Backend Java version | 25 |
| Quarkus version | 3.34.3 LTS |
| LangChain4j version | 1.13.0 |
🐳 Docker
docker pull labsai/eddi:6.0.0Semver tags available: 6.0.0, 6.0, 6, latest
Or use the one-command installer:
# Linux / macOS / WSL2
curl -fsSL https://raw.githubusercontent.com/labsai/EDDI/main/install.sh | bash
# Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/labsai/EDDI/main/install.ps1 | iex📖 Documentation
Full documentation: docs.labs.ai
Key guides for v6:
| Guide | Description |
|---|---|
| Architecture | Design overview, pipeline, and DB-agnostic architecture |
| LLM Configuration | Connecting to 12 LLM providers |
| RAG | Knowledge base and vector store setup |
| MCP Server | 42+ tools reference |
| A2A Protocol | Agent-to-Agent peer communication |
| Group Conversations | Multi-agent debate orchestration |
| User Memory | Cross-conversation fact retention |
| Memory Policy | Commit flags and strict write discipline |
| Model Cascading | Cost-optimized multi-model routing |
| Scheduling & Heartbeats | Cron schedules and dream consolidation |
| Agent Sync | Live instance-to-instance sync |
| Prompt Snippets | Reusable system prompt building blocks |
| Attachments | Multimodal attachment pipeline |
| Secrets Vault | Envelope encryption and auto-vaulting |
| Audit Ledger | EU AI Act-compliant audit trail |
| GDPR / CCPA | Data erasure, export, restriction, retention |
| Kubernetes | Kustomize + Helm deployment |
🧩 Quarkus SDK
Building a Quarkus app? Use the quarkus-eddi extension:
<dependency>
<groupId>io.quarkiverse.eddi</groupId>
<artifactId>quarkus-eddi</artifactId>
<version>6.0.0-SNAPSHOT</version>
</dependency>Features: Dev Services (auto-starts EDDI in dev mode), fluent API, SSE streaming, @EddiAgent endpoint wiring, @EddiTool MCP bridge.
🙏 Acknowledgments
Thank you to everyone who tested the RC1 release candidate and provided feedback. Your reports directly shaped the 70+ fixes in the hardening cycle.
Full Changelog: v6.0.0-RC1...v6.0.0