Skip to content

Releases: tmustier/pi-for-excel

v0.10.0-pre

v0.10.0-pre Pre-release
Pre-release

Choose a tag to compare

@tmustier tmustier released this 10 Jul 20:03
e890b4e

v0.10.0-pre release notes

Pre-release. Changes since v0.9.5-pre.

Snapshot since the previous tag

  • Previous release tag: v0.9.5-pre (876162a, 2026-06-13)
  • This release includes 56 first-parent commits after the release PR is squash-merged to main
  • This is a minor pre-release bump because the accumulated release includes broad UI, localization, platform, tool, auth, and model-capability work

Highlights

  • GPT-5.6 Sol, Terra, and Luna

    • Updated @earendil-works/pi-ai and @earendil-works/pi-agent-core together to 0.80.6 and adopted the three canonical GPT-5.6 IDs: gpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna.
    • There is intentionally no bare gpt-5.6 alias. Registry metadata, context/output limits, pricing tiers, and provider mappings are pinned by regression tests.
    • OpenAI-backed defaults and picker ordering now prefer Sol, then Terra, then Luna. Sol is the default for both OpenAI API and ChatGPT-backed setups.
    • Reasoning controls are registry-driven and expose distinct xhigh (Extra high) and max (Max) levels instead of conflating them.
  • First-party taskpane UI and Simplified Chinese

    • Replaced the remaining shared pi-web-ui/mini-lit/Tailwind surfaces with first-party message, model-selector, provider, storage, and settings UI.
    • Added a navigable settings shell, visual-system normalization, gallery coverage, and localized English/Simplified Chinese UI with key-parity checks.
  • Excel/WPS platform coverage and verification infrastructure

    • Added China-domestic WPS Spreadsheets compatibility work and a reusable Windows ARM smoke harness.
    • Added the tokened, loopback-only background Excel verification bridge plus a thin real-Excel evaluation harness, allowing real workbook and taskpane checks without stealing focus.
    • Added an exact model-selector verification command used to prove all three GPT-5.6 rows in a real Excel taskpane.
  • Workbook tools and agent workflow quality

    • Added structured chart operations (list, create, update, delete, and get_image).
    • Strengthened edit-scope, semantic-verification, root-cause repair, and change-reporting guidance, backed by real-Excel evaluation fixtures and grading.
  • Auth, proxy, and local-development reliability

    • Added organization-hosted central-proxy configuration and provider allowlisting.
    • Added a capability-advertised ChatGPT Codex WebSocket bridge for GPT-5.6 Luna in Office WebViews. It preserves native Pi transport identity/session semantics, exposes an SSE facade to the browser, and is restricted to the exact allowlisted Codex endpoint.
    • Hardened ChatGPT OAuth scope handling and callback capture, added opt-in portless development, moved the default dev port to 3141, and made local proxy startup reuse a healthy compatible instance or reject an outdated listener before selecting another port.
  • Type safety, security, and maintenance

    • Migrated to TypeScript 6, enabled stricter indexed/optional-property checks, and tightened repository rules around runtime-boundary values.
    • Added ambient-authority checks around Office.js execution and retained strict bridge/proxy origin and target-host policies.
    • Incorporated routine dependency and workflow maintenance since v0.9.5-pre.

GPT-5.6 runtime metadata

Provider path IDs Context Max output Input Thinking levels
OpenAI API (openai-responses) Sol, Terra, Luna 272k 128k Text + image Off, Minimal, Low, Medium, High, Extra high, Max
ChatGPT (openai-codex-responses) Sol, Terra, Luna 372k 128k Text + image Off, Minimal, Low, Medium, High, Extra high, Max

See docs/model-updates.md for exact IDs, prices, tiered costs, endpoints, and thinking-level maps.

Luna transport in Office WebViews

Native Pi 0.80.6 reaches ChatGPT-backed Luna through Codex WebSocket transport, while a forced SSE request can select an unavailable rollout path. Office WebViews cannot supply the authenticated upstream WebSocket path directly, so Pi for Excel now uses the configured proxy as a narrow adapter: the browser sends HTTP and reads SSE, while the proxy sends native-compatible response.create frames over the exact ChatGPT Codex WebSocket endpoint.

