Skip to content

v0.7.7

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Sep 18:13
· 535 commits to main since this release

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

  1. Control and Frame protocol freeze: Control and Frame now negotiate semantic protocol ranges with the current 1.0.0 contract. The 0.7.6 compatibility paths remain explicit and bounded while devshell update preflights Control, Worker, Frame, Extension, and persistent-state compatibility before activation.
  2. 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.
  3. 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.
  4. 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.
  5. 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-name hook 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_HOME is 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, Worker 7, Frame no-negotiation path, and other declared temporary compatibility debt retain the hard 0.7.10 review/removal deadline.

Upgrade notes

  1. Use the normal release installer or devshell update so the application, Worker assets, protocol preflight, and rollback transaction stay aligned.
  2. 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 with devshell extension install <path> / devshell extension update <path>. Provider runtimes remain client-installed; no .dsprovider artifacts are published.
  3. 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.
  4. Extension authors targeting the new management and ToolCall surfaces should use Extension API 4.2.0 and Extension schema 1.1.0. ToolCall hooks use deterministic NNN-name ordering.

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