Update Pi to ^0.83.0 #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/pi"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
^0.80.6→^0.83.0^0.80.6→^0.83.0^0.80.6→^0.83.0^0.80.6→^0.83.0Release Notes
earendil-works/pi (@earendil-works/pi-agent-core)
v0.83.0Compare Source
v0.82.1Compare Source
v0.82.0Compare Source
Breaking Changes
AgentHarness'sExecutionEnvdependency and context-freeAgentToolinputs with application-definedtoolContextvalues and context-awareAgentHarnessTooldefinitions.Added
read,write,edit, andbashharness tools backed byExecutionEnv, including async bash execution preparation.Changed
Fixed
v0.81.1Compare Source
Added
AgentHarness(#6901 by @davidbrai).Fixed
AgentstreamFnoption and host-configurable fallback for omitted agent-loop stream functions without reintroducing api-ai/compatdependency (#6915).v0.81.0Compare Source
Breaking Changes
SessionStorageto usegetPathToRootOrCompaction(), require session name and statistics methods, support cursor-based entry reads, and store retained compaction tails as self-contained checkpoints (#6594 by @cristinaponcela).uuidv7export to@earendil-works/pi-ai(#6834 by @xl0).AgentstreamFnfallback with a requiredstreamFunctionand made low-level loop stream functions required, preventing@earendil-works/pi-ai/compatand all built-in providers from entering selective-provider bundles (#6851).Added
v0.80.10Compare Source
v0.80.9Compare Source
v0.80.8Compare Source
v0.80.7Compare Source
Added
AgentToolResult.addedToolNamespropagation toToolResultMessageso tools introduced by a result can be loaded from that transcript point onward (#6474).earendil-works/pi (@earendil-works/pi-ai)
v0.83.0Compare Source
Breaking Changes
Type.Base,Type.Awaited,Type.Promise,Type.AsyncIterator,Type.Iterator,Type.Options, andValue.Mutate, while fixing compiled validation of nullable array tool arguments. Consumers using removed APIs must migrate to supported TypeBox APIs (#7243 by @petrroll).Added
fetchinjection for supported text and image provider transports; Google adapters reject non-global implementations rather than silently bypassing them.minimalthinking-level override (#7158 by @jay-aye-see-kay)."pending"stop reason for partial streaming messages. See Stop Reasons (#7151 by @lucasmeijer).AssistantMessage.rawStopReasonand populated it across Google, Anthropic, Amazon Bedrock, Mistral, and OpenAI streams; unmapped terminal reasons now surface as provider errors instead of successful stops (#7272).AuthResolutionOverrides.minOAuthValidityMsso callers can require and refresh OAuth credentials with a minimum remaining validity (#7168).Changed
Fixed
max_tokens, which those endpoints honor (#7174 by @HyeokjaeLee).functionpayload and an emptycustomobject discarding the function arguments (#7288 by @sunnyyoung).v0.82.1Compare Source
Added
ModelsStoreEntry.etagso persisted provider catalogs can carry the remote ETag validator for conditional refreshes.ANTHROPIC_AUTH_TOKENbearer authentication for Anthropic-compatible gateways (#5871)Changed
ModelsErrormessages to append the underlying cause, so auth failures such asOAuth refresh failed for openai-codexreport the provider response instead of a bare wrapper message.v0.82.0Compare Source
Breaking Changes
getBuiltinModelDataUrl(provider)withgetBuiltinModelDataGeneratedAt()so built-in catalog freshness uses its recorded generation time instead of installation-dependent file metadata (#7016 by @davidbrai).Added
kimi-codingprovider, with device authorization, token refresh, and OAuth host overrides (#6935 by @zaycruz).Tool.constrainedSamplingwith strict JSON Schema (prefer/require) and OpenAI Lark/regex grammar variants, enforcing provider-side constrained tool sampling across OpenAI, Anthropic, Amazon Bedrock, Google Gemini, and Mistral. See Constrained Sampling for Tools.supportsGrammarToolsandsupportsStrictToolscompatibility flags, expandedsupportsStrictModeto Responses and Bedrock models, and generated model capability metadata to gate constrained sampling.Changed
Fixed
cacheRetention: "none"to disable implicit prompt-cache writes for supported OpenAI models and session-based caching for OpenAI Codex (#6618 by @tmustier).getaddrinfo,ENOTFOUND, andEAI_AGAINto trigger automatic assistant retries (#6946 by @christianklotz).previous_response_not_founderrors (#6955 by @davidbrai).~anthropic/*-latestaliases (#6941 by @mteam88).v0.81.1Compare Source
Added
retryAssistantCall()for bounded retries of transient assistant failures with lifecycle callbacks and abort handling (#6901 by @davidbrai).Fixed
v0.81.0Compare Source
Added
contentTextfor extracting joined text from message content (#6840 by @xl0).uuidv7utility for time-ordered identifiers (#6834 by @xl0).Changed
npm run buildrefreshes model data as before, whilenpm run build:offlinereuses existing data without network access.Fixed
envvalues during auth resolution, including Amazon Bedrock profiles (#6864 by @cristinaponcela).k2p7alias to the canonicalkimi-for-codingmodel.pi-aiexecutable path to match npm registry metadata, avoiding repeated consumer lockfile changes (#6812 by @jmfederico).v0.80.10Compare Source
Fixed
kimi-for-coding.maxlevel (#6737).v0.80.9Compare Source
Added
compat.deferredToolsMode.Changed
Fixed
Removed
v0.80.8Compare Source
Breaking Changes
Models.checkAuth(),getAuth(),login(), andlogout()APIs.checkAuth()now returnsAuthCheck | undefined, and API-key auth resolvers no longer receive a model.Provider.auth.oauthmethods instead; theoauthsubpath now retains only extension compatibility types.AuthLoginCallbackstoAuthInteraction; it exposes the provider-neutralprompt()/notify()protocol used by API-key and OAuth flows.Modelsrequest contract:getAuth(model)now includes model headers, whilegetAuth(providerId)remains provider-scoped, and Models stream options may includetransformHeaders. CustomModelsimplementations must execute the transform after merging auth/model and explicit headers, then remove it before provider dispatch.Models.refresh(options), which refreshes every configured dynamic provider and returns per-provider errors/cancellation state.Provider.refreshModels(context)now receives the effective credential, scoped model storage, network policy, and abort signal.Added
Models, including stored OAuth refresh and interactive login support throughCredentialStore.CredentialStore.list()and credential-awareProvider.filterModels()availability policy.ModelsStorewith an in-memory default for restoring and persisting dynamic provider catalogs.pi-messagesgateway provider with OAuth and credential-specific catalog refresh.Models.refresh({ force: true })to let providers bypass freshness checks for explicit refreshes.Changed
Models.getAuth(model)to include model headers and added a Models-onlytransformHeadersstream option that runs after auth and explicit header assembly but is not forwarded to providers.Fixed
v0.80.7Compare Source
Breaking Changes
OpenAIResponsesCompat.sendSessionIdHeaderflag. Session-affinity behavior is now controlled bycompat.sessionAffinityFormat("openai","openai-nosession", or"openrouter"). ReplacesendSessionIdHeader: falsewithsessionAffinityFormat: "openai-nosession"(#6496 by @petrroll).Added
ToolResultMessage.addedToolNamesmarks where tools fromContext.toolsbecame available; Anthropic and OpenAI Responses use native deferred loading so late tools stay out of the cached prefix, while other providers continue usingContext.toolsnormally (#6474).xhighandmaxthinking levels for Claude Fable 5 across all generated provider catalogs (#6490 by @davidbrai).toolChoicesupport to OpenAI and Codex Responses, including required and named tool selection (#6588 by @xl0).Fixed
mai-code-1-flash-pickermodel to route through the/responsesendpoint (#6544 by @petrroll).apiKeystream option as a Bedrock bearer token.x-session-idheader instead of OpenAI-specific session-affinity fields (#6496 by @petrroll).An unknown error occurred(#6598 by @davidbrai).encrypted_contentappears only in the terminal response event (#6608 by @davidbrai).usagefrommessage_deltaevents (#6611 by @davidbrai).session-idheader while preserving other cache-affinity data (#6645 by @davidbrai).earendil-works/pi (@earendil-works/pi-coding-agent)
v0.83.0Compare Source
New Features
pi auth print-api-keyandpi auth print-bearer-tokenexport configured credentials with automatic OAuth refresh and minimum-validity enforcement./loginover SSH by pasting the redirect URL or authorization code when the loopback callback is unavailable. See OpenRouter.Breaking Changes
Type.Base,Type.Awaited,Type.Promise,Type.AsyncIterator,Type.Iterator,Type.Options, andValue.Mutate, while fixing compiled validation of nullable array tool arguments. Extensions using removed APIs must migrate to supported TypeBox APIs. See Package Dependencies (#7243 by @petrroll).Added
pi auth print-api-keyandpi auth print-bearer-tokencommands for exporting configured credentials to external clients, including automatic OAuth refresh and configurable minimum token validity (#7168).ctx.scopedModelsto extensions. See Extension Context (#7191 by @pungggi, #7215).fetchinjection for supported text and image provider transports."pending"stop reason for partial streaming messages. See Custom Provider Stream Pattern (#7151 by @lucasmeijer).Changed
Fixed
SYSTEM.mdandAPPEND_SYSTEM.mdprompts being omitted from the interactive startup context listing. See System Prompt Files (#7096)./modelselector retaining a stale selection while filtering instead of highlighting the top match (#7211 by @christianbasch).user_bashhandlers. See User Bash Events (#7214).customobject (#7288 by @sunnyyoung).v0.82.1Compare Source
New Features
xhigh), inference profiles, and prompt caching. See Providers.ANTHROPIC_AUTH_TOKENauthenticates against Anthropic-compatible gateways that requireAuthorization: Bearer, including compaction and branch summaries. See Environment Variables or Auth File.If-None-Matchso unchanged providers answer with an empty304, and llama.cpp models stay listed across restarts. See llama.cpp.Added
outputPadsetting to custom message renderers. See Extensions (#7045 by @xl0).ANTHROPIC_AUTH_TOKENbearer authentication for Anthropic-compatible gateways. See Providers (#5871).Changed
If-None-Match, so unchanged provider catalogs answer with an empty304instead of a full download.OAuth refresh failed for openai-codexreport the provider response instead of a bare wrapper message.Fixed
/models, allowing them to be removed without editing settings manually (#6949, #7032 by @christianklotz).AGENTS.md, which producedEISDIRwarnings (#7106 by @mrexodia).v0.82.0Compare Source
New Features
/loginto authorize OpenRouter or a Kimi Code subscription without manually configuring API keys. See OpenRouter.Added
Tool.constrainedSamplingwith strict JSON Schema (prefer/require) and OpenAI Lark/regex grammar variants across OpenAI, Anthropic, Amazon Bedrock, Google Gemini, and Mistral. See Constrained Sampling for Tools.supportsGrammarToolsandsupportsStrictToolscompatibility flags, expandedsupportsStrictModecoverage, and generated model capability metadata to gate constrained sampling./login, minting a user-controlled API key. See OpenRouter (#6927 by @rsaryev).PI_SESSION_ID,PI_SESSION_FILE,PI_PROVIDER,PI_MODEL, andPI_REASONING_LEVELto commands run by built-in and factory-created bash tools. See Bash Tool Session Environment.bash_execution_updateevents for direct RPC bash commands, correlated with request IDs. See RPC bash events (#6971 by @ananthakumaran).Changed
Fixed
getaddrinfo,ENOTFOUND, andEAI_AGAINto trigger automatic assistant retries (#6946 by @christianklotz).~anthropic/*-latestaliases (#6941 by @mteam88).previous_response_not_founderrors (#6955 by @davidbrai).~/.pi/agent(#6958 by @davidbrai).PI_SKIP_VERSION_CHECKis set (#6977).protobufjsdependency to 7.6.5 to address GHSA-j3f2-48v5-ccww (#7005)./copyon Wayland to fall back to X11 or OSC 52 whenwl-copyfails (#7009 by @rkfshakti)./modelto reload updatedmodels.jsonconfiguration when opening the model picker (#6999).v0.81.1Compare Source
New Features
Added
Fixed
v0.81.0Compare Source
New Features
Added
get_available_thinking_levelsRPC command andRpcClient.getAvailableThinkingLevels()method (#6865 by @cristinaponcela)./loginconnection setup and/llamaHugging Face model search and downloads, explicit loading, unloading, and live progress. See llama.cpp.Fixed
brace-expansiondependency to 5.0.7 (#6896 by @davidbrai).envvalues, including Amazon Bedrock profiles (#6864 by @cristinaponcela).k2p7alias tokimi-for-coding.pi-aipackage metadata to avoid repeated consumer lockfile changes (#6812 by @jmfederico).${@​:-default}and${ARGUMENTS:-default}) (#6695).v0.80.10Compare Source
New Features
maxlevel and supports replaying empty-signature thinking blocks. See Kimi For Coding setup and Model Options.Fixed
kimi-for-coding.maxlevel (#6737).v0.80.9Compare Source
New Features
kimi-deferred-tools.tsexample.Added
kimi-deferred-tools.tsexample.Changed
Fixed
Removed
v0.80.8Compare Source
New Features
ModelRuntimecentralizes model configuration, provider-owned/login, and dynamic provider catalogs. See Providers./modelrefreshes configured providers in the background, andpi update --modelsforces an immediate refresh. See Install and Manage.Breaking Changes
CreateAgentSessionOptions.authStorageandmodelRegistryoptions with the asyncmodelRuntimeoption.AuthStorageand its storage backends are no longer exported; useModelRuntime(or a custom pi-aiCredentialStore), orreadStoredCredential()for one-off reads of auth.json.ModelRuntime.getAll(),find(),getSnapshot(), andgetAuthOptions()projections. Use the pi-aiModelsmethodsgetModels(),getModel(),getProviders(), andcheckAuth()directly.ModelRegistry.getApiKeyAndHeaders()withModelRuntime.getAuth(). Passing a provider ID returns provider-scoped auth; passing a model also resolves built-in,models.json, and extension model headers.ModelRegistry.refresh()from synchronousvoidtoPromise<void>becausemodels.jsonloading is asynchronous. Extensions must await it before making synchronous registry reads.ModelRuntime.refresh()/pi-aiModels.refresh(). Legacy extension OAuthmodifyModelsremains supported as a synchronous compatibility projection after credential initialization.Added
ModelRuntimeas the canonical async SDK and internal model/auth facade while preserving the synchronous extension-facingModelRegistryAPI.ModelRuntime.create()accepts any pi-aiCredentialStorethrough itscredentialsoption./logindiscovery directly from registered pi-ai providers, including ambient auth status and informational links.models-store.json, per-provider pi.dev catalog overlays, and Radius gateway support including offline migration from legacy credential-cached catalogs.refreshModels(context)support for dynamic model discovery with optional provider-controlled persistence.pi update --modelsto force an immediate model catalog refresh without updating pi or extensions.Changed
ModelRuntimeto compose built-in providers, immutablemodels.jsonconfiguration, and extension overlays through ad-hoc pi-ai provider methods.ModelRuntimeto own final request assembly:getAuth(model)includes configured model headers, stream methods resolve auth once, andbefore_provider_headersruns as the Models-only header transform before provider dispatch./modelto render the current model snapshot immediately, refresh configured providers in the background, and update the open selector with partial results or timeout errors.Fixed
/model.v0.80.7Compare Source
Breaking Changes
openai-responsescompat.sendSessionIdHeaderflag frommodels.json. Session-affinity behavior is now controlled bycompat.sessionAffinityFormat("openai","openai-nosession", or"openrouter"). ReplacesendSessionIdHeader: falsewithsessionAffinityFormat: "openai-nosession"(#6496 by @petrroll).New Features
Ctrl+Xcopies the last assistant message in the transcript or the selected message in/tree, making older and branched messages directly copyable. See Display and Message Queue.xhighandmaxthinking - Nativexhighandmaxthinking levels are available across generated provider catalogs. See Model Options.Added
xhighandmaxthinking levels for Claude Fable 5 across all generated provider catalogs (#6490 by @davidbrai).Ctrl+Xto copy the last assistant message, or the selected message in/tree.toolChoicesupport for OpenAI and Codex Responses, including required and named tool selection (#6588 by @xl0).Fixed
x-session-idheader instead of OpenAI-specific session-affinity fields (#6496 by @petrroll).Ctrl+Vto paste clipboard text when the pasteboard does not contain an image./login amazon-bedrockto prompt for and save a Bedrock API key instead of only displaying ambient AWS credential setup instructions.Alt+,andAlt+.(#6523 by @ribelo).mai-code-1-flash-pickermodel to route through the/responsesendpoint (#6544 by @petrroll).An unknown error occurred(#6598 by @davidbrai).encrypted_contentappears only in the terminal response event (#6608 by @davidbrai).usagefrommessage_deltaevents (#6611 by @davidbrai).session-idheader while preserving other cache-affinity data (#6645 by @davidbrai).earendil-works/pi (@earendil-works/pi-tui)
v0.83.0Compare Source
Fixed
v0.82.1Compare Source
v0.82.0Compare Source
Fixed
PI_CODING_AGENT_DIR, instead of always writing under~/.pi/agent(#6958 by @davidbrai).v0.81.1Compare Source
v0.81.0Compare Source
Fixed
[paste #N ...]markers or the wrong paste's content (#6844).v0.80.10Compare Source
v0.80.9Compare Source
v0.80.8Compare Source
Fixed
v0.80.7Compare Source
Fixed
Alt+,andAlt+.(#6523 by @ribelo).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate.
93c90219c8e12cf364e6e12cf364e6899915f420Update Pi to v0.80.10to Update Pi to ^0.81.0899915f420to2f2f1f1c58Update Pi to ^0.81.0to Update Pi to ^0.82.02f2f1f1c58to9f98840baaUpdate Pi to ^0.82.0to Update Pi to ^0.83.0View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.