Skip to content

fix(deps): update all non-major dependencies - #44

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all-minor-patch
Open

fix(deps): update all non-major dependencies#44
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all-minor-patch

Conversation

@renovate

@renovate renovate Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
@earendil-works/pi-coding-agent (source) 0.80.100.84.4 age confidence dependencies minor
@google/gemini-cli 0.51.00.57.0 age confidence dependencies minor
@​steipete/summarize 0.21.60.21.11 age confidence dependencies patch
cloudflare/cloudflared 2026.7.22026.8.2 age confidence minor
golang (source) 1.261.27 age confidence stage minor
grafana/alloy v1.18.0v1.19.2 age confidence minor
grafana/grafana 13.1.013.2.0 age confidence minor
grafana/tempo 3.0.23.0.3 age confidence patch
headscale/headscale v0.29.2v0.29.3 age confidence patch
mcporter 0.12.30.13.8 age confidence dependencies minor
quay.io/prometheus/prometheus v3.13.1v3.14.0 age confidence minor

Release Notes

earendil-works/pi (@​earendil-works/pi-coding-agent)

v0.84.4

Compare Source

New Features
  • Terminal capability overrides — Override detected terminal hyperlink, image, and truecolor support. See Capability Overrides.
  • Extension UI prompt events — Integrations can distinguish active agent work from time spent waiting for ctx.ui prompts. See Extension UI prompt events.
  • RPC queue clearing — Retrieve and clear queued steering and follow-up messages with clear_queue. See RPC clear_queue.
  • Fullscreen selection copy controls — Disable automatic selection copying in fullscreen mode and use Ctrl+X to copy the active selection. See UI & Display.
  • DeepSeek V4 Flash Vision (experimental) — Use the vision-capable model through the built-in DeepSeek provider. See API Keys.
