Skip to content

v1.1.0 — Stability, Retrieval, and Project Context

Choose a tag to compare

@Chaerulcp Chaerulcp released this 01 Sep 14:59
· 27 commits to main since this release

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-run mode 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_add using normalized content and similarity checks.
  • Explicit duplicate override for intentional repeated memories.
  • Optional project metadata for separating memories between repositories or products.
  • Project filtering for memory searches while preserving global search behavior by default.

Automatic project context

  • memory_add can infer the project when project is omitted.
  • Detection order is explicit project, AGENT_PROJECT, the Git origin remote, and finally the Git root directory name.
  • GitHub remotes are normalized to an owner/repository identifier.
  • Automatic search scoping is opt-in through currentProject: true in MCP or --current-project in 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, and cache 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.
  • project is 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=dev reported 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.