@@ -6,27 +6,43 @@ Versioning: [Semantic Versioning](https://semver.org/).
66
77For releases before v1.3.35, see [ GitHub Releases] ( https://github.com/VladoIvankovic/Codeep/releases ) .
88
9+ ## [ 1.3.41] — 2026-05-10
10+
11+ ### Fixed
12+ - ** Slash commands (` / ` ) still showed "Available commands: none" in Zed
13+ after v1.3.40.** The earlier patch (removing the spec-extension
14+ ` session_info_update ` notification and re-emitting commands on every
15+ prompt) was insufficient — the actual root cause is a ** race in Zed** :
16+ it processes ` AvailableCommandsUpdated ` events synchronously and silently
17+ drops them if the session's ` thread_view ` isn't registered yet. Codeep
18+ was sending the notification ~ 1 ms after the ` session/new ` response —
19+ well inside Zed's setup window — so the agent's command list never
20+ reached the slash autocomplete and ` /help ` was rejected as unsupported.
21+ Confirmed by reading Zed source (` crates/agent_ui ` + ` crates/agent ` )
22+ and reproduced via the new ` CODEEP_ACP_DEBUG ` log. Codeep now sends
23+ ` available_commands_update ` with a configurable delay (200 ms by
24+ default, override via ` CODEEP_ACP_COMMANDS_DELAY_MS ` ) on ` session/new ` ,
25+ ` session/load ` , and ` session/resume ` — well outside the race window.
26+
927## [ 1.3.40] — 2026-05-10
1028
1129### Fixed
12- - ** Slash commands (` / ` ) showed "Available commands: none" in Zed.** Root
13- cause was a race in Zed: it processes ` AvailableCommandsUpdated ` events
14- synchronously and silently drops them if the session's ` thread_view ` isn't
15- registered yet. Codeep was sending the notification ~ 1 ms after the
16- ` session/new ` response — well inside Zed's setup window — so the agent's
17- command list never reached the slash autocomplete and ` /help ` was rejected
18- as unsupported. Codeep now sends ` available_commands_update ` with a
19- configurable delay (200 ms by default, override via
20- ` CODEEP_ACP_COMMANDS_DELAY_MS ` ) and re-emits it on ` session/load ` ,
21- ` session/resume ` , and at the start of every ` session/prompt ` turn for
22- resilience against any future client-side race.
30+ - ** First attempt at fixing slash commands in Zed.** Removed a
31+ ` session_info_update ` notification that was emitted between the
32+ ` session/new ` response and ` available_commands_update ` , on the suspicion
33+ that it was poisoning Zed's deserializer. Turned out the variant was
34+ actually spec-valid (` SessionInfoUpdate ` exists in ` agent-client-protocol `
35+ v0.11+) and the real fix needed was in v1.3.41. Also added the
36+ resilience pass: ` available_commands_update ` is re-emitted at the start
37+ of every ` session/prompt ` turn.
2338
2439### Added
2540- ** ` CODEEP_ACP_DEBUG ` env var** for ACP debugging — when set, every inbound
2641 and outbound JSON-RPC frame is appended to
2742 ` ~/.cache/codeep/acp-debug.log ` (override path via
2843 ` CODEEP_ACP_DEBUG_FILE ` ). Writes go to a file rather than stderr because
2944 most ACP clients (Zed included) don't pipe agent stderr anywhere readable.
45+ This is what let us confirm the v1.3.41 fix.
3046
3147## [ 1.3.39] — 2026-05-06
3248
0 commit comments