Skip to content

chore(main): release 0.1.0#105

Closed
aeneasr wants to merge 1 commit intomainfrom
release-please--branches--main
Closed

chore(main): release 0.1.0#105
aeneasr wants to merge 1 commit intomainfrom
release-please--branches--main

Conversation

@aeneasr
Copy link
Copy Markdown
Member

@aeneasr aeneasr commented Apr 7, 2026

🤖 I have created a release beep boop

0.1.0 (2026-04-07)

⚠ BREAKING CHANGES

  • lumen install and lumen uninstall commands removed. Use claude plugin install lumen or claude --plugin-dir . instead.

Features

  • add cwd parameter to MCP tools for reliable index root detection (b622e62)
  • add go/ast chunker for function/method/type/interface/const/var extraction (8efb510)
  • add index orchestrator with merkle-based incremental indexing (da1fa90)
  • add internal/config package for shared configuration (234ca1e)
  • add LUMEN_EMBED_DIMS/LUMEN_EMBED_CTX env vars for custom models (#80) (2b124b1)
  • add Markdown/MDX chunker splitting by ATX headings (81863f8)
  • add merkle tree change detection for file hashing and diffing (05de922)
  • add model registry mapping Ollama model names to specs (332e51e)
  • add MultiChunker and DefaultLanguages for all supported file types (4c9d237)
  • add ollama embedder with batching and retry (a489800)
  • add PHP tree-sitter chunker (f109b8b)
  • add PTerm-based TUI progress output for index command (#38) (7fee513)
  • add sqlite + sqlite-vec store with vector search and batch inserts (e12bb2d)
  • add StructuredChunker for YAML/JSON files with TDD (7d78504)
  • add TreeSitterChunker for multi-language AST parsing (cf25133)
  • add YAML+JSON data chunker splitting by top-level keys (466e9fd)
  • align Lumen packaging across Codex, Cursor, and OpenCode (#73) (665c8db)
  • auto-reset vec_chunks on embedding dimension mismatch (ff3279a)
  • bench-swe: add PTerm-based TUI progress component (#43) (edb13dc)
  • better benchmarks with swe-bench approach and improved chunker (#34) (c722d66)
  • change default limit to 50, default min_score to 0.5; handle min_score=-1 as no-filter (becc603)
  • chunker: add C# language support (915e917)
  • chunker: add Dart language support (#69) (00a985b)
  • cmd: add search subcommand with --trace diagnostic flag (e1f4bf2)
  • cmd: Close() waits for background reindex goroutines (d7b7cad)
  • cmd: non-blocking ensureIndexed with 15s timeout and background reindex (fa883d7)
  • cmd: render StaleWarning in semantic_search output (ce2503b)
  • config: add LUMEN_EMBED_DIMS/LUMEN_EMBED_CTX escape hatch for custom models (#88) (29ad682)
  • config: resolve ModelAliases before KnownModels lookup (08989a4)
  • distribute lumen binary via npm optional dependencies (#47) (6c382af)
  • embedder: add manutic/nomic-embed-code:7b to known models (#42) (b2b8e40)
  • go-ast + sqlite-vec + mcp server (8b13f64)
  • hook,stdio: background index pre-warming and TTL pre-population (338fdc9)
  • hook: spawn detached background indexer on session start (d943ebf)
  • ignore known vendor dirs and gitignore (67668f1)
  • improved benchmarks and further tree sitter fixes (67f9dd3)
  • index: acquire flock before indexing, thread ctx, cancel on SIGTERM (9409971)
  • index: add root hashes and worktree info to indexing plan log (bd237e3)
  • index: add slog to background indexer and enrich Stats with change breakdown (919eef1)
  • indexlock: add flock-based advisory lock for index coordination (2a55737)
  • index: reuse ancestor index for non-git subdirectories (3f89427)
  • index: seed CLI index command from sibling worktree on first use (ff55769)
  • index: seed worktree indexes from sibling to skip full re-embedding (#52) (76809bd)
  • install: show only supported models with local availability status (6d5a5a0)
  • LM Studio backend, chunk deduplication, and quality improvements (0bd3fe3)
  • make embedding dimensions configurable via AGENT_INDEX_EMBED_DIMS (87944cd)
  • merkle: load global gitignore (core.excludesFile) (04e7bcb)
  • merkle: support linguist-vendored in .gitattributes (c7492d4)
  • pass num_ctx to Ollama based on model's context length (d5a4540)
  • replace key-based DataChunker with plain text splitting for JSON and YAML (4cff686)
  • reuse parent index for subdirectory searches (7e9f803)
  • split oversized chunks at line boundaries before embedding (cae8a90)
  • stdio: group search results by file with score-based ranking (967e23e)
  • stdio: skip EnsureFresh when background indexer holds lock (64a8d03)
  • switch default model to qwen3-embedding:8b, rename module (0df840a)
  • use XML-tagged output format for search results (5e34a89)
  • wire MCP server with semantic_search and index_status tools (a57bebc)
  • wire MultiChunker and MakeExtSkip for multi-language indexing (0caed1f)
  • wire StructuredChunker into DefaultLanguages for yaml/yml/json files (91ebc82)

Bug Fixes

  • broken json (5d4496e)
  • build: fix cross-platform build on Apple Silicon (597821d)
  • C pointer-return query; add test coverage for all languages (4446d1f)
  • chunker: cap leading comments to 10 lines (34f56eb)
  • chunker: deduplicate overlapping tree-sitter chunks (0581cf0)
  • ci: chain goreleaser into release-please workflow (8ceb5d6)
  • ci: remove redundant test/vet/lint steps from release job (2f33014)
  • cmd: add TestMain to prevent fork-bomb in TestSpawnBackgroundIndexer (19849aa)
  • cmd: close indexers on shutdown and set up signals before DB open (859a274)
  • cmd: eliminate reindex fragmentation causing constant cpu usage (c7eb27e)
  • cmd: lint cleanup in search subcommand (736e2c6)
  • cmd: remove lumberjack rotation; add discardLog to test fixtures (502f454)
  • convert cosine distance to similarity score, explicit ORDER BY score DESC (85bc4eb)
  • e2e: add LUMEN_REINDEX_TIMEOUT to prevent premature search during indexing (1131bbb)
  • e2e: increase reindex timeout to 10m for PHP fixture set (19e6b83)
  • explicitly ignore f.Close() error in parseLinguistGenerated (f95ca35)
  • fix 5 pre-existing E2E test failures (64377cc)
  • harden concurrent indexer lifecycle (close cancellation, reindex dedup, reader consistency) (e943a79)
  • hook: add license headers, smoke test, and Windows stub guidance (2cffb63)
  • index: cap parent index walk at git repo boundary + store perf improvements (#58) (c5074e2)
  • index: cap parent index walk at git repository boundary (#56) (10e9635)
  • index: defer UpsertFile until chunks are flushed (9daac4f)
  • index: exclude internal git worktrees from project index (#54) (4890908)
  • index: force reindex removes deleted files and purges stale extensions (b3b3b48)
  • index: prevent triple indexing when non-git parent contains git repos (#81) (adf4e54)
  • index: purge stale unsupported-extension records from donor seeding + freshness TTL cache + debug logging (cea7687)
  • index: serialize concurrent Index/EnsureFresh calls to prevent duplicate key errors (6f27677)
  • index: simplify isBinaryContent using slices.Contains (d04216a)
  • index: skip binary files based on NUL-byte detection (4fef1d2)
  • index: write skip message to stderr, document signal-race trade-off (bbc63f1)
  • lint: wrap deferred Close calls to satisfy errcheck (5a200a2)
  • log: use lumberjack for log rotation; remove repro test; fix imports (24d6906)
  • make all e2e and unit tests pass (57db1ea)
  • mcp: rename n_results to limit in semantic_search tool (ca74157)
  • merkle: skip symlinks and files >10MB during tree walk (3f3de05)
  • opencode: invoke run.cmd directly instead of wrapping with sh (f3fd945)
  • plugin: align plugin files with Claude Code plugin reference (89cdb08)
  • plugin: remove invalid manifest fields and bump version to 0.0.8 (34ddfba)
  • prevent Search() from blocking during indexing by using separate read connection (bdb837a), closes #94
  • reduce cyclomatic complexity of major functions (8faef25)
  • reindex stability — sentinel resume, donor safety, worktree subdirs, progress bar (#67) (07782d6)
  • remove package-level chunk from Go AST chunker (e53d95b)
  • remove worktrees (61384a7)
  • replace custom minInt with builtin min in structured_test.go (8aa1269)
  • replace custom time.Sleep backoff with go-retry for context-aware retries (91a14c1)
  • resolve import and style issues in merkle package (fd8c1a8)
  • scripts: correct jsonpath field name in release-please extra-files config (528d6a3)
  • scripts: pin binary download to manifest version (9b1f90d)
  • scripts: point to ory/lumen and download raw binaries (fef815d)
  • scripts: resolve version from release-please manifest before GitHub API (42a4e4a)
  • search: pass db file path instead of directory to setupIndexer (#75) (81cb4db)
  • set MaxOpenConns(1) for SQLite, fix pragma test to scan int (7f82484)
  • skip permission-denied files instead of aborting index/search (#84) (fde97b4)
  • stdio: default to git repo root when no existing index found (929b4c9)
  • stdio: increase scanner buffer to 1MB for long lines (36c0435)
  • stdio: only adopt cwd as index root when a DB already exists there (80fe5d4)
  • stdio: propagate LUMEN_FRESHNESS_TTL from config to indexerCache (cb4029b)
  • stdio: resolve symlinks in search input paths before processing (f1caa70)
  • stdio: reuse parent index when search path points into internal worktree (e96b464)
  • stdio: skip force reindex when background indexer holds lock (a867910)
  • store,index: auto-recover from SQLite database corruption (652b418)
  • store: increase busy_timeout to 120s and use INSERT OR REPLACE for vec_chunks (25a0e01)
  • store: increase busy_timeout to 30s for slow embedding batches (91a2883)
  • store: wrap dimension-reset deletes in a transaction (33ea835)
  • test: resolve symlinks in e2e test paths for macOS compatibility (fca3aec)
  • tests: prevent fork bomb and close indexer FDs in cmd tests (90c3d94)
  • tool description to increase invokation (5f92ca4)
  • tui: disable ShowElapsedTime to prevent pterm ticker goroutine race (cec32c5)
  • update guidance for reindexing the Lumen index (f08c3b9)
  • update MinScoreFilter test to use -1 for all-results and 0.5 threshold (562e474)
  • use query_only pragma instead of read-only mode for WAL compatibility (34e5123)
  • version to 0.0.1-alpha.4 (816452a)

Performance Improvements

  • add SQLite write pragmas and chunk column indexes (5bac05f)
  • avoid double Merkle tree build by sharing tree between EnsureFresh and indexWithTree (91f3cae)
  • combine Stats() into one query, add GetMetaBatch for Status() (80300f9)
  • e2e: parallelize all E2E tests and fix openIndexDB race (#45) (1ae2993)
  • make Status() DB-only by storing total_files in metadata, remove StaleFiles (59826c2)
  • parallelize file reads in merkle.BuildTree with worker pool (02e262e)
  • stdio: skip merkle walk within 30s freshness TTL (0e2c7a4)
  • stream chunk embed+insert in batches of 256 to bound memory (7441642)
  • use RWMutex with double-checked locking in indexer cache (5d1c2b6)

Reverts

  • distribute lumen binary via npm optional dependencies (#47) (#50) (4ea2314)

Code Refactoring

  • migrate from install/uninstall to Claude Code plugin system (0920f3d)

This PR was generated with Release Please. See documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Option to disable auto-index on search

1 participant