The adapter matches native Pi's upstream user-agent and UUIDv7 transport-session behavior, rewrites multiline WebSocket JSON frames into valid SSE events, handles cancellation/terminal events, and advertises a dedicated health capability. Luna fails fast with actionable proxy-upgrade guidance when that capability is absent. Sol remains the default and Sol/Terra continue through their existing paths.

A real Excel for Mac pass on a new blank workbook completed all three canonical ChatGPT models end-to-end, including exact LUNA_EXCEL_WEBSOCKET_OK from openai-codex/gpt-5.6-luna with stopReason=stop.

Verification

  • npm ci
  • npm audit --audit-level=high
  • npm run check
  • npm run test:models
  • npm run test:context
  • npm run test:security
  • npm run test:manifest
  • npm run build
  • npm run validate
  • Browser taskpane visual check: GPT-5.6 selector ordering plus separate Extra high and Max reasoning choices, including internal scrolling at a 290×400 short-pane viewport
  • Real macOS Excel taskpane on a new blank workbook: exact Sol, Terra, and Luna rows selected and activated with canonical display names, 372k context, and 128k maximum output
  • Real macOS Excel completion: Sol, Terra, and Luna each returned its fixed sentinel with stopReason=stop; Luna used the proxy's native-compatible Codex WebSocket bridge
  • Real Office.js scratch write/read/formula check completed and restored the blank fixture; Excel stayed in the background throughout

Version rationale

The GPT-5.6 update itself is additive, but the unreleased range since v0.9.5-pre also contains a first-party UI migration, localization, WPS support, structured chart tooling, auth/proxy features, and new real-host evaluation infrastructure. Following the repository’s prior convention for feature-heavy pre-releases, this warrants v0.10.0-pre rather than a v0.9.x patch increment.

v0.9.4-pre

v0.9.4-pre Pre-release
Pre-release

Choose a tag to compare

@tmustier tmustier released this 09 Jun 22:31
fbdf232

v0.9.4-pre release notes

Pre-release. Changes since v0.9.3-pre.

Highlights

  • Claude Fable 5 support

    • claude-fable-5 — Anthropic's new flagship (1M-token context window, adaptive thinking, xhigh effort) — is now available in the model picker for Anthropic users.
    • Fable is the new top Anthropic family in picker ordering and featured models (latest Fable first, then the existing Sonnet/Opus rules).
    • Default model selection prefers the latest Fable when its version is at least as new as Opus and Sonnet, so Anthropic-connected users get Fable 5 by default.
  • Refreshed model registry (Pi stack 0.70.00.79.1)

    • Pulled the latest model registry through @earendil-works/pi-ai. New models in this range include Claude Fable 5 and Claude Opus 4.8, plus updated registry metadata across the Anthropic, OpenAI, and Google providers.
    • Note: gpt-5.3-codex moved off the ChatGPT (openai-codex) provider upstream; it remains available via the OpenAI API provider.
  • OAuth login fixes

    • Device-code logins (GitHub Copilot) now show the verification code in a copyable dialog and open the verification page — previously the code was never displayed.
    • Added support for selection prompts in OAuth flows (button-based dialog), required by the updated Pi auth surface.

Dependency and security notes

  • Pi packages migrated to the @earendil-works npm namespace (previously @mariozechner).
  • @earendil-works/pi-ai and @earendil-works/pi-agent-core are pinned together at 0.79.1; @earendil-works/pi-web-ui stays at 0.75.3 (the newest published version — upstream stopped publishing it in lockstep).
  • A root npm override guarantees a single shared pi-ai copy (one model registry), so the model picker and the runtime always agree about available models. npm run check:pi-lockstep enforces this invariant.
  • No changes to the local proxy / bridge packages in this release.

Known quirk

  • Claude Fable 5 rejects requests with thinking explicitly disabled (thinking.type: "disabled"). The add-in's agent runtime omits the thinking parameter when the thinking level is "off" (the API then defaults to adaptive thinking), so every thinking level in the picker works. This matches upstream Pi behavior.

