Skip to content

Commit c0e960e

Browse files
committed
chore(release): prepare 0.29.0
1 parent 31a1342 commit c0e960e

9 files changed

Lines changed: 47 additions & 36 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ GitHub Releases page; `0.8.0` is the new starting line.
1515

1616
## Unreleased
1717

18+
## 0.29.0 (2026-06-01)
19+
1820
- **Reloads pick up MCP and model changes cleanly.** `/reload` now re-reads MCP server configuration added after startup, cleans up stale MCP/model-refresh resources during same-process reloads, and `/model` starts a fresh session when switching models so old context does not carry across providers.
1921
- **Thinking effort controls and safer auto-mode decisions.** Thinking effort is now a first-class setting across the CLI, ACP, web config, and supported providers; Shift+Tab cycles available efforts in the shell, and auto-mode can deliberate with advisor feedback before sensitive or destructive approval flows.
2022
- **Shell sessions get cleaner recaps and rendering.** The interactive shell can show turn recaps, includes hook stdout/stderr in the transcript, improves prompt/file-mention and tool-output spacing, and uses branded browser-login result pages.

README.md

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

53-
## 🆕 What's New in 0.28.0
53+
## 🆕 What's New in 0.29.0
5454

5555
- **Redesigned startup welcome banner.** A cleaner footer-chip layout — the "What's new / Update available" chip now sits on the panel's bottom border, the headline/strapline/help lines align beside the robot logo, and the info grid drops its vertical separator.
5656
- **Terminal-aware rendering for minimal and CI terminals.** The shell UI adapts to your terminal — ASCII glyph fallbacks for `TERM=dumb` and legacy Windows code pages, a reduced-motion mode (`PYTHINKER_REDUCED_MOTION`), and `NO_COLOR`/`CLICOLOR` support — so output stays readable in CI logs, SSH panes, and bare terminals.
5757
- **Windows updates avoid encoded PowerShell.** Native updates launch the signed Inno installer directly with Restart Manager flags instead of a `powershell.exe -EncodedCommand` helper, reducing antivirus false positives, and bootstrap installs show visible `/SILENT` progress.
5858
- **More distribution channels.** Releases now include best-effort Docker/GHCR, Scoop, Nix, and manual WinGet plumbing, with channel-native update guidance where the install format supports it.
5959
- **Repository moved to the Pythoughts-labs GitHub org.** All GitHub URLs, install scripts, CI configuration, and the default `/feedback` repository now point to `github.com/Pythoughts-labs/pythinker-code`; configs that still reference the previous owner are auto-migrated.
6060

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

6363

6464
---
@@ -148,7 +148,7 @@ matches your OS — no Python, Node, or `uv` prerequisite.
148148

