github Arize-ai/phoenix arize-phoenix-v21.1.0
arize-phoenix: v21.1.0

50 minutes ago

21.1.0 (2026-11-13)

Features

  • app: add pnpm dev:ui-only and pnpm dev:down (#17848) (4ab080c)
  • cli: add dataset-versions list command (#17758) (1e47750), closes #12016
  • cli: add prompt-versions list command (#17189) (974be43)
  • evals: deprecate gpt 4o mini and add decision models in docs (#17718) (ecfe6f5)
  • factory: add a docs reviewer that holds docs changes to the phoenix-docs skill (#17641) (97df6e2)
  • factory: add the finish lane that takes a labeled PR to mergeable (#17579) (74fa0ed)
  • factory: cc the requester on every factory comment (#17707) (1e9f6e2)
  • factory: label PRs with the factory review's verdict (#17487) (9c6a251)
  • factory: mark the review scorecard with accessible status emoji (#17628) (0e30f46)
  • factory: one status comment per run and a compact review scorecard (#17542) (e3ba11f)
  • factory: post the issues the log scans file to Slack (#17385) (1de6e83)
  • ui: show the model on the spans table (#17684) (e69bddb)

Bug Fixes

  • config: strip whitespace around PHOENIX_ALLOWED_ORIGINS entries (#17840) (931b85a)
  • cost_tracking: ignore non-finite floats when parsing token counts (#16603) (e843d23)
  • cost-tracking: keep $0 rates in model sync and cost-per-token (#17520) (c65c363)
  • cost-tracking: reject negative token rates in model mutations (#17767) (5ca4aa2)
  • cost: update built-in model token prices (#16929) (f9382db)
  • datasets: accept a BOM and blank lines in CSV and JSONL uploads (#17637) (3d5f9b7)
  • deps: update arize-phoenix-client to 3.6.0 (#17437) (d260c4f)
  • deps: update arize-phoenix-client to 3.7.0 (#17654) (56dad42)
  • deps: update arize-phoenix-otel to 0.17.3 (#17727) (7b19ded)
  • dsl: convert IndexError in the shared filter compile step for every grain (#17445) (903d892)
  • evaluators: reuse code eval names per dataset (#17528) (5835389)
  • evaluators: run LLM evaluators on Claude models that reject forced tool use (#17679) (3d60249)
  • server: end requests quietly when the client disconnects mid-body (#17394) (9d9c79a), closes #17382
  • server: keep spans with NUL in descriptive values on PostgreSQL (#17386) (a64c2a0), closes #17380
  • server: label Prometheus request metrics correctly under a host root path (#17593) (c934556)
  • server: log bounded span batch retries at DEBUG (#17931) (b28d675)
  • server: reject non-UUID message ids on agent session chat before running the turn (#17499) (dec61bd), closes #17494
  • server: restore SQL tracing with isolated server instrumentation (#17913) (539500e)
  • server: return 400 instead of 500 from /v1/chat/completions when a provider credential is not ASCII (#17501) (b9de151), closes #17497
  • server: return 502 instead of 500 when the provider's response isn't a chat completion (#17500) (095b81b)
  • server: return not found for node lookups of missing secrets (#17498) (d26a253), closes #17495
  • traces: keep reasoning and renamed cache-write token counts from GenAI spans (#17440) (8ccae6b)
  • tracing: free a per-run tracer and its spans when it is dropped (#17949) (69f19a9)
  • tracing: never register the exit hook for a per-run tracer (#17951) (d0b9909)
  • ui: don't auto-select exported node IDs as Example ID and show upload errors (#17650) (442746d)
  • ui: keep custom provider and token type casing in model settings (#16998) (46fd7eb)

Documentation

  • add Phoenix release notes (#17610) (18366cb)
  • agents: make AGENTS.md the single home for code standards (#17860) (6faf2d4)
  • introduce Phoenix Academy (#17370) (9d4372c)
  • prefer extending existing test modules (#17645) (e0859f6)
  • recommend a plugin or the MCP server for coding agents and fix skill setup docs (#17572) (6561810)
  • skills: fix px, Python and TypeScript examples that the example checks flag (#17594) (59b7653)
  • skills: weekly audit — 2026-11-04 (#17616) (e0a0bb0)

Miscellaneous Chores

Don't miss a new phoenix release

NewReleases is sending notifications on new releases.