Releases: keepnotes-ai/keep
Releases · keepnotes-ai/keep
v0.118.0
What's new
- MCP prompt exposure: prompt docs tagged with
mcp_promptbecome native MCP prompts (protocol-levellist_prompts/get_prompt) - MCP resources:
keep://nowandkeep://{id}for direct note access - Structured output:
keep_promptreturnsCallToolResultwithstructuredContent - Dynamic tool descriptions:
keep_prompttool listing updates with available prompts - Budget coercion at MCP/HTTP boundaries
- Surrogate text repair, tolerant prompt flow stops
- Malformed DB recovery, FTS self-repair, sysdoc tag drift
v0.117.1
- Centralized malformed-DB recovery with automatic retry in flow actions and background tasks
- FTS schema self-repair: recreates missing FTS tables/triggers on DB open
- System doc migration detects and repairs tag drift even when body content matches
- Skip empty query-resolve flows in prompt rendering
- Daemon supports direct python execution
v0.117.0
What's new
-
Archived content restore: when put receives content matching an archived version, restores the prior summary, auto-tags, and embedding instead of recomputing them. Avoids unnecessary LLM calls during checkouts and branch switches.
-
Git HEAD watch detection: directory watches now track the resolved HEAD commit by reading git metadata files directly (no subprocess). Commit-only events (empty commits, checkouts, branch switches, rebases) trigger reprocessing even when no watched file changed.
-
Docs: update KEEP-PUT.md and VERSIONING.md with restore behavior and git HEAD watch semantics.
v0.116.7
v0.116.6
Replace perf_stats with OTel tracing spans
- Remove custom
keep/perf_stats.pyprofiling layer (164 lines) - Replace all
perf.timer()/perf.record()calls with OpenTelemetry spans - Add span attributes (item_id, source, found, result_count) for observability
- Wrap get_context, find, get, query_fts, query_embedding in OTel spans
- Flow runtime uses OTel spans per action
v0.116.5
- Fix: system notes (.dot-prefix) no longer indexed in ChromaDB — document store only, stale Chroma rows cleaned
- Fix: URI-backed notes with custom IDs re-fetch via _source_uri for incremental analysis
- MCP: FlowParams model with explicit field descriptions for common parameters
- OTel: trace spans throughout analyze/summarize actions, meta resolution, put lifecycle
v0.116.4
- Actions own their preparation: PreparedAction.prepare() populates params
(chunks, prompts, tag specs) before local or delegated execution - Actions own their delegation: DelegatableAction.build_delegated_payload()
shapes the hosted-service submission payload - Delegation pipeline simplified: prepare → build → submit (no per-type branching)
- Remote completion handling: supports both action output and legacy result formats
- Supernode replenishment uses find_supernodes action (shared with flows)
- Module rename: _daemon_client.py → daemon_client.py
v0.116.3
- Store docs authoritative: state doc loader no longer falls back to builtins; prompt docs required for summarize/analyze (raise on missing)
- Dynamic prompts must have state tag: {get}/{find} without state tag is an error
- Prompt rendering via state-doc flows with binding expansion
- state-get.md extended with item + find_results bindings for prompt compatibility
keep get nowandkeep put --id now "text"unified withkeep nowbehavior
v0.116.2
- FindCache with precise tag-aware invalidation: tag-filtered similar_to
queries survive unrelated writes, only evict when a written item's tags
match the cached query's selector - Limit-aware cache reuse: larger materialized results serve smaller requests;
exhaustive results serve any limit - MetaCache removed: resolve_meta inner find() calls hit FindCache naturally
- notify_write/notify_delete pass old_tags + new_tags for precise eviction
v0.116.1
- Fix: system doc migration bypasses public Keeper methods (prevents flow recursion during _ensure_sysdocs)
- Fix: SQLite json_type query simplified from redundant json_extract wrapper
- OTel: trace spans for flow runtime (state_doc.load, state_doc.evaluate) with elapsed-ms in log messages
- OTel: trace spans for meta resolution (per-doc spans with result_count)
- Tests: migration safety (monkeypatched public methods), tag query correctness, trace span emission