Verification

  • npm run check (incl. the new Pi dependency policy check)
  • npm run test:models (38/38)
  • npm run test:context (648/648)
  • npm run test:security (46/46)
  • npm run test:recovery
  • npm run build
  • Live API round-trip with claude-fable-5 through the bundled pi-ai driver (real completion, adaptive thinking with xhigh effort).
  • Browser end-to-end against the dev-server taskpane: Fable 5 selected as default, listed first/featured in the model picker, and completed a live streamed chat turn with usage/cost and 1M-context tracking; no console or page errors.

Commit range reviewed

Since v0.9.3-pre, this release incorporates:

  • fffefb1 — migrate Pi packages to the @earendil-works namespace (#542).
  • 80671a0 — fix overlapping Dependabot npm config (#544).
  • 599fd9e — refresh Pi stack to 0.75.3 (#559).
  • b9e0dbf — add Claude Fable 5 model support, Pi stack 0.79.1, dependency single-registry policy, OAuth device-code/select dialogs (#563).

v0.9.3-pre

v0.9.3-pre Pre-release
Pre-release

Choose a tag to compare

@tmustier tmustier released this 24 Apr 16:25
f1cef49

v0.9.3-pre release notes

Pre-release. Changes since v0.9.2-pre.

Highlights

  • GPT-5.5 is now the preferred default when OpenAI is available

    • Refreshed the Pi stack to 0.70.0 and pulled the latest model registry through @mariozechner/pi-ai.
    • Updated model ordering/default selection for GPT-5.5, GPT-5.x/Codex variants, Claude Opus/Sonnet 4.x, Gemini 3/3.1, namespaced IDs, dotted IDs, and date-suffixed model families.
    • Hardened parser fallbacks so parameter-size suffixes and embedded dates do not accidentally outrank newer model families.
  • Browser OAuth logins are repaired for Office WebView

    • Added a browser-safe Anthropic Claude Pro/Max OAuth flow instead of using Pi's Node-only callback-server provider.
    • Fixed the Anthropic client ID typo and routed the current platform.claude.com token endpoint through dev/prod proxy plumbing.
    • Updated OpenAI Codex browser OAuth to match the current official Codex CLI request shape more closely: connector scopes, originator=codex_cli_rs, Codex CLI simplified flow, 64-byte PKCE verifier, and access-token account-claim validation.
    • Versioned stored OpenAI Codex OAuth credentials so old identity-only grants are cleared and users are forced through the fresh authorize flow instead of silently refreshing insufficient scopes.
    • Updated the local proxy and Vite dev proxy to strip browser-only headers before forwarding OAuth token exchanges.
  • Custom gateway and overlay polish

    • Fixed deletion of custom OpenAI-compatible gateway API keys.
    • Improved nested overlay Escape handling so confirmation dialogs do not accidentally close the wrong overlay.

Dependency and security notes

  • Pi packages (@mariozechner/pi-ai, @mariozechner/pi-agent-core, @mariozechner/pi-web-ui) remain in lockstep at 0.70.0.
  • Targeted npm overrides keep high/critical audit findings clear without broad dependency downgrades.
  • The local OAuth CORS proxy package version is bumped to 0.2.3-pre for the updated allowlist/header-forwarding behavior.

Verification

  • node --test --experimental-strip-types --import ./scripts/register-test-ts-loader.mjs tests/browser-oauth.test.ts
  • node --test --experimental-strip-types tests/cors-proxy-server.security.test.mjs tests/oauth-proxy-routing.test.ts
  • npm run test:models
  • npm run test:context
  • npm run test:security
  • npm run check
  • npm run build
  • Manual Excel OAuth smoke: Anthropic Claude Pro/Max and OpenAI Codex browser OAuth from the local sideloaded taskpane.

Commit range reviewed

Since v0.9.2-pre, this release incorporates:

  • 0711084 — refresh Pi model registry/model selection and Pi dependencies.
  • b91eed0 — fix custom gateway API key deletion and nested overlay Escape behavior.
  • 1157851 — default to GPT-5.5 and repair browser OAuth plumbing.
  • 97b7b0a — align browser OAuth client parameters.
  • This release patch — match current official Codex CLI OAuth details and harden proxy header stripping.

v0.9.1-pre

v0.9.1-pre Pre-release
Pre-release

Choose a tag to compare

@tmustier tmustier released this 15 Mar 23:01
6187542

v0.9.1-pre release notes

Pre-release. Changes since v0.9.0-pre (2026-02-22). 28 commits, 21 merged PRs.

Highlights

🧠 Model updates — 1M context + xhigh thinking

  • Pi-stack bumped to v0.58.1claude-opus-4-6 and claude-sonnet-4-6 now have 1M context windows (was 200K). supportsXhigh() extended to GPT-5.2/5.3/5.4. (#498)
  • Session restore refreshes model metadata — existing sessions automatically pick up updated context windows, pricing, and other registry changes on restore instead of using stale persisted values. (#502)
  • GPT-5.4 is now the default OpenAI model, with centralized model ordering logic. (#472, #473)

🎨 Rendering reliability overhaul

A recurring pattern of rendering bugs was traced to two root causes: hook-dependent CSS selectors that break when upstream DOM structures change, and duplicate marked instances that bypass our safety patches. Both are now durably fixed.

  • KaTeX math rendering eliminated — all four math extensions ($...$, $$...$$, \(...\), \[...\]) are now disabled across all marked instances via Vite resolve.dedupe + CSS safety net. Formula text no longer renders as serif italic. (#494, #505)
  • Heading scale made resilient — selectors changed from .pi-assistant-body h1 (hook-dependent) to markdown-block h1 (stable custom element tag). Headings are always capped at sidebar scale regardless of hook state. (#503)
  • Diff table text contrast restored — cell references and values in CHANGES tables are now readable. (#494)

📜 Thinking block + streaming scroll fixes

  • Inner auto-scroll decoupled from outer — expanding a thinking block during streaming now auto-follows regardless of outer chat scroll position. (#499)
  • Scroll-up fight fixed — programmatic scroll assignments no longer re-engage detached elements via a per-element pending-scroll WeakSet. (#499)
  • Scroll chaining preventedoverscroll-behavior: contain on thinking blocks stops events propagating to the outer container. (#499)

🛠 Tool & file fixes

  • freeze_at corrected — now matches Excel UI semantics (anchor cell is the first unfrozen cell). A1 unfreezes instead of erroring. (#495)
  • Built-in doc actions work — "Open" replaced with "Copy content" (clipboard), "Download" uses data URIs instead of blob URLs that silently fail in the Office WebView. (#500)
  • Successive tool calls collapse — groups of 3+ consecutive same-tool cards start collapsed behind a summary header ("5 fill operations"). User toggle state is preserved across regrouping. (#501)

💅 UI polish

  • Toast timer race fixed — undo/reopen toasts no longer persist forever. Info toasts skip when an action toast is active; backup safety timer catches edge cases. (#497)
  • File list badge toned downborder-radius: 999px pill replaced with a subtle rounded-rect. (#496)
  • File preview scrollablemax-height increased, overscroll-behavior: contain added, horizontal scroll enabled. (#496)

Platform & infrastructure

  • Added UI gallery for agent-driven visual verification (#493)
  • Extension sandbox RPC isolated with MessageChannel (#474)
  • Blob module imports allowed in CSP for Office.js (#475)
  • Taskpane CSP test coverage split and hardened (#476)
  • Self-authored skills + secure API extension auth (#456)
  • Architecture page and extension docs layout (#455)
  • Windows sideload path clarified (#478)
  • Dependabot pi-stack cadence reduced to weekly (#468)

Validation

npm run check      ✅
npm run build      ✅
npm run test:models   ✅ (19/19)
npm run test:context  ✅ (640/640)
npm run test:security ✅ (45/45)

v0.9.0-pre

v0.9.0-pre Pre-release
Pre-release

Choose a tag to compare

@tmustier tmustier released this 22 Feb 16:47
a089f86

v0.9.0-pre release notes

Pre-release. Changes since v0.8.0-pre.

Snapshot since last release

  • Previous release tag: v0.8.0-pre (ba33117, 2026-02-16)
  • This release includes 75 first-parent commits (72 merged PRs) on main

Highlights

  • Bridge setup UX is now first-class and self-healing

    • Added ## Local Services prompt context with bridge health state at session start (#447)
    • Added inline setup cards for Python/tmux bridge failures in chat (#451)
    • Bridge gate failures now return structured tool results (gateReason, skillHint) instead of throws (#450)
    • Tightened setup guidance and a11y announcements (aria-live) for setup status regions (#452)
  • Connections got safer and more deterministic

    • Added extension connection contract + preflight path, plus /tools → Connections UX (#421, #426)
    • Migrated web-search keys + MCP tokens into connection storage flows (#432, #433)
    • Hardened auth-error redaction and rollback behavior on metadata/token persistence failures (#435, #440)
    • Added proactive setup guidance tests and follow-up hardening for extension connection refresh paths (#430, #437)
  • Context + model behavior became more cache-stable

    • Added prefix-churn observability counters and baseline/runbook docs (#431, #439)
    • Reduced unnecessary runtime/tool refresh churn with no-op skips + revision tracking (#425, #436, #446)
    • Preserved full tool disclosure for prompt-cache continuity (#423)
    • Model-switch behavior now defaults to in-place for active sessions, with fork kept as opt-in (#443)
  • Web search and external integrations improved

    • Added inline setup card UX for web search failures (#416)
    • Added Firecrawl provider and tightened Jina provider behavior (API key required) (#413)
    • Improved proxy-down error guidance for web_search, fetch_page, and MCP paths (#396, #398)
  • Broad UX reliability polish

    • Improved streaming auto-follow behavior and reduced status-tooltip jitter (#397, #401, #403, #408)
    • Improved abort UX and preserved draft recovery (Alt+Up) after aborts (#407, #418)
    • Disabled accidental dollar-delimited math parsing in markdown rendering (#405)
    • Continued UI consistency polish (icons, status/footer structure, copy cleanup) (#402, #404)

Platform, security, and maintainer updates

  • Fixed Office WebView CSP compatibility by stubbing Ajv unsafe-eval paths and follow-up bridge diagnostics hardening (#364, #366)
  • Upgraded lint/tooling baseline to ESLint 10 and aligned Node engine constraints (#385, #386)
  • Refreshed Pi model registry/dependencies to 0.54.0 and added lockstep automation in CI (#387, #388)

Notes

  • This is a minor pre-release bump due breadth of shipped UX/runtime changes since v0.8.0-pre.
  • Recommended validation before broader rollout:
    • npm run check
    • npm run build
    • npm run test:models
    • npm run test:context
    • npm run test:security

v0.8.0-pre

v0.8.0-pre Pre-release
Pre-release

Choose a tag to compare

@tmustier tmustier released this 16 Feb 13:43

v0.8.0-pre release notes

Pre-release. Changes since v0.7.0-pre.

Deploy catch-up snapshot

  • Last successful Vercel deploy on main: b5477bf (2026-02-15, PR #309)
  • This release batches 73 commits since that deploy (14 merged PRs + 1 conflict-resolution merge commit)

Highlights

  • Extensions + settings consolidation

    • Tabbed Settings flow (Logins, Extensions, More)
    • Unified Extensions Hub promoted to primary surface
    • Skills external discovery graduated from experimental mode
  • Default-on integrations and web search improvements

    • External tools now default to enabled
    • Web search now defaults to enabled
    • Jina added as the zero-config default provider, with fallback support and centralized endpoint host policy wiring
  • Files workspace overhaul (phase 1 + phase 2)

    • Redesigned list/detail layout and simplified interaction model
    • Dual-source sections for workbook files and connected folders
    • Tree structure + folder grouping per section
    • Better guards around unsupported folder actions and path-only mutations
  • Local bridge UX and packaging upgrades

    • Added/published pi-for-excel-python-bridge and pi-for-excel-tmux-bridge launcher packages
    • Default localhost bridge URLs and real-mode npx launchers
    • Kept Pyodide fallback available when the default bridge is offline
    • Graduated tmux from experimental gating in the settings flow
  • UI polish + consistency pass

    • Replaced gear/add-ons emoji icons with Lucide SVG icons
    • Improved overlay/copy consistency and settings/disclosure parity
    • Removed window.confirm dependency in favor of overlay confirmations
  • Deploy policy restored and locked with tests

    • Re-enabled normal Vercel auto-deploy behavior for main + PR previews
    • Kept non-PR feature branch deploys skipped
    • Added cross-platform regression coverage for ignoreCommand

Internal quality work

  • Continued large-file extraction/modularization work in UI/recovery/extensions paths.
  • Added/expanded tests in extensions overlay DOM, proxy precedence, UI menu labels, and Vercel deploy policy behavior.

Notes

  • This is a minor pre-release bump due broad feature/delivery scope since v0.7.0-pre.
  • Recommended validation before broader rollout:
    • npm run check
    • npm run build
    • npm run test:models
    • npm run test:context
    • npm run test:security

v0.7.0-pre

v0.7.0-pre Pre-release
Pre-release

Choose a tag to compare

@tmustier tmustier released this 15 Feb 13:01

v0.7.0-pre release notes

Pre-release. Changes since v0.6.1-pre.

Highlights

  • New add-ons and skills management UX

    • Added a top-level Add-ons surface.
    • Added a Skills catalog manager and external-skill install/remove controls.
    • Added per-skill enable/disable controls and stale-cache handling for disabled skills.
  • OAuth improvements

    • Added browser-safe OAuth flow for OpenAI (ChatGPT).
    • Added browser-safe OAuth flows for Google providers.
    • Updated login guidance/docs for manual callback URL pasting where needed.
  • Files workspace improvements

    • Added a folder tree view in the Files dialog.
    • Added stale scratch-file cleanup behavior.
    • Scoped workspace-context refresh to relevant artifacts.

UX, accessibility, and safety

  • Ran a broad sidebar/UI polish pass (focus, motion, semantics, labeling).
  • Fixed context debug pill accessibility semantics:
    • header uses semantic button behavior,
    • now exposes aria-expanded and aria-controls.
  • Added regression coverage to guard context-pill ARIA wiring.
  • Improved confirm-mode safety behavior when window.confirm is unavailable:
    • overlay-based approvals,
    • aborts respected while approvals are pending.

Internal refactors

  • Continued large-file modularization and extraction work in:
    • extension runtime/sandbox helpers,
    • extension API contracts/import helpers,
    • recovery format-state utilities,
    • shared bridge/network helpers.
  • Bumped Pi dependencies to 0.52.12.

Notes

  • This is a feature-heavy pre-release and is versioned as a minor pre-release bump.
  • Recommended validation before broader rollout:
    • npm run check
    • npm run build
    • npm run test:models
    • npm run test:context
    • npm run test:security

v0.6.1-pre (Experimental)

Pre-release

Choose a tag to compare

@tmustier tmustier released this 14 Feb 13:33

v0.6.1-pre (Experimental)

⚠️ Experimental pre-release

Pi for Excel is still experimental. This build is for testing/feedback, not mission-critical production use.

Patch pre-release after v0.6.0-pre, focused on UI correctness and rendering safety.

What’s improved

  • Markdown rendering hardening in tool cards

    • Guarded frontmatter stripping so only valid YAML frontmatter is removed.
    • Prevents accidental content loss/mis-render when tool output starts with --- but is not frontmatter.
    • Added regression coverage for markdown preprocess behavior.
  • Input/empty-state layout fixes

    • Better handling for short-height taskpane layouts.
    • Fixed narrow-width input placeholder overflow.
    • Improves usability in constrained Excel taskpane sizes.

Publish status

  • GitHub prerelease: v0.6.1-pre
  • npx proxy package: no new proxy runtime changes since 0.2.0-pre, so pi-for-excel-proxy publish was not bumped in this patch.

Install

  • Download manifest.prod.xml from this release asset.
  • Follow install docs: docs/install.md

Full changelog: v0.6.0-pre...v0.6.1-pre

v0.6.0-pre (Experimental)

Pre-release

Choose a tag to compare

@tmustier tmustier released this 14 Feb 13:19
2cfe008

v0.6.0-pre (Experimental)

⚠️ Experimental pre-release

Pi for Excel is still experimental. Use this build for evaluation/testing, not mission-critical production workflows.

This pre-release rolls up major progress since v0.5.0-pre, especially around extension capabilities, recovery, install/connect flow reliability, and release hardening.

Highlights

  • Extension bridge expanded + hardened

    • Broader mediated host capabilities (LLM/HTTP/storage/skills/clipboard/download + dynamic tool lifecycle).
    • Follow-up modularization of sandbox/runtime helper layers for maintainability.
  • Conventions system upgrades

    • Format-string based conventions and preset improvements.
    • Better prompt/tooling integration for convention-aware formatting flows.
  • Install/login/connect improvements

    • Landing + docs aligned to one-command proxy setup:
      • npx pi-for-excel-proxy
      • curl -fsSL https://piforexcel.com/proxy | sh
    • Added guard checks to prevent landing/install copy drift.
  • Recovery + safety improvements

    • Manual full-workbook backup command.
    • Recovery UX/test refinements and stronger destructive-action affordances.
  • Data + tooling enhancements

    • In-browser Pyodide fallback path for Python workflows.
    • Multi-provider web search + fetch_page retained and hardened in this cycle.
  • UX consistency sweep

    • Overlay consistency work, safer destructive controls, improved utilities menu discoverability, and polish fixes.
  • Release validation infrastructure

    • Added/expanded release smoke checklist, run logs, host templates, and automated external-tool error-path matrix coverage.

npm / npx

  • Published: pi-for-excel-proxy@0.2.0-pre
  • Dist-tags:
    • latest0.2.0-pre
    • pre0.2.0-pre

Install

  • Download manifest.prod.xml from this release asset.
  • Install instructions: docs/install.md

Full changelog: v0.5.0-pre...v0.6.0-pre

v0.5.0-pre (Experimental)

Pre-release

Choose a tag to compare

@tmustier tmustier released this 14 Feb 01:24
7536170

v0.5.0-pre (Experimental)

This prerelease focuses on onboarding + external data workflows.

Highlights

  • Search overhaul: web_search now supports Serper (default), Tavily, and Brave with clearer /integrations provider setup and inline key validation.
  • New fetch_page tool: pull readable page content (markdown) after search hits for better source-grounded answers.
  • One-command proxy bootstrap: improved local OAuth/CORS setup with npx pi-for-excel-proxy and hosted curl | sh bootstrap path.
  • Landing-page UX polish: mobile responsiveness and connect-section maintainability improvements.
  • Execution controls: introduced safe/YOLO mode toggle for tool execution behavior.

Install / test this prerelease

Experimental note

Still prerelease quality: intended for testing and feedback before stable cuts.


What's Changed

  • feat(recovery): checkpoint supported format_cells mutations by @tmustier in #112
  • feat(extensions): default sandbox runtime for untrusted sources by @tmustier in #116
  • feat(extensions): add experimental Widget API v2 lifecycle slice by @tmustier in #113
  • refactor(integrations): rename runtime skills and add Agent Skills mapping by @tmustier in #117
  • chore(deps-dev): bump qs from 6.14.1 to 6.14.2 by @dependabot[bot] in #118
  • feat(recovery): checkpoint supported modify_structure actions by @tmustier in #119
  • feat(extensions): add widget v2 collapsible headers + size bounds by @tmustier in #120
  • fix(ui): rewrite user-facing copy and move instructions hint above textarea by @tmustier in #115
  • feat(skills): enable runtime loading of bundled Agent Skills by @tmustier in #122
  • fix(extensions): align sandbox rollback semantics for untrusted sources by @tmustier in #123
  • docs(extensions): finish widget API v2 migration guidance by @tmustier in #125
  • feat(skills): slice A session-scoped runtime skill cache by @tmustier in #127
  • feat(recovery): checkpoint format_cells dimension mutations by @tmustier in #126
  • feat(skills): slice B refresh semantics + structured details by @tmustier in #128
  • feat(skills): slice C external discovery + provenance by @tmustier in #130
  • docs(agents): tighten AGENTS.md for high-signal guidance by @tmustier in #131
  • feat(recovery): checkpoint format_cells merge mutations by @tmustier in #129
  • feat(tools): add experimental execute_office_js tool by @tmustier in #132
  • feat(recovery): Backups (Beta) with in-between-saves retention by @tmustier in #133
  • feat(recovery): broaden conditional_format checkpoint rule coverage by @tmustier in #134
  • feat(tools): add capability registry foundation for issue-18 by @tmustier in #135
  • fix(ui): consolidate overlay lifecycle and restore overlay scrolling by @tmustier in #137
  • feat(files): expose built-in assistant docs in shared files workspace by @tmustier in #136
  • refactor(extensions): share overlay lifecycle in extension runtimes by @tmustier in #139
  • refactor(context): centralize disclosure selection for issue-18 by @tmustier in #138
  • refactor(files-ui): quick doc filters + extracted dialog helpers by @tmustier in #140
  • refactor(ui): centralize renderer/humanizer metadata for issue-18 by @tmustier in #142
  • feat(recovery): checkpoint visual conditional-format rules by @tmustier in #141
  • feat(tools): graduate execute_office_js to always-on approval flow by @tmustier in #144
  • feat(recovery): checkpoint additional modify_structure actions by @tmustier in #143
  • refactor(tools): split experimental tool gate implementation by @tmustier in #145
  • feat(recovery): checkpoint safe destructive structure deletes by @tmustier in #146
  • docs(recovery): record full-file snapshot feasibility decision by @tmustier in #148
  • docs(recovery): remove private research-path reference by @tmustier in #149
  • refactor(ui): harden overlay stack and add lifecycle tests by @tmustier in #147
  • refactor(recovery): extract phase-1 recovery foundation modules by @tmustier in #150
  • refactor(tools): split experimental tool gates into focused modules by @tmustier in #151
  • refactor(tools): add mutation M1 helper primitives by @tmustier in #152
  • refactor(recovery): split recovery-log codec and store internals by @tmustier in #153
  • refactor(recovery): extract format-state modules (R1) by @tmustier in #154
  • refactor(recovery): extract structure-state module (R2) by @tmustier in #155
  • refactor(recovery): extract restore strategy from recovery-log by @tmustier in #156
  • refactor(tools): migrate first mutation tools to M1 helpers by @tmustier in #157
  • refactor(recovery): extract conditional/comment state modules (R3) by @tmustier in #158
  • refactor(tools): migrate remaining mutation tools to shared helpers by @tmustier in #159
  • test(recovery): split recovery-log suites for CLOSE1 by @tmustier in #160
  • test(recovery): add reproducible Node v25-safe recovery test command by @tmustier in #162
  • refactor(ui): modularize provider overlay and keyboard shortcut handlers by @tmustier in #163
  • docs(readme): point Pi link to pi.dev by @tmustier in #164
  • docs(landing): add proposed non-technical homepage draft by @tmustier in #165
  • fix(auth): default proxy URL to localhost helper by @tmustier in #166
  • fix(files): rename to Files, fix binary download, remove Recent Activity by @tmustier in #186
  • feat(recovery): preserve data for destructive structure restores by @tmustier in #184
  • feat(proxy): one-command login setup via npx + curl bootstrap by @tmustier in #185
  • fix(ui): improve prompt transparency, toast errors, and welcome/status a11y by @tmustier in #183
  • feat(ui): tab context actions, overflow controls, and dark mode by @tmustier in #187
  • feat(extensions): expand mediated host bridge capabilities by @tmustier in #188
  • feat(workspace): folder conventions + files list path filter by @tmustier in #181
  • fix(website): make landing page mobile responsive by @tmustier in #194
  • fix(ui): keyboard shortcuts overlay — grouped, platform keys, scroll, clearer descriptions by @tmustier in #193
  • refactor(website): clean up connect-section inline styles by @tmustier in #196
  • refactor(ui): split components.css into focused modules by @tmustier in #197
  • refactor(recovery): split structure-state into capture/apply modules by @tmustier in #198
  • fix(landing): make mobile nav responsive and extract landing assets by @tmustier in #200
  • refactor(ui): unify overlay close controls and sizing tiers by @tmustier in #202
  • refactor(ui): extract shared overlay header builder by @tmustier in #205
  • feat(search): multi-provider web search + fetch_page by @tmustier in #203
  • feat(execution): add yolo/safe mode toggle by @tmustier in #204
  • refactor(ui): share overlay dom helper primitives by @tmustier in #206
  • ch...
Read more