v1.32.0
What's new in v1.32.0
A productivity-focused release: every fix this cycle was driven by a real reporter (or by the persona/preset overhaul that landed in v1.31.0). 13 PRs from 8 contributors plus the maintainer.
TUI & UX
-
Claude model picker now shows your active preset. Opening Configure Claude models used to always start at
Balancedregardless of what you had saved — now the picker reads~/.gentle-ai/state.jsonand pre-selects the matching preset (or Custom if your assignments don't match any built-in). Adds aCurrent: <preset>hint under the title. (#681 → #675) -
TUI agent selection respects
state.jsonagain. Both the Select AI Agents screen and the pre-upgrade backup were reading the filesystem for "which agents are installed", which silently re-marked every IDE config dir on disk — and, worse, ballooned snapshot backups to ~25 GiB by including dirs the user had explicitly unselected.state.InstalledAgentsis now the canonical source. (#684 → #114 + #354)
Install & upgrade
-
install.shupgrades now pin to the release tag. The script-based upgrade path used to fetchscripts/install.shfrommain, so any commit between releases could land in a user's upgrade run before any version gate. The path now resolves to the exact target version (v1.32.0/scripts/install.sh) and fails closed when the tagged script is unreachable. (#683 → #247) -
Windows installs no longer roll back on directory fsync. Windows/NTFS rejects fsync on a directory handle (
ERROR_ACCESS_DENIED) even as Administrator. The installer used to treat that as failure and roll back successfully-written files. The tolerance was added in code on day one; this release documents the contract so contributors don't re-introduce a strict check. (#685 → #294)
Skills & SDD
-
comment-writerskill no longer overrides--persona neutral. The skill used to hard-code a "use Rioplatense voseo" rule and ship all examples in voseo, which contradicted the neutral persona's own contract. The skill is now language-neutral and defers regional tone to the active persona. (#680 → #674) -
Skill registry parses Windows line endings. SKILL.md files written with CRLF (the Git for Windows default with
core.autocrlf=true) used to silently fail frontmatter parsing —namefell back to the directory name anddescriptionrendered as—. The parser now normalizes CRLF/CR → LF before YAML. (#679 → #678) -
Engram protocol block stops accumulating in your config files.
gentle-ai syncused to append a fresh<!-- gentle-ai:engram-protocol -->block on every run if the existing block had an orphan or missing closing marker — over timeCLAUDE.mdandAGENTS.mdcould grow with dozens of duplicates. The block matcher now strips orphans before deciding to replace vs. append. (#687 → #301)
Agents
-
Trae IDE is now a first-class agent. Detection via
~/.trae, system prompt touser_rules/gentle-ai.md, MCP tomcp.json, skills toskills/. (#532 → #136 — thanks @Nathanael-Huaman) -
AgentBuilder hardens generated skill prompt boundaries. Stops generated skills from leaking context that should stay scoped to the skill itself. (#577 → #576)
-
First slice of Engram data-directory work landed. Cross-platform disk-space utilities — foundation for moving Engram data safely. More slices coming. (#638 → #346 — thanks @tonyblu331)
-
Codex now writes
AGENTS.md(uppercase) instead of the lowercase variant, matching the Codex CLI's read path on case-sensitive filesystems. (#686 → #299) -
OpenCode Desktop reports the correct workspace. Slash commands used to capture the Electron process directory instead of the opened project — agents received the wrong workspace and could write artifacts under the OpenCode install dir. (#574 → #74 — thanks @LucianoDPerez)
-
Stale Context7 MCP fields no longer ship. OpenCode's strict schema rejected some legacy field shapes the installer was still writing. (#369 → #57 — thanks @LCubero)
Contributors
Thanks to: @LucianoDPerez, @LCubero, @tonyblu331, @Nathanael-Huaman, and everyone who filed actionable bug reports.
Install
brew upgrade gentle-aior gentle-ai upgrade if you installed via the script path.