Repository navigation
portable-devshell v0.7.7
0.7.7 continues the 0.7.x protocol and Extension-boundary freeze while strengthening Agent execution, Windows runtime support, and the operator-facing Web experience. The release freezes semantic Control and Frame protocol negotiation, publishes Agent as an explicitly installed Extension artifact in the Core Release, adds Pi profiles and Subagents, brings persistent pane semantics to Windows, and expands generic Extension-owned control surfaces.
Highlights
- Control and Frame protocol freeze: Control and Frame now negotiate semantic protocol ranges with the current
1.0.0contract. The 0.7.6 compatibility paths remain explicit and bounded whiledevshell updatepreflights Control, Worker, Frame, Extension, and persistent-state compatibility before activation. - Agent profiles and Subagents: the Pi Provider supports Agent Profiles and isolated Subagents, uses the DevShell Agent policy and tool-choice guidance, compacts historical tool output, and defers heavier Agent/tmux tool exposure until the runtime needs it. Pi main-agent startup now follows one runtime path instead of maintaining a separate historical integration, and the managed Pi runtime is updated to
0.99.1. - Agent Extension artifact without bundled Provider runtimes: the Core Release ships one platform-neutral
portable-devshell-agent.dsext, installed explicitly through the normal Extension lifecycle. Pi and OpenCode runtime dependencies are not release artifacts; they are installed and versioned on the client under their managed Provider prefixes. - Extension-owned control surfaces: Extensions can contribute Control routes and generic Web/TUI management pages. Extension runtime state, structured failures, instance lifecycle capability, retirement ownership, and named ToolCall hooks now flow through the public Extension boundaries instead of host-specific adapters.
- Windows persistent panes and Web polish: the Worker embeds the persistent pane runtime on Windows, normalizes Windows workspace/path semantics, and exercises the long tmux handoff contract on Windows. Web adds conversation row actions and reordering, clearer connection/logout behavior, token visibility control, route-aware titles, reduced-motion handling, and more compact status presentation.
Reliability and validation
- ToolCall review/rewrite hooks are ordered by explicit
NNN-namehook names, preserving the review and rewrite stages while giving Extensions a deterministic ordering contract. - ToolCall rewrite payloads and structured errors stay intact across Extension, MCP, Agent, and sandbox boundaries; Pi surfaces DevShell tool failures without flattening their error metadata.
- File editing normalizes supported compatibility dialects, creates missing target parents where the operation permits it, avoids redundant rereads, and rejects ambiguous Windows-rooted paths instead of guessing their meaning.
- Transport receive credit is restored before window updates, preventing a stalled peer from losing credit during the Frame receive path.
- Windows local activation can roll back safely, OAuth persistence and downgrade output are hardened, and Worker retirement stops the embedded persistent-pane server.
PORTABLE_DEVSHELL_HOMEis now applied consistently to Control and Extension state, so custom DevShell homes also work with explicitly installed Agent state and managed Pi launchers.- Control rejects unsafe semantic protocol components before business requests, while update preflight reports incompatible protocol ranges and persistent migration rollback blockers before installation is committed.
- Compatibility annotations remain release-gated. The legacy Control integer
1, Worker7, Frame no-negotiation path, and other declared temporary compatibility debt retain the hard0.7.10review/removal deadline.
Upgrade notes
- Use the normal release installer or
devshell updateso the application, Worker assets, protocol preflight, and rollback transaction stay aligned. - The Core Release includes
portable-devshell-agent.dsext, but does not install Agent automatically. Download the artifact from the same release and install or update it withdevshell extension install <path>/devshell extension update <path>. Provider runtimes remain client-installed; no.dsproviderartifacts are published. - Existing 0.7.6 Control/Worker/Frame peers remain inside their declared compatibility windows, but new integrations should use the semantic protocol ranges rather than the legacy integer/no-negotiation forms.
- Extension authors targeting the new management and ToolCall surfaces should use Extension API
4.2.0and Extension schema1.1.0. ToolCall hooks use deterministicNNN-nameordering.
See docs/development/compatibility.md, docs/concepts/extensions.md, docs/development/acceptance.md, and docs/getting-started/installation.md for the current contracts and release gates.
Full Changelog: v0.7.6...v0.7.7