Added
  • Added ui_prompt_start and ui_prompt_end extension events so host integrations can distinguish active agent work from waiting on user-facing ctx.ui prompts (#​8355 by @​cristinaponcela).
  • Added detectSupportedImageMimeTypeFromFile() to the public library exports (#​8600 by @​xl0).
  • Added inherited experimental vision-capable deepseek-v4-flash-vision-exp model support.
  • Added transcript usage notices for compaction and branch summaries when cache miss notices are enabled.
  • Added RPC clear_queue to retrieve and remove queued steering and follow-up messages (#​8432).
  • Added environment variables and advanced settings for overriding auto-detected terminal hyperlink, image, and truecolor capabilities (#​8665).
  • Added fullscreenCopyOnSelect to disable automatic fullscreen selection copy; when disabled, Ctrl+X copies the active text selection before falling back to the last assistant message, while /tree still copies the selected message (#​7720).
Fixed
  • Fixed toggling thinking visibility clearing partial output from running Bash tools (#​8611).
  • Fixed Windows shell aborts crashing Pi when taskkill.exe is unavailable on PATH (#​6596).
  • Fixed resumed sessions corrupting the next appended entry when their JSONL file lacks a trailing newline (#​8345).
  • Fixed extension messages sent with triggerTurn: false while the agent is running being inserted between a tool call and its result, which made providers that validate message order reject the replayed history. They are now appended once the turn's tool results are in (#​8537).
  • Fixed compaction and branch summaries forcing toolChoice: "none" (#​8649, #​8638).
  • Fixed large tool results crossing the auto-compaction threshold being sent to the provider before compaction. Pi now compacts between tool execution and the next assistant response in the same run, and restores interactive progress when that run resumes (#​6879).
  • Fixed Google Vertex requests failing with HttpsProxyAgent is not a constructor when the bundled Node.js runtime uses an HTTP(S) proxy (#​8610).
  • Fixed saving a default model from a non-empty model scope so it remains available in that scope.
  • Fixed inherited @ file autocomplete ranking to prefer direct and shallower matches over similarly ranked nested paths (#​8669).
  • Fixed inherited OpenAI-compatible streams serializing thinking signatures repeatedly during streaming (#​8671).
  • Fixed inherited main-screen rendering crashing when image-heavy output exceeded V8's string length limit (#​8028).
  • Fixed inherited fullscreen double-click word selection splitting paths and kebab-case tokens on / and - (#​8676).
  • Fixed inherited Cloudflare AI Gateway catalogs omitting supported workers-ai/* passthrough models.
  • Fixed inherited OpenAI-compatible reasoning replay to merge consecutive streamed text and summary reasoning_details deltas.
  • Fixed inherited OpenRouter reasoning controls so reasoning-mandatory models do not receive effort: "none" (#​8614 by @​davidbrai).
  • Fixed inherited OpenAI-compatible Chat Completions ignoring an explicitly requested toolChoice when no tools are defined.
  • Fixed inherited fragmented Mistral tool calls splitting when continuation chunks omit the tool-call ID (#​8387).

v0.84.3

Compare Source

New Features
  • PowerShell tool — Use optional native PowerShell command execution on Windows. See PowerShell Tool.
  • Safer managed updates — Stage, verify, and atomically activate updates for installer-managed installations. See Install and Manage.
  • Model and thinking controls — Select thinking levels with /thinking, search defaults, keep selections session-scoped, and persist them explicitly with Ctrl+S. See Models and Thinking.
Breaking Changes
  • Renamed the inherited GoogleThinkingLevel type to GoogleApiThinkingLevel and added ResolvedGoogleThinkingLevel for normalized adapter levels.
Added
  • Added an optional powershell tool for Windows, configurable through defaultTools and the SDK. See PowerShell Tool.
  • Added a /thinking selector and searchable default choices to the model and thinking selectors; Ctrl+S saves the selected model as the global default. See Models and Thinking.
  • Added optional routing session IDs to exported compaction summary helpers so callers can preserve provider routing without enabling prompt cache writes.
  • Added

usage notices for compaction and branch summaries when cache miss notices are enabled.

  • Added session_compact_failed extension events so compaction failures and aborts expose their reason, retry state, source, and error message to handlers (#​8175).
  • Added inherited provider-neutral toolChoice support to simple stream requests.
  • Added inherited automatic Anthropic server-side refusal fallback for supported first-party models, including returned-model usage pricing (#​8017).
  • Added inherited configurable OpenAI-compatible thinking-token budget fields for vLLM, Qwen/SGLang, and llama.cpp servers. See OpenAI Compatibility (#​8275 by @​bnsd55).
  • Added inherited China-specific ZAI Coding Plan models, including GLM-4.6V vision support and API-equivalent usage cost estimates (#​8220).
  • Added inherited deepseek-v4-pro-0813 support to the Qwen Token Plan Individual catalog (#​8194).
Changed
  • Changed experimental installer-managed installations so pi update stages, verifies, and atomically activates the selected release in place. See Install and Manage.
  • Changed inherited built-in xAI models to use the Responses API with encrypted reasoning replay and made Grok 4.6 the default xAI model (#​8124 by @​Jaaneek).
  • Changed inherited Anthropic, Azure OpenAI, Google, Mistral, and OpenAI adapters to send Pi's default User-Agent unless overridden (#​8305).
  • Changed Windows and WSL keybinding defaults to avoid terminal-reserved shortcuts for image paste, model cycling, editor undo, fullscreen transcript navigation and search, and message queueing (#​8372).
  • Changed Bun release archives to ship the native clipboard binary only inside the wrapper package, removing a duplicate platform package from each archive.
  • Changed package resource glob expansion to use Node.js's built-in implementation with deterministic visible-path matching, reducing the installed runtime dependency tree.
  • Changed the bundled Node.js runtime to load jiti only when importing an extension and Babel only when uncached source needs transformation, reducing CLI startup time and bundle size.
  • Changed syntax highlighting to initialize only twenty common languages eagerly and defer the remaining grammars until after the initial TUI render, reducing CLI startup time.
  • Changed the Node.js CLI and RPC entrypoints to load a bundled runtime, reducing startup filesystem reads while keeping the public library and legacy module paths on the modular runtime for normal dependency identity.
  • Changed session sharing to render clickable terminal links, display only the canonical Radius artifact URL, and include the current system prompt and active tool definitions in Radius session shares.
Fixed
  • Fixed failed extension factories leaving event subscriptions, provider registrations, and default flag state active (#​8424 by @​acmerfight).
  • Fixed models.json typings omitting the documented OpenAI-compatible compat.supportsFinishReason provider and model override (#​8487 by @​petrroll).
  • Fixed /model and /thinking selections being persisted globally unless explicitly saved with Ctrl+S (#​5263).
  • Fixed JSON and RPC toolcall_start events omitting the tool call id and name (#​7953 by @​christianklotz).
  • Fixed extensions failing to load when the Node.js CLI runs as a single-executable application (#​8237).
  • Fixed nested Markdown skills inside .agents/skills/ grouping directories not being discovered.
  • Fixed compaction and branch summarization requests exposing tools to providers.
  • Fixed single-object edit tool inputs failing validation by accepting them as one-edit arrays in both coding-agent and harness edit tools (#​7835).
  • Fixed root Markdown files such as README.md and AGENTS.md in skill directories being reported as broken skills unless they declare valid skill frontmatter (#​7805).
  • Fixed the default Cerebras model referencing an unavailable Z.AI model.
  • Fixed inherited OpenAI-compatible Chat Completions reasoning replay to preserve and resend assistant-level reasoning_details verbatim and in order (#​7994).
  • Fixed inherited Anthropic server-side fallback responses being priced with the requested model instead of the returned fallback model (#​8285).
  • Fixed inherited GitHub Copilot login triggering model-policy rate limits by limiting policy updates, retrying model discovery once, and honoring server retry delays (#​7850).
  • Fixed inherited Amazon Bedrock dropping and failing to replay opaque redacted reasoning from non-Anthropic models (#​8314 by @​seiji).
  • Fixed inherited Z.AI Coding Plan models deriving incomplete reasoning-effort metadata, including missing GLM-5.3 low, high, and max levels (#​8336).
  • Fixed inherited DeepSeek V4 Flash on OpenCode and OpenCode Go omitting its supported low thinking level (#​8181 by @​tianshuang).
  • Fixed inherited Azure OpenAI Responses ignoring toolChoice in provider-specific stream requests.
  • Fixed inherited Amazon Bedrock response hooks receiving only a synthesized request id instead of the raw response headers (#​8234).
  • Fixed inherited Kimi usage reporting so top-level cached_tokens count as cache reads instead of normal input tokens (#​8075).
  • Fixed inherited Google custom models ignoring thinkingLevelMap, which dropped extended thinking controls (#​8135).
  • Fixed writes to auth.json and models-store.json overriding administrator-managed file permissions and ACLs (#​7779).
  • Fixed UTF-8 BOM markers preventing frontmatter and user configuration files from loading (#​8337).
  • Fixed invalid settings files being easy to miss during interactive startup by rendering warnings with the file path inside the TUI (#​7829).
  • Fixed the subagent example repeatedly prompting before running project-local agents in trusted repositories (#​8261).
  • Added session_compact_failed extension events so compaction failures and aborts expose their reason, retry state, source, and error message to handlers (#​8175).
  • Fixed truncated compaction and branch summaries being persisted when generation reaches its output token limit (#​7048).
  • Fixed npm package update checks treating older registry versions as available updates, preventing pi update from downgrading already-newer installed packages (#​8226).
  • Fixed built-in llama.cpp models disappearing from /model when /llama refreshed a configured server under PI_OFFLINE, and included idle-slept sleeping router models plus autoloadable unloaded presets in the selectable catalog (#​8558 by @​cristinaponcela).
  • Fixed pi.registerFlag() accepting default values that do not match the declared flag type (#​8064).
  • Fixed Z.AI Coding Plan defaults referencing the removed GLM-5.1 model (#​8096).
  • Fixed repeated ambiguous truncated-response recovery being mislabeled as context overflow (#​8130).
  • Fixed duplicate fullscreen right-click paste in VS Code-based terminals on Windows (#​8186).
  • Fixed inherited padded text exceeding narrow terminal widths (#​8252).
  • Fixed inherited wrapped Markdown table links leaking color into borders and neighboring cells, including tables inside blockquotes (#​8335).
  • Fixed llama.cpp login guidance to direct users to /llama before /model when no local models are loaded (#​8203).
  • Fixed hung pi.dev model catalog requests consuming the entire refresh deadline without retrying (#​8198).
  • Fixed inherited Xiaomi model catalogs listing shut-down MiMo V2 models in /model and --list-models (#​8187).
  • Fixed branch summary entries recording the navigation destination in fromId instead of the pre-navigation source leaf.
  • Fixed threshold auto-compaction being skipped when providers omit streaming usage data (#​8328).
  • Fixed dash-prefixed prompts being parsed as options by supporting -- as an end-of-options delimiter (#​7269).

v0.84.2

Compare Source

New Features
  • Fullscreen transcript search — Search and navigate matches in fullscreen mode. See TUI Fullscreen Viewport.
  • Configurable default tools — Choose startup built-in tools globally or per project. See Tools.
  • Configurable fullscreen exit output — Print the transcript or only a resume hint on exit. See Interactive Mode.
Added
  • Added fullscreen transcript search with Ctrl+Shift+F, incremental match highlighting, configurable search match theme colors, and next/previous navigation with Enter/Ctrl+G and Shift+Enter/Ctrl+Shift+G.
  • Added experimental strict JSON-schema constrained sampling for the default read, bash, edit, and write tools under PI_EXPERIMENTAL=1.
  • Added a fullscreen exit output setting to choose between printing the final transcript and only a session resume hint.
  • Added the defaultTools setting for configuring the initial built-in tool selection globally or per project.
  • Added --use-theme <name[/name]> to choose an initial per-run interactive theme without changing saved settings (#​7722 by @​rwachtler).
  • Added expandPromptTemplates to extension pi.sendUserMessage() options for explicitly dispatching commands and expanding skills and prompt templates. See pi.sendUserMessage() (#​7857 by @​mrexodia).
  • Added inherited createGatewayBindingFetch() for routing Cloudflare AI Gateway requests through a Workers AI binding without an API token (#​7901 by @​Maximo-Guk).
  • Added inherited AssistantMessage.endTurn to preserve OpenAI Codex's terminal end_turn signal for diagnostics (#​7766).
  • Added inherited unbound single-line transcript scrolling actions for fullscreen mode. See TUI Fullscreen Viewport (#​7903 by @​midastruth).
Changed
  • Changed inherited Kimi Coding requests to use pi's runtime User-Agent header.
  • Replaced the inherited Mistral SDK transport with a native Chat Completions HTTP stream, eliminating its generated client and schema runtime overhead.
  • Documented the generic AI_AGENT=pi process marker and how it differs from PI_CODING_AGENT=true (#​7747).
  • Changed inherited OpenAI Responses deferred tool loading to prefer message-anchored additional_tools where supported while retaining tool-search and top-level fallbacks (#​7709).
  • Reduced inherited fullscreen rendering allocation churn by painting full-width layout rows directly instead of recompositing them on every frame.
Fixed
  • Fixed root Markdown files such as README.md and AGENTS.md in skill directories being reported as broken skills unless they declare valid skill frontmatter (#​7805).
  • Fixed single-object edit tool inputs failing validation by accepting them as one-edit arrays in both coding-agent and harness edit tools (#​7835).
  • Fixed managed-tool downloads delaying TUI startup and hiding diagnostics in fullscreen mode by mounting the TUI first and showing download progress and warnings inside it.
  • Fixed opening a model selector immediately after startup cancelling and restarting the in-progress model catalog refresh.
  • Fixed inherited GitHub Copilot login triggering API rate limits while enabling model policies by limiting concurrent policy updates (#​6187).
  • Fixed fullscreen transcript search snapping back to the current match during manual scrolling and fragmented mouse input leaking into the search query.
  • Fixed inherited required LaTeX arguments starting on a new line being parsed as empty (#​7760).
  • Updated the transitive nanoid development dependency to address a denial-of-service vulnerability.
  • Fixed fallback rendering for extension tool results to collapse long output and honor tool expansion (#​7979).
  • Fixed JSON and RPC message_update events dropping cumulative usage during streaming. See JSON Event Mode and RPC message_update (#​7982 by @​christianklotz).
  • Fixed pi.sendMessage(..., { triggerTurn: false }) steering an active run instead of only recording the custom message (#​8022 by @​cristinaponcela).
  • Fixed the defaultTools setting dropping extension and SDK custom tools when selecting built-in defaults.
  • Fixed the subagent example rejecting YAML array syntax for the tools frontmatter field (#​7598 by @​alexsavio).
  • Fixed the subagent example dropping parent session model, thinking, and tool configuration (#​7897 by @​virtuald).
  • Fixed custom system prompts concatenating the current working directory with later appended prompt content (#​7887 by @​distributedlock).
  • Fixed inherited OpenAI Responses function and custom tool calls losing namespaces during streaming, proxying, and replay (#​7709).
  • Fixed inherited upstream request buffer failures not triggering automatic assistant retries.
  • Fixed inherited built-in and custom DeepSeek API models sending output limits through an unsupported field.
  • Fixed inherited Amazon Bedrock replay rejecting tool arguments that contain empty object keys while preserving all valid nested values (#​7882 by @​muyiyr).
  • Fixed inherited DeepSeek compatibility detection for base URLs whose hostname contains uppercase letters (#​7933 by @​yearth).
  • Fixed inherited Google Generative AI and Vertex AI responses with tool calls incorrectly treating output-limit or provider-error stops as normal tool use (#​8059).
  • Fixed inherited fullscreen mouse drag selection and OSC 8 link activation in terminals that report generic SGR mouse release button codes (#​7963).
  • Fixed inherited focused fullscreen overlays not receiving mouse wheel or viewport scroll keys such as PageUp and PageDown (#​7894).
  • Fixed inherited LaTeX control spaces split across line endings causing complete expressions to fall back to raw source.
  • Fixed split Alt+Enter input over SSH being misread as Escape, added PI_TUI_ESC_TIMEOUT for high-latency terminals, and limited that timeout to lone Escape input (#​7899 by @​powerfooI).
  • Fixed inherited idle fullscreen sessions repainting and clearing text selection when the terminal loses focus (#​7892 by @​terrorobe).
  • Fixed fullscreen selection copy to use the host clipboard and report failure instead of claiming success when OSC 52 is unsupported (#​8110 by @​Panoplos).

v0.84.1

Compare Source

New Features
  • Qwen Token Plan Individual — Use the built-in provider for models documented for Individual subscriptions. See API Keys.
  • Authentication readiness checks — Use pi auth check to verify provider or model credentials, optionally emitting the resolved credential.
  • Improved fullscreen interaction — Select words and paragraphs with multiple clicks and configure half-page transcript scrolling. See TUI Fullscreen Viewport.
  • Terminating blocked tool calls — Extension tool_call handlers can stop all-terminating batches without another model call. See Tool Events.
Added
  • Added Qwen Token Plan Individual as a built-in provider with its documented subscription model catalog and the shared international QWEN_TOKEN_PLAN_API_KEY. See API Keys (#​7659 by @​arasovic).
  • Added pi auth check provider/model auth preflight with optional credential output (#​7152).
  • Added terminate support to blocked extension tool_call events so all-terminating batches can skip the automatic follow-up model call. See Tool Events (#​7715 by @​muyiyr).
  • Added inherited double-click word and whitespace selection, granularity-aware drag selection, and triple-click paragraph selection in fullscreen mode (#​7725, #​7733 by @​volsa).
  • Added inherited unbound half-page transcript scrolling actions for fullscreen mode. See TUI Fullscreen Viewport (#​7735).
Changed
  • Softened the bash tool's PI_* environment guideline in an attempt to reduce unnecessary inspection commands (#​7128).
  • Reduced worst-case automatic terminal theme detection delay from 200 ms to 100 ms by probing color-scheme and background support concurrently.
Fixed
  • Fixed Bun standalone binaries crashing on startup when the cwd contains a bunfig.toml with preload by compiling with --no-compile-autoload-bunfig (#​7685 by @​geril07).
  • Fixed extension TUI method wrappers recursing indefinitely when delegating to the original method (#​7731).
  • Fixed right-click not pasting clipboard text in fullscreen mode on Windows.
  • Fixed inherited Agent.reset() clearing transcript and runtime state during active runs; it now rejects until the agent is idle (#​7717 by @​wesleyzhangwq).
  • Fixed inherited LaTeX relation, multiplication, and named-operator spacing, and matrix composition with stacked fractions, operator limits, and adjacent matrices.
  • Reduced inherited fullscreen mouse event volume under tmux, Zellij, and GNU Screen by using button-motion tracking instead of all-motion tracking.

v0.84.0

Compare Source

New Features
  • Fullscreen TUI mode — Switch between regular and fullscreen modes at runtime, with a sticky editor and footer, independently scrollable transcript, and draggable scrollbars. See UI & Display.
  • Mermaid and LaTeX rendering — Render Mermaid diagrams and terminal-friendly Unicode math in interactive transcripts. See Markdown settings and TUI Markdown.
  • Per-directory context overrides — Use AGENTS.override.md to replace context files for a specific directory. See Context Files.
  • Advanced custom model sampling — Configure arbitrary OpenAI-compatible samplingParams and opt-in vLLM thinking_token_budget values. See Sampling Parameters.
  • Baseten provider — Use built-in Baseten authentication and model support. See API Keys.
Breaking Changes
  • Renamed the inherited pi-ai ModelsStreamTransforms interface to ModelsRequestTransforms because its header transformation now applies to all authenticated provider requests.

  • Changed JSON and RPC message_update events to emit only assistantMessageEvent deltas, removing the cumulative message and assistantMessageEvent.partial fields that caused quadratic output growth. Clients that need partial messages must assemble deltas between message_start and message_end; the latter remains authoritative (#​7290).

  • ModelRegistry.getApiKeyAndHeaders() now returns ProviderHeaders with string | null values and preserves null header-deletion markers. Extensions that inspect returned headers must handle null; extensions forwarding them to pi-ai streams should pass them through unchanged. This prevents placeholder OpenAI credentials from being sent through Cloudflare AI Gateway (#​7030).

  • Changed ModelRegistry.refresh() to accept ModelsRefreshOptions and return ModelsRefreshResult instead of discarding cancellation and provider errors.

  • Changed ModelRuntime.setRuntimeApiKey() to accept auth cancellation options rather than catalog refresh options. Call refresh({ providers: [providerId], signal }) separately when remote freshness is required.

  • Required config-form extension OAuth refreshToken(credentials, signal) callbacks to accept and honor a concrete abort signal.

  • Replaced dynamic provider refresh context store access with the read-only context.stored snapshot and generation-checked context.publish() transaction.

    Providers built with createProvider({ fetchModels }): no catalog-publication migration is required. Before and after, return the fetched models and register the resulting provider; createProvider() owns restoration, persistence, and in-memory publication.

    // Before
    const beforeProvider = createProvider({
      // ...
      fetchModels: async ({ signal }) => {
        const response = await fetch(catalogUrl, { signal });
        return parseModels(await response.json());
      },
    });
    pi.registerProvider(beforeProvider);
    
    // After: unchanged
    const afterProvider = createProvider({
      // ...
      fetchModels: async ({ signal }) => {
        const response = await fetch(catalogUrl, { signal });
        return parseModels(await response.json());
      },
    });
    pi.registerProvider(afterProvider);

    Handwritten native Provider.refreshModels(): replace direct store access and pre-publication mutation with generation-guarded publications.

    // Before
    refreshModels: async (context) => {
      const stored = await context.store.read();
      if (stored) currentModels = stored.models;
      if (!context.allowNetwork) return;
    
      const refreshed = await fetchModels(context.signal);
      currentModels = refreshed;
      await context.store.write({ models: refreshed, checkedAt: Date.now() });
    },
    
    // After
    refreshModels: async (context) => {
      if (context.stored) {
        const restored = context.stored.models;
        if (!(await context.publish({
          update: () => { currentModels = restored; },
        }))) return;
      }
      if (!context.allowNetwork) return;
    
      const refreshed = await fetchModels(context.signal);
      if (context.signal.aborted) return;
      await context.publish({
        persist: { models: refreshed, checkedAt: Date.now() },
        update: () => { currentModels = refreshed; },
      });
    },

    For the config-form pi.registerProvider(name, { refreshModels }), callbacks that only return models remain unchanged; pi publishes the returned list. If such a callback previously used context.store for custom persistence, read context.stored and call context.publish({ persist: entry }). In publish(), omit persist to leave storage unchanged, pass a ModelsStoreEntry to write it, or pass persist: null to delete it.

  • Replaced the inherited pi-agent-core harness session model with the v4 lane-based Session, SessionStorage, and SessionRepo APIs, including durable operation records, global facts, shared sequence numbers, and tree-scoped lane views.

  • Promoted the inherited v2 session and AgentHarness API from pi-agent-core's experimental entrypoint to its default export and removed the experimental subpaths.

  • Removed the inherited legacy JSONL and in-memory repository APIs. Use pi-agent-core's v4 JsonlSessionRepo or InMemorySessionRepo, both implementing the new SessionRepo contract.

  • Added the inherited required pi-agent-core FileSystem.renameFile() operation for atomic JSONL publication; custom harness file-system implementations must provide same-filesystem replacement semantics (#​7707 by @​davidbrai).

  • Replaced experimental remote-session list summaries with durable SessionMetadata; RemoteSession.sessions no longer exposes runtime phase, model, thinking, attachment, or lock state, which remains available from acquired SessionSnapshot values (#​7708).

Added
  • Added built-in Baseten provider support with BASETEN_API_KEY authentication and zai-org/GLM-5.2 as the default model.
  • Added experimental remote-session client APIs: the transport-neutral PiClient, CBOR protocol, Unix-socket transport, and @earendil-works/pi-coding-agent/client RemoteSession controller with transcript reducers. See Pi Client and Remote Protocol (#​7344, #​7348, #​7371, #​7409).
  • Added CredentialSynchronizationError for credential changes that commit successfully but fail to synchronize local model state.
  • Added chainable pi.registerMarkdownTransformer() hooks for display-only transformation of user and assistant Markdown. See pi.registerMarkdownTransformer() (#​7231 by @​xl0).
  • Added an experimental fullscreen TUI mode, selectable through --tui-mode fullscreen or /settings (#​7304).
  • Added runtime switching between regular and fullscreen TUI modes through /settings.
  • Added a sticky editor, status, widget, and footer dock to fullscreen mode while keeping the transcript independently scrollable.
  • Added a draggable transcript scrollbar to fullscreen mode with configurable auto, always, and hidden modes through /settings; always reserves the rightmost column.
  • Added page scrolling and marked-message navigation shortcuts to fullscreen mode.
  • Added an optional scrollbarThumb theme color for fullscreen scrollbar thumbs, falling back to selectedBg.
  • Added configurable themed Unicode rendering for supported Mermaid diagrams in interactive messages, including optional rendering while streaming. See Markdown settings (#​7624 by @​xl0).
  • Added opt-in Ctrl+P/Ctrl+N prompt history navigation, with explicit history bindings taking precedence over application shortcuts while the editor is focused.
  • Added per-directory AGENTS.override.md context files, which replace AGENTS.md or CLAUDE.md in the same directory while preserving context from other directories. See Context Files (#​7681 by @​Marvae).
  • Added AI_AGENT=pi to CLI and RPC child-process environments for generic agent attribution. See Environment Variables (#​7493 by @​renaudhartert-db).
  • Added inherited terminal-friendly Unicode rendering for LaTeX expressions in Markdown. See TUI Markdown.
  • Added stacked transient notifications in fullscreen mode.
  • Added arbitrary OpenAI-compatible model sampling parameters through samplingParams in models.json, model overrides, extension providers, and stream options. See Sampling Parameters (#​7568 by @​mrexodia).
  • Added inherited opt-in vLLM thinking_token_budget support for OpenAI-compatible models, reserving output tokens for the final answer (#​7638 by @​bnsd55).
  • Added inherited support for OpenAI-compatible streams that omit finish_reason, using compat.supportsFinishReason to infer normal and tool-use stops when the stream ends. See OpenAI Compatibility.
  • Added inherited deferred provider request contracts, durable response handles, authenticated fetch/cancel dispatch, and faux-provider support for pending, ready, failed, and cancelled responses (#​7339 by @​davidbrai).
  • Added inherited vendor-neutral telemetry contracts plus agent-owned typed AI-request and harness schemas, composed span starters, and callback helpers. See the agent telemetry schema reference.
  • Added inherited structured Amazon Bedrock failure diagnostics with HTTP status, modeled error code, and AWS request id when available (#​7286 by @​brianstanley).
  • Added inherited AgentOptions.shouldStopAfterTurn for gracefully stopping after a completed turn before queued messages or another model call are processed. See Agent Options (#​7367 by @​acmerfight).
  • Added inherited v4 JsonlSessionRepo support for append-only JSONL harness sessions (#​7611 by @​davidbrai).
  • Added inherited bounded branch-entry and indexed open-operation recovery queries to the v4 session API (#​7448, #​7646).
  • Added the inherited compile-complete AgentHarness v2 scaffold; unfinished operation paths reject with HarnessNotImplemented while durable execution is implemented.
Changed
  • Added inherited optional cancellation to pi-ai ModelsStore reads, writes, and deletions; catalog orchestration binds these waits to the provider refresh signal.
  • Reduced the inherited default fullscreen mouse wheel step from three lines to one for finer scrolling.
Fixed
  • Fixed the footer showing (sub) for generic OAuth/OpenID sign-ins without a known subscription; extension OAuth providers can opt in with isSubscription.
  • Fixed inherited OAuth token refreshes so stalled requests release the credential-store lock (#​7508).
  • Fixed inherited tool argument validation to preserve values that already match an anyOf/oneOf union arm before coercion, avoiding nullable unions converting null to another primitive value (#​7328).
  • Fixed inherited Fireworks GLM 5.2 requests sending the unsupported prompt_cache_retention field when long cache retention is enabled, and enabled session affinity for automatic prompt caching (#​7676).
  • Fixed inherited JsonlSessionRepo enforcing session IDs globally across working directories; IDs are now unique within each working directory.
  • Fixed inherited JSONL session forks and torn-tail repairs to publish atomically, avoiding partially written or corrupted sessions after interrupted writes (#​7707 by @​davidbrai).
  • Fixed path-containing find globs returning no results on Windows (#​6817).
  • Fixed messages queued during manual /compact failing instead of being sent after compaction completes.
  • Fixed Git Bash, MSYS, Cygwin, and WSL drive paths passed to built-in file tools resolving against the current Windows drive instead of their native drive (#​7064, #​7547).
  • Fixed project-level nested provider retry settings replacing unmodified global provider retry settings (#​7572).
  • Fixed inherited GitHub Copilot Grok 4.5 requests to use the supported Responses API (#​7560).
  • Fixed fullscreen shutdown leaking terminal capability-query replies into the parent shell prompt.
  • Fixed bare exact --model IDs shared by multiple providers choosing the first catalog entry instead of the sole authenticated provider or a clear ambiguity error (#​7327).
  • Fixed standalone x64 binaries requiring Haswell-era AVX2/BMI2 instructions by compiling release executables against Bun's baseline runtime (#​7390 by @​davidbrai).
  • Fixed Ctrl+X copy confirmations in fullscreen mode adding a transcript status line instead of showing the transient Copied! marker.
  • Fixed Kitty image previews in fullscreen mode overlapping the sticky editor and footer dock while scrolling.
  • Fixed image-heavy fullscreen sessions lagging when layout changes retransmitted visible Kitty image payloads and rendered the transcript twice per frame.
  • Fixed spaces in /settings searches toggling the highlighted setting while typing multi-word queries such as TUI mode or Quiet startup.
  • Fixed custom editors not inheriting the default editor's autocomplete dropdown item limit (#​7333).
  • Fixed malformed resource arrays in package manifests crashing session startup (#​7187).
  • Fixed the DOOM overlay example downloading its shareware WAD from a dead URL.
  • Fixed setToolsExpanded(false) to be a no-op when tool output is already collapsed, avoiding redundant Tool output: collapsed startup notices from extensions (#​7292).
  • Fixed extension-driven model calls in custom compaction, handoff, and Q&A examples to dispatch through the coding-agent model runtime so custom providers and resolved auth options are preserved (#​7325).
  • Fixed long-running sessions using stale credentials after another process updates auth.json without serializing concurrent credential reads and delaying startup (#​7319).
  • Fixed concurrent models-store.json reads forming a file-lock convoy and delaying startup.
  • Updated the packaged brace-expansion dependency to 5.0.8 to address GHSA-mh99-v99m-4gvg (#​7316).
  • Fixed forced model availability refreshes remaining blocked behind a stalled earlier refresh (#​7301, #​7421 by @​a-yeyang).
  • Fixed /model catalog refresh failures to identify every catalog that failed.
  • Fixed provider login remaining stuck after saving credentials when a model catalog refresh stalls by separating local credential consistency from bounded background freshness (#​7027, #​7113, #​7418).
  • Fixed /scoped-models waiting for remote catalogs before rendering instead of showing cached models and cancelling refresh on close (#​7153).
  • Fixed /model <name> waiting for catalog refresh before checking cached model matches (#​7443).
  • Fixed stale availability snapshots and errors publishing after a newer availability pass.
  • Fixed stale pi.dev, Radius, llama.cpp, and extension catalog refreshes publishing after a newer provider refresh.
  • Fixed cancellation while waiting for file-backed credential or model-catalog locks, preventing cancelled mutations from running or committing later.
  • Fixed concurrent in-memory credential mutations losing unrelated provider updates by serializing their read-modify-write sections.
  • Updated undici to 8.9.0 and the packaged brace-expansion to 5.0.9 to address GHSA-8xcm-r25x-g524, GHSA-4cwx-7wf7-3272, GHSA-m8rv-5g2x-5cg5, GHSA-jr45-8vmc-qm54, GHSA-v3r7-h72x-cjcm, and GHSA-rgw5-rvv9-x895.
  • Fixed GitHub Copilot compaction and branch summaries using the Individual endpoint instead of the credential-resolved Business or Enterprise endpoint (#​6768).
  • Fixed extension model calls dropping credential-resolved endpoints when forwarding request authentication, including custom compaction with GitHub Copilot Business and Enterprise accounts (#​7579).
  • Fixed fullscreen transcript navigation leaving no editor-accessible Home, End, PageUp, or PageDown variants by adding Ctrl-modified editor bindings (#​7574).
  • Fixed extension event-bus listeners surviving session reloads and disposal (#​7656 by @​tudoroancea).
  • Fixed /copy failing to read clipboard text on Wayland when no X11 clipboard is available (#​7387).
  • Fixed slow connections failing during the initial connection attempt by increasing the connect timeout (#​7435 by @​muyiyr).
  • Fixed oversized images returned by extension and built-in tools bypassing automatic image resizing. See Image settings (#​7330 by @​tizmagik).
  • Fixed session discovery missing sessions stored through symlinked directories (#​7552 by [@​muyiyr](https://redirect.g

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch from 254aeae to 0cbb4aa Compare July 21, 2026 18:52
@renovate renovate Bot changed the title chore(deps): update grafana/grafana docker tag to v13.1.1 fix(deps): update all non-major dependencies Jul 21, 2026
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 7 times, most recently from d876bb0 to e7bf669 Compare July 29, 2026 15:48
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 7 times, most recently from 762355d to d89f537 Compare August 4, 2026 22:05
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 11 times, most recently from 76885a1 to a34ce7f Compare August 11, 2026 23:07
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from bd8216c to c8f29a4 Compare August 13, 2026 18:46
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from ef1c594 to 44c93cf Compare August 19, 2026 23:31
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from 118a3eb to 815447e Compare August 28, 2026 20:13
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch from 815447e to bb89313 Compare August 29, 2026 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants