1 # Changelog
2
3 ## 1.3.0
4
5 Adds a Local Inference on/off toggle, the open [Agent Skills](https://agentskills.io)
6 format, and support for project instruction files (`AGENTS.md` and the like).
7
8 ### What changed
9
10 - Added a Local Inference on/off setting that is the explicit local-vs-cloud mode switch. It is persisted in `~/.config/sigit/settings.toml` (default on, local-first) and can be overridden with `SIGIT_LOCAL_INFERENCE`
11 - Toggle it with the `/local [on|off]` command (TUI and ACP); ACP clients without slash-command support get an equivalent "Local Inference" On/Off control in the session config panel
12 - `/models` now groups models by nature — Local vs siGit Code Cloud — and highlights the active mode's group while still showing the other, so the cloud tiers stay discoverable
13 - Discovers Agent Skills (folders with a `SKILL.md`) from `.sigit/skills/` and `.claude/skills/` in the project, `~/.config/sigit/skills/`, and `~/.claude/skills/`
14 - Follows the spec's progressive disclosure: each skill's name and description are advertised up front via a new `skill` tool, and the full instructions load only when the agent activates one
15 - Added a `/skills` slash command (TUI and ACP) that lists the discovered skills
16 - Reads project instruction files at session start: `AGENTS.md` (the cross-tool standard) and `CLAUDE.md`, walking from the working directory up to the repository root, plus a global file under `~/.config/sigit/`, and injects them into the session's system context so their guidance is always in force
17 - Nested instruction files are ordered outermost-first so the closest, most specific file takes precedence; the scan never reads above the repository root
18 - On-device models are no longer loaded implicitly. The chat UI and ACP sessions come up immediately, and the local model is brought into memory only when you run the `/load` command (or pick one in `/models`). Prompts sent before a model is loaded now return a hint instead of blocking on a multi-minute download.
19
20 ## 1.2.2
21
22 Streams assistant tokens as they arrive, on-device and over the cloud.
23
24 ### What changed
25
26 - Streamed assistant tokens live in the TUI and ACP sessions, both on-device and through siGit Code Cloud
27 - On-device inference streams only when a turn offers no tools, since `onde` can't stream and detect tool calls in the same pass; tool-capable turns still resolve in one shot
28 - Fixed the TUI so the latest message stays visible in long chats
29 - Put the cloud model-switch confirmation on its own line in ACP
30
31 ## 1.2.1
32
33 Stabilizes the Zed/ACP integration and finishes the cloud-tier wiring on top of 1.2.0.
34
35 ### What changed
36
37 - Fixed a Zed crash by keeping model-picker labels ASCII in the ACP model selector
38 - Wired ACP auth, cloud tiers, and slash commands into the Zed panel, including a `/reload` command to re-sync session state in place
39 - Fixed the TUI so the loaded-model checkmark appears once a download completes
40 - Synced bundled agent skills with the current code and added `CLAUDE.md`
41
42 ## 1.2.0
43
44 Adds siGit Code Cloud — a hosted inference tier alongside on-device models.
45
46 ### What changed
47
48 - Added siGit Code Cloud with cloud-tier routing, pointed at `sigit.si`
49 - Added account management slash commands and surfaced cloud tiers in `/models`
50 - Carried forward from 1.1.0: ACP SDK v0.13, refreshed dependencies and branding
51
52 ## 1.1.0
53
54 Bumps the ACP SDK to v0.13 and pulls in updated dependencies.
55
56 ### What changed
57
58 - Updated `agent-client-protocol` from v0.11 to v0.13
59 - Updated `onde` to 1.1.2
60 - Refreshed branding and skill metadata
61
62 ## 1.0.4
63
64 This release tightens up the terminal experience and finishes a few release-facing cleanup items.
65
66 ### What changed
67
68 - Added bold rich-text rendering in the TUI for assistant replies, so `**text**` now displays with terminal styling instead of raw markdown markers
69 - Refreshed the bundled skill metadata to follow the current Agent Skills `SKILL.md` format
70 - Synced the crate release metadata for the `1.0.4` cut
71
72 ## 1.0.3
73
74 This is the cleanup release for the editor-side startup problems.
75
76 ### What changed
77
78 - Fixed ACP sessions failing on the first real prompt because the server claimed the model was ready before anything had actually been loaded
79 - Changed ACP startup so the default model loads lazily on the first non-slash prompt instead of pretending it is already in memory
80 - Kept `initialize` and `session/new` lightweight while still sending proper progress updates once model loading begins
81 - Updated the Onde integration to `1.0.0`
82 - Removed a few dependencies we were no longer using
83
84 ## 1.0.2
85
86 This release was supposed to fix the ACP auth breakage. It did fix the stdout pollution problem, but it turned out not to be the whole story.
87
88 ### What changed
89
90 - Delayed model loading in ACP mode so startup diagnostics would not leak into protocol stdout during the auth handshake
91 - Tightened up the ACP startup path for editor integrations
92 - Refreshed some README wording while cutting `1.0.2`
93
94 ## 1.0.1
95
96 The first patch after `1.0.0` was mostly about making model loading and model switching feel less opaque.
97
98 ### What changed
99
100 - Added ToolCall-based progress UI for startup model loading and downloading
101 - Improved model-switch progress reporting in ACP clients
102 - Fixed model-load error handling so failed switches did not leave the UI in a weird state
103 - Cleaned up a few status messages and docs while the release was going out
104
105 ## 1.0.0 (2026)
106
107 siGit Code has been living in real smbCloud repos for a while now. At some point it stopped feeling like an experiment, so we called it 1.0.
108
109 ### What this release is
110
111 siGit Code is a local coding agent. It runs a quantized model on your machine, talks to editors over ACP, and can read files, run commands, fetch web pages, and write code without sending your project to a hosted API.
112
113 You can install it with Cargo, pip, npm, or Homebrew and use it like any other tool on your machine.
114
115 ### What shipped in 1.0
116
117 #### Editor integration
118
119 This is the core of the project.
120
121 Zed and VS Code can talk to siGit Code over ACP. Multi-turn sessions work. Tool calling works. Session forking works. Working-directory context works. That was the original goal, and it feels solid now.
122
123 #### Terminal UI
124
125 The terminal UI started as a side quest and turned out to be useful. You get a full-screen ratatui chat, streaming tokens, a spinner while the model is busy, and a model picker you can open in the middle of a session.
126
127 It runs on macOS and Linux. Windows gets ACP and editor mode for now. The Windows terminal UI is still unfinished.
128
129 #### Tool calling
130
131 This is the part that makes siGit Code feel like an agent instead of a chat box. The loop can run up to 10 rounds per message.
132
133 Available tools:
134
135 - `read_file` / `write_file` / `delete_file`
136 - `list_directory` / `search_files`
137 - `run_command`, with an optional working directory
138 - `read_website`, which fetches a URL and strips it down to readable text
139
140 The model can call a tool, inspect the result, and keep going until it has a real answer.
141
142 #### Model support
143
144 The model list ended up wider than we expected for 1.0:
145
146 - Qwen 3 1.7B, 4B, 8B, and 14B
147 - Qwen 2.5 1.5B and 3B
148 - Qwen 2.5 Coder 1.5B, 3B, and 7B
149 - DeepSeek Coder 6.7B
150
151 They are all GGUF models and they all come from Hugging Face on first run.
152
153 Qwen 3 is the interesting one. It uses extended thinking mode. The model reasons inside `<think>...</think>` blocks before answering. The TUI strips those blocks out and renders them dimmed above the reply, so you can see what happened without turning the whole conversation into noise.
154
155 The 8B model is the desktop default. Mobile stays on 1.7B because iOS gives apps roughly 2 to 3 GB of memory, and we learned the hard way that 3B can blow up on an iPhone 16e.
156
157 #### Model picker
158
159 The model picker shows:
160
161 - what is already cached locally
162 - what can be downloaded
163 - which models support tool calling
164 - whether the local cache looks healthy
165
166 You can open it with `/models` in the TUI or through the editor config option. Switching models happens in the background and the UI stays alive while the download or load is in progress.
167
168 #### smbCloud context
169
170 siGit Code knows smbCloud repos better than a generic coding assistant does. It understands the difference between platform-user flows and tenant-app auth flows, how `Project`, `FrontendApp`, `AuthApp`, and GresIQ fit together, and why Next.js SSR deploys are not the same thing as the generic git-push path.
171
172 Outside smbCloud, it backs off and behaves like a normal coding agent.
173
174 #### Distribution
175
176 Distribution took an unreasonable amount of time, honestly.
177
178 There are prebuilt binaries for macOS, Linux, and Windows on both arm64 and x64 where relevant, plus install paths through Cargo, PyPI, npm, and Homebrew:
179
180 - `cargo install sigit`
181 - `pip install sigit-code`
182 - `npm install -g @smbcloud/sigit`
183 - `brew install sigit`
184
185 Getting that whole pipeline to behave across CI, crates.io, PyPI, npm, and Homebrew was basically its own project.
186
187 ### What still does not work
188
189 The Windows terminal UI is still missing.
190
191 ACP and editor mode work on Windows. The part that is still missing is the interactive full-screen terminal UI. The blocker is Unix-specific terminal handling that has not been abstracted cleanly yet.
192
193 ### Changes since 0.1.2
194
195 - Added Qwen 3 14B support
196 - Added Qwen 3 `<think>` block parsing and separate rendering in the TUI
197 - Moved all TUI code into `#[cfg(unix)]`, which fixed a pile of dead-code errors on Windows CI
198 - Added live download progress during model switches, including cancellation with Ctrl+C
199 - Added model download and loading progress in the Zed agent config panel
200 - Added an animated spinner during model switching
201 - Added Qwen 2.5 Coder 7B
202 - Added downloadable models to the picker, not just locally cached ones
203 - Made model selection persist across restarts
204 - Added session working-directory support
205 - Moved model picker logic into a platform-independent module so Windows can compile without the TUI
206 - Added the `/models N` shortcut for picking a model by number
207 - Added the `read_website` tool
208 - Improved `read_file` handling and empty-reply detection
209 - Added async tool execution
210 - Fixed CI cross-compilation for macOS, iOS, Linux, and Windows
211 - Added npm, PyPI, and Homebrew distribution
212
213 ---
214
215 *© 2026 [smbCloud](https://smbcloud.xyz/) (Splitfire AB).*