Releases
v1.24.0
Compare
Sorry, something went wrong.
No results found
1.24.0 (2026-04-01)
Features
add build pipeline for npm publishing, remove runtime Bun dependency (4f62897 )
add diagnostic log viewer to telemetry dashboard (d7ab690 )
add env var to disable file change summaries (#209 ) (374293f )
add LiteLLM passthrough adapter (#215 ) (beb5a5b )
add proxyOverheadMs metric to telemetry (5c573b1 )
add proxyOverheadMs metric to telemetry (049063e ), closes #104
add request debug logging for tool loop visibility (0051d60 )
add session resume support for conversation continuity (c40ff63 )
add tabbed layout to telemetry dashboard (6800ea5 )
add telemetry dashboard with request performance tracking (def290f )
add telemetry dashboard with request performance tracking (79c04a2 ), closes #81
Claude Max proxy for OpenCode (b9df612 )
clear error messages for auth failures and SDK crashes (4e21e9a )
concurrency control, auto-restart supervisor, error handling (318ca75 )
Crush (Charm) agent adapter with full E2E test suite (#183 ) (7395b1f )
detect rate-limited accounts and fall back from 1m models (#149 ) (1b56c0b )
Docker support and README install options (cfb8396 )
Docker support and README install options (d61670e ), closes #15
Droid (Factory AI) agent adapter (#181 ) (b07d2d4 )
enable 1M context window for Opus models (e23afba )
enable concurrent requests for subagent support (Phase 3) (34452a3 )
error classification, health endpoint, and startup auth check (43a80f1 )
export TypeScript declarations from dist (cd06761 )
file change visibility in responses (#189 ) (#192 ) (9112d4a )
forward tool_use blocks to clients (Phase 1) (6042cd7 )
fuzzy match agent names for reliable subagent delegation (fec9516 )
fuzzy match agent names to fix invalid subagent_type values (5364124 )
multimodal content support (images, documents, files) (0e6fc7a )
multimodal content support (images, documents, files) (bc072cb )
passthrough mode for multi-model agent delegation (4836a48 )
passthrough mode for multi-model agent delegation (a74ced9 ), closes #21
per-terminal proxy launcher and shared session store (836102c )
per-terminal proxy launcher and shared session store (d2ace88 )
PreToolUse hook for reliable subagent delegation (01df852 )
register OpenCode tools as MCP tools in passthrough mode (e683539 )
register SDK agent definitions from OpenCode's Task tool (afa480f )
remove internal MCP tools, use maxTurns: 1 (Phase 2) (a740574 )
restore MCP tool federation for multi-turn agent sessions (099a830 )
session resume support for conversation continuity (1e98be0 )
show client model version in telemetry (f77095f )
show client model version in telemetry (f3b8aa0 ), closes #169
telemetry diagnostic log viewer with tabbed dashboard (94f6c8b )
transparent API proxy with full tool execution and subagent support (96be81c )
true concurrent SDK sessions (no serialization) (6dd5aa0 )
use PreToolUse hook for agent name correction (replaces stream hacks) (7cb37b6 )
validate passthrough architecture concept (deed3db )
Bug Fixes
add --version and --help flags to CLI (#196 ) (029d049 )
add NPM_TOKEN to publish workflow (8339bb0 )
add SSE heartbeat to prevent connection resets (194fd51 )
add SSE heartbeat to prevent connection resets (ec7120d ), closes #1
add workingDirectory to fingerprint hash for cross-project isolation (69cfa1a ), closes #111
allow configuring MCP tool working directory via env var (b4d7d74 )
block all Claude Code-only tools in passthrough mode (92fbe7b ), closes #35
block Claude Code-only tools in passthrough mode (c06d1ea ), closes #35
block CLAUDE_CODE_ONLY_TOOLS in normal (non-passthrough) mode (54839b2 )
block CLAUDE_CODE_ONLY_TOOLS in normal (non-passthrough) mode (46be89a )
block SDK built-in tools, enforce MCP-only tool execution (ca1f8e1 )
block SDK tools with schema-incompatible OpenCode equivalents (5bfd10f )
cache failed auth status lookups to avoid repeated exec calls (#145 ) (4a79701 )
capture subprocess stderr to surface real exit-code-1 failures (#213 ) (40eeda7 )
CI workflow must use npm test, not bun test (1644484 )
concurrent requests with auto-restart supervisor (1a8f695 )
deduplicate message_start/stop events in multi-turn streaming (23a0044 ), closes #20
deduplicate streaming events for cleaner multi-turn responses (b98b2dd )
deduplicate tool_use blocks in streaming passthrough mode (f8238b9 )
deduplicate tool_use blocks in streaming passthrough mode (0007887 ), closes #69
deny Task tool retries via canUseTool callback (8b1a8b0 )
detect conversation divergence (undo/edit) via lineage hashing (ced5819 )
detect conversation divergence (undo/edit) via lineage hashing (a09558a ), closes #86
deterministically normalize agent names in task tool_use blocks (64133e1 )
disable all tools in Claude Code sessions (7fab74c )
Docker auth persistence and non-root user (afa18f7 )
Docker auth persistence and non-root user (c4f58a6 ), closes #15
emit message_delta and message_stop before error on mid-stream failures (#185 ) (8bd9b48 ), closes #168
enable 1M context window for Sonnet models (0e3464a )
enable 1M context window for Sonnet models (08dc8ff ), closes #124
ensure Docker entrypoint scripts are executable (#142 ) (6888f32 )
escape quotes in dashboard onclick handlers (6728fc3 )
export TypeScript declaration files from distFix/types export (3a50c93 )
extract client working directory from system prompt for remote proxy (fbf8cfb )
extract client working directory from system prompt for remote proxy (10279ec ), closes #123
filter MCP tool events from stream, forward only client-facing tools (18a0280 )
include mcpTools.ts in published package files (10d8ee8 )
include mcpTools.ts in published package files (5039707 )
include src/plugin/ in published package files (799e29e )
include system prompt context in proxy requests (948b8fb )
increase session TTL to 24 hours, verified end-to-end (181a5fe )
inject agent type hints to prevent capitalization errors (172dca1 )
make CLAUDE_PROXY_WORKDIR override extracted cwd (#154 ) (#158 ) (7c68ee6 )
make tsconfig.json optional in Docker COPY to prevent build failure (9526f54 )
make tsconfig.json optional in Docker COPY to prevent build failure (fe61ebf ), closes #70
migrate all session store tests to setSessionStoreDir (fc8d72b )
mock Date.now in pruning test to prevent CI failure (5ca8653 )
mock Date.now in pruning test to prevent flaky CI failure (ea56c74 )
move npm publish into release-please workflow (82db07c )
move npm publish into release-please workflow (f7c4b2c )
npm publish with automation token (230b185 )
only block tools with no OpenCode equivalent (cc73e9e ), closes #35
only send new messages on resume, not full history (b1e101b )
only send new messages on resume, not full history (5dcbae3 ), closes #49
optimize Docker layer ordering to cache dependencies (dd4351a )
optimize Docker layer ordering to cache dependencies (8f29948 ), closes #125
optimize docker-compose with lightweight init and dedup config (a737190 )
optimize Dockerfile with multi-stage build and node:22-slim runtime (679ceef )
pass OpenCode system prompt via SDK appendSystemPrompt (1375a7e )
pass OpenCode system prompt via SDK appendSystemPrompt (9ff630c ), closes #74
pass system prompt via appendSystemPrompt instead of merging into prompt (2b55399 )
pass systemContext to storeSession for consistent fingerprinting (055b025 )
pass systemContext to storeSession for consistent fingerprinting (617530d )
pass working directory to SDK for correct system prompt (c0a3120 )
pass working directory to SDK query for correct system prompt (d7bfc42 ), closes #18
passthrough mode tool_use broken for multi-turn and streaming (#207 ) (ae2e941 )
prevent @hono/node-server from overriding global Response/Request (#141 ) (64b9a1d )
prevent cross-project session contamination in fingerprint cache (93ef050 )
prevent empty/failed streaming responses in OpenCode proxy (da170e7 )
prevent env var loop and MCP server transport reuse with SDK >=0.2.81 (b20dfee )
prevent env var loop and MCP server transport reuse with SDK >=0.2.81 (b3f3ad6 )
proxy: add LRU eviction to bound session cache growth (661f007 )
proxy: add LRU eviction to bound session cache growth (93d7959 )
proxy: convert blocking execSync calls to async (fb79545 )
proxy: convert blocking execSync calls to async (e59637f )
queue concurrent streaming requests to avoid ~60s delay (fb30a48 )
queue concurrent streaming requests to avoid ~60s delay (054dd2c )
rate-limit retry with backoff and auth status resilience (#156 ) (f0dd8dd )
redesign session management with per-message hashing, SDK-native undo, and compaction survival (f1a7e7b )
redesign session management with per-message hashing, SDK-native undo, and compaction survival (291e20f )
reduce token overhead in passthrough mode (#191 ) (98e8f9b )
remap block indices across multi-turn streaming responses (#153 ) (#159 ) (39f09ca )
remove bun install from publish job (966b2ea )
remove bun install from publish job (cd36411 )
remove duplicate cleanup timer and stop re-throwing in error event handler (ae7404a )
remove Hono type leak from public API and fix exports (1764596 )
remove mock.module leak that breaks session store tests (576bbe2 )
remove mock.module leak that breaks session store tests (795fade )
replace time-based session TTL with durable count-bounded storage (121e82d )
replace time-based session TTL with durable count-bounded storage (71b2cc7 ), closes #99
replace ubuntu base image with multi-stage node:22 build to fix Docker build failures (1702a15 )
resolve Claude executable path and enable true SSE streaming (d95bacb )
resolve UID mismatch between claude user and docker-compose init volume (b8da7b4 )
resolve UID mismatch between claude user and docker-compose init volume (7e353ad )
restore concurrency queue, idle timeout, and Docker crash recovery (7270b47 )
restore MCP tools with bypassPermissions for correct tool execution (d25e45d )
retry as fresh session when undo hits stale UUID (#146 ) (67442c4 ), closes #140
revert to Bun.serve, document known concurrent crash (ecbaec2 )
run MCP tools in the caller project directory (25767ea )
run session store tests sequentially to avoid shared module state (bb4555c )
session store test race condition on CI (90f927d )
session-store: add file locking and error logging (b996a81 )
session-store: add file locking for concurrent access safety (10c9a3c )
show friendly error message when port is already in use (7b9d96a ), closes #16
skip file locking in session store tests (875e136 )
skip system context and assistant messages on resume (1698713 )
stabilize fingerprint resume by removing volatile systemContext and normalizing content format (3256aac )
stabilize fingerprint resume by removing volatile systemContext and normalizing content format (be88868 ), closes #111
treat identical message replay as diverged, not continuation (c819b4e )
treat identical message replay as diverged, not continuation (465eb19 ), closes #171
trigger npm publish with token (c603363 )
update runCli test mock to match ProxyInstance shape (29429f2 )
update SDK and fix streaming to filter tool_use blocks (ae4d7ea )
use subscription type to determine sonnet model variant (#139 ) (7aee13c )
You can’t perform that action at this time.