# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### 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