Skip to content

6.0.0

Choose a tag to compare

@ginccc ginccc released this 14 Apr 20:39
· 577 commits to main since this release

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-auth completely 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_agent composite tool — creates a full agent pipeline in one call
    • create_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 / step scoping
  • 🛡️ 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 persistent or new conversation 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 (botagent, packageworkflow). 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 — packageVersionworkflowVersion 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 OK201 Created with Location header Standard RESTful response

Naming Alignment

All v5 naming has been systematically updated:

  • botagent (code, API, MCP tools, docs)
  • packageworkflow (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.0

Semver 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