# What changed in mlflow-skinny

> 267 changes in mlflow-skinny 2 to 3 from its official release notes, upgrade guides and advisories: 25 breaking, 1 deprecations, 19 security, 123 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/pypi/mlflow-skinny/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## mlflow-skinny 3

### Breaking changes

- SQL-backed servers require a coordinated schema upgrade with all writers stopped; run this command before restarting replicas on the new version. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- This key must be set for basic-auth when starting the server. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- The server now fails fast when `MLFLOW_FLASK_SERVER_SECRET_KEY` is unset for basic authentication. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- The default basic-auth admin password shipped in this file was removed, so deployments no longer receive that default credential. (3.16.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.1)
- Chat Completion spans now remain open during streaming. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- Model loading now honors the execution providers declared for ONNX. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Disables credentialed CORS when wildcard origins are configured. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- The setting acts as a floor rather than an override under the unified role-based access control model. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- The deprecated option is removed; `mlflow models serve` always uses the built-in scoring server. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- MemAlign is now the default optimizer; existing alignment workflows may produce different judges unless an optimizer is passed explicitly. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Set this environment variable to keep using a file-based tracking or model registry store, which otherwise raises an error by default. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Legacy per-resource permission tables, REST endpoints, and client methods are removed and replaced by role-based APIs; code using the old APIs must migrate. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Async trace logging is enabled by default for OSS MLflow. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Guardrails run on passthrough endpoints, and response_format is skipped for non-chat payloads. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- A size limit is added for trace attachments. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Removes this environment variable; configurations relying on it must be updated. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- The default budget refresh interval changes from 60 to 600 seconds. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- The TypeScript SDK packages were renamed to scoped npm packages; update package dependencies and imports. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Registered Model names can no longer contain `/` or `:`. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- The default trace location table_prefix in set_experiment is now the experiment ID. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- The unused parameters message is logged at DEBUG instead of WARNING. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- CASCADE is added to experiment_id foreign keys in logged_model tables. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Authorization is enforced on AJAX proxy artifact APIs. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- SQLite is now the default backend for the MLflow Tracking server, changing the server's default tracking-store choice. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Returns protobuf instead of JSON from the traces endpoint. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)

### Security

- Control access to contained resource types, including runs, traces, and versions, with wildcard grants and explicit DENY. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- The pickle-deserialization guard is also applied to the `mlflow.paddle` flavor. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- The web UI is served to non-admins under fail-closed authorization. (3.16.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.1)
- The presigned download route now enforces artifact authorization when basic authentication is enabled. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- The setup command can enable the MLflow Assistant in one prompt, with API keys stored securely in Gateway LLM Connections. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Adds a deserialization guard to the mlflow.statsmodels flavor. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Fixes a DNS-rebinding SSRF bypass in webhook delivery. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Adds a guard for PickleEvaluationArtifact deserialization. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Fixes an authorization vulnerability in the trace API. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Guardrails can be set on gateway endpoints to prevent unsafe or non-compliant model inputs and outputs. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Hardens the disabled-pickle safety control, including for the pyfunc flavor, to prevent unsafe pickle deserialization. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds a flag to prevent local file inclusion in the API gateway when resolving API keys from files. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Webhook URLs are validated to fix an SSRF vulnerability. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Unsafe pickle and cloudpickle model serialization formats are deprecated in favor of safer serialization options. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds PyTorch serialization via `torch.export.save` and the `skops` format, while deprecating unsafe pickle and cloudpickle formats. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Prevents command injection via malicious model artifacts. (3.8.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.1)
- Fixes an artifact path traversal vector. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Fixes a SQL injection vulnerability in Unity Catalog function execution. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Prevents symlink path traversal in the local artifact store. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)

### Deprecations

- The pyfunc serving backend option enable_mlserver is deprecated. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)

### New APIs and options

