Skip to content

Releases: proofsh/obsidian-notes-rag

v1.1.2

19 Mar 23:45

Choose a tag to compare

v1.1.2 (2026-03-19)

This release is published under the MIT License.

Bug Fixes

  • Upgrade GitHub Actions to Node.js 24-compatible versions (aba5d56)

Bump actions/checkout v4→v5 and astral-sh/setup-uv v4→v5 to resolve Node.js 20 deprecation warnings.

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com


Detailed Changes: v1.1.1...v1.1.2

v1.1.1

17 Mar 23:05

Choose a tag to compare

v1.1.1 (2026-03-17)

This release is published under the MIT License.

Bug Fixes

  • Address post-merge review issues from PR #12 (c59b652)

Code review fixes:

  • Fix sentinel-value limit detection in server.py (Optional[int] = None)
  • Replace unbounded chunker cache with @lru_cache(maxsize=16)
  • Fix save_config dropping non-default presets (e.g. preset="math")
  • Validate from_dict against _SERIALIZABLE_FIELDS instead of hasattr
  • Anchor fenced code regex to line boundary
  • Sync watcher exclude patterns with VaultIndexer defaults
  • Add missing test file newline

Search quality improvements:

  • Use cosine distance metric in sqlite-vec (was L2/Euclidean)
  • Tighten defaults: preserve_code_blocks=True, similarity_threshold=0.10

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com


Detailed Changes: v1.1.0...v1.1.1

v1.1.0

17 Mar 21:02

Choose a tag to compare

v1.1.0 (2026-03-17)

This release is published under the MIT License.

