Repository navigation
Update dependency @earendil-works/pi-coding-agent to v1 - #83
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/earendil-works-pi-coding-agent-1.x
branch
from
October 13, 2026 19:00
c69da41 to
3a2c9f9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^0.99.1→^1.0.0Release Notes
earendil-works/pi (@earendil-works/pi-coding-agent)
v1.1.0Compare Source
New Features
anthropic/claude-haiku-5-5, with adaptive thinking up toxhigh/maxeffort.+name/-name:--toolsentries likepi -t +codemode,-writechange the default selection instead of replacing it. See Tools.models.classify()accepts images for classifiers that support them. See Use classifier models./v1/systemone. See Classification.Added
+nameand-nameentries to--tools, which change the default tool selection instead of replacing it, for examplepi -t +codemodedurationMsto the tool render context and totool_execution_endextension events: the recorded execution time of a final tool result (#10549)outputPadto the tool render context (#10557 by @rwachtler)OPENAI_API_KEY(see Use classifier models)imagesto codemode'smodels.classify()context, so classifiers that accept images, such as GPT-6 Luna, can judge themPI_PROGRAM_STATUS=1|0overrides detection (see Terminal setup) (#10607)abortedtoagent_settledsession, extension, and JSON events, so integrations can tell a cancelled run from a finished one (#10607)anthropic/claude-haiku-5-5), with adaptive thinking up toxhigh/maxeffort and prompt caching on Bedrock/v1/systemoneinstead of as chat models (see Classification) (#10382)Changed
outputPadto also apply to!command output, tool output, and summary blocks (#9946, #10557 by @rwachtler)pi mcp login --timeoutto limit the whole sign-in, including requests to the authorization server, instead of only the wait for the browser (#10565)Fixed
Tookafter reloading a session, and the liveTookincluding wall-clock steps; both now show the recorded execution time (#10549)pi updatenow keeps only the new release and the one it updated from (#10392, #10511 by @davidbrai).env,.env.local, and.env.developmentfrom the launch directory into Pi's environment (#10473)!!command headers losing their dim color once output arrives (#10557 by @rwachtler)searchTools(),describeTool(), anddescribeNamespace()as async, which led models to serialize the unawaited promise as{}(#10555)text()orconsole.log()output ended and the next began. With several text items, each now starts with a==> text N/M <==line, andconsolecalls follow the other output in one<console_output>block with one line per call/mcpwaiting for all servers to connect before opening; the manager now updates live and remains usable while enabling, reconnecting, or disabling servers (#10562)node --watchon Node 24.19+ and 26.x, where Node posts its own messages on the image resize worker channel (#10527)!and RPCbashoutput keeping fragments of color codes, such as a straym, when a code was split across output chunks (#10504)headersinmodels.jsonnot overriding theoriginatorandUser-Agentheaders of Codex requests (#10429 by @lucasmeijer)server_busyandservers are currently busyprovider errors ending the turn instead of being retried (#10543)finish_reason: "error"not being retried (#10487)v1.0.4Compare Source
New Features
--no-mcp:--toolsand--exclude-toolsaccept*patterns, for example--tools read,codemode,'mcp__radius__*'keeps only one MCP server's tools.--toolsnow keeps MCP tools unless an entry starts withmcp__, and--no-mcpturns off MCP for one run. See Tools and MCP tools.tools.read()on an image file now gives back an image block thatimage()can show. See Call tools.Added
*patterns to--toolsand--exclude-tools, for example--tools read,codemode,'mcp__radius__*'--no-mcpto disable the built-in MCP support for one runFixed
read:tools.read()now resolves to an image block for image files, whichimage()shows (#10251)invalid_redirect_urion servers with OpenID Connect client registration, such asmcp.modem.dev: pi now registers as a native client (#10493)--toolsremoving MCP tools, which leftpi --tools codemodewithout any MCP servers.--toolsnow keeps MCP tools unless an entry starts withmcp__prepareLoadout. Hidden tools are left out of the rules, the skills hint names no tool when the file reader is hidden, andcodemodeshows each tool's prompt guidelines with its declaration;ToolLoadoutgainsgetPromptGuidelines()(#10343)The pending stream has been canceledafter a stalled HTTP/2 connection not being retried automatically (#10379)Array.prototype.toJSON = ...) crashing pi and leaving the tool call unsettled. Built-ins are now frozen before the script runs, so such patches have no effect (#10444)v1.0.3Compare Source
New Features
azureprovider (renamed fromazure-openai-responses) now also serves Foundry Chat Completions deployments, starting withazure/deepseek-v4-pro. See Azure OpenAI.image()also writes each image to a temp file and names the path in the result, so later turns can copy or move generated images. See Generate images.Breaking Changes
azure-openai-responsestoazure. Rename the provider key inauth.json(or run/loginagain), inmodels.json, and insettings.json(defaultProvider,enabledModelspatterns, andmodelThinkingLevelskeys). Sessions that used the old provider fall back to another model when resumed, and their prompt cache is not reused. TheAZURE_OPENAI_*environment variables are unchanged (#9714 by @jsanter27)Added
azure/deepseek-v4-pro(#9645, #9714 by @jsanter27)Changed
image()now also saves each image to a temp file and names the path in the result, so later turns can copy or move generated images (#10310)Home/Endnow always move the editor cursor to the line start/end; fullscreen transcript top/bottom moved toCtrl+Home/Ctrl+End, which no longer move the editor cursor (#10314)Fixed
refresh_token_invalidatedafter a request was cancelled during an OAuth token refreshread EIOorsetRawMode EIOcrash (and asking to run /bug) when the terminal went away, e.g. after closing the window or resuming a suspended pi in a closed terminalv1.0.2Compare Source
New Features
samplingParamsByThinkingLevelinmodels.jsonsets sampling parameters such astemperatureandtop_pfor each thinking level on OpenAI-compatible APIs. See Configure sampling by thinking level.Added
samplingParamsByThinkingLeveltomodels.jsonfor per-thinking-level sampling parameter overrides on OpenAI-compatible APIs. See Configure sampling by thinking level (#9776 by @mrexodia)v1.0.1Compare Source
New Features
nix run github:earendil-works/pi/stableruns the latest release, andnix profile add github:earendil-works/pi/stableinstalls it. See Install pi..pi/mcp.jsonand/mcpcan enable, disable, or change the exposure of a user-level server for one project. See Configure servers.oauth.clientRegistration: "cimd"lets authorization servers allow pi by its document URL instead of dynamic registration. See Authenticate with OAuth.pi.registerToolRenderer()draws calls to tools that are not registered yet, such as MCP tools in resumed sessions. See Tool rendering.@cf/cloudflare/clefand@cf/cloudflare/clef-flashare usable from codemode scripts and extensions. See Use classifier models.Added
app.message.copy, defaultctrl+x) to OAuth sign-in screens in/login,/mcp, and/mcp login, which copies the sign-in URL when the browser cannot be opened or the wrapped link cannot be selected.oauth.clientRegistration: "cimd"for MCP servers, which identifies pi with its Client ID Metadata Document on pi.dev instead of dynamic client registration, so authorization servers can allow pi by URL (#10302).pi/mcp.jsonentry withoutcommandorurlsets onlyenabled,exposure, andtoolExposureof the user-level server, and/mcpcan enable or disable a server for the current project (#10277)cloudflare-workers-ai, usable from codemode scripts and extensions (#10316 by @ndisidore, #10322 by @RealAlexandreAI)pi.registerToolRenderer(), which chooses how calls to a tool are drawn, including tools that are not registered (#10285)nix run github:earendil-works/pi/stableruns the latest release, andnix profile add github:earendil-works/pi/stableinstalls it. See Install pi (#9137)Changed
pi updateon global npm installations now recommends migrating to the managed installation from the pi.dev installer, which pins all dependencies.Fixed
brace-expansion5.0.9 by pinningbrace-expansion5.0.12 as a direct dependency (GHSA-q2hr-2g5m-vwhr, GHSA-qhr7-859c-m2p7, GHSA-6j4f-fj2g-mc7p) (#10288)--modelsadding an extra model to the model cycle (#10334)codemodescript that prints in a loop crashing pi by running out of memory: a script fails once its output passes 16 Mi characters or 100000 items (#10283)Imagenot appearing in Kitty, Ghostty, WezTerm, and Warp (#10292)claude-opus-5-5instead ofclaude-opus-5.5)signatureinthinkingblock" after the system prompt or tools changed (#10324)deepseek-ai/DeepSeek-V4-Pro-0813(#10336 by @cv)nvidia/nemotron-3-super-120b-a12b, which NVIDIA no longer serves; the default is nownvidia/nemotron-3-ultra-550b-a55bRemoved
npm-shrinkwrap.jsonfrom the published package. npm installations no longer pin transitive dependencies, and library consumers can now override them. Use the pi.dev installer for pinned installations (#5653)v1.0.0Compare Source
New Features
tuiModeto"regular"to keep the terminal's normal scrollback. See Terminal and display.models.generateImages()with the session's credentials. See Generate images and Use image models./login— Sign in with Radius and set up its MCP server in one step. See Radius.oauth.authServerMetadataUrl, RFC 9207isschecks, credentials per server, and step-up sign-in that keeps granted scopes. See Authenticate with OAuth.quietStartup: "header"keeps the version and key hints and hides the rest. See Terminal and display.Added
oauth.authServerMetadataUrlsetting for MCP servers that advertise a wrong OAuth authorization server or none. Pi uses the configured metadata document instead of discovery (#10172).quietStartup: "header", which keeps the startup header with version and key hints but hides the model scope line and loaded-resource listing.models.generateImages()to codemode scripts. It runs image models such as OpenRouter's with the session's credentials and returns base64 image blocks thatimage()attaches to the result; usage counts toward the session cost likemodels.classify(). Extensions can callctx.modelRegistry.generateImages(). See Use image models./loginfor headless setups where the browser runs on another machine (#10194 by @lucasmeijer).Changed
tuiModeto"regular"or pass--tui-mode regularto keep the terminal's normal scrollback./loginnow offers "Sign in with Radius" at the top level, as the last option, with its status. After a Radius sign-in,/loginoffers to configure the Radius MCP server in the globalmcp.jsonwith"auth": { "provider": "radius" }and reloads. Cancelling a login returns to the menu it was started from.codemodedescription lists the script globals in one line each and points to the new Codemode reference for themodelsAPI, which the model reads when it needs it. Declared tools say in one line how scripts call them and what the call resolves to, instead of repeating their full declaration, and the system prompt's codemode guidance and MCP server section are shorter.modelsmember that does not exist names the close matches (tools.Bashsuggeststools.bash),models.classify()andmodels.generateImages()reject malformed arguments with the expected shape, an unknown model points tomodels.getAvailableOfType(), an oversizedstore()value explains what the store is for, and a script that generates images without showing them gets a note. Scripts that probed for a tool withtypeof tools.namemust use"name" in tools./loginand/logoutnow label providers without credentials as "not configured" instead of "unconfigured".Fixed
issparameter names another authorization server; the code is now rejected before it is exchanged (RFC 9207).Invalid scopewhen the token response contains"scope": "", and similar failures for other empty ornulloptional OAuth fields (#10266)./mcp loginnot being clickable when it wraps (#10186).--providerwithout--modelbeing silently ignored and running the default model from another provider; it now fails with an error (#10236).insufficient_scope) requesting sign-in over and over. The new sign-in requested only the missing scopes, so the new token lost access the previous one had; it now keeps the granted scopes./loginand/logoutlabeling every OAuth sign-in, including Radius, as a subscription; only subscription-backed providers say "subscription", other OAuth sign-ins say "account".tool_searchloaded being dropped on resume and/reloadeven when their server reconnected before the next prompt, because the session restored its tools before the MCP servers reconnected.v0.99.2Compare Source
New Features
codemodeexposure are no longer listed in thecodemodedescription and no longer block the first prompt. They appear in a short system prompt section, and scripts find their tools withsearchTools()anddescribeNamespace(). See Control tool exposure.oauth.clientNamefor servers that only accept known OAuth clients, and"auth": { "provider": "<provider>" }to authenticate HTTP servers with a provider's/logintoken. See Authenticate with OAuth./reloadenables tools newly added to thedefaultToolssetting. See Tools.Added
descriptionfield for MCP servers (pi mcp add --description), shown with the server in the system prompt and used to rank its tools in tool search, and adescribeNamespace(name)codemode helper that returns a namespace's instructions and tool names.describeNamespace()andsearchTools()accept a namespace asmcp__dev-radius,mcp__dev_radius,dev-radius, ordev_radius.oauth.clientNamesetting for MCP servers (pi mcp add --oauth-client-name) to change the client name sent during OAuth client registration, for servers that only accept known clients (#10226)."auth": { "provider": "<provider>" }for HTTP MCP servers to send a provider's current/logintoken as the bearer token instead of using MCP OAuth. The token is read on every request, so provider refreshes apply. Only allowed in the globalmcp.jsonand from extensions, and requires https except on loopback hosts.ANTHROPIC_FEDERATION_RULE_ID,ANTHROPIC_ORGANIZATION_ID, andANTHROPIC_IDENTITY_TOKEN_FILEenvironment variables (see Providers) (#10177, #10242 by @philfreo)./reloadnow enables tools newly added to thedefaultToolssetting. Tools removed from it stay enabled, tools turned off during the session stay off unless newly added, and--tools,--no-tools, and--no-builtin-toolsstill override the setting (#10245).Changed
codemodeexposure no longer appear in thecodemodedescription; scripts find them withsearchTools().codemode-deferredis now an alias forcodemode. Usedirectexposure for tools the model should see without searching (#10212).codemodedescription no longer includes deferred tools, tool counts, or MCP server instructions, so it no longer changes when MCP servers connect or change their tools. Thetool_searchdescription no longer lists the servers whose tools it can load, for the same reason. Servers are listed instead in anmcp_serverssystem prompt section with a one-line summary, updated at the start of each prompt; a changed section is appended to the conversation. Scripts read server instructions withdescribeNamespace()(#10212).directtools. They connect in the background and are waited for when a codemode script names them, a script searches tools, ortool_searchruns (#10212).Fixed
/mcpsign-in URL not being clickable when it wraps across lines, by emitting it as a terminal hyperlink with aCmd/Ctrl+click to openline like/login(#10186).image()accepting malformed base64 data or unsupported image types, which persisted an invalid image block that made every later provider request fail with HTTP 400 (#10215).built-in-tool-renderer.tsandminimal-mode.tsextension examples removing the built-in tools' summaries and guidelines from the system prompt (#10072, #10193 by @christianklotz).Prompt exceeds max lengtherrors (#10208).minimum/maximum; such tools are now sent non-strict (#9953).Retry-Afterheader contains an unparseable date; they now use exponential backoff (#9571)./; the extension now fails to load with an error instead (#10054).codemodeand MCP tool results filling the screen when the output is one long line, such as minified JSON. Like bash output, the preview is now limited to wrapped lines instead of logical lines.codemode.mode: "only"listingread,bash,edit, andwritein the system prompt's tool list although requests only declarecodemode(#10192).-and_, such asread-fileandread_file. Like in Codex, MCP tool and namespace names now replace-with_(mcp__my-server__xis nowmcp__my_server__x), colliding tools of a server all get a hash suffix, and server names that differ only in-and_are rejected (#10239).Configuration
📅 Schedule: (UTC)
* 0-6 * * 2)🚦 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 this update again.
This PR was generated by Mend Renovate. View the repository job log.