Skip to content

0.2.3

Choose a tag to compare

@possible055 possible055 released this 03 Jan 21:01
· 68 commits to main since this release

Release Date: 2026-01-04

Major refactoring with centralized provider config, async search pipeline, benchmark framework, and improved API compatibility

New Features

MULocBench Evaluation Framework

  • Modular benchmark system (datasets/, evaluation/, run/ submodules)
  • Function-level ground truth with MULocBench dataset
  • Metrics: file recall/precision/F1, line coverage/precision/F1, matched-only precision, line IoU, function hit rate
  • CLI runner with dry-run, filters (added-files, function-scopes), limit/shuffle/seed, progress bar
  • Auto clone/checkout repos with timing and dataset fingerprint tracking
  • Result analysis tool for detailed tables and distribution stats
  • Install: pip install relace-mcp[benchmark]

Async Search Pipeline

  • Native async execution (chat_async, run_async) with thread-based tool execution
  • Improved logging with query preview and exception traceback

Provider Configuration

  • Centralized ProviderConfig system with validated settings
  • Temperature control via APPLY_TEMPERATURE and SEARCH_TEMPERATURE

MCP Tool Annotations

  • Safety annotations: fast_apply (destructive, non-idempotent), fast_search (read-only, idempotent)

Other

  • Lenient read_text_best_effort function for robust encoding handling
  • Block process substitution in shell commands for security

Breaking Changes

Environment Variables Migration:

  • RELACE_BASE_DIR → MCP_BASE_DIR
  • RELACE_LOGGING → MCP_LOGGING
  • RELACE_TIMEOUT_SECONDS → APPLY_TIMEOUT_SECONDS
  • RELACE_LSP_TIMEOUT_SECONDS → SEARCH_LSP_TIMEOUT_SECONDS
  • RELACE_EXPERIMENTAL_POST_CHECK → APPLY_POST_CHECK
  • Prefer APPLY_* and SEARCH_* over RELACE_APPLY_* and RELACE_SEARCH_* (deprecated variants still work with warnings)

OpenAI-Compatible Endpoints: Set SEARCH_ENDPOINT to provider base URL (not /chat/completions)

Dashboard Script: Renamed from relace-dashboard to relogs

Improvements

  • API Compatibility: Sanitize assistant messages for Mistral and other OpenAI-compatible APIs (fixes 422 errors)
  • Search Prompts: Tightened prompts with 8-call/turn limit, mandatory report_back, precise line range requirements
  • Error Handling: Streamlined error handling in SearchLLMClient with better logging
  • CI/CD: Added mypy and bandit security checks to GitHub Actions

Dependencies

  • Added: psutil, bandit[toml] (dev), click (benchmark extra)

Documentation

  • Benchmark guides: docs/benchmark.md and docs/benchmark.zh-CN.md
  • Updated .env.example with new configuration options
  • Added MCP badge to READMEs
  • Enhanced advanced configuration docs
  • Fixed incorrect RELACE_TEMPERATURE references (actual: APPLY_TEMPERATURE, SEARCH_TEMPERATURE)

Stats

85 files changed, 3282 insertions(+), 974 deletions(-)

Full Changelog: v0.2.2...v0.2.3