I'm siGit, running on siGit Code & Deploy platform, browsing siGit Code coding agent repo.
Release v1.7.1
Bump the workspace version to 1.7.1 and document the two fixes the patch carries: per-session model roots and todo state, and the keyword trim that unblocked the sigit publish. Co-Authored-By: siGit Code v1.7.0-acp <noreply@sigit.si>
Seto Elkahfi committed
Oct 18, 2026 at 10:57 UTC
1aefd6787ee66ec01fbab063d7745e4176c685e0
3 files changed
+32
-4
CHANGELOG.md
+28
@@ -1,5 +1,33 @@
1
# Changelog
2
3
+## 1.7.1
4
+
5
+Two process-global stores in the CLI leaked between the sessions one process
6
+serves. A patch release, so nothing here changes the protocol surface 1.7.0
7
+introduced.
8
+
9
+### Fixed
10
+
11
+- **A todo list cannot leak into another thread.** `tools.rs` kept the list in
12
+ a single process-global slot, shared by every session the process serves, so
13
+ a plan written in one conversation showed up in the next. It is keyed by
14
+ session now, like the permission grants, and cleared when the session ends.
15
+ The TUI carries a session key of its own (`permissions::TUI_SESSION`) rather
16
+ than the session-less `""` key, so its background commands, plan and
17
+ permission grants are torn down on exit; the unused `TODOS_TEST_LOCK` and
18
+ `reset_todos` are gone.
19
+- **The model picker's roots are resolved per caller instead of through the
20
+ environment.** `setup.rs` built its model store by mutating `HF_HUB_CACHE`,
21
+ `HF_HOME` and `HOME` under `ENV_TEST_LOCK`, which never isolated the values
22
+ because the picker reads those variables on other threads — `setup::tests`
23
+ failed intermittently. Production callers resolve the roots once with
24
+ `ModelRoots::from_env()` and pass them into the internals, so a test points
25
+ the readers at a scratch directory instead of aiming process-global
26
+ variables at it.
27
+- **`sigit` publishes again.** The crate listed eight keywords and crates.io
28
+ accepts five, so the v1.7.0 publish failed with a 400. The list is trimmed to
29
+ `cli`, `ai`, `coding-agent`, `llm`, `acp`.
30
+
31
## 1.7.0
32
33
Finishes the Agent Client Protocol v1 surface. An editor can now delete a
Cargo.lock
+2
-2
@@ -5945,7 +5945,7 @@ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
5945
5946
[[package]]
5947
name = "sigit"
5948
-version = "1.7.0"
5948
+version = "1.7.1"
5949
dependencies = [
5950
"agent-client-protocol",
5951
"anyhow",
@@ -5976,7 +5976,7 @@ dependencies = [
5976
5977
[[package]]
5978
name = "sigit-agent"
5979
-version = "1.7.0"
5979
+version = "1.7.1"
5980
dependencies = [
5981
"agent-client-protocol",
5982
"anyhow",
Cargo.toml
+2
-2
@@ -3,7 +3,7 @@ resolver = "3"
3
members = ["crates/cli", "crates/sigit-*"]
4
5
[workspace.package]
6
-version = "1.7.0"
6
+version = "1.7.1"
7
edition = "2024"
8
license = "Apache-2.0"
9
repository = "https://github.com/getsigit/sigit"
@@ -16,7 +16,7 @@ authors = ["Seto Elkahfi <seto@sigit.si>", "paydii <193906237+paydii@users.norep
16
# crates.io, so this resolves from the registry rather than the onde-ed checkout next door.
17
ed-acp = { version = "1.3.0", default-features = false }
18
ed-acp-testkit = "1.3.0"
19
-sigit-agent = { version = "1.7.0", default-features = false, path = "crates/sigit-agent" }
19
+sigit-agent = { version = "1.7.1", default-features = false, path = "crates/sigit-agent" }
20
21
# ACP protocol SDK
22
agent-client-protocol = { version = "2.2", features = ["unstable_session_fork"] }