Chores

  • Update repo URLs from ernestkoe to proofgeist (0730401)

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Documentation

  • Add watcher service, release process, and repo URL to CLAUDE.md (c8e3c18)

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Features

  • Configurable chunking and search via [indexer] in config.toml (#12, ca2910a)

Co-authored-by: Purrplexia purrplexia@proton.me


Detailed Changes: v1.0.2...v1.1.0

v1.0.2

28 Feb 02:11

Choose a tag to compare

v1.0.2 (2026-02-28)

This release is published under the MIT License.

Bug Fixes

  • Make VectorStore thread-safe for watcher daemon (#11, 36c236a)

The file watcher's DebouncedHandler fires callbacks on threading.Timer threads, but VectorStore's SQLite connection was created on the main thread. This caused every indexing attempt to fail with "SQLite objects created in a thread can only be used in that same thread".

Add check_same_thread=False and a threading.Lock to VectorStore so all public methods are safe to call from any thread.

Co-authored-by: Claude Opus 4.6 noreply@anthropic.com


Detailed Changes: v1.0.1...v1.0.2

v1.0.1

15 Feb 12:52

Choose a tag to compare

v1.0.1 (2026-02-15)

This release is published under the MIT License.

Bug Fixes

  • Use get_data_path() to resolve Optional[str] type error (db4629e)

config.data_path is Optional[str] but VectorStore.init requires str. Use the existing get_data_path() method which handles the None fallback.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Documentation

  • Add general upgrade instructions to README (0073d54)

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • Add guidance on using CLI with AI coding assistants (d5b01c5)

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • Make README MCP-client-agnostic (4a57b03)

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • Update README for v1.0.0 (f3955d1)

Reflects sqlite-vec backend, CLI commands (search, similar, context), Chonkie chunker, uv tool install, and upgrade instructions.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com


Detailed Changes: v1.0.0...v1.0.1

v1.0.0

15 Feb 01:26

Choose a tag to compare

v1.0.0 (2026-02-15)

This release is published under the MIT License.

Features

  • Replace ChromaDB with sqlite-vec, extend CLI (#10, e0bc157)
  • feat: add obsidian-rag as shorter CLI alias

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • feat: add --path-filter option to index command

  • feat: add similar command to CLI

  • feat: add context command to CLI

  • test: add VectorStore contract tests for sqlite-vec migration

  • docs: add sqlite-vec + Chonkie migration implementation plan

  • feat: replace ChromaDB with sqlite-vec vector store

  • feat: replace custom chunker with Chonkie RecursiveChunker

Uses the built-in markdown recipe which splits by heading levels, then paragraphs, then lines, then sentences.

  • build: replace chromadb dependency with sqlite-vec

Removes chromadb and its heavy transitive dependencies (fastapi, grpc, opentelemetry, posthog telemetry). Defines markdown chunking rules inline to avoid huggingface_hub dependency that was previously pulled in by chromadb.

  • docs: update CLAUDE.md for sqlite-vec and Chonkie migration

  • fix: use direct lookup for similar and context note retrieval

The similar and context commands were failing because they embedded the file path string as a vector query then filtered by file_path. With sqlite-vec's post-filter KNN, the target file was rarely in the top-k results. Added get_by_file() for direct SQL lookup on the indexed file_path column - no vector search needed.

  • docs: add CLI extension design doc

Co-authored-by: Claude Opus 4.6 noreply@anthropic.com


Detailed Changes: v0.4.3...v1.0.0

v0.4.3

01 Feb 13:59

Choose a tag to compare

v0.4.3 (2026-02-01)

This release is published under the MIT License.

Bug Fixes

  • Prevent infinite retry loop for deleted/temp files (8d01202)

  • Check file exists before indexing to avoid retry loops for deleted files

  • Filter Obsidian temp/recovery files (.!NNNNN!filename.md pattern)

  • Remove duplicate StreamHandler to prevent unbounded stderr log growth

The retry mechanism had a flaw where _index_file() caught exceptions and called retry_queue.add() with attempt=0, preventing the attempt counter from ever incrementing. This caused deleted files to retry forever, filling watcher.err to 47GB.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

Documentation

  • Add Phase 5 CoreML embedding provider to roadmap (4574ffb)

Document future plan to add native macOS embedding support using CoreML. This would eliminate Ollama/OpenAI dependency, run on Neural Engine, and enable fully offline operation. Includes tradeoffs analysis and implementation notes.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com


Detailed Changes: v0.4.2...v0.4.3

v0.4.2

29 Jan 02:05

Choose a tag to compare

v0.4.2 (2026-01-29)

This release is published under the MIT License.

Bug Fixes

  • Prevent crash loop from filling disk with logs (0388bc8)

Add ThrottleInterval (30s) to launchd plist to prevent rapid restarts from generating massive log files. Move logs from /tmp to proper macOS location ~/Library/Logs/obsidian-notes-rag/ and add rotating file handler (10MB max, 3 backups) to cap total log size at ~40MB.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com


Detailed Changes: v0.4.1...v0.4.2

v0.4.1

22 Jan 23:19

Choose a tag to compare

v0.4.1 (2026-01-22)

This release is published under the MIT License.

Bug Fixes

  • Handle ChromaDB version incompatibility gracefully (bd03c4e)

  • Tighten chromadb constraint from >=0.4.0 to >=0.6.0

  • Add ChromaDBMigrationError with clear instructions when users
    have databases created with older ChromaDB versions

  • Error message tells users to run obsidian-notes-rag index --clear

Fixes KeyError: '_type' caused by schema changes between ChromaDB 0.4.x and 0.6.x where config_json_str format changed.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

Chores

  • Gitignore .atlas directory (9fd567a)

Remove .atlas/project.yaml from tracking - this is auto-generated metadata from the atlas project manager, not project source code.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com


Detailed Changes: v0.4.0...v0.4.1

v0.4.0

22 Jan 02:19

Choose a tag to compare

v0.4.0 (2026-01-22)

This release is published under the MIT License.

Bug Fixes

  • Correct semantic-release config and workflow (9ca110f)

  • Use official python-semantic-release GitHub Action

  • Configure branch settings properly

  • Disable built-in PyPI upload (using trusted publishing instead)

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

  • Remove build_command from semantic-release config (eac6a77)

The semantic-release action runs in its own container without uv. Let the workflow handle building separately after version bump.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

  • Resolve macOS path case issues and pin ChromaDB version (e5900c5)

  • Add resolve_path_case() to normalize vault paths on macOS where the
    filesystem is case-insensitive but case-preserving. Watchdog requires
    exact case to detect file changes properly.

  • Pin ChromaDB to <1.0.0 to avoid Rust bindings crashes (issue #5937)

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

  • Resolve pyright type error for chromadb Include parameter (b80b0d9)

Cast the include parameter to chromadb's Include type to satisfy pyright's strict type checking.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

  • Resolve pyright type errors (ebc7a4d)

  • Add task_type parameter to OpenAIEmbedder.embed() for interface consistency

  • Import ChonkieChunk and use chunker.chunk() method for proper typing

  • Add assertion for vault_path in setup wizard service installation

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

Continuous Integration

  • Suppress pyright version warning by forcing latest (0af1c36)

Set PYRIGHT_PYTHON_FORCE_VERSION=latest to avoid version mismatch warnings in CI output.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

Documentation

  • Update README with LM Studio support and service improvements (c971fa3)

  • Add LM Studio as a supported embedding provider

  • Document the new descriptive service name in System Settings

  • Update configuration table with LM Studio URL option

  • Clarify that data path is platform-specific

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

Features

  • Show 'obsidian-notes-rag' in Activity Monitor instead of python3 (b9c1502)

Use setproctitle to set a descriptive process name that appears in macOS Activity Monitor and ps output, making the background service easier to identify.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

  • Show descriptive name in macOS System Settings (590d86c)

Use a wrapper script named 'obsidian-notes-rag-watcher' instead of calling python directly. This makes the service appear with a descriptive name in System Settings > Login Items & Extensions > App Background Activity, rather than showing "python3".

The wrapper script is installed to ~/.local/bin/ and the launchd plist now references it instead of the Python interpreter.

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

  • Switch from release-please to python-semantic-release (b3e3da6)

Simpler auto-deploy: push a feat/fix commit → auto-release to PyPI. No intermediate PR required.

  • Remove release-please config files
  • Add semantic_release config to pyproject.toml
  • Update release workflow for semantic-release

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com


Detailed Changes: v0.3.0...v0.4.0