- Adds an API for managing review queues on Databricks. (3.17.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.1)
- Direct TypeSafe judges can use a custom base URL. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Opt-in daily summaries reduce SQL analytics query overhead for large trace datasets, with raw-query fallback. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- LazySpan objects support `copy.deepcopy` and `pickle`. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Administrators can disable the AI Gateway with this environment variable. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- TypeScript tracing and OpenCode now support this environment variable. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Adds a TypeSafe AI tracing integration. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Adds a fluent API for restoring experiments. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Adds a fluent API for restoring runs. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Adds first-class span description support to the span API. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Adds first-class span description support to the tracing decorator. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Evaluation-dataset search supports `name IN (...)` filters. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Adds `order_by` support to `search_prompts()` across client, fluent, and GenAI APIs. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Span objects support `copy.deepcopy` and `pickle`. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Trace objects support `copy.deepcopy` and `pickle`, and expose a `trace_id` property. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Custom trace views can render TraceImage values. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- TypeSafe Gateway endpoints can use a custom API base. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Built-in scorers and custom judges can use TypeSafe models with typed Boolean or categorical feedback. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Adds autologging support for the TypeSafe SDK. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- The scorer decorator accepts a timeout option. (3.16.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.1)
- Unity Catalog traces support span links. (3.16.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.1)
- Logged model artifacts now support artifact_path. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- The make_judge API exposes generate_rationale_first so developers can configure this judge behavior. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- Evaluation datasets support immutable versions, allowing developers to work with versioned evaluation data. (3.15.2) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.2)
- Adds a primitive for combining scorer results. (3.15.2) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.2)
- A new tool fetches trace-span image attachments as base64 data URLs for multimodal LLM judge evaluation. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- A centralized catalog lets developers register, version, and share MCP servers through the UI, REST API, or Python. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Trace filters can now filter assessments by numeric values. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- The AI Gateway supports budget policies configured per endpoint. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Autologging support is added for Pydantic AI 2.x. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Autologging support is added for Pydantic AI 2.x. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Adds the SAP AI Core Orchestration v2 provider, including support for extra headers. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- The TypeScript SDK adds trace search support. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Save named Runs table views, including columns, layout, filters, and sort, and share them by URL. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Adds `EvaluationResult.passed` to report whether an `@mlflow.test` assertion passed. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds `EvaluationResult.reason` to report the reason for an `@mlflow.test` assertion result. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds a Google ADK LLM judge scorer named `Hallucination`. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds an environment variable for configuring the default model used by GenAI judges. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds support for selecting a UC trace location for Claude Code and Codex tracing. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds `MLFLOW_WORKSPACE` support to the OSS auth provider. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds an exporter for handing traces off to the WAL daemon. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds `PIIDetection` as a rule-based built-in scorer. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds `RegexMatch` as a rule-based built-in scorer. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds a Google ADK LLM judge scorer named `ResponseEvaluation`. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds `ResponseLength` as a rule-based built-in scorer. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Supports common content fields in RETRIEVER chunks. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds `run_id` support for trace APIs. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds a Google ADK LLM judge scorer named `Safety`. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds `x-mlflow-run-id` support to OTLP trace ingestion. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds a Link entity for OpenTelemetry Span Links. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Adds support for adding OpenTelemetry Span Links to a live span. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Adds an environment variable to bypass pip validation in air-gapped environments. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Unified per-user permission APIs provide grant, revoke, get, and list operations. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Adds an API for automated agent stress-testing. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- The V4 retry policy for `mlflow.get_trace` is now configurable. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Spans support Python-logging-style severity levels, and the trace UI can filter out lower-level noise. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- Application Default Credentials is available as an authentication mode for the Vertex AI gateway. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- The base_model_path parameter lets you save a PEFT adapter-only artifact with a local base model reference. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Tracing support is added for Codex, Gemini, and Qwen coding agent platforms. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- A Guardrail base class and JudgeGuardrail implementation are added. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- A URI style for trace attachments is supported, enabling rich rendering of PDFs, audio, and images in the UI. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- DeepEval scorers accept model_kwargs for controlling LLM parameters. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Multimodal content can be stored in tracing spans as artifact attachments instead of inline binary data. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- The AI Gateway supports a configurable provider allow/deny list. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Third-party scorers can be registered in OSS MLflow, with a server-side check for custom scorer registration. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Adds a public pipeline API for discovering issues in traces. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds native gateway providers for Vertex AI, Databricks, Ollama, and xAI, and adds Converse API support to the Bedrock provider. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Built-in scorers now support inference_params. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds proxy URL support for make_judge. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Enables translation of traces exported via OTLP to follow OpenTelemetry GenAI semantic conventions while preserving GenAI-specific metadata. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds OTEL-based autologging for tracing integrations including Langfuse and Arize/Phoenix. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds an API for injecting metadata and tags into tracing without creating wrapper spans. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds Polars dataset support to autologging. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds IS NULL and IS NOT NULL support for tags and params when searching runs. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds a trace_location parameter to create_experiment and set_experiment. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds a parameter for controlling UV extras during model dependency inference. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds a parameter for controlling UV dependency groups during model dependency inference. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Makes the conversation simulator public and easily subclassable. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Adds an API for deleting dataset records. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Adds the `--experiment-name` option to `mlflow experiments get`. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Gateway endpoints gain usage analytics, and trace ingestion links gateway calls back to experiments. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Evaluate existing conversations with session-level scorers and simulate conversations to test new agent versions. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- MLflow Tracking Server supports organizing experiments, models, and prompts into workspaces within a single server. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Adds a per-decorator parameter to `@mlflow.trace` for overriding the sampling ratio. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Adds an SDK for searching sessions and retrieving complete sessions. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- The workspace header can be used with AI Gateway endpoints, with workspace fallback behavior. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Introduces conversation simulation in `mlflow.genai`, integrates it with `mlflow.genai.evaluate`, and supports datasets. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds support for conversational datasets with persona, goal, and context. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds a scorer for conversational guidelines. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds a scorer for evaluating text quality. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds an optimizer for judge instruction optimization. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds an API for Databricks SGC checkpointing with MLflow. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Trace metadata filtering now supports `IS NULL` and `IS NOT NULL` comparators. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds a run context for tracking local Jupyter notebooks as the source. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds a built-in scorer for knowledge retention. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds an API for logging binary streams as artifacts. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds an optimizer that learns general guidelines from past feedback and retrieves relevant examples at runtime to improve judge evaluations. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds APIs for propagating trace context across services and processes, enabling end-to-end request tracing. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds a trace metrics backend. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- A built-in scorer evaluates multi-turn conversation histories for hate speech, harassment, violence, and other safety concerns. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- A built-in scorer evaluates tool call efficiency in multi-turn agent interactions, detecting redundant calls, missed batching opportunities, and poor tool selections. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Tracking adds support for a default passphrase. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Use DeepEval and RAGAS evaluation metrics as MLflow scorers, including answer relevancy, faithfulness, and hallucination detection. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- GraphQL routes now support authentication. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- The Traces UI displays spans from in-progress traces with auto-polling for real-time debugging and monitoring of long-running LLM applications. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- LLM judges support inference parameters. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Adds a linked prompts filter to the trace search tab. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Set this existing environment variable to true to disable UI telemetry on a self-managed server. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- The experiment search command adds a `--max-results` option. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- This environment variable limits concurrent scorer execution. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Prompts can include model configuration, associating specific model settings with prompt templates for more reproducible LLM workflows. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Tracing adds support for Pydantic AI streams. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Dataset search is enabled in Databricks managed MLflow. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Adds a description field to all built-in scorers. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Adds the missing trace-tag deletion API. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Supports structured outputs, enabling more precise and programmatically consumable evaluation results. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Adds the `--builtin`/`-b` flag to list built-in scorers. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Adds authentication support for scorers. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Adds environment variable fallback for resuming SGC runs. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Adds support for resuming SGC runs from Databricks Jobs. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Adds auto-tracing support for the VoltAgent AI agent framework. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)

