AD4M v0.12.0 — Pure Rust Executor, MCP Server, Multi-User & Hosted AD4M
This is the stable release combining all changes from v0.12.0-rc1 and v0.12.0-rc2. It represents all changes since v0.11.1 — a massive leap for AD4M.
⚡ Pure Rust Executor — JS Executor Removed
The entire TypeScript/Deno executor has been replaced by a pure Rust implementation. The LanguageController — AD4M's core component for managing language lifecycles — has been fully ported to Rust (~4,600 lines of JS deleted).
- Proper language sandboxing — languages run in isolated Rust-managed contexts
- Faster startup and lower memory footprint
- Single compilation target — cleaner build, easier deployment
🤖 AI Agent Integration — OpenClaw Plugin & MCP Server
AI agents are now first-class participants in the AD4M ecosystem.
OpenClaw Plugin — zero-config setup for AI agents:
openclaw plugins install @coasys/openclaw-ad4m
openclaw ad4m-setup
Two modes: managed (plugin owns the executor) or external (connect to existing AD4M node).
MCP Server — a full Model Context Protocol server embedded in the executor. Register a SHACL data model and the server auto-generates typed CRUD tools for it. AI agents can create perspectives, join neighbourhoods, read/write structured data, and subscribe to live changes — no raw GraphQL needed.
👥 Multi-User Support
AD4M can now serve multiple users from a single node — the foundation for hosted deployments:
- Per-user isolation (perspectives, languages, Holochain agent keys)
- Email-based authentication with verification
- Admin/user separation with capability-based permissions
- Notification system migrated to SurrealDB for multi-user scalability
🏠 Hosted AD4M — Credit System & Admin UI
Groundwork for AD4M-as-a-service:
- Credit system with free-access flags for team members
- Compute tracking per hosted user
- Hosting GraphQL contract (
HostingUserInfo, payment requests) - Admin launcher UI for host registration and user management
🔗 Holochain 0.7.0-dev.14 (Iroh Transport)
Networking completely overhauled with Iroh — a modern P2P stack built on QUIC:
- Faster peer discovery, lower latency, better NAT traversal
- New bootstrap and relay infrastructure (
bootstrap.ad4m.dev/relay.ad4m.dev)
🧬 SHACL SDNA Migration
Subject class definitions migrated from Prolog to SHACL-based link structures — the foundation for dynamic MCP tool generation. SHACL shapes are inspectable, composable, and machine-readable.
📐 Ad4mModel API Refactor
Redesigned developer-facing model API:
- New decorators:
@Model,@HasMany,@HasOne,@BelongsToOne,@BelongsToMany @Propertywith smart defaults,readOnlyreplaceswritable- Decomposed into focused single-responsibility modules
🔧 Stability & Performance
- Memory optimizations for multi-user workloads
- SurrealDB retry logic for read-write conflicts
- Deadlock fixes in perspective operations
- P-diff chunking to avoid Holochain entry size limits
- Fixed link deserialization in p-diff sync
- Reject links with invalid/empty URIs
- Build warnings cleanup
- CUDA Docker image for GPU-enabled builds
All merged PRs
- Re-attempt surreal link additions up to 5 times if they hit read-write conflicts by @jhweir in #640
- Duplicate agent fix by @jhweir in #641
- Hotfix blocked messages with Holochain debug fork by @lucksus in #642
- Multi-User/Agent Support for single AD4M nodes (1/3) by @lucksus in #629
- Email Verification System for Multi-User Authentication (2/3) by @lucksus in #643
- Memory Optimizations by @lucksus in #644
- Add SMTP Configuration Toggle by @lucksus in #647
- Migrate Notification System from Prolog to SurrealDB by @lucksus in #648
- Ad4m connect updates by @jhweir in #646
- ci: Update language test workflows to Node 18.x by @data-coasys in #656
- ci: Use Docker container for npm-publish workflow by @data-coasys in #657
- ci: Optimize staging builds with Docker (Linux) and caching (macOS) by @data-coasys in #659
- Chunk regular diffs to avoid HC entry size limit by @lucksus in #655
- Update Holochain to 0.7.0-dev.10-coasys by @lucksus in #645
- fix: multi-user tests by @lucksus in #668
- Notification fixes for mulit-user mode by @lucksus in #649
- fix: panic in p-diff-sync after diff chunking feature by @lucksus in #669
- Collection Instance Filtering and SurrealDB Graph Traversal Improvements by @jhweir in #650
- Switch SurrealDB from In-Memory to File-Based RocksDB Storage by @lucksus in #652
- Deadlock Fixes by @data-coasys in #673
- P-Diff Chunking Fixes + Link Deserialization Fix by @data-coasys in #674
- fix(test-runner): update ad4m-test for v0.10.1+ compatibility by @HexaField in #670
- fix: gate perspectives admin-overview on launcher credential, not ALL_CAPABILITY by @lucksus in #675
- fix: reject links with invalid or empty source/target/predicate URIs by @lucksus in #676
- fix: route neighbourhood signals to main agent when co-located with managed users by @lucksus in #680
- Tryorama -> sweettest for agent, dm, and file-store language by @lucksus in #681
- fix(test-runner): use bootstrap seed instead of downloading stale language bundles by @HexaField in #678
- refactor: use batching for SHACL/Flow link operations by @HexaField in #685
- fix(ci): Update Linux CI image to Ubuntu 24.04 for webkit2gtk-4.1 support by @data-bot-coasys in #684
- fix(test-runner): remove stale process kills and perspect3vism refs by @HexaField in #686
- feat(shacl): SHACL SDNA Migration - Prolog to SHACL links parser by @data-coasys in #654
- fix: Ad4mModel don't parse every Literal in properties (only when resolve language) by @lucksus in #695
- ci: CUDA Docker image + staging build workflow by @data-bot-coasys in #690
- docs: update Social DNA and Model Classes for SHACL migration by @data-bot-coasys in #696
- fix(ci): webkit2gtk-4.1 in Docker + macOS V8 cache bust + Windows build re-enabled by @marvin-bot-coasys in #697
- fix(tests): kill executor by port, not by name — safe for concurrent CI runners by @marvin-bot-coasys in #698
- fix(tests): kill executor by port on shutdown — prevent orphaned processes by @marvin-bot-coasys in #699
- build: .cargo/config.toml — RUSTY_V8_MIRROR + git-fetch-with-cli for all builds by @marvin-bot-coasys in #701
- Port LanguageController from JS to Rust & remove JS executor by @lucksus in #693
- Enable edit and delete on transcription and embedding models by @lucksus in #571
- Fix/build warnings by @lucksus in #715
- Fix multi-user agent publishing after language controller refactor by @lucksus in #711
- Holochain update to 0.7.0 dev.14 (13+ selected commits) by @lucksus in #716
- feat(mcp): AD4M MCP Server — AI Agent Integration with Dynamic SHACL Tools by @data-coasys in #665
- Fix/broadcast signal for managed user by @lucksus in #722
- fix(waker-bridge): use QuerySubscriptionProxy for SurrealDB subscriptions by @marvin-bot-coasys in #720
- docs(skill): add pre-flight check and improved setup sequence by @data-bot-coasys in #721
- fix(mcp): admin credential bypasses MCP session-level auth by @marvin-bot-coasys in #725
- Waker improvements: actionable wake messages, batch set_property fix, skill docs by @lal-bot-coasys in #728
- feat(mcp): improve neighbourhood publishing with auto-cloning by @data-bot-coasys in #730
- Try unflaking agent -> works across remote agents test by @lucksus in #731
- refactor(skill): move waker into ad4m skill and improve documentation by @marvin-bot-coasys in #732
- Feature/skill improvements by @lucksus in #733
- More skill improvements: auth-flow and NH memory by @lucksus in #734
- fix: MCP auth flow - test with mcporter by @lucksus in #736
- Feat(model) ad4m model api changes by @jhweir in #717
- fix: OpenClaw plugin UX fixes for Flux by @lucksus in #738
- Docs/ad4m model api refactor by @jhweir in #740
- feat: add hosting GraphQL contract (HostingUserInfo, PaymentRequestResult) by @jhweir in #743
- Use new bootstrap and relay URL by @lucksus in #746
- Decompose Ad4mModel into focused single-responsibility modules by @jhweir in #747
- feat: OpenClaw plugin managed mode by @lucksus in #739
- 0.12.0 release by @lucksus in #754
🌟 New Contributors
- @data-coasys / @data-bot-coasys Multiple contributes (MCP server, SHACL refactor, ...)
- @marvin-bot-coasys — CI infrastructure, waker bridge, MCP auth fixes
- @lal-bot-coasys — Waker improvements, skill documentation
Yes, AI agents are contributing to AD4M. 🤖
Full Changelog: v0.11.1...v0.12.0
CUDA Linux AppImage — Requires NVIDIA driver + CUDA runtime libs (sudo apt install cuda-libraries-12-6). GPU min: 6GB VRAM recommended.