0.4.2.7 MAR/16/2026
 - repo: Move MentisDB into its own standalone Git repository
   - Split the `mentisdb/` subtree out of the former `cloudllm` monorepo and preserved the MentisDB commit history in the new repository
   - Updated crate metadata to point at the standalone `CloudLLM-ai/mentisdb` repository
   - Replaced the old local `../mcp` path dependency with the published `cloudllm_mcp` crate so `mentisdbd` builds and runs from the standalone checkout
 - api: Make skill uploads warning-clean under strict Clippy
   - Replaced the long `SkillRegistry::upload_skill(...)` parameter list with a public `SkillUpload` request type
   - Updated server, tests, and benchmark call sites to use the new upload request builder methods
   - Fixed the remaining Clippy findings in `server.rs` and `skills.rs` so `cargo clippy -- -D warnings` passes on the standalone repository
 - chore: Track standalone repo build artifacts more cleanly
   - Added a root `.gitignore` for `target/` and editor backup files
   - Added `Cargo.lock` to the standalone repository so the daemon build resolves against a checked-in lockfile

0.4.1.6 MAR/16/2026
 - feat: Agent registry public key support
   - Added `AgentPublicKey { key_id, algorithm, public_key_bytes, revoked }` to the per-chain agent registry
   - Added `mentisdb_add_agent_key` MCP tool and `POST /v1/agents/{id}/keys` REST endpoint for key registration
   - Added `mentisdb_revoke_agent_key` MCP tool and `DELETE /v1/agents/{id}/keys/{key_id}` REST endpoint for key revocation
   - Public keys are serialized and persisted alongside the agent registry record
   - Ed25519 (`ed25519-dalek 2`) is the first supported algorithm; algorithm field is open for future extension
 - feat: Skill registry delta/diff versioning
   - First version of each skill is stored as full raw content; subsequent versions store only unified diff patches via `diffy`
   - Added `SkillVersionContent` enum (`Full { raw }` / `Delta { patch }`) replacing the embedded `SkillDocument` in `SkillVersion`
   - Added `version_number: u32` (zero-based monotone index) to `SkillVersion` and `SkillVersionSummary`
   - Version reconstruction applies the patch chain from v0 forward; all read and export paths go through `reconstruct_raw_content`
   - Content integrity hash is now SHA-256 of the full reconstructed raw content string
 - feat: Ed25519 cryptographic skill upload signing
   - Agents with registered public keys must provide `signing_key_id` and `skill_signature` (64-byte Ed25519) on every skill upload
   - Agents without registered public keys may upload without signatures for backward compatibility
   - Signature is verified against the agent's active public key in the agent registry before the upload is accepted
   - `signing_key_id` and `skill_signature` are stored on each `SkillVersion` for auditability
   - Added `verify_ed25519_signature` to the server layer using `ed25519-dalek 2`
 - feat: Skill registry V1→V2 startup migration
   - `migrate_skill_registry(chain_dir)` migrates the persisted `mentisdb-skills.bin` from registry V1 (full document per version) to V2 (delta content model)
   - Migration is idempotent; returns `None` if the registry is already at the current version or does not exist
   - `mentisdbd` runs skill registry migration at startup, after chain migration and before opening the skill registry
   - Panics on unrecoverable migration failure to prevent serving stale data
 - feat: Add `SkillRegistryMigrationReport` public type reporting migration outcome
 - perf: Replace outer `RwLock<HashMap>` with `DashMap` for concurrent chain lookup
   - Hot path for `get_chain` now acquires only a per-shard read lock instead of a global write lock
   - New chains are inserted using `entry().or_try_insert_with()` for shard-level atomicity; no global async lock held during chain open
   - Benchmark: `DashMap` delivers 750–930 read req/s at 10k concurrent tasks vs previous sequential bottleneck
 - perf: Add write buffering to `BinaryStorageAdapter`
   - Replaced per-append `File::open` with a lazily-initialized `Mutex<BufWriter<File>>`
   - `auto_flush = false` batches writes and flushes every `FLUSH_THRESHOLD = 16` appends or on `Drop`
   - `auto_flush = true` (default) flushes immediately after each append, preserving full crash durability
 - feat: Add `MENTISDB_AUTO_FLUSH` env var and `MentisDbServiceConfig::auto_flush` builder
   - Set `MENTISDB_AUTO_FLUSH=false` (or `0`) for high-throughput write workloads at reduced durability
   - Defaults to `true` for backward-compatible crash-safe behavior
   - Config field exposed via `with_auto_flush(bool)` builder method on `MentisDbServiceConfig`
 - bench: Add Criterion benchmark suite (22 benchmarks)
   - `benches/thought_chain.rs`: 10 benchmarks covering append throughput, query latency, and traversal patterns
   - `benches/skill_registry.rs`: 12 benchmarks covering skill upload, search, delta reconstruction, and lifecycle operations
   - Baselines committed; run with `cargo bench`
 - bench: Add harness-free HTTP concurrency benchmark
   - `benches/http_concurrency.rs`: starts `mentisdbd` in-process on a random port, measures write and read throughput at 100 / 1k / 10k concurrent Tokio tasks with p50/p95/p99 latency reporting
 - test: Expand skill registry coverage for delta versioning and signing
 - docs: Update MENTISDB_SKILL.md with Fleet Orchestration and multi-CLI sub-agent guide
   - Added 9-subsection Fleet Orchestration section: PM pattern, agent registration, parallel dispatch, context window protocol, anti-patterns, and self-improving fleet guidance
   - Added concrete spawning examples for GitHub Copilot CLI (`task` tool + `mode="background"`), Claude Code (parallel `Task()` calls), OpenAI Codex CLI (`--dangerously-auto-approve-everything` + shell backgrounding), and Qwen Code (`spawn_agent`)
   - Added universal 6-step PM pattern table applicable to any CLI
 - docs: Document `MENTISDB_AUTO_FLUSH` in README daemon configuration section
   - Added durability vs. throughput trade-off explanation and two example launch commands
 - docs: Update WHITEPAPER with delta versioning and cryptographic authorship sections

