# 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] ## [0.1.0] — 2026-04-29 ### Added - OAuth (PKCE) login against `claude.ai` for Claude Pro / Max subscriptions, including automatic token refresh and persistent storage at `~/.config/dispatch/claude_oauth.json` (mode 0600). - Streaming and non-streaming chat against `/v1/messages`, including the full Claude Code header-cloaking set required by the Pro / Max entitlement. - Tool use with automatic `proxy_` name prefixing / stripping (OAuth mode) and built-in tool passthrough (`web_search`, `code_execution`, `text_editor`, `computer`). - Extended thinking: `enabled` mode for Sonnet/Opus 4.5, `adaptive` mode with `display: "summarized"` for Opus 4.7+ and Sonnet 4.6+. - Prompt caching with `cache_control` breakpoint placement (up to 4 per request), automatic TTL ordering enforcement, and per-request `cache_retention: :short | :long | :none` control. - `usage_report` against `/api/oauth/usage` returning a `UsageReport` with four `UsageLimitEntry` rows (5h, 7d, 7d-opus, 7d-sonnet) plus profile metadata from `/api/oauth/profile`. - Per-request usage cost computed from a bundled price table (`Usage#cost` as a `UsageCost` struct). - `list_models` with bundled pricing data and a runtime overlay from `GET /v1/models`. - `count_tokens` via `POST /v1/messages/count_tokens`. - `RateLimiter` integration with configurable `min_request_interval` and optional rolling-window quota. - Strict-tool schema fallback: automatic retry without `strict: true` on Anthropic 400 "compiled grammar too large" / "schema too complex" errors. - Streaming retry logic: up to 3 exponential-backoff retries for transient failures that occur before any consumer output has been emitted. - `authenticate!`, `authenticated?`, `logout!` auth lifecycle hooks. - `Dispatch::Adapter::Tester::Playbooks::Claude` smoke playbook in `dispatch-adapter-tester` for recorded (CI) and live testing. [Unreleased]: https://github.com/realtradam/dispatch-adapter-claude/compare/v0.1.0...HEAD [0.1.0]: https://github.com/realtradam/dispatch-adapter-claude/releases/tag/v0.1.0