Releases: editor-code-assistant/eca
Releases · editor-code-assistant/eca
0.142.2
/contextnow shows where auto-compaction triggers: a🔲marker on the threshold cell of the grid plus anAuto-compaction at N%line.- Include
autoCompactPercentagein theusagechat content so clients can mark the auto-compaction threshold on their context-usage bar. - Bugfix:
kill-job!commits:killedbefore destroying the process, fixing a race where the exit monitor overwrote it with:failed(exit 143). (#510) - Bugfix: enabling trust mode while a subagent is running now applies to it; subagents (including nested) inherit the parent chat's trust. (#504)
0.142.1
- Bugfix:
postRequesthook no longer fires for subagent chats; subagents usesubagentPostRequestonly, preventing duplicate hook notifications. (#505) - Bugfix: clearer rejected tool-call result wording so models no longer assume a rejected edit was applied; it now states the call did not run and changed nothing. (#507)
- Bugfix:
ask_usernormalizes theoptionsargument so a malformed value (e.g. a stringified options an LLM sometimes emits) no longer reaches clients as broken choices. Accepts string/object arrays, recovers a JSON-encoded string, and drops unusable input.
0.142.0
- Add
/contextcommand showing context-window usage with a fixed 10x10 proportional emoji grid to the left of a two-section legend: Instructions (system prompt, rules, skills, AGENTS.md, tool definitions) and Chat (tool calls, conversation), plus free space. Each category has a canonical distinct color/emoji swatch. - Include
contextBreakdownin theusagechat content so clients can render a live context-usage bar. Each category carries a canonicalcolorandemoji(plusfreeColor/freeEmojifor the unused portion) so all clients render the same colors/legend.
141.0
- Add message pagination over a shared cursor core: new JSON-RPC
chat/historymethod and optionallimit/before/afterwindow params onchat/open, plus opt-in pagination on remote HTTPGET /api/v1/chats/:id. Opaque cursors with alastCompactionsentinel; meta exposes before/after/compaction cursors. - Support declaring image input for custom models via a per-model
imageInputconfig flag; openai-chat now round-trips tool-result images. (#503) - Bedrock: honor Anthropic thinking variants (effort + adaptive thinking) for Claude models, fixing Claude 4.7+ failing with
thinking.type.enablednot supported. (#502)
0.141.1
- OpenAI OAuth (ChatGPT/Codex) models now report Codex context windows instead of inflated direct-API limits (e.g. gpt-5.5 272k, not 1.05M).
- Agent
defaultModel(and explicit model ids) resolve alias-first: a bare model id is matched against the currently selected provider's models before being treated as a full id, enabling provider-relative subagent models. (#501)
0.140.1
0.140.0
- Add
preCompact,postCompactandsubagentStarthooks; subagents no longer triggerchatStart. - Add
/hookscommand with optionaldescriptionfield in hook config. - Tool hooks (
preToolCall/postToolCall) now includetool_call_idin input data. - Expand hook contracts:
responsenotprompt, plain-texttool_response,continue:falseeverywhere,followUp,replacedOutput, standalonesystemMessage, exact-string matchers. - Fix
postToolCall continue:falseleaking across turns,chatStartadditionalContextdropped, andpreRequestexit-2 naming the blocking hook. - Add Claude Fable 5 and Mythos 5 support.
0.139.2
- MCP OAuth: add
authScope(globaldefault /workspace/ custom bucket) to namespace stored tokens, so signing into different accounts per project no longer clobbers a shared server's token. - OpenAI: inline completion no longer fails with a
NullPointerExceptionon provider/auth errors (e.g. OAuth login); the underlying error is surfaced instead. (#495) - Surface a clear error when a prompt exceeds the model's context window instead of silently finishing; skip auto-compaction when there's no conversation to compact. (#491)
- Resolve home via
$HOME/$USERPROFILEwhenuser.homeis invalid (e.g. native image, email-style username), fixing broken cache paths and login persistence. (#490)
0.139.1
- Model fetch: skip providers without configured credentials, include the response body in 4xx/5xx logs, and quiet down per-provider logging.
- Model fetch: renew near-expiry OAuth tokens before syncing catalogs, fixing spurious
token expired401s (e.g. GitHub Copilot) on startup and config reloads. - GitHub Copilot: present the expected VS Code editor identity (
Editor-Version/Editor-Plugin-Version/Copilot-Integration-Id) on model-catalog and chat requests, fixing400 ... Editor-Version header for IDE auth.
0.139.0
- Remote mode:
ask_usernow reaches both the editor and connected SSE/web clients simultaneously, with the first answer from either winning, instead of only the web client when one is connected. - Remote REST API:
GET /api/v1/chats/:idpendingToolCallsnow includesask_usertool calls while waiting for an answer, with arequestIdfield forPOST /api/v1/answer. - Add OpenAI Responses API for GitHub Copilot models that require it (gpt-5.5, gpt-5.4-mini).
- MCP OAuth: persist and reuse the dynamically-registered client on token refresh, so servers with non-idempotent DCR (e.g. RunLayer) refresh instead of forcing a browser re-login, and recover from expired-token tool errors automatically.
- Deliver cursor context per-turn in the user message instead of the system prompt, and only re-send it when the position changes, so a moving cursor no longer invalidates the cached system prefix (avoiding llama.cpp full prompt re-processing). (#464)
- Remote endpoint now lists resumed and forked chats immediately, without waiting for the first prompt.
- Fix resumed chats being permanently missing from the remote
GET /sessionandGET /chatsendpoints.