v3.1.0
Breaking Changes📦 mlflowView on GitHub →
⚠ 4 breaking✨ 25 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
- Update all imports of prompt registry APIs to use the new `mlflow.genai.prompts` namespace.
- If you relied on the implicit default registry URI when using Databricks, explicitly set `registry_uri` to the desired value.
- Remove any expectations of SHAP explainer artifacts from `mlflow.evaluate` outputs.
- Adapt code that consumes `mlflow.search_trace()` results to the new V3 DataFrame schema (e.g., column name changes).
- If you lock model dependencies, ensure `uv` is installed and use the new `uv`‑based locking option when calling `mlflow.log_model`.
- Review any custom prompt judge integrations to use the updated `mlflow[databricks]` extra.
- 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
mlflow.genai.promptsmlflow.evaluatemlflow.search_tracemlflow.genai.optimize_promptmlflow[databricks] (custom prompt judges)mlflow.tracking.MlflowSparkStudymlflow.spark_udfmlflow.logging.lock_uvmlflow.tracing.LogLoggedModelParamsmlflow.models.DSPyFlavormlflow.models.ResponsesAgent.predict_streammlflow.tracking.search_promptsmlflow.load_promptmlflow.gateway.GeminiSupportmlflow.tracing.PydanticAIAutologgingmlflow.tracing.smolagentsmlflow.artifacts.videomlflow.get_artifact_uri