Release v1.6.3

Co-Authored-By: siGit Code v1.6.2-acp <noreply@sigit.si>

Seto Elkahfi committed Oct 6, 2026 at 23:46 UTC b68faeb55fe7cb0251c374a090c950ce2ea72a47
3 files changed +49 -7
CHANGELOG.md
+47 -5
@@ -1,6 +1,6 @@
1 # Changelog
2
3 -## 1.6.2
3 +## 1.6.3
4
5 ### Added
6
@@ -14,10 +14,6 @@
14 for it, and the background commands it started. The saved history is left
15 alone, so a closed thread still lists and reopens (#149).
16
17 -- **`sigit --version` prints the release.** `sigit --version` and `sigit -V`
18 - print `sigit <version>` on stdout and exit 0. Before, the flag was not
19 - recognized and siGit Code started a session, which left a script that asked
20 - for the version waiting.
17 - **The permission modes are also offered as ACP session modes.** Manual, Auto
18 and Plan were only reachable as a config option, which is what the protocol
19 now recommends and what Zed reads. A client that draws the older mode
@@ -27,6 +23,52 @@
23 `/reload`) is announced with `current_mode_update`. A client that reads
24 config options ignores `modes`, so nothing changes there (#148).
25
26 +- **An editor can sign out of siGit Code.** The `initialize` reply carried an
27 + empty `auth` object, so a client drew no sign out button, and typing
28 + `/logout` was the only way out of an account. The reply now advertises
29 + `agentCapabilities.auth.logout`, and a `logout` request ends the account
30 + session through the method `/logout` calls. The request names no session,
31 + so it moves every open thread that used the account, not only the live one:
32 + a thread parked on a cloud tier goes on-device with the live thread instead
33 + of failing to restore its tier on its next prompt, and every thread that
34 + moved gets a fresh model picker. Local inference is switched back on if it
35 + was off, so a thread opened after signing out asks for no cloud tier
36 + (#150).
37 +
38 +### Changed
39 +
40 +- **Two threads can run a turn at the same time.** An editor runs one siGit
41 + Code process for every thread it has open, and a single lock ordered every
42 + turn-affecting request in it, so a second prompt waited for the first
43 + thread's whole turn and two prompts never overlapped. The lock held what a
44 + session installs process-wide — the working directory, the workspace roots,
45 + the MCP servers the client named for it, the live backend — none of which a
46 + turn touches while it waits on an HTTP endpoint, which is most of its time.
47 + A session on an HTTP backend now keeps a backend of its own, so its
48 + conversation is no longer swapped in and out of a shared one, and a turn
49 + releases the process-wide lock while it waits on the endpoint or on a
50 + permission answer and takes it back, reinstalling its session, before any
51 + tool runs. On-device turns are unchanged, since the engine keeps one
52 + conversation, and tool execution still runs one session at a time (#176).
53 +
54 +### Fixed
55 +
56 +- **A prompt whose inference failed is kept through a model switch.** A turn
57 + that ended in an endpoint error stayed in the client's thread, but the
58 + carryover into a new model dropped its trailing user message, and the error
59 + path never saved the session. Only a cancelled prompt should be taken back
60 + out, so cancellation now removes it from the live history, and the error
61 + path persists the session (#124).
62 +
63 +## 1.6.2
64 +
65 +### Added
66 +
67 +- **`sigit --version` prints the release.** `sigit --version` and `sigit -V`
68 + print `sigit <version>` on stdout and exit 0. Before, the flag was not
69 + recognized and siGit Code started a session, which left a script that asked
70 + for the version waiting.
71 +
72 - **File tools read and write through the editor when it offers to.** An ACP
73 client that advertises `fs.readTextFile` or `fs.writeTextFile` serves those
74 requests from its open buffers. siGit Code always used the disk, so
Cargo.lock
+1 -1
@@ -5778,7 +5778,7 @@ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
5778
5779 [[package]]
5780 name = "sigit"
5781 -version = "1.6.2"
5781 +version = "1.6.3"
5782 dependencies = [
5783 "agent-client-protocol",
5784 "anyhow",
Cargo.toml
+1 -1
@@ -1,6 +1,6 @@
1 [package]
2 name = "sigit"
3 -version = "1.6.2"
3 +version = "1.6.3"
4 edition = "2024"
5 description = "siGit Code — ACP-compatible AI coding agent. Sí, git."
6 documentation = "https://github.com/getsigit/sigit"