Files
2026-07-16 16:01:38 +01:00

5.6 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

[0.4.0] - 2026-07-16

Added

  • Claude Sonnet 5, Claude Sonnet 5 Thinking, and GLM-5.2 are available as supported Perplexity models.

Changed

  • Searches now always run with is_incognito: true. The incognito tool parameter, PI_PERPLEXITY_INCOGNITO env var, config file field, and /perplexity-config incognito prompt were removed; /perplexity-config now sets the default model only.
  • Prefer Perplexity's user_selected_model field to the inconsistent display_model field when reporting the model used.

CI

  • Update actions/checkout and actions/setup-node to v7.

[0.3.0] - 2026-07-14

Changed

  • Migrated to the renamed pi packages: @earendil-works/pi-coding-agent, @earendil-works/pi-tui, and @earendil-works/pi-ai (formerly @mariozechner/*). Peer dependencies now require the @earendil-works scope, and @sinclair/typebox is no longer a peer dependency (Type comes from @earendil-works/pi-ai).

Fixed

  • PI_PERPLEXITY_COOKIE / PI_PERPLEXITY_COOKIES now accept a bare __Secure-next-auth.session-token value, matching what /perplexity-login --browser accepts.

CI

  • Restrict npm publishing to tags whose commit is already on main.
  • Disable checkout credential persistence and pin actions to commit SHAs.
  • Add Dependabot configuration for npm and GitHub Actions dependencies.

Documentation

  • Add SECURITY.md with private vulnerability reporting instructions.

[0.2.5] - 2026-07-14

Changed

  • Browser credential paste now runs exclusively through /perplexity-login --browser; authenticate() no longer prompts inline on Cloudflare challenges.
  • URL deduplication of sources now lowercases only the scheme and host, keeping case-sensitive paths and queries distinct.

Fixed

  • Stop clearing the cached auth token automatically when Perplexity rejects authentication (transient 401/403); use /perplexity-login --force to re-auth explicitly.
  • Import randomUUID from node:crypto instead of relying on the global WebCrypto object, restoring the documented Node 18.14.1 support.
  • Report sourceCount consistently with the rendered source list when limit is fractional or out of range.

CI

  • Run typecheck and tests on push/PR and before npm publish.

[0.2.4] - 2026-06-24

Added

  • Browser cookie login fallback: paste a Copy-as-cURL command or Cookie header via /perplexity-login when desktop/OTP auth is unavailable.

[0.2.3] - 2026-06-24

Changed

  • Removed the Bun runtime dependency; Perplexity requests now use pi's Node runtime and development uses npm scripts.

Fixed

  • Require reliable Set-Cookie access for email OTP auth instead of silently dropping auth cookies on unsupported Node fetch runtimes.
  • Cancel the Perplexity search response stream after terminal SSE events to avoid leaving fetch bodies open.

[0.2.2] - 2026-06-22

Fixed

  • Route email OTP authentication requests through the Bun-backed Perplexity fetch path to avoid CSRF 403 failures under Node/jiti.
  • Send browser-like auth headers and include response previews in OTP HTTP errors.

[0.2.1] - 2026-05-11

Changed

  • Model selection is now controlled by /perplexity-config or PI_PERPLEXITY_MODEL instead of an LLM-facing tool parameter.
  • Updated the configured model list with current Perplexity internal model slugs.

Added

  • Opt-in live E2E test for validating Perplexity model selection.

[0.2.0] - 2026-03-21

Added

  • /perplexity-config command — Interactive configuration for default model and incognito mode, stored at ~/.config/pi-perplexity/config.json
  • Model selection — New model parameter on perplexity_search tool to choose Perplexity backend model (Sonar, GPT-5.4, Claude 4.6 Sonnet Thinking, Gemini 3.1 Pro, Deep Research, etc.)
  • Incognito toggle — New incognito parameter to control whether searches appear in Perplexity web history
  • Config priority chain — Per-call params → env vars (PI_PERPLEXITY_MODEL, PI_PERPLEXITY_INCOGNITO) → config file → defaults
  • Config display in TUI — Render components now show model and incognito status

Changed

  • Auto-clear cached token on auth rejection instead of requiring manual /perplexity-login --force

Fixed

  • Restore error rendering and safe error handling in search client
  • Apply config defaults to Perplexity UI settings
  • Simplify current model label in config
  • Isolate tests from mock.module cache pollution

[0.1.3] - 2026-02-23

Added

  • pi-extension keyword for pi package discovery

[0.1.2] - 2026-02-23

Fixed

  • Fix install commands in README
  • Fix tag pattern to match v-prefixed tags
  • Strip v prefix in version check
  • Simplify README description

[0.1.1] - 2026-02-23

Added

  • Perplexity web search tool (perplexity_search) for pi coding agent
  • macOS desktop app token extraction (zero-interaction auth)
  • Email OTP fallback authentication flow
  • SSE stream client for Perplexity's internal API
  • Source formatting with age, snippets, and deduplication
  • TUI render components for tool calls and results
  • Token persistence with secure file permissions
  • npm publish GitHub Actions workflow with OIDC trusted publishing
  • MIT license

Technical

  • Zero runtime dependencies — uses platform globals only
  • Incremental SSE event merging with block-level deduplication
  • JWT expiry tracking with 5-minute buffer