0.8.7 adds structured memory categorization via the new entity_type field on
Thoughts, a per-chain type registry with persistence, and an overhaul of the dashboard
branch/delete/merge modal UX. Also includes a fix for the wizard setup crash when Claude
Desktop detects an older Node version.
Thoughts can now carry an optional entity_type label — a semantic category
that lets agents and users filter memories by what kind of thing they describe. Examples:
"bug_report" — a specific bug and its fix"architecture_decision" — a design choice worth remembering"retrospective" — lessons from a project post-mortem"security" — security-relevant findings and constraints"checkpoint" — resumption points for agent handoffs
Entity types are set via the entity_type parameter on append and search.
They are auto-observed on every write — the registry tracks first_seen_index,
last_seen_index, and count per label. The registry persists as
chain_key-entity-types.json alongside the chain binary.
POST /v1/entity-types — upsert an entity type labelGET /v1/entity-types — list all entity types for a chainmentisdb_upsert_entity_type MCP toolThe dashboard now shows entity_type as an orange badge next to the thought_type badge in all thought list views, and includes a text filter input in the explorer search bar.
The Branch, Delete, and Merge chain modals were converted from inline
display:none divs at the bottom of the page to proper popup overlays
(same style as the thought detail modal). This means they now work correctly
regardless of which page you're on in the dashboard, and have proper backdrop
click-to-close and X button handlers.
The resolve_chain_key function also gained proper whitespace trimming
and empty-string filtering, matching the pattern already used in
resolve_agent_identity.
The CLI wizard setup was aborting entirely when Claude Desktop detected Node.js
version below 20 — even though other integrations had already been configured
successfully. The fix makes ensure_prerequisites return soft warnings
instead of hard errors, and the apply loop continues past failed integrations
instead of aborting on the first failure.
Chains written by a temporary build that used schema v4 were being rejected on load
as "Unknown schema version." Changed the version check from
v == MENTISDB_CURRENT_VERSION to v >= MENTISDB_CURRENT_VERSION,
so any current or future-compatible version is accepted. The schema version is
normalized to MENTISDB_CURRENT_VERSION on next persist.
cargo install mentisdb --force
The daemon binary is the same across all integrations. Force-reinstall to pick up the new version, then restart the daemon.