### Performance

- Span logging uses bulk upsert to eliminate per-span ORM overhead. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Multi-turn session evaluation is parallelized. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)

### Behavior and default changes

- make_judge() supports the Decision API, allowing developers to use it with that API. (3.17.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.1)
- Loads the latest Databricks scorers from the scheduled-scorers REST config so feedback records the scorer version. (3.17.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.1)
- Aggregate logged-model evaluation metrics are associated with the managed dataset that produced them. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- OTLP ingestion metrics are exposed for Prometheus. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Filters accept lowercase `like`, `ilike`, and `in` operators. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Scorer version is propagated to assessment metadata. (3.16.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.1)
- Haystack 3.x is now supported by autologging. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- Explicit set_outputs() calls inside the decorator are now honored. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- Prompt optimization now supports chat-type prompts. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- Pandas 3.x is now supported. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- MLflow skips env_pack on ARM client images. (3.15.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.1)
- Large artifact transfers can bypass the tracking server and transfer directly to cloud storage, with automatic fallback to proxied transfer. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Maps `gen_ai.conversation.id` to an MLflow trace session. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- The OpenAI provider configuration now honors the `OPENAI_BASE_URL` environment variable. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- A workspace USE grant is sufficient to create experiments and registered models. (3.13.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.13.0)
- The caller is recorded in gateway traces using request headers. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Trace ingestion supports JSON OTLP encoding. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- The SQL warehouse is automatically started before V4/V5 MLflow tracing calls. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Adds built-in skops trusted types for LightGBM models to support pickle-free model loading. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Automatic dependency inference detects UV projects and captures locked dependencies when logging models. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Dismissal of the default passphrase security banner is persisted to localStorage. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- The scoring server input for pyfunc accepts parquet content types. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Supports `get_dataset(name=...)` in OSS environments. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- MLflow extracts model information from LLM spans and calculates costs for trace views. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Prompt registry prompts can now use Jinja2 templates. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds support for metaprompting when optimizing prompts. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Adds support for using `mlflow.genai.to_predict_fn` with app invocation endpoints. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- The `PyFuncOutput` type alias now includes `dict` for `ResponsesAgent`, `ChatAgent`, and `ChatModel`. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Set this existing environment variable to true to disable UI telemetry on a self-managed server. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Async functions passed to `predict_fn` are automatically wrapped. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- MLflow collects anonymized data about UI interactions. Server administrators can disable it with either environment variable; other users can opt out in the UI Settings tab. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)
- Adds validation for correctness judge expectation fields. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Supports multi-turn conversations with DataFrame and list inputs, enabling evaluation of conversational AI applications. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Accepts gzip and deflate Content-Encoding for OTLP traces requests. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Removes experimental flags from scorers, changing how scorers are used or configured. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Parent directories are created for SQLite database files, so their directories need not already exist. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)