149149
| Platform | Recommended install | Artifact source |
150150
|---|---|---|
151-
| **🪟 Windows** | `irm https://pythinker.com/install.ps1 \| iex` | `PythinkerSetup-0.28.0.exe` from [Releases](https://github.com/Pythoughts-labs/pythinker-code/releases/latest) |
151+
| **🪟 Windows** | `irm https://pythinker.com/install.ps1 \| iex` | `PythinkerSetup-0.29.0.exe` from [Releases](https://github.com/Pythoughts-labs/pythinker-code/releases/latest) |
152152
| **<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) |
153153
| **<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 |
154154
| **🐳 Docker** | `docker run --rm -it ghcr.io/pythoughts-labs/pythinker-code` | GHCR multi-arch image |
@@ -176,7 +176,7 @@ pythinker # start the interactive TUI
176176

177177
### 🪟 Windows — native installer
178178

179-
`PythinkerSetup-0.28.0.exe` is a signed* Inno Setup wizard. Installs per-user
179+
`PythinkerSetup-0.29.0.exe` is a signed* Inno Setup wizard. Installs per-user
180180
into `%LOCALAPPDATA%\Programs\Pythinker`, registers `pythinker` on your user
181181
PATH (`HKCU\Environment`), broadcasts `WM_SETTINGCHANGE` so new shells see
182182
the change. **No UAC prompt.**
@@ -187,13 +187,13 @@ irm https://pythinker.com/install.ps1 | iex
187187
188188
# Or manually download the installer + checksum from the Releases page,
189189
# verify with Get-FileHash, then run:
190-
.\PythinkerSetup-0.28.0.exe
190+
.\PythinkerSetup-0.29.0.exe
191191
192192
# Open a fresh PowerShell
193193
pythinker --version
194194
```
195195

196-
**Per-machine install** (IT-managed boxes): `.\PythinkerSetup-0.28.0.exe /ALLUSERS`
196+
**Per-machine install** (IT-managed boxes): `.\PythinkerSetup-0.29.0.exe /ALLUSERS`
197197
installs to `%ProgramFiles%\Pythinker` and writes PATH to HKLM (requires admin).
198198

199199
**Upgrade:** `pythinker update` from inside the running app — it downloads
@@ -244,26 +244,26 @@ attached to every GitHub Release.
244244

245245
```sh
246246
# Debian / Ubuntu (x86_64)
247-
sudo dpkg -i pythinker-code_0.28.0_amd64.deb
247+
sudo dpkg -i pythinker-code_0.29.0_amd64.deb
248248
sudo apt-get install -f # only if dpkg reports missing deps
249249

250250
# Debian / Ubuntu (ARM64)
251-
sudo dpkg -i pythinker-code_0.28.0_arm64.deb
251+
sudo dpkg -i pythinker-code_0.29.0_arm64.deb
252252

253253
# Fedora / RHEL / openSUSE (x86_64)
254-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.28.0/pythinker-code-0.28.0.x86_64.rpm
255-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.28.0/pythinker-code-0.28.0.x86_64.rpm.sha256
256-
sha256sum -c pythinker-code-0.28.0.x86_64.rpm.sha256
254+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.29.0/pythinker-code-0.29.0.x86_64.rpm
255+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.29.0/pythinker-code-0.29.0.x86_64.rpm.sha256
256+
sha256sum -c pythinker-code-0.29.0.x86_64.rpm.sha256
257257
# Fedora / RHEL:
258-
sudo dnf install ./pythinker-code-0.28.0.x86_64.rpm
258+
sudo dnf install ./pythinker-code-0.29.0.x86_64.rpm
259259
# openSUSE:
260-
sudo zypper install ./pythinker-code-0.28.0.x86_64.rpm
260+
sudo zypper install ./pythinker-code-0.29.0.x86_64.rpm
261261

262262
# Fedora / RHEL (aarch64)
263-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.28.0/pythinker-code-0.28.0.aarch64.rpm
264-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.28.0/pythinker-code-0.28.0.aarch64.rpm.sha256
265-
sha256sum -c pythinker-code-0.28.0.aarch64.rpm.sha256
266-
sudo dnf install ./pythinker-code-0.28.0.aarch64.rpm
263+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.29.0/pythinker-code-0.29.0.aarch64.rpm
264+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.29.0/pythinker-code-0.29.0.aarch64.rpm.sha256
265+
sha256sum -c pythinker-code-0.29.0.aarch64.rpm.sha256
266+
sudo dnf install ./pythinker-code-0.29.0.aarch64.rpm
267267
```
268268

269269
Both packages drop a small `/usr/bin/pythinker` launcher that execs the real
@@ -272,8 +272,8 @@ binary under `/usr/lib/pythinker/`, so your `$PATH` stays tidy.
272272
**Verify before install:**
273273

274274
```sh
275-
sha256sum -c pythinker-code_0.28.0_amd64.deb.sha256 # Debian/Ubuntu
276-
sha256sum -c pythinker-code-0.28.0.x86_64.rpm.sha256 # Fedora/RHEL
275+
sha256sum -c pythinker-code_0.29.0_amd64.deb.sha256 # Debian/Ubuntu
276+
sha256sum -c pythinker-code-0.29.0.x86_64.rpm.sha256 # Fedora/RHEL
277277
```
278278

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

docs/en/guides/getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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.28.0.exe` manually from the [latest release](https://github.com/Pythoughts-labs/pythinker-code/releases/latest).
47+
You can also download `PythinkerSetup-0.29.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: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ This page documents breaking changes in Pythinker Code releases and provides mig
44

55
## Unreleased
66

7+
## 0.29.0 (2026-06-01)
8+
79
## 0.28.0 (2026-05-31)
810

911
**`.pythinker/AGENTS.md` is no longer loaded as project instructions.** Pythinker now merges only `AGENTS.md`/`agents.md` files from the project root down to the working directory. If you kept instructions solely in `.pythinker/AGENTS.md`, move them to a root or directory-level `AGENTS.md` or they will no longer apply. No action is needed if you did not use `.pythinker/AGENTS.md`.

docs/en/release-notes/changelog.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ GitHub Releases page; `0.8.0` is the new starting line.
1717

1818
## Unreleased
1919

20+
## 0.29.0 (2026-06-01)
21+
22+
- **Reloads pick up MCP and model changes cleanly.** `/reload` now re-reads MCP server configuration added after startup, cleans up stale MCP/model-refresh resources during same-process reloads, and `/model` starts a fresh session when switching models so old context does not carry across providers.
23+
- **Thinking effort controls and safer auto-mode decisions.** Thinking effort is now a first-class setting across the CLI, ACP, web config, and supported providers; Shift+Tab cycles available efforts in the shell, and auto-mode can deliberate with advisor feedback before sensitive or destructive approval flows.
24+
- **Shell sessions get cleaner recaps and rendering.** The interactive shell can show turn recaps, includes hook stdout/stderr in the transcript, improves prompt/file-mention and tool-output spacing, and uses branded browser-login result pages.
25+
- **MiniMax Token Plan model availability stays current.** MiniMax login and startup refresh now use the authenticated model catalog so Token Plan keys only keep models actually available to that key, while preserving user model preferences and isolating discovery failures from other provider refreshes.
26+
2027
## 0.28.0 (2026-05-31)
2128

2229
### What changed in this release

packages/linux-installer/README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ End-user install from the current GitHub Release:
88

99
```sh
1010
# Debian / Ubuntu
11-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.28.0/pythinker-code_0.28.0_amd64.deb
12-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.28.0/pythinker-code_0.28.0_amd64.deb.sha256
13-
sha256sum -c pythinker-code_0.28.0_amd64.deb.sha256
14-
sudo dpkg -i pythinker-code_0.28.0_amd64.deb
11+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.29.0/pythinker-code_0.29.0_amd64.deb
12+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.29.0/pythinker-code_0.29.0_amd64.deb.sha256
13+
sha256sum -c pythinker-code_0.29.0_amd64.deb.sha256
14+
sudo dpkg -i pythinker-code_0.29.0_amd64.deb
1515
sudo apt-get install -f # only needed if dependencies fail to resolve
1616

1717
# Fedora / RHEL / openSUSE
18-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.28.0/pythinker-code-0.28.0.x86_64.rpm
19-
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.28.0/pythinker-code-0.28.0.x86_64.rpm.sha256
20-
sha256sum -c pythinker-code-0.28.0.x86_64.rpm.sha256
21-
sudo dnf install ./pythinker-code-0.28.0.x86_64.rpm
18+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.29.0/pythinker-code-0.29.0.x86_64.rpm
19+
curl -LO https://github.com/Pythoughts-labs/pythinker-code/releases/download/v0.29.0/pythinker-code-0.29.0.x86_64.rpm.sha256
20+
sha256sum -c pythinker-code-0.29.0.x86_64.rpm.sha256
21+
sudo dnf install ./pythinker-code-0.29.0.x86_64.rpm
2222
# or, on openSUSE:
23-
sudo zypper install ./pythinker-code-0.28.0.x86_64.rpm
23+
sudo zypper install ./pythinker-code-0.29.0.x86_64.rpm
2424
```
2525

2626
The package drops a single executable at `/usr/bin/pythinker` and a license
@@ -41,8 +41,8 @@ bash packages/linux-installer/build.sh 0.28.0
4141

4242
Outputs to `dist/`:
4343

44-
- `pythinker-code_0.28.0_amd64.deb`
45-
- `pythinker-code-0.28.0.x86_64.rpm`
44+
- `pythinker-code_0.29.0_amd64.deb`
45+
- `pythinker-code-0.29.0.x86_64.rpm`
4646

4747
The portable tarball used by `scripts/install-native.sh` is published by
4848
the existing `release-pythinker-cli.yml` workflow under the cargo-dist

packages/pythinker-core/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "pythinker-core"
3-
version = "1.1.1"
3+
version = "1.2.0"
44
description = "Pythinker core LLM, message, provider, and tool abstractions."
55
readme = "README.md"
66
requires-python = ">=3.12"

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "pythinker-code"
3-
version = "0.28.0"
3+
version = "0.29.0"
44
description = "Pythinker Code is your next CLI agent."
55
readme = "README.md"
66
requires-python = ">=3.12"
@@ -26,7 +26,7 @@ dependencies = [
2626
"aiofiles>=24.0,<26.0",
2727
"aiohttp==3.13.5",
2828
"typer==0.21.1",
29-
"pythinker-core[contrib]==1.1.1",
29+
"pythinker-core[contrib]==1.2.0",
3030
# notify-py (via batrachian-toad) caps loguru at <=0.6.0 on 3.14+.
3131
"loguru>=0.6.0,<0.7",
3232
"prompt-toolkit==3.0.52",

uv.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)