v3.15.0
📦 mlflowView on GitHub →
✨ 21 features🐛 44 fixes🔧 12 symbols
Summary
MLflow 3.15.0 introduces significant new features including the MCP Registry, enhanced MLflow Assistant with multi-LLM support, sharable table views, and proxy-less artifact transfers. It also brings numerous bug fixes and improvements across tracing, gateway, model registry, and UI components.
✨ New Features
- Introduced MCP Registry for centralized cataloging, versioning, and sharing of Model Context Protocol servers with semantic-versioned configs, promotable aliases, tags, auto-discovered tools, and connection instructions.
- MLflow Assistant now supports multiple LLM providers (Claude Code, Codex, OpenAI-compatible/Gateway endpoints) from a single settings page, displays live per-session token usage and estimated cost, and offers simplified setup via `mlflow agent setup`.
- Added sharable table views for the Runs table, allowing users to save and share named views with specific columns, order, widths, filters, and sort settings via URL.
- Implemented proxy-less artifact upload/download via presigned URLs for large transfers, enabling direct communication with cloud storage (e.g., S3) to reduce server load and timeouts. Falls back to proxied transfer for backward compatibility.
- Multi-modal attachments are now supported in LLM judges (`make_judge()`) via the `get_span_image` tool, allowing evaluation of visual content (images, screenshots) by multimodal models.
- Added Pydantic AI 2.x autologging support for Tracing/Tracking.
- Added action recommendation for low-value issue detection results in Tracing/UI.
- Supported per-endpoint budget policies in the AI Gateway.
- Added `sap-ai-core:/` provider for SAP AI Core Orchestration v2 with `extra_headers` support for Evaluation/Gateway.
- Migrated UC model artifact download to native temp-creds in Model Registry.
- Simplified issue detection start modal in Gateway/Tracing/UI.
- Enabled running issue detection in the background in Tracing/UI.
- Gated UC model-registry client on native `/api/2.1` endpoints in Model Registry.
- Enabled artifacts-only mode with workspaces in Docs/Tracking.
- Stopped eagerly prefetching full neighboring traces in the tracing UI.
- Authenticated OpenAI-protocol coding agents through the RBAC gateway in Docs/Gateway.
- Added search traces functionality to the TypeScript SDK.
- Added per-tool cards with a Monaco JSON editor and Format action to the Playground in Prompts/UI.
- Redesigned Playground `Tools` settings with an Add-tools entry flow in Prompts/UI.
- Added Cursor model catalog with Auto and Composer 2.5 pricing.
- Supported numeric assessment trace filters in Tracing/Tracking.
🐛 Bug Fixes
- Fixed computation of `mlflow.llm.cost` for Claude Code plugin traces on Databricks.
- Fixed artifact direct download capability checks in the UI.
- Fixed refreshing of traces saved-view on load across multiple windows.
- Fixed UnauthorizedError constructor message.
- Fell back to nested spans for Chat Sessions turn content.
- Fixed experiment GC cascades for traces and logged models.
- Fixed workspace-enabled tracking store crash-loop when the default experiment is renamed.
- Fixed Kubernetes auth token extraction for `kubernetes-client` 36+.
- Refreshed Assistant config when leaving settings to prevent stale provider indicator.
- Fixed `imagePullSecrets` for garbage collection CronJob.
- Lifted Assistant floating button above bottom-pinned action bars.
- Fixed issue detection structured output schema.
- Added `MLFLOW_ALLOW_PICKLE_DESERIALIZATION` guard to `mlflow.statsmodels` flavor.
- Preserved static prefixes in notebook trace renderer URL.
- Fixed blank and fields in run detail sidebar.
- Normalized reasoning content parts for `ChatAgentMessage` in `parse_message`.
- Fixed Evaluation Runs `Actions` dropdown remaining clickable when no runs are selected.
- Surfaced truncated assistant streams as errors instead of a silent `done`.
- Honored experiment grants on `--artifacts-only` servers when workspaces disabled.
- Bound get-history-bulk-interval memory by sampling metric history by row.
- Enforced artifact authorization on presigned download route in basic-auth.
- Preserved explicit expectations in `mlflow.genai.evaluate`.
- Supported Portkey routing configuration in the AI Gateway.
- Showed input modal submission errors inline instead of a transient toast in `GenericInputModal`.
- Enforced experiment permission on online scoring config endpoints.
- Propagated contextvars into trace read thread pool workers.
- Fixed Windows path handling in artifact downloads.
- Fixed sidebar navigation and workflow type not updating on URL navigation or browser Back/Forward.
- Did not send `stream_options` from the Assistant to the gateway.
- Fixed MemAlign guideline distillation against Databricks structured-output models.
- Sorted tags alphabetically in runs tag multiselect dropdown.
- Fixed LLM cost on autologged `ChatDatabricks` traces by preferring `ls_provider`.
- Fixed pytorch `pt2` export for batch-size-1 `input_example` (use `Dim.AUTO`).
- Fixed double-counted trace token usage for rollup parent spans in `SqlAlchemyStore.log_spans`.
- Fixed `MlflowSparkStudy` pruner and direction handling.
- Fixed gateway Try-in-Browser traces rendering as raw `kvlist` data in the UI.
- Fixed role modal resource pickers failing with `FEATURE_DISABLED` when workspaces are disabled.
- Restored oneof on TemporaryCredentials.credentials.
- Fixed runs-table column reordering before pinned anchors.
- Fixed admin permission grants failing with `FEATURE_DISABLED` when workspaces are disabled.
- Fixed `Columns` dropdown anchoring on the runs table.
- Fixed artifact viewer crash on text files with many lines.
- Fixed async trace export dropping workspace context.
- Fixed OpenAI agent Generation span attributes storage.