@owrede/vault-memory 2.2.1 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -14,6 +14,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
14
14
 
15
15
  _Nothing yet._
16
16
 
17
+ ## [2.3.1] — 2026-07-02
18
+
19
+ ### Fixed
20
+
21
+ - **`index --full` no longer crashes with `FOREIGN KEY constraint failed`** (#16).
22
+ The full-mode wipe loop deleted chunks while `sections.chunk_id_first/last`
23
+ (`REFERENCES chunks(id)`, no `ON DELETE`) still pointed at them, so any vault
24
+ with a populated `sections` table failed to full-index. Sections are now
25
+ deleted before chunks in the wipe loop, matching the per-note re-index path.
26
+ - **Concurrent ContextFit ingests no longer corrupt the KB** (#17). A CLI
27
+ `index` running alongside a serve-side debounced re-ingest (or a second stale
28
+ `serve`) had both `contextfit ingest` calls clear and rewrite the same KB
29
+ directory; the loser crashed mid-write and could leave a half-written KB. A
30
+ dedicated per-vault ingest mutex (`locks/<vault>.ingest.lock`, separate from
31
+ the staleness daemon's lifetime-held `<vault>.lock`) now serializes all four
32
+ ingest call sites. A second-comer marks the vault dirty and returns
33
+ immediately (no wait, no wasted double-rebuild); the in-flight holder does one
34
+ trailing re-ingest so the latest change is never lost across processes, and a
35
+ crash-stranded dirty flag is honored on the next server start.
36
+
37
+ ## [2.3.0] — 2026-07-01
38
+
39
+ ### Added
40
+
41
+ - **Datacore/Dataview rendered indexing — foundation** (ADR-033). Phase 1 strips
42
+ Datacore/Dataview query source from indexed text so raw query blocks no longer
43
+ pollute search (`src/reader/datacore.ts`). Phase 2 adds migration 016
44
+ (`notes.rendered_source_hash`) as the schema foundation for indexing rendered
45
+ content supplied by the Obsidian plugin. _Note: later phases of ADR-033 are not
46
+ yet complete; this release ships the foundation only._
47
+
48
+ ### Fixed
49
+
50
+ - **Incremental full-vault indexer now re-indexes changed notes** (#14). `indexVault`
51
+ in `incremental` mode decided whether to re-index from chunk count alone, so a note
52
+ whose body changed but already had chunks kept stale chunks/embeddings/sections/edges
53
+ while its `hash`/`content` were updated in place. The reindex decision now mirrors the
54
+ single-note indexer's three-way logic (hash-unchanged / frontmatter-only / body-changed),
55
+ and a latent foreign-key ordering bug (sections must be deleted before chunks) is fixed.
56
+ - **MCP server version is derived from `package.json`** (#14). `server.ts` hardcoded
57
+ `VERSION = "1.0.0"`, so the server advertised the wrong version and sink provisioning
58
+ stamped a stale sentinel. A new `src/version.ts` is the single source of truth.
59
+ - **Frontmatter long-string serialization** (#14). Long string values are written
60
+ single-line instead of being folded into a `>-` YAML block scalar that Obsidian's
61
+ Properties editor mishandles.
62
+
63
+ ### Changed
64
+
65
+ - **`engines.node` narrowed to `>=22 <26`** (#14). Node 26+ has no `better-sqlite3`
66
+ prebuild for the new ABI and building from source currently fails. README prerequisites
67
+ updated accordingly.
68
+ - **Release versions reconciled to 2.3.0** across `package.json`, `plugin/package.json`,
69
+ `plugin/manifest.json`, and README (#14).
70
+
17
71
  ## [2.2.1] — 2026-06-29
18
72
 
19
73
  ### Fixed
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  **Local-first, source-agnostic-ready agentic knowledge layer over your Obsidian notes,
4
4
  exposed to any MCP-aware agent.**
5
5
 
6
- > See [CHANGELOG.md](./CHANGELOG.md) for release history. Latest: **v2.0.0** — additive
6
+ > See [CHANGELOG.md](./CHANGELOG.md) for release history. Latest: **v2.3.1** — additive
7
7
  > over v1.x; the 23 v1 tool names + input schemas are preserved byte-identical.
8
8
 
9
9
  ## 30-second example
@@ -198,7 +198,9 @@ vault-memory supports two engines, selectable **per vault**:
198
198
 
199
199
  ### Prerequisites
200
200
 
201
- - **Node.js >= 22** — runtime for the MCP server (`brew install node@22`).
201
+ - **Node.js 22–25** (`>=22 <26`) — runtime for the MCP server (`brew install node@22`).
202
+ Node 26+ is not yet supported: the native `better-sqlite3` dependency has no
203
+ prebuild for the new ABI and building from source currently fails.
202
204
  - One or more Obsidian vaults; an MCP-aware client.
203
205
  - **Ollama engine only:** [Ollama](https://ollama.com) on `localhost:11434`
204
206
  (`brew install ollama && brew services start ollama`) + the `bge-m3` model