0.4.0.5 MAR/13/2026
 - feat: Complete the MentisDB skill registry release
   - Added the built-in `MENTISDB_SKILL.md` plus versioned uploaded skill documents for specialist agents
   - Finished the MCP and REST skill registry surfaces for list, manifest, upload, search, read, version listing, deprecate, and revoke flows
   - Tightened MCP tool metadata so live tool discovery advertises the full skill query parameter set
 - feat: Speed up durable memory queries with append-maintained indexes
   - Added indexes for agent id, thought type, and role to narrow candidate thoughts before full query filtering
   - Added timestamp-window position bounds so UTC `since` and `until` searches avoid scanning the full chain
 - feat: Add direct thought lookup and append-order traversal APIs
   - Added direct lookup by stable thought id, chain index, and content hash, plus explicit genesis vs head semantics
   - Added forward and backward chunk traversal from thought anchors or logical `genesis`/`head` boundaries, with reusable search filters
   - Added numeric traversal time windows using `start + delta` in `seconds` or `milliseconds` for MCP and REST callers
   - Exposed the new lookup and traversal surface through MCP and REST, separate from graph/context traversal
 - docs: Sync daemon and protocol documentation with the shipped server surface
   - Updated the daemon endpoint catalog, crate README, MCP spec, and REST spec to include the skill registry APIs and built-in skill endpoint
   - Clarified the current skill registry model: daemon-global storage with uploader validation against a chain agent registry
   - Documented head-vs-genesis semantics and the distinction between append-order traversal and graph/context traversal
 - feat: Default `MENTISDB_VERBOSE` to `true` when unset
   - Daemon now logs interaction events to the console out of the box without requiring explicit env configuration
   - `MENTISDB_VERBOSE=0` or `MENTISDB_VERBOSE=false` disables console interaction output
 - feat: Add file-backed interaction logging via `MENTISDB_LOG_FILE`
   - Set `MENTISDB_LOG_FILE=/path/to/mentisdb.log` to append all interaction events to a durable file
   - File logging is independent of `MENTISDB_VERBOSE`: operators can run a silent console with a durable file log, verbose console with no file, or both simultaneously
   - Log file path is displayed in daemon startup configuration output alongside other active env settings
   - Added `log_file` field to `MentisDbServiceConfig` with a `with_log_file` builder method
 - feat: Colorize daemon startup configuration output
   - Env variable names and their resolved values are now color-coded in the startup banner for easier visual scanning
 - test: Expand coverage for the new registry and query behavior
   - Added crate tests for skill import/export, persistence, lifecycle operations, and query timestamp windows
   - Added server tests for live skill registry MCP/REST flows and embedded skill retrieval
   - Moved skill parser tests into integration test files under `tests/` for consistency with crate standards

