Repository navigation
gentle-pi v4.5.0 — One Profiles Screen, the Newest Pi, and Music on Request
Gentle Shell v4.5.0 is a feature release. The models and profiles screens become one screen with profiles as tabs, opened by /gentle:profiles; the fullscreen rail gains a Jobs card; bundled installs move to Pi 1.4.0 and can install the newest published Pi with gentle-shell update --latest; and /gentle:music offers to install its player inside Gentle Shell. The npm package remains gentle-pi, and the bundled Gentle AI runtime remains v4.3.1.
Provenance
- Previous stable:
v4.4.0→b6c301c41b426ebb09cbd9dc3309cfceedcc1820 - Release target:
v4.5.0→19b4fade568d3499020c988573056f38b3bc05e4 - Release validation: run 40606485076 passed package verification, published
gentle-pi@4.5.0to npm with provenance, built, verified and attached the installers, and verified the bundled distribution4.5.0-1.4.0on Ubuntu, Windows and macOS before attaching it. - Pinned Gentle AI:
v4.3.1(2dba778); the review provider contract remains unchanged at 1.4.0, and the negotiated capability identity is unchanged.
What's new
One models and profiles screen
/gentle:profiles opens one screen with each profile as a tab (◉ this session, ★ default, ⌂ this repository) and the selected profile's routing as a table with the orchestrator first. Three actions apply it: Use in this session, Make default (the guarded global apply) and Save. It is pointer-first and keyboard-complete, offers only the effort levels each model supports, shows where Pi lands an unsupported saved level, and lists invalid or stale pins under the profile name. Switching tabs redraws in place. /gentle:profiles export <name>, import and publish <name> move profiles; /gentle:profiles export-routing and restore-routing move the global routing file.
Included work: #2588 (issue #2586), #2599 (issue #2598).
Jobs card in the fullscreen rail
Running background jobs get their own collapsible card, newest first, each with its elapsed time. Finished jobs stay for 60 seconds with ✓, ✗ or –, then the card clears itself. Click the header or press ctrl+shift+j to collapse it; GENTLE_PI_JOBS_KEY remaps or disables the shortcut.
Included work: #2592.
Newest Pi for bundled installs
Bundled installs now ship Pi 1.4.0, audited against every private Pi surface Gentle Shell relies on (the Vim editor's sources are byte-identical from 1.2.0 to 1.4.0). gentle-shell update --latest installs the newest published stable Pi without waiting for a Gentle Shell release: it warns that it skips the release's verified lockfile, verifies the new version like upgrade, keeps the previous one for gentle-shell upgrade --rollback, and never downgrades Pi. A later gentle-shell upgrade keeps that Pi until a newer Gentle Shell release arrives.
Included work: #2599 (issue #2598).
Music player on request
In a bundled install without gentle-stream or uv, /gentle:music asks before installing the player inside Gentle Shell: a pinned, checksum-verified uv 0.13.6 in runtime/, and the uv-managed Python 3.13 and gentle-stream in music/ (about 150 MB to download), isolated from any user uv, Python, pip or virtualenv settings and without needing git. Declining keeps the manual install hint, and pnpm or npm installs keep it unchanged. Sample voices still need the system FluidSynth library.
Included work: #2599 (issue #2598).
What was fixed
Bundled installs stuck on an older Pi
gentle-shell update in a bundled install redirected to gentle-shell upgrade, which installs only the Pi its Gentle Shell release pins, so a newer published Pi was unreachable. The pin moves to Pi 1.4.0 and --latest opens the newest published Pi on demand.
Included work: #2599 (issue #2598).
Profile tabs flickered
Switching profile tabs closed the screen and reopened it after reloading the model catalog, which painted the screen below for a frame. The panel now switches profiles in place.
Included work: #2599 (issue #2598).
Pinned runtime
The pinned Gentle AI runtime is unchanged at github.com/gentleman-programming/gentle-ai/v3 v4.3.1: signed release archives on Darwin and Linux, and a SumDB-verified source build on Windows. The review provider contract remains 1.4.0; no NATIVE_CLI_CONTRACTS row or capabilities/vN identity was added.
Breaking changes
/gentle:modelsis retired:/gentle:profilesopens the same screen, and/gentle:models export|restorebecome/gentle:profiles export-routing|restore-routing.- The separate models panel, profiles list and detail, routing editor and orchestrator picker are replaced by the one tabbed screen. Saved profiles and routing are unchanged.
Upgrade
pi install npm:gentle-pi@4.5.0Restart Pi. No runtime migration is required. Bundled installs run gentle-shell upgrade.
Numbers
7 non-merge commits, 3 merged pull requests, and 2 unique GitHub PR authors since v4.4.0.
Verification
- Local suite (
pnpm test, macOS arm64, Node 24) on the release commit: 7761 tests, 7650 pass, 75 skipped, 36 fail. Every failure is pre-existing in that local environment (PulseAudio fake-socket, agent-home config override, orchestrator-scope and one agents test); the same suite on the pre-releasemainbaseline fails 38 tests in the same files. Theprovider-contractandruntime-harnessstages pass. - PR CI for #2599: verify, tests on Ubuntu and Windows, installers on macOS, Ubuntu and Windows, and review-repository-windows all passed.
- Package verification: 236 package resource files and 69 exact byte-pinned contract artifacts for the v4.3.1 runtime;
npm pack --dry-runlists 965 files (11.7 MB packed). - Pi 1.4.0 audit: the Vim editor's
editor.js,undo-stack.jsandkeys.jsare byte-identical in Pi 1.2.0, 1.3.0 and 1.4.0;cli/args.jsand the extension types are identical; thepackage-manager-cli.jsandtui-alt-screen.jschanges are compatible. - Independent verification of
gentle-shell update --latest: no blockers; 6175updateinputs without--latestproduce identical plans before and after. - Independent verification of the music install: no blockers; uv pins re-hashed; archive extraction rejects traversal and links; a corrupted download publishes nothing; nothing installs without consent. A real macOS arm64 install ran
gentle-stream --helpsuccessfully.
Install
pi install npm:gentle-pi@4.5.0Package: https://www.npmjs.com/package/gentle-pi
Full changelog: v4.4.0...v4.5.0