Skip to content

v2.4.0

Choose a tag to compare

@cyyever cyyever released this 26 Feb 13:47
· 398 commits to main since this release
6e290e7
  • ACP stdio proxy — crust acp-wrap wraps any ACP-compatible agent (Goose, Gemini CLI) as a transparent
    security proxy, intercepting fs/read_text_file, fs/write_text_file, and terminal/create before the IDE
    executes them (#29)
  • crust doctor command — diagnose provider endpoint connectivity with concurrent checks, proxy support, and
    --report flag for sanitized GitHub issue reports (#30)

Bug Fixes

  • Gemini path duplication — broaden pathHasVersion to match v1beta-style segments, fixing 404s for Gemini's
    /v1beta/openai endpoint
  • GLM/Zhipu path duplication — strip redundant /vN prefix when provider URL already contains a versioned path
    (e.g. /api/paas/v4)
  • Dashboard metric — remove misleading "total tool calls" that only counted evaluated calls, making block
    rate appear 100%
  • TUI header style — unify to uppercase CRUST with brand gradient across logs, list-rules, and
    status
  • ACP security hardening — fix process hang on agent exit, scanner buffer mutation, naive arg joining in
    terminal/create, and fail-closed on malformed params
  • 12 code-level fixes — IFS case-sensitivity bypass, double-close panic, UTF-8 truncation corruption, invalid
    JSON acceptance, missed tool calls in non-first choices, mutable slice aliasing, log file descriptor leak,
    goroutine os.Exit, telemetry config override, SSE frame reconstruction, buffer aliasing

Documentation

  • ACP setup guide (docs/acp.md) — step-by-step instructions for JetBrains IDEs, VS Code, and other
    ACP-compatible editors
  • Other fixes