Skip to content

v0.7.2 — fix compiled-wheel publish pipeline (for real)

Choose a tag to compare

@phuongddx phuongddx released this 08 Sep 14:45
· 91 commits to main since this release
v0.7.2
8e1060c

No functional changes — v0.7.1's own publish run also failed the compiled-wheel build, for two further reasons that first fix missed. Same code as v0.7.0/v0.7.1, ships for real this time.

Install

Claude Code plugin:

/plugin marketplace add jarvis-intelligence/jarvis-index
/plugin install jarvis@jarvis

Standalone (uv / uvx):

uvx --from jarvis-mcp jarvis-server

Fixed

  • One more interactive_input test was missed by v0.7.1's exclusion. test_cmd_index_semantic_include_runs_on_declined_repo_without_clearing_bit also calls the real-input()-under-a-forced-TTY path v0.7.1 excluded seven other tests for, but its name didn't match the grep pattern the first pass used to find them. Now marked and excluded the same way.
  • A real Cython compilation bug in jarvis.symbols._matches, exposed for the first time by this release's compiled-wheel test run. Its name_map parameter is annotated dict[str, list[Candidate]], but the lookup used name_map.get(key, ()) — an empty tuple default where the annotation promises list values. Pure Python's duck typing never noticed (an empty tuple and an empty list iterate identically), so this shipped unnoticed in every previous release. Cython's compiled code enforces the annotated value type on dict.get()'s default argument, raising TypeError: Expected list, got tuple on every call that missed the fast-path symbol bucket — breaking resolve() for any unknown or dotted-suffix query. Fixed by defaulting to [], matching the parameter's own declared type.

v0.7.0's actual content — sym: symbol search, honest searchCode totals, hardened zoekt-webserver lifecycle — is unchanged. See its own notes: https://github.com/jarvis-intelligence/jarvis/releases/tag/v0.7.0

Platforms: macOS (arm64/x86_64) and Linux (x86_64/aarch64), Python 3.12–3.14.

See CHANGELOG.md.