From b48f4530e7641d4ef762f090cfd586eed3061f5b Mon Sep 17 00:00:00 2001 From: Advait Paliwal Date: Fri, 16 Oct 2026 10:37:38 -0400 Subject: [PATCH 1/2] Update to Pi 1.3.0 (pi-codemode, pi-mcp, pi-telemetry, pi-agent-core pinned to 1.3.0) --- package-lock.json | 77 +++++++++++++++++++++-------------------------- package.json | 12 ++++---- 2 files changed, 40 insertions(+), 49 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3e9c3e18..ad45cb3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,9 +12,9 @@ "dependencies": { "@clack/prompts": "^1.8.1", "@companion-ai/alpha-hub": "0.1.7", - "@earendil-works/pi-codemode": "1.2.0", - "@earendil-works/pi-mcp": "1.2.0", - "@earendil-works/pi-telemetry": "1.2.0", + "@earendil-works/pi-codemode": "1.3.0", + "@earendil-works/pi-mcp": "1.3.0", + "@earendil-works/pi-telemetry": "1.3.0", "fast-xml-parser": "5.11.2", "pi-btw": "0.8.0", "pi-docparser": "4.0.0", @@ -35,9 +35,9 @@ "node": ">=22.22.0" }, "peerDependencies": { - "@earendil-works/pi-agent-core": "1.2.0", - "@earendil-works/pi-ai": "1.2.0", - "@earendil-works/pi-coding-agent": "1.2.0", + "@earendil-works/pi-agent-core": "1.3.0", + "@earendil-works/pi-ai": "1.3.0", + "@earendil-works/pi-coding-agent": "1.3.0", "@earendil-works/pi-tui": "*", "typebox": "*" } @@ -483,13 +483,13 @@ } }, "node_modules/@earendil-works/pi-agent-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-1.2.0.tgz", - "integrity": "sha512-pUR0vYmGhHkBQGeCeWjwVIA+l1+MrDu6m6VGuysjh6KBzBpovTV/MlcVrEIOaM8jv/slpAyUmuCEQl1jOBqHJQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-1.3.0.tgz", + "integrity": "sha512-2jvpxZs47PFD5mSQb/yK0pGHJ5yO7Nu22u9mFjHbSLRgu62vZ9rupimDSIp4arnqOadyv0AWvYHtCSpFoJV7ag==", "license": "MIT", "peer": true, "dependencies": { - "@earendil-works/pi-ai": "^1.2.0", + "@earendil-works/pi-ai": "1.3.0", "typebox": "1.3.27" }, "engines": { @@ -504,15 +504,15 @@ "peer": true }, "node_modules/@earendil-works/pi-ai": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-1.2.0.tgz", - "integrity": "sha512-U5/1zXqfV1on7/9sbez03tT4Ru49Lvfb4+zXSDK3DBKF5cRk6KxvAOTOY3HJ4jimlZth+rs7vbJqN6iBQAoNuQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-1.3.0.tgz", + "integrity": "sha512-KaBI8x7q7sPoFUXICNGD9efHzDG+oRNwVvkA9jdIsSQWH1RjFssOlEGsbLtewUPPgCrvmz0l2KTgSLXTyj3acw==", "license": "MIT", "peer": true, "dependencies": { "@anthropic-ai/sdk": "0.129.0", "@aws-sdk/client-bedrock-runtime": "3.1127.0", - "@earendil-works/pi-telemetry": "^1.2.0", + "@earendil-works/pi-telemetry": "1.3.0", "@google/genai": "2.21.0", "@smithy/node-http-handler": "4.12.1", "http-proxy-agent": "9.1.0", @@ -536,9 +536,9 @@ "peer": true }, "node_modules/@earendil-works/pi-codemode": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@earendil-works/pi-codemode/-/pi-codemode-1.2.0.tgz", - "integrity": "sha512-UZF7IN0IIrf3bop2wTxrwoAakGctH6d3zdPwhPN+QHMECfoI5E6B6l6I17YGFZPj8cmGex6xX7mLCNJXRf7wsw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-codemode/-/pi-codemode-1.3.0.tgz", + "integrity": "sha512-2G9tmbsPhgzwfz7cmzJpbLSLqOx3eu22Gbzm+Wc3HqeZMjLQS4F3KfAabozVhv7uEjq3k2O1dZTHmhhWr2xbfQ==", "license": "MIT", "dependencies": { "quickjs-wasi": "3.6.2" @@ -548,17 +548,17 @@ } }, "node_modules/@earendil-works/pi-coding-agent": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-1.2.0.tgz", - "integrity": "sha512-h/4WaVWv1VlCaY8x8qEN5U+7jbF/e7+Ck6moPeEOFn5juMTWwNAXjwgYM7gRgbBYh8Zppwt6qWvJDzNTf4GNEQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-1.3.0.tgz", + "integrity": "sha512-V/WoCjA2hQSe3QLWIUB24cTRdtEdeLiIzkDqU5RMXV6VWuD+KGZnzVBMhglwdnQTySkehZsjt8a3g6Jd2g4nnw==", "license": "MIT", "peer": true, "dependencies": { - "@earendil-works/pi-agent-core": "^1.2.0", - "@earendil-works/pi-ai": "^1.2.0", - "@earendil-works/pi-codemode": "^1.2.0", - "@earendil-works/pi-mcp": "^1.2.0", - "@earendil-works/pi-tui": "^1.2.0", + "@earendil-works/pi-agent-core": "1.3.0", + "@earendil-works/pi-ai": "1.3.0", + "@earendil-works/pi-codemode": "1.3.0", + "@earendil-works/pi-mcp": "1.3.0", + "@earendil-works/pi-tui": "1.3.0", "@silvia-odwyer/photon-node": "0.3.4", "brace-expansion": "5.0.12", "chalk": "6.0.0", @@ -753,9 +753,9 @@ } }, "node_modules/@earendil-works/pi-mcp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@earendil-works/pi-mcp/-/pi-mcp-1.2.0.tgz", - "integrity": "sha512-ertUv40rUBgssTzw2lIPlejjIBdhvdg4uw+whWCDJYKYHU+ldp1ezhbB0BzwpBfnwef6/YN+m6eKLscj+r3p7w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-mcp/-/pi-mcp-1.3.0.tgz", + "integrity": "sha512-lbktLplmdGamM2t460Q0ziNEfpUEHDTVNf79g/AialJ3XZ+SHgNqa/OJXRR+fU+GV/l+gBhRPcyP8XkQlv8Avw==", "license": "MIT", "dependencies": { "cross-spawn": "7.0.6" @@ -765,18 +765,18 @@ } }, "node_modules/@earendil-works/pi-telemetry": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-1.2.0.tgz", - "integrity": "sha512-NZ3aJE6dr7aTgzzXDe53OW7BsAsF8ZUKHPJTtnjaQcxtlagkUT0Ew8Qas0EvYQsZqR/KpF1lB+z209XBzIC7xg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-1.3.0.tgz", + "integrity": "sha512-ERGZr+aXjNJzoUbB7ZzHVH3g5otzMHjHLs2Fyizm12By5X+gBEhod9cJXFOk13S7M8a29Am+Mq21zm73mRJFLg==", "license": "MIT", "engines": { "node": ">=22.19.0" } }, "node_modules/@earendil-works/pi-tui": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-1.2.0.tgz", - "integrity": "sha512-OdJCiYklkL3TqmdmGKUflHoLy9zw18GBYO0DPASZvGlP4RkDXAZzLLDt7cidJ6wUR7DBrKb13rrekDsXgMF60g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-1.3.0.tgz", + "integrity": "sha512-AlKvEwEWyVtnuw7SVb4N/mUhlfIohyFslUNWarZVdLHHSdt3ca5EhMLwTzblBpDpaofSz+f+tAHie6CfxVrWKA==", "license": "MIT", "peer": true, "dependencies": { @@ -1336,9 +1336,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1352,9 +1349,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1368,9 +1362,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "Apache-2.0", "optional": true, "os": [ diff --git a/package.json b/package.json index a6525cfa..18f68859 100644 --- a/package.json +++ b/package.json @@ -79,9 +79,9 @@ "dependencies": { "@clack/prompts": "^1.8.1", "@companion-ai/alpha-hub": "0.1.7", - "@earendil-works/pi-codemode": "1.2.0", - "@earendil-works/pi-mcp": "1.2.0", - "@earendil-works/pi-telemetry": "1.2.0", + "@earendil-works/pi-codemode": "1.3.0", + "@earendil-works/pi-mcp": "1.3.0", + "@earendil-works/pi-telemetry": "1.3.0", "fast-xml-parser": "5.11.2", "pi-btw": "0.8.0", "pi-docparser": "4.0.0", @@ -90,9 +90,9 @@ "posthog-node": "^5.53.0" }, "peerDependencies": { - "@earendil-works/pi-agent-core": "1.2.0", - "@earendil-works/pi-ai": "1.2.0", - "@earendil-works/pi-coding-agent": "1.2.0", + "@earendil-works/pi-agent-core": "1.3.0", + "@earendil-works/pi-ai": "1.3.0", + "@earendil-works/pi-coding-agent": "1.3.0", "@earendil-works/pi-tui": "*", "typebox": "*" }, From 960b7a4f93846922f36b4f26124cb4475dc9c130 Mon Sep 17 00:00:00 2001 From: Advait Paliwal Date: Fri, 16 Oct 2026 22:47:35 -0700 Subject: [PATCH 2/2] Release 0.5.48 on Pi 1.3.0: notes and docs --- RELEASES.md | 8 ++++++++ package-lock.json | 4 ++-- package.json | 2 +- website/src/content/docs/reference/package-stack.md | 2 +- website/src/content/docs/reference/releases.md | 8 ++++++++ 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 9a78e21d..f2309f0b 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -6,6 +6,14 @@ GitHub release notes are generated from the matching `## vX.Y.Z` section in this ## Unreleased +## v0.5.48 - 2026-10-16 + +- **Pi 1.3.0.** + - Tool calls whose arguments contain a backslash sequence like `\usepackage` no longer lose fields, which mattered for LaTeX in drafts and papers. + - Gateway errors such as "Unable to forward upstream stream" and "service is temporarily unavailable" are retried instead of ending the turn. + - Anthropic requests no longer fail with a 400 when a failed tool result contains images. + - A tool call with malformed arguments now fails instead of running with partial ones. + ## v0.5.47 - 2026-10-15 - **pi-web-access 0.41.0.** Sites that turn away AI fetchers can be read by setting your own User-Agent: add `"fetchContent": { "userAgent": "..." }` to `~/.feynman/agent/web-search.json`. A SearXNG instance on your own machine now works without opening every local service to page fetches. diff --git a/package-lock.json b/package-lock.json index ad45cb3a..6c0548eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@companion-ai/feynman", - "version": "0.5.47", + "version": "0.5.48", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@companion-ai/feynman", - "version": "0.5.47", + "version": "0.5.48", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 18f68859..407ee9bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@companion-ai/feynman", - "version": "0.5.47", + "version": "0.5.48", "description": "The open source AI research agent.", "license": "MIT", "type": "module", diff --git a/website/src/content/docs/reference/package-stack.md b/website/src/content/docs/reference/package-stack.md index 0caa8ef5..cd127971 100644 --- a/website/src/content/docs/reference/package-stack.md +++ b/website/src/content/docs/reference/package-stack.md @@ -81,4 +81,4 @@ Core packages are not touched by `feynman update` because they ship with Feynman ## Runtime versions -Feynman 0.5.47 runs Pi 1.2.0 with pi-subagents 0.78.0, pi-web-access 0.41.0, pi-docparser 4.0.0, pi-btw 0.8.0, and Alpha Hub 0.1.7 as ordinary npm dependencies, and does not modify any of them on disk. Every release is checked by booting the installed CLI in Pi RPC mode on Linux, macOS, and Windows. +Feynman 0.5.48 runs Pi 1.3.0 with pi-subagents 0.78.0, pi-web-access 0.41.0, pi-docparser 4.0.0, pi-btw 0.8.0, and Alpha Hub 0.1.7 as ordinary npm dependencies, and does not modify any of them on disk. Every release is checked by booting the installed CLI in Pi RPC mode on Linux, macOS, and Windows. diff --git a/website/src/content/docs/reference/releases.md b/website/src/content/docs/reference/releases.md index 6d0c99c6..dfd7e8fd 100644 --- a/website/src/content/docs/reference/releases.md +++ b/website/src/content/docs/reference/releases.md @@ -9,6 +9,14 @@ This page summarizes what changed in recent Feynman releases. GitHub releases us ## Unreleased +## v0.5.48 - 2026-10-16 + +- **Pi 1.3.0.** + - Tool calls whose arguments contain a backslash sequence like `\usepackage` no longer lose fields, which mattered for LaTeX in drafts and papers. + - Gateway errors such as "Unable to forward upstream stream" and "service is temporarily unavailable" are retried instead of ending the turn. + - Anthropic requests no longer fail with a 400 when a failed tool result contains images. + - A tool call with malformed arguments now fails instead of running with partial ones. + ## v0.5.47 - 2026-10-15 - **pi-web-access 0.41.0.** Sites that turn away AI fetchers can be read by setting your own User-Agent: add `"fetchContent": { "userAgent": "..." }` to `~/.feynman/agent/web-search.json`. A SearXNG instance on your own machine now works without opening every local service to page fetches.