0.3.0.4 MAR/12/2026
Note: historical entries below use the original ThoughtChain / thoughtchaind
names because they describe earlier releases. The project is now being
rebranded to MentisDB / mentisdbd.
This release also records the project rename from ThoughtChain to MentisDB.

 - feat: Introduce ThoughtChain schema version `1`
   - Added explicit `schema_version` to durable thought records
   - Added optional `signing_key_id` and `thought_signature` fields for future signed-agent provenance
   - Added a stable signable thought payload path so signatures can target canonicalized thought data
 - feat: Move shared-agent metadata into registries
   - Added per-chain `AgentRegistry` sidecars for display names, owners, aliases, public keys, and agent activity metadata
   - New thoughts now store stable `agent_id` attribution while registry metadata resolves `agent_name` and `agent_owner` at read time
   - Query, memory export, JSON rendering, and `thoughtchain_list_agents` now resolve identity metadata from the registry instead of scanning or duplicating inline agent profile fields
 - feat: Add a global ThoughtChain registry and richer discovery metadata
   - Added a durable registry of chains with chain key, schema version, storage adapter, storage location, thought count, and agent count
   - `thoughtchain_list_chains` and `GET /v1/chains` now return richer chain summaries instead of only chain keys
   - Server chain discovery overlays live in-process counts on top of persisted registry metadata
 - feat: Add automatic migration from legacy schema version `0`
   - `thoughtchaind` now scans discovered chains at startup, migrates legacy JSONL and binary chains to version `1`, archives the old files, and reports progress in stdout
   - Migration logic lives in the library so it is reusable from tests and future tooling, not only from the daemon
   - Added migration coverage for both legacy JSONL and binary chains
 - feat: Add a versioned skill registry with adapter-based import and export
   - Added a binary `mentisdb-skills.bin` registry with explicit registry versioning, schema versioning, integrity hashes, uploader attribution, timestamps, immutable skill versions, and lifecycle status
   - Added structured skill adapters for Markdown -> Skill, JSON -> Skill, Skill -> Markdown, and Skill -> JSON
   - Added indexed registry search by skill id, name, tags, triggers, uploader identity, status, format, schema version, and upload time window
 - feat: Expose the skill registry through MCP and REST
   - Added MCP tools and REST endpoints for `list_skills`, `skill_manifest`, `upload_skill`, `search_skill`, `read_skill`, `skill_versions`, `deprecate_skill`, and `revoke_skill`
   - `read_skill` now returns explicit warnings that skill files may contain malicious or untrusted instructions
   - Added the embedded `mentisdb_skill_md` surface for the official built-in MentisDB skill file
 - feat: Make binary storage the default for new chains
   - `BinaryStorageAdapter` is now the default storage backend for new chains
   - Added `THOUGHTCHAIN_DEFAULT_STORAGE_ADAPTER` and retained `THOUGHTCHAIN_STORAGE_ADAPTER` as a compatibility alias
   - Added bootstrap-time storage adapter override support so callers can explicitly create JSONL or binary chains
   - Fixed adapter filename resolution so JSONL and binary chains always reopen using the correct file extension
 - feat: Make the daemon/server stack the default crate experience
   - `thoughtchain` now enables the `server` feature by default so `cargo install thoughtchain` and `cargo run --bin thoughtchaind` work without extra feature flags
   - Updated workspace manifests and launcher scripts to rely on the default server-enabled build
 - docs: Refresh installation, daemon, protocol, and design documentation
   - Updated README quick-start guidance to emphasize `cargo install thoughtchain`, `thoughtchaind`, and `nohup thoughtchaind &`
   - Updated MCP and REST protocol docs for schema `1`, registry-backed chain discovery, binary-default storage, bootstrap adapter overrides, signature fields, and the new skill registry
   - Updated the white paper to describe registries, schema versioning, migration, and the signing-oriented data model
 - test: Expand coverage for the new schema and migration model
   - Added coverage for stable signable payload generation
   - Added coverage for v0 to v1 migration
   - Added server coverage for registry-backed chain summaries, bootstrap adapter overrides, and the skill registry endpoints

