Releases: bartolli/codanna
Releases · bartolli/codanna
v0.9.19
Fixed
mcp get_index_inforeports persisted remote semantic metadata in lite facade loads (PR #98)- Remote embedding model name shown instead of local default in status messages (PR #98)
index-parallelpersistsindex.metaso MCP status reads do not trigger unnecessary sync (PR #98)- Windows test portability: Java, Lua, and path tests use TempDir instead of hardcoded Unix paths (PR #98)
Changed
index-parallelcommand retired;indexuses the same pipeline pathformat_semantic_status()shared helper for remote/local status formatting- GitHub Actions upgraded to Node 24: checkout v6, upload-artifact v7, download-artifact v8, github-script v8
softprops/action-gh-releasev1 to v2 (Node 20, no Node 24 release yet)Swatinem/rust-cache@v2in full-test, quick-check, and autofix workflows- full-test.yml: redundant build steps removed, release build conditional on tags only
- Local CI scripts synced with updated workflows
Removed
index-parallelCLI command andsave_document_index_metadatafrom IndexPersistence
v0.9.18
Added
- Remote embedding backend: OpenAI-compatible HTTP endpoint as alternative to local fastembed (PR #97)
- CODANNA_EMBED_API_KEY env var for Bearer auth on remote embedding servers
- CODANNA_EMBED_URL, CODANNA_EMBED_MODEL, CODANNA_EMBED_DIM env var overrides
- Remote embedding config documentation in
codanna initoutput - Nix flake for reproducible builds and
nix runsupport (PR #94) - GetIndexInfoRequest manual JsonSchema impl for OpenAI function-calling compatibility (PR #96)
Fixed
- Dimension mismatch detection:
enable_semantic_searchno longer overridessemantic_incompatibleflag --forcewith CLI paths warns about configured roots that will not be rebuilt--forcesuppresses misleading "Already indexed" messageprocess::exitremoved fromcreate_semantic_searchin index_parallel (returns gracefully)- Highlight range overlap panic in document search
- DimensionMismatch propagated through persistence and hot-reload paths
Changed
- EmbeddingBackend enum wraps local fastembed pool and remote HTTP embedder
- Shared
load_symbol_languageshelper (deduplicated load/load_remote) - API keys env-var only: secrets not stored in config files
v0.9.17
v0.9.16
v0.9.15
Changed
- rmcp 1.2.0, rand 0.10.0, and 18 other dependency updates
Fixed
- System git backend for SSH config support
- Profile install for symlinked directories
- Windows installer script and rustls enablement
Removed
- git2 crate (system git backend)
v0.9.14
Added
- Lua language support: parser, behavior, definition, resolution modules
- Lua test fixtures and comprehensive examples
- Lua grammar analysis and audit report documentation
Changed
- Updated rmcp to 0.14.0 (CallToolRequestParams, InitializeRequestParams, StreamableHttpServerConfig API)
- Updated clap to 4.5.56, chrono to 0.4.43, thiserror to 2.0.18, rcgen to 0.14.7, sysinfo to 0.38.0
Fixed
- Vector storage clippy panicking_unwrap false positive
v0.9.13
Added
- Go project resolver provider for go.mod parsing and module path resolution
- Python project resolver with multi-backend support (Poetry, Hatch, Maturin, Setuptools, PDM, Flit)
- Kotlin project resolver with source layout config (jvm, standard-kmp, flat-kmp)
- PHP PSR-4 provider for composer.json autoload namespace resolution
- C# project resolver for .csproj SDK-style projects (RootNamespace, AssemblyName extraction)
- Shared helper functions in helpers.rs for provider implementations
[[languages.X.projects]]config block for per-project source layout override- PHP method call tracking (member_call_expression, scoped_call_expression)
- Animated spinner during pipeline warmup phase (DISCOVER/READ/PARSE/COLLECT)
Changed
- Settings.languages uses IndexMap for alphabetical ordering in init output
- LoggingConfig.modules uses IndexMap for consistent ordering
- Empty indexes now auto-trigger force mode for dual EMBED+INDEX progress bars
- DualProgressBar shows preparing spinner when both bars at 0%
Fixed
- Languages without providers no longer show empty config_files in settings.toml
- Rustdoc invalid-html-tags error in C# provider doc comments
v0.9.12
Added
- Unified JSON envelope format (Envelope type) with schema_version, status, code, exit_code, message, hint, data, meta
--fieldsflag for JSON field filtering on data payload (mcp and retrieve commands)- QueryContext abstraction for symbol resolution and error handling in retrieve commands
langfield to Meta struct withwith_lang()builder methodpaths.rsmodule with normalize_for_module_path, strip_source_root, strip_extension helpersformat_path_as_moduleas required trait method for language-specific path formatting- Document collections info to get_index_info output
Changed
- Migrated all 9 MCP tool commands to unified Envelope format for --json output
- Migrated retrieve symbol/callers/calls/describe/search/implementations to Envelope format
- Lazy load ML model for embedding generation (deferred until first semantic search)
- Flattened tuple output in get_calls/find_callers to avoid nested array waste
- Standardized search_symbols output with nested symbol object
- Unified logging to stderr for all commands
- Skip embedding pool loading for retrieve commands via load_facade_lite()
module_path_from_filenow acceptsextensions: &[&str]parameter (fixes deadlock when registry lock held)
Removed
file_extensions()method from LanguageBehavior trait (duplicated LanguageDefinition::extensions())file_extensions()implementations from all 12 language behaviorsinit_with_config_stderrfunction (replaced by unified init_with_config)- Tantivy-based resolution methods from trait:
resolve_import,build_resolution_context,resolve_import_path,classify_import_origin,resolve_import_path_with_context - Dead Go behavior methods:
get_current_package_path_for_file,get_project_root_for_file store_file_infofrom DocumentIndex (replaced bystore_file_registration)
Breaking
--jsonoutput format changed for mcp and retrieve commands (now uses Envelope schema)
v0.9.11
Fixed
- MCP servers now load document store on all transports (stdio, HTTP, HTTPS)
- Consolidated document store loading into reusable helper
Documentation
- Added transport notes to MCP Persistent and MCP Network docs
v0.9.10
Changed
- Bump version to 0.9.10
- Update serde_json from 1.0.148 to 1.0.149
- Disable ort dev-dependency (commented out)
Fixed
Documentation
- Fix JSON examples in MCP tools
- Add lang parameter to tools documentation
- Update architecture for v0.9.0
- Add install methods documentation