Skip to content

v0.12.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Mar 22:55
84506a8

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
  • @Property with smart defaults, readOnly replaces writable
  • 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

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.