Change8

v3.1.0

Breaking Changes
📦 mlflowView on GitHub →
4 breaking25 features🐛 9 fixes🔧 18 symbols

Summary

MLflow 3 introduces a model‑centric GenAI architecture with new LoggedModel entity, prompt optimization, enhanced tracing, and many integrations, while also delivering several breaking changes that necessitate migration steps.

⚠️ Breaking Changes

  • Prompt registry APIs have been moved under the `mlflow.genai.prompts` namespace; update imports and calls to use `mlflow.genai.prompts` instead of the previous location.
  • When the tracking URI is set to Databricks and no registry URI is provided, the default registry URI now points to `databricks-uc`; explicitly set `registry_uri` if you relied on the previous default.
  • `mlflow.evaluate` no longer logs the SHAP explainer; remove any code that expects SHAP artifacts from evaluation runs.
  • `mlflow.search_trace()` now returns a DataFrame in V3 schema format; adjust column names and data handling to the new schema.

Migration Steps

  1. Update all imports of prompt registry APIs to use the new `mlflow.genai.prompts` namespace.
  2. If you relied on the implicit default registry URI when using Databricks, explicitly set `registry_uri` to the desired value.
  3. Remove any expectations of SHAP explainer artifacts from `mlflow.evaluate` outputs.
  4. Adapt code that consumes `mlflow.search_trace()` results to the new V3 DataFrame schema (e.g., column name changes).
  5. If you lock model dependencies, ensure `uv` is installed and use the new `uv`‑based locking option when calling `mlflow.log_model`.
  6. Review any custom prompt judge integrations to use the updated `mlflow[databricks]` extra.
  7. Verify that any custom tracing logic handles the new request/response preview fields.

✨ New Features

  • Introduced `LoggedModel` as a first‑class entity for GenAI model tracking.
  • Comprehensive lineage tracking between models, runs, traces, prompts, and evaluation metrics.
  • Production‑grade GenAI evaluation with reusable quality scorers for accuracy, cost, and latency.
  • Human‑in‑the‑loop feedback tracking for model predictions.
  • Prompt optimization capabilities in the Prompt Registry via `mlflow.genai.optimize_prompt`.
  • Added custom prompt judges to the `mlflow[databricks]` extra.
  • Package model environment automatically when registering a model.
  • New `MlflowSparkStudy` class for Spark‑based study tracking.
  • `spark_udf` now supports DBConnect and DBR 15.4 / dedicated clusters.
  • Model dependency locking when logging a model using `uv`.
  • Client and fluent APIs for `LogLoggedModelParams`.
  • Support for `predict_stream` in the DSPy flavor and for `ResponsesAgent.predict_stream`.
  • Tracing now supports custom request/response preview.
  • Integration for AutoGen > 0.4.
  • Token tracking support for OpenAI.
  • Automatic recording of notebook and git metadata in trace metadata.
  • `search_prompts` function added to list all registered prompts.
  • Compression support for pyfunc logged models.
  • Gemini model support added to AI Gateway.
  • PydanticAI autologging for tracing.
  • Databricks auth profile can be set via `DATABRICKS_CONFIG_PROFILE` environment variable.
  • Tracing support for `smolagents`.
  • Video artifact type support in the UI.
  • `load_prompt` now accepts an `allow_missing` parameter.
  • Warning emitted when `mlflow.get_artifact_uri()` is called outside an active run.

🐛 Bug Fixes

  • Added Databricks App resource for GenAI.
  • Supported JSON‑string inputs/expectations column in Spark DataFrames.
  • Avoided generating traces from scorers during evaluation.
  • Allowed multi‑input modules in DSPy.
  • Improved error handling for missing tracking URI during `mlflow gc`.
  • Trace search now avoids spawning threads when `include_spans=False`.
  • Fixed `global_guideline_adherence` metric calculation.
  • Logged `Resources` from `SystemAuthPolicy` in `CreateModelVersion`.
  • Updated `ResponsesAgent` interface to align with new streaming API.

Affected Symbols