v1.1.0 — Stability, Retrieval, and Project Context
v1.1.0 — Stability, Retrieval, and Project Context
This release expands the stable v1.0.0 baseline with safer synchronization, stronger memory quality controls, faster local retrieval, and automatic project context detection.
Included
Reliability and setup
- Safe setup wizard with diagnostics for project files, build output, environment configuration, Notion, Obsidian, Git, and the configured remote.
- Read-only
setup --dry-runmode that does not modify Notion, Obsidian, Git, or the local cache. - Notion-to-Obsidian polling watcher with a single-instance lock to prevent duplicate watchers.
- Automatic Obsidian Git commit and push after successful synchronization.
- GitHub Actions CI covering build, tests, dependency audit, and credential-pattern scanning.
Memory quality and project scope
- Duplicate detection before
memory_addusing normalized content and similarity checks. - Explicit duplicate override for intentional repeated memories.
- Optional
projectmetadata for separating memories between repositories or products. - Project filtering for memory searches while preserving global search behavior by default.
Automatic project context
memory_addcan infer the project whenprojectis omitted.- Detection order is explicit
project,AGENT_PROJECT, the Gitoriginremote, and finally the Git root directory name. - GitHub remotes are normalized to an
owner/repositoryidentifier. - Automatic search scoping is opt-in through
currentProject: truein MCP or--current-projectin the CLI. - Explicit project values always take precedence.
- The resolver reads local Git metadata only and does not execute remote URLs or inspect repository contents.
Provenance and freshness
- Optional provenance fields: source, confidence, verification date, freshness period, and superseded memory ID.
- Freshness states help distinguish fresh, stale, and unknown information.
- Existing databases without these optional properties remain supported.
Local retrieval cache
- Disposable SQLite FTS5 cache backed by
better-sqlite3. - Cache commands:
cache rebuild,cache search,cache status, andcache clear. - Hybrid search uses the cache only for supported active text queries with a fresh snapshot.
- Unsupported filters, stale cache data, and incomplete cache payloads fall back to live Notion search.
- Successful memory mutations invalidate the cache.
- A normal Notion synchronization refreshes the cache; dry-run synchronization does not write to it.
- Notion remains the source of truth. The SQLite cache and Obsidian mirror are derived data.
Changed
- Node.js 22 or newer is now required because of the SQLite FTS5 dependency.
- Public documentation was rewritten in consistent English and now covers installation, configuration, MCP tools, CLI usage, synchronization, caching, project scope, security, and troubleshooting.
- The release includes expanded automated coverage for cache behavior, duplicate detection, provenance, project context, synchronization, and watcher safety.
Compatibility
- Existing Notion databases without
Project, provenance, or freshness properties remain usable. - Existing clients that do not provide a project continue to use global search behavior.
projectis optional and backward-compatible.- Obsidian remains an optional one-way mirror; edits in Obsidian are not imported back into Notion automatically.
- The SQLite cache is disposable and can be rebuilt or cleared without replacing the Notion database.
Verification
- Node.js build completed successfully.
- 19 automated tests passed.
npm audit --omit=devreported 0 vulnerabilities.- Tracked-file credential-pattern scan passed.
- GitHub Actions CI passed for the release commit.
Security
Do not commit .env, place credentials in memory content, or pass tokens as command-line arguments. Configure Notion credentials locally and keep the file excluded by .gitignore.
Scope
This release is the first stable version after the v1.0.0 baseline. The v1.0.0 tag remains unchanged and continues to identify the original baseline release.