Skip to content

Commit bc4331f

Browse files
committed
chore(release): prepare 0.41.0
1 parent d51ef64 commit bc4331f

8 files changed

Lines changed: 78 additions & 109 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 45 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,14 @@ It speaks the [**Agent Client Protocol (ACP)**](https://github.com/agentclientpr
5050
5151
---
5252

53-
## 🆕 What's New in 0.40.1
53+
## 🆕 What's New in 0.41.0
5454

55-
- **Windows/Linux native installers: web UI no longer 404s on `/`.** The installer CI froze the app without building the gitignored web/vis frontend bundles, so `pythinker web` opened a browser onto `GET /?token=… → 404 Not Found`. Both installer workflows now build the bundles before PyInstaller (matching the PyPI release flow — pip/wheel installs were never affected), every PyInstaller spec refuses to freeze when the bundles are missing, and a build that still lacks them serves an explanatory 503 page instead of a bare 404.
56-
- **Startup banner renders on legacy Windows consoles.** `pythinker web` / `pythinker vis` now honor the existing ASCII-glyph detection with width-preserving fallbacks and degrade per line instead of crashing when the output stream rejects Unicode (e.g. PowerShell with cp1252).
55+
- **Goal-driven execution: new `/goal`, `/best-practices`, and `/learn` commands.** `/goal <objective>` sets a persistent thread goal the agent pursues across turns, restarts, and compaction until it is verifiably complete — with an evidence-based completion audit, a root-only `UpdateGoal` tool to mark it `complete`/`blocked`, and opt-in `goal.auto_continue` to loop automatically toward it. `/best-practices` (alias `/bp`) injects engineering-discipline guidance now also shipped always-on in the default prompt, and `/learn` distills session lessons into per-project memory.
56+
- **Statusline v2: a full redesign of the shell footer.** Colored segments with a gradient context bar, working spinner, live token speed, session cost/budget, thinking-effort badge, git diff counts, elapsed time, and a clock — all fail-closed and tunable via the new `/statusline` command (persisted under `[tui.statusline]`), with ASCII fallback and narrow-width graceful degradation.
57+
- **Agentic orchestration hardening.** Parallel subagents and background tasks get distinctive codenames, foreground `RunAgents` batches run concurrently and roll up child RISKS/BLOCKERS, the review pipeline decomposes large diffs and adversarially verifies every finding, and restricted-profile subagents are now offline, secret-scrubbed, and workspace-jailed by default — enforced at execution time, not just prompted.
58+
- **TUI polish.** Flicker-free streaming on synchronized-output terminals, inline ghost-completion for slash commands, monotonic tool-call rows, shell error briefs that surface the failing command's output, and no more transient `<invalid>` flashes or raw-mode hangs on exit.
5759

58-
Upgrade with `pythinker update`, `pip install --upgrade pythinker-code==0.40.1`, or use the native installer for your platform from the [Releases page](https://github.com/Pythoughts-labs/pythinker-code/releases/latest).
60+
Upgrade with `pythinker update`, `pip install --upgrade pythinker-code==0.41.0`, or use the native installer for your platform from the [Releases page](https://github.com/Pythoughts-labs/pythinker-code/releases/latest).
5961

6062

6163
---
@@ -145,7 +147,7 @@ matches your OS — no Python, Node, or `uv` prerequisite.
145147

146148
| Platform | Recommended install | Artifact source |
147149
|---|---|---|
148-
| **🪟 Windows** | `irm https://pythinker.com/install.ps1 \| iex` | `PythinkerSetup-0.40.1.exe` from [Releases](https://github.com/Pythoughts-labs/pythinker-code/releases/latest) |
150+
| **🪟 Windows** | `irm https://pythinker.com/install.ps1 \| iex` | `PythinkerSetup-0.41.0.exe` from [Releases](https://github.com/Pythoughts-labs/pythinker-code/releases/latest) |
149151
| **<img src="https://img.shields.io/badge/-macOS-000000?style=flat-square&logo=apple&logoColor=white" alt="macOS"> / <img src="https://img.shields.io/badge/-Linux-FCC624?style=flat-square&logo=linux&logoColor=black" alt="Linux">** | `curl -fsSL https://pythinker.com/install.sh \| bash` | native tarball from [Releases](https://github.com/Pythoughts-labs/pythinker-code/releases/latest) |
150152
| **<img src="https://img.shields.io/badge/-macOS-000000?style=flat-square&logo=apple&logoColor=white" alt="macOS"> — Homebrew** | `brew install Pythoughts-labs/pythinker/pythinker-code` | auto-published Homebrew tap |
151153
| **🐳 Docker** | `docker run --rm -it ghcr.io/pythoughts-labs/pythinker-code` | GHCR multi-arch image |
@@ -173,7 +175,7 @@ pythinker # start the interactive TUI
173175

174176
### 🪟 Windows — native installer
175177

176-
`PythinkerSetup-0.40.1.exe` is a signed* Inno Setup wizard. Installs per-user
178+
`PythinkerSetup-0.41.0.exe` is a signed* Inno Setup wizard. Installs per-user
177179
into `%LOCALAPPDATA%\Programs\Pythinker`, registers `pythinker` on your user
178180
PATH (`HKCU\Environment`), broadcasts `WM_SETTINGCHANGE` so new shells see
179181
the change. **No UAC prompt.**
@@ -184,13 +186,13 @@ irm https://pythinker.com/install.ps1 | iex
184186
185187
# Or manually download the installer + checksum from the Releases page,
186188
# verify with Get-FileHash, then run:
187-
.\PythinkerSetup-0.40.1.exe
189+
.\PythinkerSetup-0.41.0.exe
188190
189191
# Open a fresh PowerShell
190192
pythinker --version
191193
```
192194

193-
**Per-machine install** (IT-managed boxes): `.\PythinkerSetup-0.40.1.exe /ALLUSERS`
195+
**Per-machine install** (IT-managed boxes): `.\PythinkerSetup-0.41.0.exe /ALLUSERS`
194196
installs to `%ProgramFiles%\Pythinker` and writes PATH to HKLM (requires admin).
195197

196198
**Upgrade:** `pythinker update` from inside the running app — it downloads
@@ -241,26 +243,26 @@ attached to every GitHub Release.
241243

242244
```sh
243245
# Debian / Ubuntu (x86_64)
244-
sudo dpkg -i pythinker-code_0.40.1_amd64.deb
246+
sudo dpkg -i pythinker-code_0.41.0_amd64.deb
245247
sudo apt-get install -f # only if dpkg reports missing deps
246248

247249
# Debian / Ubuntu (ARM64)
248-
sudo dpkg -i pythinker-code_0.40.1_arm64.deb
250+
sudo dpkg -i pythinker-code_0.41.0_arm64.deb
249251

250252
# Fedora / RHEL / openSUSE (x86_64)
251-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.40.1/pythinker-code-0.40.1.x86_64.rpm
252-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.40.1/pythinker-code-0.40.1.x86_64.rpm.sha256
253-
sha256sum -c pythinker-code-0.40.1.x86_64.rpm.sha256
253+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.41.0/pythinker-code-0.41.0.x86_64.rpm
254+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.41.0/pythinker-code-0.41.0.x86_64.rpm.sha256
255+
sha256sum -c pythinker-code-0.41.0.x86_64.rpm.sha256
254256
# Fedora / RHEL:
255-
sudo dnf install ./pythinker-code-0.40.1.x86_64.rpm
257+
sudo dnf install ./pythinker-code-0.41.0.x86_64.rpm
256258
# openSUSE:
257-
sudo zypper install ./pythinker-code-0.40.1.x86_64.rpm
259+
sudo zypper install ./pythinker-code-0.41.0.x86_64.rpm
258260

259261
# Fedora / RHEL (aarch64)
260-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.40.1/pythinker-code-0.40.1.aarch64.rpm
261-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.40.1/pythinker-code-0.40.1.aarch64.rpm.sha256
262-
sha256sum -c pythinker-code-0.40.1.aarch64.rpm.sha256
263-
sudo dnf install ./pythinker-code-0.40.1.aarch64.rpm
262+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.41.0/pythinker-code-0.41.0.aarch64.rpm
263+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.41.0/pythinker-code-0.41.0.aarch64.rpm.sha256
264+
sha256sum -c pythinker-code-0.41.0.aarch64.rpm.sha256
265+
sudo dnf install ./pythinker-code-0.41.0.aarch64.rpm
264266
```
265267

266268
Both packages drop a small `/usr/bin/pythinker` launcher that execs the real
@@ -269,8 +271,8 @@ binary under `/usr/lib/pythinker/`, so your `$PATH` stays tidy.
269271
**Verify before install:**
270272

271273
```sh
272-
sha256sum -c pythinker-code_0.40.1_amd64.deb.sha256 # Debian/Ubuntu
273-
sha256sum -c pythinker-code-0.40.1.x86_64.rpm.sha256 # Fedora/RHEL
274+
sha256sum -c pythinker-code_0.41.0_amd64.deb.sha256 # Debian/Ubuntu
275+
sha256sum -c pythinker-code-0.41.0.x86_64.rpm.sha256 # Fedora/RHEL
274276
```
275277

276278
**Upgrade:** download the new `.deb`/`.rpm` from Releases and `dpkg -i` /

docs/en/guides/getting-started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Run the native installation script to complete the installation. The canonical e
3131
curl -fsSL https://pythinker.com/install.sh | bash
3232

3333
# Pin a specific version
34-
curl -fsSL https://pythinker.com/install.sh | bash -s -- --version 0.40.1
34+
curl -fsSL https://pythinker.com/install.sh | bash -s -- --version 0.41.0
3535

3636
# Custom prefix (defaults to $HOME/.local)
3737
curl -fsSL https://pythinker.com/install.sh | bash -s -- --prefix /opt/pythinker
@@ -44,7 +44,7 @@ On Windows, run the PowerShell bootstrap. It downloads the native installer, ver
4444
irm https://pythinker.com/install.ps1 | iex
4545
```
4646

47-
You can also download `PythinkerSetup-0.40.1.exe` manually from the [latest release](https://github.com/Pythoughts-labs/pythinker-code/releases/latest).
47+
You can also download `PythinkerSetup-0.41.0.exe` manually from the [latest release](https://github.com/Pythoughts-labs/pythinker-code/releases/latest).
4848

4949
Verify the installation:
5050

docs/en/release-notes/breaking-changes.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ This page documents breaking changes in Pythinker Code releases and provides mig
44

55
## Unreleased
66

7+
## 0.41.0 (2026-06-11)
8+
9+
No breaking changes. This release is compatible with 0.40.1 user configuration, native installs, and session data.
10+
711
## 0.40.1 (2026-06-10)
812

913
No breaking changes. This release is compatible with 0.40.0 user configuration, native installs, and session data.

0 commit comments

Comments
 (0)