Skip to content

v2.0.0

Choose a tag to compare

@tzzs tzzs released this 28 Aug 16:26
ec97101

2.0.0 (2026-08-28)

⚠ BREAKING CHANGES

  • secure credential storage (keytar) is removed and agentx auth login no longer saves keys; set AGENTX__API_KEY (or keep using _API_KEY) in your environment instead.

Features

  • add --client and --offline options to doctor command (605d97b)
  • add --native launch mode for Claude Code and Codex (f302181)
  • add interactive model selection (57a7835)
  • add interactive model selection (e57c59d)
  • add multi-provider adapter architecture (8895d7a)
  • add multi-provider architecture (e3be718)
  • add OpenRouter catalog browsing and a saved-model forget manager (d163fda)
  • add provider profiles and secure credential setup (c95ad7d)
  • add provider profiles and secure credentials (870e005)
  • add provider-specific usage queries (59965ea)
  • add provider-specific usage queries (417a3f1)
  • add quick-start menu when default provider/model exists (d26b76c)
  • add searchable model picker to the interactive launcher (cde0ed0)
  • add token usage statistics for every provider (8d92d9d)
  • add token usage statistics for every provider (5d5e570)
  • auto-save launcher selection as the client default (c16216b)
  • backfill model metadata from OpenRouter's public catalog (232e438)
  • config: shared parseCliOptions with --key=value support and --verbose (b6b71c6)
  • credentials: offer to save entered API keys to the shell profile (3b64b63)
  • enrich every provider's models with models.dev metadata (1349cc3)
  • fetch OpenCode model catalog from upstream API (98bfcd0)
  • fetch OpenCode model catalog from upstream API (d2782ff)
  • generate a Codex model catalog to silence fallback-metadata warnings (4ac5b7f)
  • guided client install recovery and tiered/background model routing (cac8d80)
  • harden credentials and client support (727a85a)
  • harden doctor report and refresh docs (750ce52)
  • harden doctor report and refresh docs (b7e6a27)
  • honor client-requested models within the active provider (408678c)
  • offer custom model id entry in the interactive launcher for OpenRouter (f88d92f)
  • offer custom model id entry in the interactive launcher for OpenRouter (b7c0e1c)
  • offer guided install for missing client CLIs and a background model override (94c0fb3)
  • protocol: pass temperature/top_p/stop_sequences through both the (92c13f5)
  • providers: support registering custom OpenAI/Anthropic-compatible providers (8ceabe1)
  • read provider credentials from AGENTX_-prefixed environment variables (f11f4c3)
  • redesign runtime configuration UX with inline launcher (a35dcb7)
  • redesign runtime configuration UX with inline launcher (5bd867b)
  • remember last used model and fix chat tool conversion (bb51039)
  • remember last used model and fix chat tool conversion (d6fc710)
  • route all clients through provider protocols (f45da37)
  • server: retry upstream 429/5xx, and support Anthropic-protocol custom providers end to end (49cd1ea)
  • source Codex catalog limits from OpenCode's public registry (22c17f0)
  • stream reasoning and cached usage across protocol conversions (6a90f63)
  • stream upstream reasoning as thinking blocks and report cached token usage (ee04228)
  • support all provider protocols for Claude and Codex (aaebe85)
  • usage: capture cache and reasoning tokens from stream usage (5356fc7)

Bug Fixes

  • advertise claude model aliases (a1f1f8c)
  • align agentx usage store with adapter and fix json store race (01907f2)
  • auto: route auto model selection within the pinned provider's catalog (92c13f5)
  • avoid duplicate streaming text (b5617da)
  • catalog: preserve image and structured parts across protocol conversions (92c5b66)
  • change option in quick-start menu now opens the picker flow (0d056e1)
  • cli: resolve symlinks before comparing argv[1] to import.meta.url (fa9ca9a)
  • cli: strip inline --flag=value adapter flags from client arguments (92c13f5)
  • correct DeepSeek reasoning, thinking, and context-window handling (5768b5a)
  • correct usage cost estimation and harden usage store (65a8463)
  • declare DeepSeek's real context window for Codex and Pi too (30c7b6b)
  • enable interactive model navigation (1278699)
  • expose selected model to claude code (184b131)
  • flatten responses tool history (40f4bd7)
  • forward client arguments to codex and pi without requiring -- separator (17eb5f1)
  • forward streamed tool calls (4ead6fb)
  • harden atomic writes and install recovery; dedupe help and codex catalog (51a5108)
  • harden usage query and simplify parsing (b410909)
  • hide unavailable upstream models (42f2b2e)
  • include custom model ids in the generated Codex catalog (7506108)
  • launch Codex with -c provider overrides for current Codex releases (8eefcae)
  • launcher nested selectors freeze, cancel exit code, single last-model write (457e9b5)
  • process: detect a missing client on Windows before spawning (ede0d14)
  • publish under the @tanzz npm scope, not @tzzs (ebca5be)
  • scrub AgentX's own env vars from nested --native launches (b12c012)
  • server: abort upstream on client disconnect and name the failing provider (1660e5c)
  • server: cap EADDRINUSE port retries at 100 ports, reuse one parsed (92c13f5)
  • server: resolve model auto per request on /v1/responses (4741217)
  • skip duplicate provider selection in interactive launcher (25c3bf3)
  • stop forwarding SIGINT to child to avoid forced aborts (3fc0351)
  • storage: serialize JsonFileUsageStore writes through a queue so (92c13f5)
  • streaming: end streams with a terminal error when the upstream fails mid-flight (8f7650a)
  • streaming: keep the usage extractor and StreamUsageOptions exhaustive after widening ProviderProtocol (375816e)
  • streaming: separate parallel tool calls and honor length stop reason (92c13f5)
  • support claude code request flow (548ffe2)
  • test: skip the POSIX signal-forwarding test on Windows (b40c45e)
  • ui: reuse the API key entered in the launcher and drop the Auto model entry (80b1907)
  • use anthropic-shaped local token (f9af587)
  • use auth token for claude integration (1574966)
  • use client model alias for claude (1b07d2a)
  • use scoped npm package name @tzzs/agentx (70c09cf)
  • use scoped npm package name @tzzs/agentx (02a02cc)