0.2.1.3 MAR/11/2026
 - feat: Add env-controlled verbose interaction logging to `thoughtchaind`
   - Added `THOUGHTCHAIN_VERBOSE` with support for `1`, `0`, `true`, and `false`
   - When enabled, the daemon logs each ThoughtChain read and write interaction with chain key, touched agents, thought types, roles, tags, and concepts
   - Startup configuration output now shows the effective verbose setting
 - test: Add coverage for verbose env parsing in server configuration

0.2.0.2 MAR/11/2026
 - feat: Add retrospective memory support
   - Added `ThoughtType::LessonLearned`
   - Added `ThoughtRole::Retrospective`
   - Markdown memory export now surfaces non-default roles such as retrospectives
 - feat: Add guided retrospective append APIs
   - Added MCP tool `thoughtchain_append_retrospective`
   - Added REST endpoint `POST /v1/retrospectives`
   - Retrospective append defaults to `LessonLearned` and always stores thoughts with role `Retrospective`
 - feat: Add shared-daemon discovery APIs
   - Added MCP tool `thoughtchain_list_chains`
   - Added MCP tool `thoughtchain_list_agents`
   - Added REST endpoint `GET /v1/chains`
   - Added REST endpoint `POST /v1/agents`
 - docs: Update daemon and protocol documentation
   - Updated `thoughtchain/README.md` with retrospective guidance and MCP setup for Codex, Claude Code, Qwen Code, and GitHub Copilot CLI
   - Updated the white paper and protocol docs to explain retrospective memory, lessons learned, and shared-daemon discovery
 - test: Add coverage for retrospective type/role queries, discovery endpoints, and server append behavior

0.1.0.1 MAR/11/2026
 - feat: First public release of `thoughtchain`
   - Standalone Rust crate for semantic, hash-chained memory in long-running and multi-agent systems
   - Append-only, adapter-backed storage with explicit integrity verification
   - `StorageAdapter` abstraction for pluggable persistence backends
   - `JsonlStorageAdapter` as the current default backend
   - Stable crate metadata prepared for crates.io publishing
 - feat: Semantic thought model for durable agent memory
   - Rich `ThoughtType` taxonomy covering preferences, insights, facts, plans, corrections, checkpoints, summaries, surprises, and more
   - `ThoughtRole` separates semantic meaning from runtime roles such as memory, summary, compression, checkpoint, handoff, and audit
   - Stable thought ids, timestamps, importance, confidence, tags, concepts, refs, and typed relations
   - Shared-chain agent attribution via `agent_id`, `agent_name`, and optional `agent_owner`
 - feat: Query, replay, and export capabilities
   - Query by text, type, role, tags, concepts, agent ids, importance, confidence, and date range
   - Prompt-oriented catch-up rendering for session resumption
   - `MEMORY.md`-style Markdown export generated from chain walks and filters
   - Chain head inspection and integrity checks for durable memory operations
 - feat: Server support and standalone daemon
   - `thoughtchain::server` module behind the `server` feature
   - MCP server surface for remote agents
   - REST server surface for services, dashboards, CLIs, and generic HTTP clients
   - `thoughtchaind` binary to run ThoughtChain as a long-lived process
   - Env-configurable host, ports, default chain key, and storage directory
 - docs: Fully documented public API
   - Rustdoc coverage across public functions, enums, structs, and implementations
   - Added protocol documentation in the parent repository for both MCP and REST use
 - test: Dedicated crate test coverage
   - Separate tests under `thoughtchain/tests`
   - Coverage for persistence, integrity, querying, export behavior, and server routing
