Skip to content

chore(release): bump version to 0.25.0#33

Merged
scarletkc merged 1 commit into
mainfrom
chore/release-0.25.0
Jul 12, 2026
Merged

chore(release): bump version to 0.25.0#33
scarletkc merged 1 commit into
mainfrom
chore/release-0.25.0

Conversation

@scarletkc

Copy link
Copy Markdown
Owner

What this PR does

  1. Version bump 0.25.0 (vexor/__init__.py, plugin manifest, server.json) — merging to main triggers the automated tag + PyPI publish + GitHub release.
  2. Roadmap housekeeping: removed shipped items (hybrid implementation, .vexorignore, project-local cache, config/provider split); the P0 hybrid entry is now the pending default-flip gate with current benchmark status; project-level config split into a whitelisted v1 (existing Config fields only, credentials/endpoints rejected, directory-aware load_config) and a v2 (per-project scan defaults) that waits for v1 adoption.
  3. Docs cleanup (findings from a full read of README/docs/skill/AGENTS after the four feature PRs):
    • README: removed the two feature-detail sentences from "Why Vexor?" (features belong in docs; README links instead), rerank example now shows hybrid neutrally, CLI Reference pointer mentions ignore files and --local.
    • docs/cli.md: the rerank paragraph sat under "Common Flags" but rerank is a config setting — replaced with a pointer to Configuration → Rerank.
    • docs/configuration.md: "This release raises the schema version…" was release-bound wording inside evergreen docs — replaced with a timeless cache-migration note under "Where data lives"; fixed a redundant phrase.
    • docs/mcp.md: the hybrid reranker/score note was stranded in the client-setup section — moved next to the vexor_search response schema.
    • docs/development.md: removed a reference to _label_for_path, which no longer exists; points at the vexor/modes.py strategies instead.
    • text.py messages reviewed — no changes needed.

Tests

python -m pytest tests -q (.venv, offline): 549 passed. Docs + version metadata only; no runtime changes.


Release notes for v0.25.0 (to attach to the GitHub release after the automated publish)

Highlights

  • Hybrid retrieval (opt-in)vexor config --rerank hybrid fuses full-corpus BM25 with dense ranking via weighted reciprocal rank fusion (0.7 dense / 0.3 BM25, k=60). BM25 term statistics are persisted in the index, so exact identifiers and lexical-only matches outside the dense candidate window become retrievable. Tokenization keeps whole identifiers (load_index_vectors) alongside sub-tokens. Scores under hybrid are normalized rank-fusion scores in [0, 1], not cosine similarities. A reproducible benchmark ships in scripts/eval_hybrid.py; the default ranking is unchanged (off).
  • .vexorignore — per-project ignore rules with full gitignore semantics (per-directory files, ancestor chain, !negation). Always honored, including with --no-respect-gitignore; applied after .gitignore so it can re-include gitignored paths.
  • Project-local indexes — opt in with vexor index --local, index(..., local=True) (Python), the new local argument on the vexor_index MCP tool, or simply mkdir .vexor; the project''s index (including its embedding/query caches) then lives in <project>/.vexor/index.db. Vexor writes a self-ignoring .gitignore inside so the database cannot be committed by accident. Explicit cache_dir/data_dir overrides take precedence; config, FlashRank assets, and local models stay global.
  • Provider capability metadata moved to vexor/providers/capabilities.py; vexor.config re-exports everything, so imports are unchanged.

Upgrade notes

  • Index caches rebuild once. The index schema version changed (v7, BM25 statistics); existing indexes are invalidated and rebuilt automatically on next use. Cached embeddings are reused, so the rebuild re-extracts but does not re-embed unchanged content.
  • If you parse MCP/JSON scores: with reranker: "hybrid" the score field is a rank-fusion score in [0, 1], not a cosine similarity.

🤖 Generated with Claude Code

Tidy the docs for the release: prune shipped roadmap items and split the
project-level config item into v1/v2, slim the README feature prose back
into docs, move the rerank note out of the CLI flags section and the
hybrid score note next to the MCP response schema, replace release-bound
wording in configuration.md with a timeless cache-migration note, and
fix a stale symbol reference in development.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@scarletkc
scarletkc merged commit 4ed2429 into main Jul 12, 2026
7 checks passed
@scarletkc
scarletkc deleted the chore/release-0.25.0 branch July 12, 2026 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant