All postsNext post

CameoDB v0.2.3: Battle-Tested Stability for Agentic AI Workflows

MCP Streamable HTTP transport, cross-node distributed sorting, jemalloc memory management, writer core pinning, and a 4-phase graceful shutdown. The most production-hardened release yet.

v0.2.3 is the most production-hardened release of CameoDB to date. Over 80 commits went into this version, focused on three pillars: making the MCP server ready for real agentic workflows, hardening reliability under load, and giving operators the visibility and control they need to run CameoDB in production.

MCP Server: From Experimental to Production-Ready

The MCP server received the largest set of changes in this release. A new Streamable HTTP transport joins the existing SSE transport, giving agents a simpler connection path without persistent connections. The server now also supports MCP prompts with a built-in cameodb-orchestrator skill that injects query syntax context directly into agent conversations.

Streamable HTTP

New transport alongside SSE for simpler agent integration without persistent connections.

MCP Prompts

Built-in cameodb-orchestrator skill injects query syntax and schema context into agent conversations.

Federated Search Fix

Overhauled federated search and document sort/projection logic specifically for agent query patterns.

Session Lifecycle

SSE connection-aware cleanup with drop guards and graceful MCP server shutdown.

Distributed Search and Sorting

v0.2.3 introduces cross-node field-sort merge with date normalization and i64 key support. Search queries now support inline sort syntax and JSON payload options, making it possible to sort by any indexed field directly from the query string.

// Inline sort in query string
search products category:electronics sort price:asc limit 10

// Count-only mode with limit 0
search logs level:error limit 0

// Projection preserves field order
search users return name, email, created_at

Memory Management and Core Pinning

CameoDB now ships with jemalloc as the default allocator, bringing per-CPU arenas, background purge threads, and detailed memory statistics. Admin endpoints and CLI commands provide runtime visibility and control over memory without restarting the server.

jemalloc

Per-CPU arenas with background purge

Reduced fragmentation and predictable memory footprint under load

Writer Core Pinning

CPU affinity for shard writer threads

Improved cache locality and reduced cross-core wakeups

Shard-Affine Dispatch

Hash-space aligned worker routing

Operations routed to workers via xxh3(shard_id)

Admin Memory CLI

Runtime control without restart

admin memory stats, admin memory purge --force

Reliability and Graceful Shutdown

Production systems need predictable shutdown behavior. v0.2.3 implements a 4-phase graceful shutdown with tiered redb cache sizing and per-shard memory budgeting. An emergency shutdown timeout ensures the server terminates even if a phase stalls.

Data Ingestion Improvements

All data sources now support transparent gzip and zip decompression. Point CameoDB at a compressed CSV on Hugging Face or an S3 bucket and it handles the rest. The stream_batch_size config option lets you tune ingestion throughput, and shard hydration concurrency now scales automatically with available CPU cores.

Operational Visibility

A new worker pool statistics endpoint exposes per-worker queue depth, jobs completed, and dispatch metrics. The list indexes command now supports extended flags with compact single-line field display, making multi-index management easier from the CLI.

Infrastructure and Dependencies

The toolchain has been upgraded to Rust 1.95, and Tantivy has been upgraded to 0.26 with expanded sorting capabilities. Core dependencies including kameo (0.22), redb (4.1.0), reqwest (0.13), and tikv-jemalloc (0.7) have been upgraded to their latest stable versions.

Upgrade Path

Upgrading from v0.2.2 is straightforward. Stop the server, replace the binary, and restart. The storage format is backward compatible, no migration required. The cluster state format has changed from bincode to JSON, but this is handled automatically on first startup with a fresh cluster config.

Get v0.2.3

Download the latest stable release from the downloads page. Binary packages are available for Linux, macOS, and Windows. Source code is available on GitHub under the FSL-1.1-ALv2 License, with Apache 2.0 and MIT licensing for client interfaces.

Download v0.2.3 View on GitHub Documentation