### Tooling

- A shell-based setup wizard is available to help configure MLflow Tracing. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- Adds a one-command workflow to install MLflow, set up tracing, and provide coding agents with MLflow skills; setup supports the Databricks backend. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds CLI commands to view and list MLflow skills. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Adds a pytest marker and assertion framework for GenAI regression tests, which can be gated in CI and reviewed in the UI. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- A command is added to move resources between workspaces. (3.12.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.12.0)
- Adds a CLI command to list datasets. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Adds a CLI command to launch the MLflow demo. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Adds a command to migrate a file store. (3.10.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.0)
- Adds a command to get an experiment. (3.8.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.0)

### Fixes and other changes

- Fixes how Claude Code OTel traces render in the MLflow UI. (3.17.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.1)
- Multipart artifact downloads now honor this setting. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- The setting is honored when downloading multipart artifacts. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Whitespace around `--trace-ids` entries is stripped. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Whitespace around `--order-by` entries is stripped. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- The server-info endpoint remains responsive when the shared WSGI thread pool is exhausted. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Trace text search now finds non-ASCII span content. (3.17.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.17.0)
- Encryption arguments for S3 multipart uploads are fixed. (3.16.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.1)
- Trace locations in Databricks Model Serving are resolved without local-store validation. (3.16.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.1)
- A deadlock during async trace queue flush is prevented. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- Basic authentication no longer overrides Kubernetes authentication in the Python SDK. (3.16.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.16.0)
- Pre-imports databricks.sdk in Databricks to avoid a telemetry deadlock. (3.15.2) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.2)
- Preserves the base judge invocation flow in MemAlign aligned judges. (3.15.2) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.2)
- Version parsing handles missing or non-PEP440 versions on Databricks Serverless. (3.15.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.1)
- Multipart artifact uploads now honor the S3 TLS-ignore setting. (3.15.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.15.0)
- Preserves dataset expectations and tags when `scorers=[]`. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Fixes empty results when `max_results` is omitted. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Fixes running the database upgrade command on a fresh database. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Preserves OTel resource attributes during OTLP trace ingestion. (3.14.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.14.0)
- Guards numpy-dependent imports in mlflow.types to prevent import failures when using mlflow-skinny. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Fixes skops serialization format detection in the pyfunc loader. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Adds support for transformers 5.x and fixes compatibility with removed pipeline classes in transformers 5.3.0. (3.11.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.11.1)
- Charts aggregate Additional runs under the Unassigned group in group mode. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Artifact downloads work when workspaces are enabled. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Artifact listing via query parameter no longer returns 403 Forbidden when default_permission is NO_PERMISSIONS. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- The visibility toggle button in chart tooltips works. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- The function no longer skips skill content injections. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Gateway experiments are filtered from the experiment list using a server-side query, avoiding inconsistent page sizes. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Spurious warnings for gateway endpoints with fallback_config but no FALLBACK models are logged at debug level. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- The View full dashboard link in the Gateway usage tab works when workspaces are enabled. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- A try-it page is available from the Gateway usage example modal. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Single artifact downloads through HttpArtifactRepository are fixed. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- The instruction textarea in the judge builder is fixed. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Optional parameters with UNSET defaults receive None, and Click UNSET defaults are handled correctly. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Copying a Unity Catalog model across workspaces is fixed. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- The All time selector is cleared when switching to the overview tab. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- The Traces view in the Prompts tab can be scrolled. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Retrieval context is extracted correctly when span outputs are stored as strings. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Running a judge no longer fails with litellm.InternalServerError: Invalid response object. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Trace export no longer encounters a NOT NULL constraint on assessments.trace_id. (3.10.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.10.1)
- Fixes temperature and JSON issues when using `ConversationSimulator` on managed deployments. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Fixes loss of type signatures when using the `@trace_disabled` decorator. (3.9.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.9.0)
- Fixes a blank UI page on plain HTTP by replacing crypto.randomUUID with the uuid library. (3.8.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.1)
- Fixes prompt registration with model_config on Databricks. (3.8.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.1)
- The SQLAlchemy store is no longer registered when the sqlalchemy library is not installed. (3.8.1) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.8.1)
- Adds the required `anthropic_version` field to fix the Bedrock Anthropic adapter. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Fixes the judge incorrectly using the scorer description as the assessment value. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Fixes OTLP endpoint path handling to follow the OpenTelemetry specification. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Fixes trace-based scorer evaluation by using the agentic judge adapter. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)
- Fixes propagation of the tracking URI. (3.7.0) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v3.7.0)

## mlflow-skinny 2

### New APIs and options

- Introduces an environment variable to validate the source parameter of /model-versions/create requests. (2.22.4) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v2.22.4)
- Adds opt-in routing of Unity Catalog model registry artifact uploads and downloads through the Databricks SDK Files API. (2.11.5) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v2.11.5)

### Fixes and other changes

- Fixes loading models from Unity Catalog Volumes paths. (2.22.4) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v2.22.4)
- Fixes Spark UDF behavior on Databricks multi driver clusters. (2.22.4) — [release notes](https://github.com/mlflow/mlflow/releases/tag/v2.22.4)
