gpt-6-luna. New projects also show a setup guide until their first trace arrives, and annotation score colors now show how far each score sits from its target.
Classification Evaluators on AI SDK Decision Models
October 21, 2026 Available in @arizeai/phoenix-evals 2.7.0+ and @arizeai/phoenix-otel 2.3.0+ (TypeScript) Pass a decision model asmodel to any classification evaluator. A decision model picks one of the labels directly and returns a probability for each, so it is much faster and cheaper than a chat model judge.
- Probabilities in
metadata.metadata.probabilitiesmaps each label to its probability, andmetadata.confidenceis included when the provider reports one. Decision models do not return anexplanation. - Refusals throw the AI SDK’s
Experimental_DecisionRefusalError. InrunExperiment, a refusal is recorded as that evaluation’s error. - Decision calls are traced. Decide spans record the decision state, question, and answer, and
@arizeai/phoenix-otel2.3.0 traces AI SDK decision models.isDecisionModeland theDecisionModeltype are also exported. - Evaluation models change too. TypeSafe’s Jev now also goes through
experimental_decide, and message prompts are sent as plain text instead of JSON state. Use@ai-sdk/openai4.0.89 or later with OpenAI decision models.
Classification Evaluators
Decision models, probabilities, and refusals
A Setup Guide for Empty Projects
October 21, 2026 Available in arize-phoenix 20.24.0+ A project with no traces now shows its setup guide over the Spans, Traces, and Sessions tabs. The guide disappears as soon as the first trace arrives, without a page reload, and the table underneath is already filled in.- The tab strip and Config tab stay usable, so you can configure the project before sending traces.
- Skeleton loaders now stand in for tables, charts, and panels while they load across the app, and their wave animation stops when your system asks for reduced motion.
Tracing
Send your first traces to Phoenix
Graded Annotation Score Colors
October 21, 2026 Available in arize-phoenix 20.24.0+ Score colors now get stronger the further a score sits from the annotation config’s threshold or midpoint, in the direction the config optimizes. Before, every score was just green or red.- Applies everywhere scores are colored: annotation summaries and badges, span previews, metrics tooltips, evaluator previews, and the experiment compare views.
- A score exactly at the threshold is neutral instead of unfavorable.
- Bounded freeform scores without a threshold now get colors in the experiment example details view too, as they already did in the compare table.
Annotations
Annotation configs and optimization direction
Server Telemetry for Self-Hosted Deployments
October 21 to 23, 2026 Available in arize-phoenix 20.24.0+ (frontend errors) and 20.26.0+ (service.version) Self-hosted operators get more signal from the Phoenix server’s own telemetry.- Browser errors reach the server log. Uncaught errors and unhandled promise rejections in the Phoenix UI are logged at
ERRORlevel on thephoenix.client_errorslogger. Identical errors are reported once per page session, and reports are rate limited per client IP. service.versionon server telemetry. The server’s OpenTelemetry resource now carries the Phoenix version next toservice.name, so you can split server traces and logs by release.
Configuration
Server instrumentation environment variables
Additional Improvements
October 21 to 27, 2026 Available in arize-phoenix 20.24.0–20.26.1, arize-phoenix-evals 3.9.4+ (Python), @arizeai/phoenix-client 7.16.3+ and @arizeai/phoenix-evals 2.7.1+ (TypeScript)- MiniMax-M3.1-Flash replaces MiniMax-M2.7 in the playground’s MiniMax model list, and you can still type any other MiniMax model name.
- The prompt Versions tab loads every version as you scroll, instead of stopping at the first 50, and its counter shows the total.
- The icon-only Add to Dataset action in the span details header now has a tooltip and an accessible name.
- Cancelled code evaluations delete their sandbox, so a sandbox no longer keeps running on the provider account until it expires.
- Python evals honor overrides:
template_formatnow applies when copying aPromptTemplate, and sync and async client kwargs now override the shared LLM kwargs. - TypeScript
toSDKkeepsdescription,default, and other keywords next toanyOfin prompt tool and response-format schemas. createEvaluatorkeeps themetadatareturned by custom TypeScript evaluator functions.

