1
# Changelog
2
3
-## 1.6.8
4
-
5
-### Fixed
6
-
7
-- **A bare launch of `sigit.exe` on Windows exits 0 instead of bailing.** A
8
- no-argument launch with a TTY stdin falls through to the non-Unix branch,
9
- which has no TUI to start (the interactive client needs Unix-only fd
10
- redirection). It now prints a short usage message pointing at ACP and
11
- headless modes and exits 0, so winget's installer validator no longer reports
12
- a `Validation-Executable-Error`.
3
+## 1.7.0
4
14
-### Changed
5
+Finishes the Agent Client Protocol v1 surface. An editor can now delete a
6
+thread, show a context meter, tell one message from the next, cancel a request
7
+by its id and page through a long thread list, and a reopened thread comes back
8
+with its reasoning and attachments.
9
16
-- **winget submissions link back to their Package Request issue.** The release
17
- workflow scrapes the winget-pkgs PR URL from wingetcreate, opens a Package
18
- Request issue on first submission, and rewrites the PR body to fill the
19
- Description, tick the issue checkbox, and add `Resolves #NNN` — replacing the
20
- manual per-PR edit that used to follow each release.
21
-- **The winget release workflow files its Package Request issue first and uses
22
- two scoped tokens.** The Package Request issue is opened before the
23
- winget-pkgs PR so the PR can reference it immediately, and issue creation and
24
- PR submission now use separate tokens (`WINGET_ISSUE_TOKEN` and
25
- `WINGET_PR_TOKEN`) rather than one shared token.
10
+### Added
11
27
-## 1.6.7
12
+- **`session/delete`.** A thread removed in the editor is removed from disk, so
13
+ it no longer comes back in "Import Threads". A turn still running on it is
14
+ stopped first, and deleting an id that is already gone succeeds (#192).
15
+- **A saved thread reports its title and time as they change.** Each save sends
16
+ a `session_info_update` with a fresh `updatedAt`, and the title the first time
17
+ there is one. A new thread used to stay untitled in the sidebar until the next
18
+ `session/list` (#193).
19
+- **Context usage.** A `usage_update` follows every model response, so an editor
20
+ can show how full the context window is. `used` is the endpoint's own token
21
+ count when it gives one and an estimate otherwise, which is always the case
22
+ on-device (#194).
23
+- **Message ids.** Every message chunk carries a `messageId`. An inference round
24
+ is one message, so its reply and its reasoning share an id and the round after
25
+ a tool call starts a new one (#195).
26
+- **Sign-in through the editor.** For a client that advertises URL-mode
27
+ elicitation, `authenticate` hands it the sign-in page instead of launching a
28
+ browser from the agent. The user sees where they are being sent, and sign-in
29
+ works where siGit Code has no browser to open (#197).
30
+- **The Inference switch is a toggle** for a client that renders boolean config
31
+ options. Other clients keep the two-value select (#198).
32
+- **Deny for the session.** A permission prompt offers "deny for this session"
33
+ next to "allow for this session", so a tool the user does not want is not
34
+ asked about again in that thread (#199).
35
+- **`$/cancel_request`.** A client can cancel a request by its JSON-RPC id. For
36
+ `session/prompt` that stops the turn and the command it is running exactly as
37
+ `session/cancel` does, and the prompt is answered with the `cancelled` stop
38
+ reason. For `authenticate` it ends the wait on the browser and the request is
39
+ answered `-32800`. The notification used to be ignored.
40
+- **`session/list` is paged.** A reply holds at most 100 threads and a
41
+ `nextCursor` when there are more. The cursor names the last thread on the
42
+ page instead of counting an offset, so the next page is right when a thread is
43
+ saved or deleted in between. A cursor the agent did not hand out is rejected
44
+ with `-32602`; `cursor` used to be ignored.
45
46
### Fixed
47
31
-- **A cancel that arrives before the turn starts is no longer lost.** A prompt
32
- now registers for `session/cancel` as soon as it begins, not once it reaches
33
- inference. A cancel that lands while the turn is queued on the workspace,
34
- switching threads, loading a model, or running a slash command ends it with
35
- `cancelled` instead of `end_turn`.
48
+- **A reopened thread shows its reasoning and attachments.** `session/load`
49
+ replayed only the text of each message. The model's reasoning now comes back
50
+ as `agent_thought_chunk` under the reply's `messageId`, and the images and
51
+ audio clips of a user message come back as `image` and `audio` blocks.
52
- **Cancelling a turn stops the command it is running.** A foreground
53
`run_command` used to run to its own end (up to two minutes) before the turn
54
noticed the cancel. A cancel or `session/close` now kills the process tree, or
78
- **An embedded binary resource is read when the model can read it.** An image
79
blob becomes an image input and an audio blob an audio input. Any other blob
80
keeps its placeholder, now with its MIME type.
81
+
82
+## 1.6.8
83
+
84
+### Fixed
85
+
86
+- **A bare launch of `sigit.exe` on Windows exits 0 instead of bailing.** A
87
+ no-argument launch with a TTY stdin falls through to the non-Unix branch,
88
+ which has no TUI to start (the interactive client needs Unix-only fd
89
+ redirection). It now prints a short usage message pointing at ACP and
90
+ headless modes and exits 0, so winget's installer validator no longer reports
91
+ a `Validation-Executable-Error`.
92
+
93
+### Changed
94
+
95
+- **winget submissions link back to their Package Request issue.** The release
96
+ workflow scrapes the winget-pkgs PR URL from wingetcreate, opens a Package
97
+ Request issue on first submission, and rewrites the PR body to fill the
98
+ Description, tick the issue checkbox, and add `Resolves #NNN` — replacing the
99
+ manual per-PR edit that used to follow each release.
100
+- **The winget release workflow files its Package Request issue first and uses
101
+ two scoped tokens.** The Package Request issue is opened before the
102
+ winget-pkgs PR so the PR can reference it immediately, and issue creation and
103
+ PR submission now use separate tokens (`WINGET_ISSUE_TOKEN` and
104
+ `WINGET_PR_TOKEN`) rather than one shared token.
105
+
106
+## 1.6.7
107
+
108
+### Fixed
109
+
110
+- **A cancel that arrives before the turn starts is no longer lost.** A prompt
111
+ now registers for `session/cancel` as soon as it begins, not once it reaches
112
+ inference. A cancel that lands while the turn is queued on the workspace,
113
+ switching threads, loading a model, or running a slash command ends it with
114
+ `cancelled` instead of `end_turn`.
115
- **A prompt that is only audio is answered.** A clip with no text or image used
116
to end the turn at once with nothing sent to the model, even though the agent
117
advertises audio.