Releases: mlflow/mlflow
v3.10.1
MLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.
Features:
- [UI] Add try-it page on Gateway usage example modal (#21077, @PattaraS)
- [UI] Filter gateway experiments from the experiment list page (#21130, @copilot-swe-agent)
Bug fixes:
- [UI] Fix "View full dashboard" link in gateway usage tab when workspace is enabled (#21191, @copilot-swe-agent)
- [UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (#21292, @copilot-swe-agent)
- [Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (#21294, @copilot-swe-agent)
- [UI] Clear "All" time selector when switching to overview tab (#21371, @daniellok-db)
- [Prompts / UI] Fix Traces view in Prompts tab not being scrollable (#21282, @TomeHirata)
- [UI] Fix judge builder instruction textarea (#21299, @daniellok-db)
- [UI] Fix group mode to aggregate "Additional runs" as "Unassigned" group in charts (#21155, @copilot-swe-agent)
- [UI] Fix artifact download when workspaces are enabled (#21074, @timsolovev)
- [Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (#21348, @dbczumar)
- [Tracking] Fix 403 Forbidden for artifact list via query param when
default_permission=NO_PERMISSIONS(#21220, @copilot-swe-agent) - [UI] [ML-63097] Fix broken LLM judge documentation links (#21347, @smoorjani)
- [Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (#21262, @PattaraS)
- [Tracing / UI] Update Action menu: indentation to avoid confusion (#21266, @PattaraS)
- [Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (#21212, @WeichenXu123)
- [UI] Fix empty description box rendering for sanitized-empty experiment descriptions (#21223, @copilot-swe-agent)
- [Artifacts] Fix single artifact downloading through
HttpArtifactRepository(#12955, @Koenkk) - [Tracing] Fix find_last_user_message_index skipping skill content injections (#21119, @alkispoly-db)
- [Tracing] Fix retrieval context extraction when span outputs are stored as strings (#21213, @smoorjani)
- [UI] Fix visibility toggle button in chart tooltip not working (#21071, @daniellok-db)
- [UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (#21138, @copilot-swe-agent)
- [Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (#21123, @copilot-swe-agent)
- [Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (#21051, @yangbaechu)
- [Tracking] Add CASCADE to
logged_modeltablesexperiment_idforeign keys (#20185, @harupy) - [Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (#20953) (#20962, @yangbaechu)
Documentation updates:
- [Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (#20591, @WeichenXu123)
- [Docs / Tracing] Fix distributed tracing rendering and improve doc (#21070, @B-Step62)
- [Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (#21227, @mshavliuk)
- [Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (#21197, @copilot-swe-agent)
- [Docs] Replace MinIO with RustFS in docker-compose setup (#21099, @jmaggesi)
Small bug fixes and documentation updates:
#20740, #21148, #21149, #21096, @TomeHirata; #21368, #21118, @B-Step62; #21384, #21345, #21236, #21106, #21033, #21115, #21034, @smoorjani; #21326, #21133, #21036, @copilot-swe-agent; #21293, @daniellok-db; #21175, @caponetto; #21305, #21264, @serena-ruan; #21216, @justinwei-db; #21038, #21082, @bbqiu; #21143, #20733, @mprahl; #20488, @mdalvz0000; #21142, @EPgg92; #21094, @PattaraS
v3.10.0
We're excited to announce MLflow 3.10.0, which includes several notable updates:
Major New Features:
🏢 Organization Support in MLflow Tracking Server: MLflow now supports multi-workspace environments. Users can organize experiments, models, prompts, with a coarser level of unit and logically isolate them in a single tracking server. (#20702, #20657, @mprahl, @Gkrumbach07, @B-Step62)
💬 Multi-turn Evaluation & Conversation Simulation: MLflow now supports multi-turn evaluation, including evaluating existing conversations with session-level scorers and simulating conversations to test new versions of your agent, without the toil of regenerating conversations. Use the session-level scorers introduced in MLflow 3.8.0 and the brand new session UIs to evaluate the quality of your conversational agents and enable automatic scoring to monitor quality as traces are ingested. (#20243, #20377, #20289, @smoorjani)
💰 Trace Cost Tracking: Gain visibility into your LLM spending! MLflow now automatically extracts model information from LLM spans and calculates costs, with a new UI that renders model and cost data directly in your trace views. (#20327, #20330, @serena-ruan)
🎯 Navigation bar redesign: We've redesigned the navigation to provide a frictionless experience. A new workflow type selector in the top-level navbar lets you quickly switch between GenAI and Classical ML contexts, with streamlined sidebars that reduce visual clutter. (#20158, #20160, #20161, #20699, @ispoljari, @daniellok-db)
🎮 MLflow Demo Experiment: New to MLflow GenAI? With one click, launch a pre-populated demo and explore tracing, evaluation, and prompt management in action. No configuration, no code required. (#19994, #19995, #20046, #20047, #20048, #20162, @BenWilson2)
📊 Gateway Usage Tracking: Monitor your AI Gateway endpoints with detailed usage analytics. A new usage page shows request patterns and metrics, with trace ingestion that links gateway calls back to your experiments for end-to-end observability. (#20357, #20358, #20642, @TomeHirata)
⚡ In-UI Trace Evaluation: Users can now run custom or pre-built LLM judges directly from the traces and sessions UI. This enables quick evaluation of individual traces and individual without context switching to the python SDK. (#20360, @hubertzub-db, @danielseong1)
Features:
- [UI] Add sliding animation to workflow switch component (#20831, @daniellok-db)
- [Tracing] Display cached tokens in trace UI (#20957, @TomeHirata)
- [Evaluation] Move select traces button to be next to Run judge (#20992, @PattaraS)
- [Gateway] Distributed tracing for gateway endpoints (#20864, @TomeHirata)
- [Gateway] Add user selector in the gateway usage page (#20944, @TomeHirata)
- [Docs] [MLflow Demo] Docs for GenAI Demo (#20240, @BenWilson2)
- [UI] Move Getting Started above experiments list and make collapsible (#20691, @B-Step62)
- [Model Registry / Tracking] Add mlflow
migrate-filestorecommand (#20615, @harupy) - [UI] Add visual indicator for demo experiment in experiment list (#20787, @B-Step62)
- [Scoring] Enable parquet content_type in the scoring server input for pyfunc (#20630, @TFK1410)
- [UI] feat(ui): Add workspace landing page, multi-workspace support, and qu… (#20702, @Gkrumbach07)
- [Tracking] Merge workspace feature branch into master (#20657, @B-Step62)
- [Gateway] Add Gateway Usage Page (#20642, @TomeHirata)
- [Gateway] Add usage section in endpoint page (#20357, @TomeHirata)
- [UI] [ MLflow Demo ] UI updates for MLflow Demo interfaces (#20162, @BenWilson2)
- [Build] Support comma-separated rules in
# clint: disable=comments (#20651, @copilot-swe-agent) - [Build / Docs / Models / Projects / Scoring] Replace
virtualenvwithpython -m venvin virtualenv env_manager path (#20640, @copilot-swe-agent) - [Tracing] Add per-decorator
sampling_ratio_overrideparameter to@mlflow.trace(#19784, @harupy) - [Evaluation / Tracking] Add
mlflow datasets listCLI command (#20167, @alkispoly-db) - [Gateway] Add trace ingestion for Gateway endpoints (#20358, @TomeHirata)
- [Tracing] feat(typescript-anthropic): add streaming support (#20384, @rollyjoel)
- [Evaluation] Add delete dataset records API (#19690, @joelrobin18)
- [UI] Add tooltip link to navigate to traces tab with time range filter (#20466, @serena-ruan)
- [Tracking] [MLflow Demo] Add mlflow demo cli command (#20048, @BenWilson2)
- [Evaluation] Add an SDK for distillation from conversation to goal/persona (#20289, @smoorjani)
- [Tracing] Livekit Agents Integration in MLflow (#20439, @joelrobin18)
- [Tracing / UI] Enable running scorers/judges from trace details drawer in UI (#20518, @danielseong1)
- [Gateway] link gateway and experiment (#20356, @TomeHirata)
- [Prompts] Add optimization backend APIs to auth control (#20392, @chenmoneygithub)
- [Tracing] Add an SDK for search sessions to get complete sessions (#20288, @smoorjani)
- [Tracing] Reasoning in Chat UI Mistral + Chat UI (#19636, @joelrobin18)
- [Evaluation] Add TruLens third-party scorer integration (#19492, @debu-sinha)
- [Evaluation / Tracing] Add Guardrails AI scorer integration (#20038, @debu-sinha)
- [Tracking] [MLflow Demo] Add Prompt demo data (#20047, @BenWilson2)
- [Tracking] [MLflow Demo] Add Eval simulation data (#20046, @BenWilson2)
- [Tracking] [MLflow Demo] Add trace data for demo (#19995, @BenWilson2)
- [Tracking] Support get_dataset(name=...) in OSS environments (#20423, @alkispoly-db)
- [UI] Add session comparison UI with goal/persona matching (#20377, @smoorjani)
- [UI] Model and cost rendering for spans (#20330, @serena-ruan)
- [UI] [1/x] Support span model extraction and cost calculation (#20327, @serena-ruan)
- [Evaluation] Make conversation simulator public and easily subclassable (#20243, @smoorjani)
- [Prompts] Add progress tracking for prompt optimization job (#20374, @chenmoneygithub)
- [Prompts] Prompt Optimization backend PR 3: Add Get, Search, and Delete prompt optimization job APIs (#20197, @chenmoneygithub)
- [Prompts] Track intermediate candidates and evaluation scores in gepa optimizer (#20198, @chenmoneygithub)
- [Tracking] [MLflow Demo] Base implementation for demo framework (#19994, @BenWilson2)
- [Prompts] Prompt Optimization backend PR 2: Add CreatePromptOptimizationJob and CancelPromptOptimizationJob (#20115, @chenmoneygithub)
- [Tracing] Support shift+select for Traces (#20125, @B-Step62)
- [UI] Ml61127/remove experiment type selector inside experiment page (#20161, @ispoljari)
- [UI] Ml61126/remove nested sidebars within gateway and experiments tab (#20160, @ispoljari)
- [UI] [ML-61124]: add selector for workflow type in top level navbar (#20158, @ispoljari)
- [Prompts / UI] Feat/render md in prompt registry (#19615, @iyashk)
- [Prompts] [Prompt Optimization Backend PR #1] Wrap prompt optimize in mlflow job (#20001, @chenmoneygithub)
- [Tracking] Add --experiment-name option to mlflow experiments get command (#19929, @alkispoly-db)
Bug fixes:
- [Tracing / UI] Fix infinite fetch loop in trace detail view when num_spans metadata mismatches (#20596, @coldzero94)
- [UI] fix:implement dark mode in experiment correctly (#20974, @intelliking)
- [Evaluation] Fix 'Select traces' do not show new traces in Judge UI (#20991, @PattaraS)
- [Tracing / Tracking] Fix RecursionError in strands, semantic_kernel, and haystack autologgers with shared tracer provider (#20809, @cgrierson-smartsheet)
- [Tracking] fix(tracking): Fix IntegrityError in log_batch when duplicate metrics span multiple key batches (#20807, @aws-khatria)
- [Tracing] Support native tool calls in CrewAI 1.9.0+ autolog tests (#20742, @TomeHirata)
- [Evaluation] Fix retrieval_relevance assessments logged to wrong span with missing chunk index (#20998, @smoorjani)
- [Evaluation] Fix missing session metadata on failed session-level scorer assessments (#20988, @smoorjani)
- [Tracking] Enhance path validation in check_tarfile_security for windows (#20924, @TomeHirata)
- [Docs] Fix admonition link underlines not rendering (#20990, @copilot-swe-agent)
- [Tracking] Rebuild
SearchTracesV2 request body onENDPOINT_NOT_FOUNDfallback (#20963, @brendanmaguire) - [Build] Add model version search filtering based on user permissions (#20964, @TomeHirata)
- [Tracing] Display notebook trace viewer when workspace is on (#20947, @TomeHirata)
- [Tracing] Add
MLFLOW_GATEWAY_RESOLVE_API_KEY_FROM_FILEflag to prevent local file inclusion in API gateway (#20965, @TomeHirata) - [Tracking] Fix Claude Agent SDK tracing by capturing messages from receive_messages (#20778, @smoorjani)
- [Build / Tracking] Add missing authentication for fastapi routes (#20920, @TomeHirata)
- [Evaluation] Fix guardrails scorer compatibility with guardrails-ai 0.9.0 (#20934, @smoorjani)
- [UI] Fix duplicated title and add icons to Experiments/Prompts page headers (#20813, @B-Step62)
- [Tracing] Trace UI papercut: highlight searched text and change search box hint's wording. (#20841, @PattaraS)
- [Prompts] Fix arbitrary file read via prompt tag validation bypass in Model Registry (#20833, @TomeHirata)
- [Tracking] Fix
RestExceptioncrash on nullerror_codeand incorrect except clause (#20903, @copilot-swe-agent) - [UI] Fix Disable action button in Traces Tab (#20883, @joelrobin18)
- [UI] Fix experiment rename modal not refreshing experiment details (#20882, @joelrobin18)
- [Build] Skip workspace header when workspace is disabled (#20904, @TomeHirata)
- [UI] Block CORS for ajax paths (#20832, @TomeHirata)
- [UI] [UI] Improve empty states across Experiments, Models, Prompts, and Gateway pages (#20044, @ridgupta26)
- [UI] UI: Improve empty states for Traces and Sessions tabs (#20034, @ridgupta26)
- [Build] Validate webhook url to fix SSRF vulnerability (#20747, @TomeHirata)
- [Scoring / Tracing] Fix TypeError in online scoring config endpoint when basic-auth is enabled (#20783, @copilot-swe-agent)
...
v3.10.0rc0
We're excited to announce MLflow 3.10.0rc0, which includes several notable updates:
Major New Features:
- 🏢 Organization Support in MLflow Tracking Server: MLflow now supports multi-workspace environments! You can organize your experiments and resources across different workspaces with a new landing page that lets you navigate between them seamlessly. (#20702, #20657, @mprahl, @Gkrumbach07, @B-Step62)
- 💬 Multi-turn Conversation Simulation: Building on the conversation simulator introduced in 3.9, we've made it fully public and easily subclassable. You can now create custom simulation scenarios, compare sessions with goal/persona matching, and distill conversations into reusable goal/persona pairs for comprehensive agent testing. (#20243, #20377, #20289, @smoorjani)
- 💰 Trace Cost Tracking: Gain visibility into your LLM spending! MLflow now automatically extracts model information from LLM spans and calculates costs, with a new UI that renders model and cost data directly in your trace views. (#20327, #20330, @serena-ruan)
- 🎯 Top-level GenAI/Classical ML Split: We've redesigned the navigation to provide a frictionless experience. A new workflow type selector in the top-level navbar lets you quickly switch between GenAI and Classical ML contexts, with streamlined sidebars that reduce visual clutter. (#20158, #20160, #20161, #20699, @ispoljari, @daniellok-db)
- 🎮 MLflow Demo Experiment: Get started with MLflow faster than ever! The new
mlflow demoCLI command generates a fully-populated demo environment with sample traces, prompts, and evaluation data so you can explore MLflow's features hands-on without any setup. (#19994, #19995, #20046, #20047, #20048, #20162, @BenWilson2) - 📊 Gateway Usage Tracking: Monitor your AI Gateway endpoints with detailed usage analytics. A new usage page shows request patterns and metrics, with trace ingestion that links gateway calls back to your experiments for end-to-end observability. (#20357, #20358, #20642, @TomeHirata)
Stay tuned for the full release, which will be packed with even more features and bugfixes.
To try out this release candidate, please run:
pip install mlflow==3.10.0rc0
v.3.9.0
We're excited to announce MLflow 3.9.0, which includes several notable updates:
Major New Features:
- 🔮 MLflow Assistant: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating "Assistant" button in the bottom right of the MLflow UI to get started!
- 📈 Trace Overview Dashboard: You can now get insights into your agent's performance at a glance with the new "Overview" tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!
- ✨ AI Gateway: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the docs.
- 🔎 Online Monitoring with LLM Judges: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our pre-defined judges, or provide your own prompt and instructions to create custom metrics. Head to the new "Judges" tab within the GenAI Experiment UI to get started.
- 🤖 Judge Builder UI: Define and iterate on custom LLM judge prompts directly from the UI! Within the new "Judges" tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.
- 🔗 Distributed Tracing: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the
mlflow.tracing.distributedmodule (with more documentation to come soon). - 📚 MemAlign - a new judge optimizer algorithm: We're excited to introduce
MemAlignOptimizer, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.
Features:
- [Gateway] Add LiteLLM provider to support many other providers (#19394, @TomeHirata)
- [Gateway] Add passthrough support for Anthropic Messages API (#19423, @TomeHirata)
- [Gateway] Add passthrough support for Gemini
generateContentandstreamGenerateContentAPIs (#19425, @TomeHirata) - [Gateway] Add routing strategy and fallback configuration support for gateway endpoints (#19483, @TomeHirata)
- [Gateway] Deprecate Unity Catalog function integration in AI Gateway (#19457, @harupy)
- [Gateway / UI] Create List API Keys landing page (#19441, @BenWilson2)
- [Gateway / UI] Add Create API Keys functionality (#19442, @BenWilson2)
- [Gateway / UI] Add delete and update capabilities for API Keys (#19446, @BenWilson2)
- [Gateway / UI] Add endpoint listing page and tab layout (#19474, @BenWilson2)
- [Gateway / UI] Add Create endpoint page and enhance provider select (#19475, @BenWilson2)
- [Gateway / UI] Add Model select functionality for endpoint creation (#19477, @BenWilson2)
- [Gateway / UI] Add Auth config to endpoint creation (#19494, @BenWilson2)
- [Gateway / UI] Add the Endpoint Edit Page (#19502, @BenWilson2)
- [Gateway / UI] Refactor the provider display for better UX (#19503, @BenWilson2)
- [Gateway / UI] Create Endpoint details page (#19537, @BenWilson2)
- [Gateway / UI] Add security notice banner (#19538, @BenWilson2)
- [Gateway / UI] Create common editable combo box with extra modal select (#19546, @BenWilson2)
- [Evaluation] Introduce
MemAlignas a new optimizer for judge alignment (#19598, @smoorjani) - [Evaluation] Parallelize LLM calls in
MemAlignguideline distillation (#20291, @veronicalyu320) - [Evaluation] Add
GePaAlignmentOptimizerfor judge instruction optimization (#19882, @alkispoly-db) - [Evaluation] Add
Fluencyscorer for evaluating text quality (#19414, @alkispoly-db) - [Evaluation] Add
KnowledgeRetentionbuilt-in scorer (#19436, @alkispoly-db) - [Evaluation] Implement automatic discovery for builtin scorers (#19443, @alkispoly-db)
- [Evaluation] Add Phoenix (Arize) third-party scorer integration (#19473, @debu-sinha)
- [Evaluation] Add gateway provider support for scorers (#19470, @danielseong1)
- [Evaluation] Introduce a conversation simulator into
mlflow.genai(#19614, @smoorjani) - [Evaluation] Integrate conversation simulation into
mlflow.genai.evaluate(#19760, @smoorjani) - [Evaluation] Make conversation simulator work with datasets (#19845, @SomtochiUmeh)
- [Evaluation] Support for conversational datasets with persona, goal, and context (#19686, @SomtochiUmeh)
- [Evaluation] Introduce conversational guidelines scorer (#19729, @smoorjani)
- [Evaluation] Update tool call correctness judge to accept expected tool calls (#19613, @smoorjani)
- [Evaluation] Support trace parsing fallback using Databricks model (#19654, @AveshCSingh)
- [Evaluation] Documentation for online evaluation / scoring (#20103, @dbczumar)
- [Evaluation] Job backend: Update job backend to use static names rather than function full names (#19430, @WeichenXu123)
- [Evaluation] Job backend: support job cancellation (#19565, @WeichenXu123)
- [Tracing] Support distributed tracing (#19920, @WeichenXu123)
- [Tracing] Trace Metrics backend (#19271, @serena-ruan)
- [Tracing] Add
IS NULL/IS NOT NULLcomparator support for trace metadata filtering (#19720, @dbczumar) - [Tracing] Auto-navigate to Events tab when clicking error spans (#20188, @anshuman-sahu)
- [Tracing] Support shift+select for Traces (#20125, @B-Step62)
- [Tracing] SpringAI Integration (#19949, @joelrobin18)
- [Tracing] Reasoning in Chat UI for OpenAI, Anthropic, Gemini, Langchain, and PydanticAI (#19535, #19541, #19627, #19651, #19657, @joelrobin18)
- [UI] Current Page context to assistant (#20139, @joelrobin18)
- [UI] Assistant regenerate button (#20066, @joelrobin18)
- [UI] Copy button Assistant (#20063, @joelrobin18)
- [UI] Overview tab for GenAI experiments (#19521, @serena-ruan)
- [UI] Enable Scorers UI feature flags (#19842, @danielseong1)
- [UI] Improve LLM judge creation modal UX and variable ordering (#19963, @danielseong1)
- [UI] Hide instructions section for built-in LLM judges (#19883, @danielseong1)
- [UI] Change model provider and name to dropdown list (#19653, @chenmoneygithub)
- [Prompts] Support Jinja2 template in prompt registry (#19772, @B-Step62)
- [Prompts] Support metaprompting in
mlflow.genai.optimize_prompts()(#19762, @chenmoneygithub) - [Prompts] Add option to delegate saving dspy model to
dspy.module.saveAPI (#19704, @WeichenXu123) - [Prompts / UI] Add traces mode to prompts details page and implement filtered traces (#19599, @TomeHirata)
- [Tracking] Support
mlflow.genai.to_predict_fnfor app invocation endpoints (#19779, @jennsun) - [Tracking] Add
log_streamAPI for logging binary streams as artifacts (#19104, @harupy) - [Tracking] Add
import_checkpointsAPI for databricks SGC Checkpointing with MLflow (#19839, @WeichenXu123) - [Tracking] Support GC clean up for Historical Jobs (#19626, @joelrobin18)
- [Tracking] Add
JupyterNotebookRunContextfor Tracking local Jupyter notebook as the source (#19162, @iyashk) - [Tracking] Full docker image support with db (#19979, @serena-ruan)
- [Tracking] Add react route handling to communicate with the tracking server (#19010, @BenWilson2)
- [Tracking] [TypeScript SDK] Simplify Databricks auth by delegating to Databricks SDK (#19434, @simonfaltum)
- [Models] Safe model serialization: Support saving pytorch model via
torch.export.save, addskopsserialization format, and deprecate unsafe pickle/cloudpickle formats (#18759, #18832, #19692, #20151, @WeichenXu123)
Bug fixes:
- [Gateway] Fix Anthropic and Gemini streaming for LiteLLM providers (#20398, @TomeHirata)
- [Build] Include git submodule contents in Python package build (#20394, @copilot-swe-agent)
- [Tracing] Fix duplicate traces in semantic kernel autolog (#20206, @harupy)
- [Tracing] Fix Claude autolog to prioritize settings.json over OS environment variables (#20376, @alkispoly-db)
- [Evaluation] Fix temperature/json issues with
ConversationSimulatoron managed (#20236, @xsh310) - [Tracing / UI] Add support for OpenAI function calling inputs in chat UI parsing (#20058, @daniellok-db)
- [Tracking] Update checking code for pickle deserialization (#20267, @WeichenXu123)
- [Gateway] Fix Vertex AI model configuration (#20242, @TomeHirata)
- [UI] Store gateway<>scorer binding correctly (#20176, @TomeHirata)
- [Evaluation] Support
SparkDFtrace handling in eval (#20207, @BenWilson2) - [Evaluation] Fix tool name extraction for tool call correctness (#20201, @smoorjani)
- [Prompts] Fix scorers issue in metaprompting (#20173, @chenmoneygithub)
- [UI] Propagate Run id context to Assistant (#20138, @joelrobin18)
- [Model Registry] Allow for model registration to use KMS auth from different workspace (#20156, @BenWilson2)
- [UI] Improve scorer trace picker UX and validation (#20178, @danielseong1)
- [Evaluation] Improve `Me...
v3.9.0rc0
We're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:
Major New Features:
- 🔮 MLflow Assistant: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating "Assistant" button in the bottom right of the MLflow UI to get started!
- 📈 Trace Overview Dashboard: You can now get insights into your agent's performance at a glance with the new "Overview" tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!
- ✨ AI Gateway: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the docs.
- 🔎 Online Monitoring with LLM Judges: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our pre-defined judges, or provide your own prompt and instructions to create custom metrics. Head to the new "Judges" tab within the GenAI Experiment UI to get started.
- 🤖 Judge Builder UI: Define and iterate on custom LLM judge prompts directly from the UI! Within the new "Judges" tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.
- 🔗 Distributed Tracing: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the
mlflow.tracing.distributedmodule (with more documentation to come soon). - 📚 MemAlign - a new judge optimizer algorithm: We're excited to introduce
MemAlignOptimizer, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.
Stay tuned for the full release, which will be packed with even more features and bugfixes.
To try out this release candidate, please run:
pip install mlflow==3.9.0rc0
Please try it out and report any issues on the issue tracker.
v3.8.1
MLflow 3.8.1 includes several bug fixes and documentation updates.
Bug fixes:
- [Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (#19563, @WeichenXu123)
- [Models / Scoring] fix(security): prevent command injection via malicious model artifacts (#19583, @ColeMurray)
- [Prompts] Fix prompt registration with model_config on Databricks (#19617, @TomeHirata)
- [UI] Fix UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (#19644, @copilot-swe-agent)
Small bug fixes and documentation updates:
v3.8.0
MLflow 3.8.0 includes several major features and improvements
Major Features
- ⚙️ Prompt Model Configuration: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (#18963, #19174, #19279, @chenmoneygithub)
- ⏳ In-Progress Trace Display: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (#19265, @B-Step62)
- ⚖️ DeepEval and RAGAS Judges Integration: New
get_judgeAPI enables using DeepEval and RAGAS evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (#18988, @smoorjani, #19345, @SomtochiUmeh) - 🛡️ Conversational Safety Scorer: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (#19106, @joelrobin18)
- ⚡ Conversational Tool Call Efficiency Scorer: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (#19245, @joelrobin18)
Important Notice
- Collection of UI Telemetry. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables:
MLFLOW_DISABLE_TELEMETRY=trueorDO_NOT_TRACK=true. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new "Settings" tab in the MLflow UI. For more information, please read the documentation on usage tracking.
Features:
- [Tracking] Add default passphrase support (#19360, @BenWilson2)
- [Tracing] Pydantic AI Stream support (#19118, @joelrobin18)
- [Docs] Deprecate Unity Catalog function integration in AI Gateway (#19457, @harupy)
- [Tracking] Add
--max-resultsoption to mlflow experiments search (#19359, @alkispoly-db) - [Tracking] Enhance encryption security (#19253, @BenWilson2)
- [Tracking] Fix and simplify Gateway store interfaces (#19346, @BenWilson2)
- [Evaluation] Add inference_params support for LLM Judges (#19152, @debu-sinha)
- [Tracing] Support batch span export to UC Table (#19324, @B-Step62)
- [Tracking] Add endpoint tags (#19308, @BenWilson2)
- [Docs / Evaluation] Add MLFLOW_GENAI_EVAL_MAX_SCORER_WORKERS to limit concurrent scorer execution (#19248, @debu-sinha)
- [Evaluation / Tracking] Enable search_datasets in Databricks managed MLflow (#19254, @alkispoly-db)
- [Prompts] render text prompt previews in markdown (#19200, @ispoljari)
- [UI] Add linked prompts filter for trace search tab (#19192, @TomeHirata)
- [Evaluation] Automatically wrap async functions when passed to predict_fn (#19249, @smoorjani)
- [Evaluation] [3/6][builtin judges] Conversational Role Adherence (#19247, @joelrobin18)
- [Tracking] [Endpoints] [1/x] Add backend DB tables for Endpoints (#19002, @BenWilson2)
- [Tracking] [Endpoints] [3/x] Entities base definitions (#19004, @BenWilson2)
- [Tracking] [Endpoints] [4/x] Abstract store interface (#19005, @BenWilson2)
- [Tracking] [Endpoints] [5/x] SQL Store backend for Endpoints (#19006, @BenWilson2)
- [Tracking] [Endpoints] [6/x] Protos and entities interfaces (#19007, @BenWilson2)
- [Tracking] [Endpoints] [7/x] Add rest store implementation (#19008, @BenWilson2)
- [Tracking] [Endpoints] [8/x] Add credential cache (#19014, @BenWilson2)
- [Tracking] [Endpoints] [9/x] Add provider, model, and configuration handling (#19009, @BenWilson2)
- [Evaluation / UI] Add show/hide visibility control for Evaluation runs chart view (#18797) (#18852, @pradpalnis)
- [Tracking] Add mlflow experiments get command (#19097, @alkispoly-db)
- [Server-infra] [ Gateway 1/10 ] Simplify secrets and masked secrets with map types (#19440, @BenWilson2)
Bug fixes:
- [Tracing / UI] Branch 3.8 patch: Fix GraphQL SearchRuns filter using invalid attribute key in trace comparison (#19526, @WeichenXu123)
- [Scoring / Tracking] Fix artifact download performance regression (#19520, @copilot-swe-agent)
- [Tracking] Fix SQLAlchemy alias conflict in
_search_runsfor dataset filters (#19498, @fredericosantos) - [Tracking] Add auth support for GraphQL routes (#19278, @BenWilson2)
- [] Fix SQL injection vulnerability in UC function execution (#19381, @harupy)
- [UI] Fix MultiIndex column search crash in dataset schema table (#19461, @copilot-swe-agent)
- [Tracking] Make datasource failures fail gracefully (#19469, @BenWilson2)
- [Tracing / Tracking] Fix litellm autolog for versions >= 1.78 (#19459, @harupy)
- [Model Registry / Tracking] Fix SQLAlchemy engine connection pool leak in model registry and job stores (#19386, @harupy)
- [UI] [Bug fix] Traces UI: Support filtering on assessments with multiple values (e.g. error and boolean) (#19262, @dbczumar)
- [Evaluation / Tracing] Fix error initialization in Feedback (#19340, @alkispoly-db)
- [Models] Switch container build to subprocess for Sagemaker (#19277, @BenWilson2)
- [Scoring] Fix scorers issue on Strands traces (#18835, @joelrobin18)
- [Tracking] Stop initializing backend stores in artifacts only mode (#19167, @mprahl)
- [Evaluation] Parallelize multi-turn session evaluation (#19222, @AveshCSingh)
- [Tracing] Add safe attribute capture for pydantic_ai (#19219, @BenWilson2)
- [Model Registry] Fix UC to UC copying regression (#19280, @BenWilson2)
- [Tracking] Fix artifact path traversal vector (#19260, @BenWilson2)
- [UI] Fix issue with auth controls on system metrics (#19283, @BenWilson2)
- [Models] Add context loading for ChatModel (#19250, @BenWilson2)
- [Tracing] Fix trace decorators usage for LangGraph async callers (#19228, @BenWilson2)
- [Tracking] Update docker compose to use --artifacts-destination not --default-artifact-root (#19215, @B-Step62)
- [Build] Reduce clint error message verbosity by consolidating README instructions (#19155, @copilot-swe-agent)
Documentation updates:
- [Docs] Add specific references for correctness scorers (#19472, @BenWilson2)
- [Docs] Add documentation for Fluency scorer (#19481, @alkispoly-db)
- [Docs] Update eval quickstart to put all code into a script (#19444, @achen530)
- [Docs] Add documentation for KnowledgeRetention scorer (#19478, @alkispoly-db)
- [Evaluation] Fix non-reproducible code examples in deep-learning.mdx (#19376, @saumilyagupta)
- [Docs / Evaluation] fix: Confusing documentation for
mlflow.genai.evaluate()(#19380, @brandonhawi) - [Docs] Deprecate model logging of OpenAI flavor (#19325, @TomeHirata)
- [Docs] Add rounded corners to video elements in documentation (#19231, @copilot-swe-agent)
- [Docs] Sync Python/TypeScript tab selections in tracing quickstart docs (#19184, @copilot-swe-agent)
Small bug fixes and documentation updates:
#19497, #19358, #19322, #19383, #19288, #19287, #19230, #19225, @xsh310; #19504, @WeichenXu123; #19499, #19465, #19241, @B-Step62; #19479, #19385, #19297, #19347, #19314, #19286, #19269, @TomeHirata; #18894, @BnnaFish; #19480, #19427, #19351, #19312, #19292, #19303, #19291, #19418, #19395, #19240, #19267, #19102, #19082, #19076, @daniellok-db; #19463, #19370, #19369, #19368, #19367, #19366, #19363, #19354, #19302, #19272, #19266, #19258, #19255, #19242, #19236, #19235, #19203, #19214, #19212, #19210, #19204, #19197, #19196, #19194, #19190, #19182, #19178, #19179, #19163, #19157, #19150, #19137, #19132, #19114, #19115, #19113, #19112, #19111, #19110, #19107, #19091, #19090, #19078, @copilot-swe-agent; #19437, @SomtochiUmeh; #19420, #19329, #19317, #19207, #19086, @kevin-lyn; #19339, #19263, #19438, #19412, #19411, #19355, #19341, #19034, #19029, #19252, @smoorjani; #19416, #19399, #19402, #19353, #19313, #19296, #19294, #19264, #19202, #19206, #19165, #19161, #19158, #19126, #19147, #19099, @harupy; #19357, #19343, #19342, #19335, #19261, #19226, #19227, @BenWilson2; #19344, #19331, #19270, #19239, #19211, @serena-ruan; #19323, @bbqiu; #19373, @alkispoly-db; #19320, #19311, @kriscon-db; #19309, @stefanwayon; #19063, @cyficowley; #19160, @Killian-fal; #19142, #19141, @dbczumar; #19089, @hubertzub-db; #19098, @achen530
v3.8.0rc0
MLflow 3.8.0rc0 includes several major features and improvements. More features to come in the final 3.8.0 release!
To try out this release candidate:
pip install mlflow==3.8.0rc0Major Features
- ⚙️ Prompt Model Configuration: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (#18963, #19174, #19279, @chenmoneygithub)
- ⏳ In-Progress Trace Display: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (#19265, @B-Step62)
- ⚖️ DeepEval Judges Integration: New
get_judgeAPI enables using DeepEval's evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (#18988, @smoorjani) - 🛡️ Conversational Safety Scorer: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (#19106, @joelrobin18)
- ⚡ Conversational Tool Call Efficiency Scorer: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (#19245, @joelrobin18)
v3.7.0
MLflow 3.7.0 includes several major features and improvements for GenAI Observability, Evaluation, and Prompt Management.
Major Features
- 📝 Experiment Prompts UI: New prompts functionality in the experiment UI allows you to manage and search prompts directly within experiments, with support for filter strings and prompt version search in traces. (#19156, #18919, #18906, @TomeHirata)
- 💬 Multi-turn Evaluation Support: Enhanced
mlflow.genai.evaluatenow supports multi-turn conversations, enabling comprehensive assessment of conversational AI applications with DataFrame and list inputs. (#18971, @AveshCSingh) - ⚖️ Trace Comparison: New side-by-side comparison view in the Traces UI allows you to analyze and debug LLM application behavior across different runs, making it easier to identify regressions and improvements. (#17138, @joelrobin18)
- 🌐 Gemini TypeScript SDK: Auto-tracing support for Google's Gemini in TypeScript, expanding MLflow's observability capabilities for JavaScript/TypeScript AI applications. (#18207, @joelrobin18)
- 🎯 Structured Outputs in Judges: The
make_judgeAPI now supports structured outputs, enabling more precise and programmatically consumable evaluation results. (#18529, @TomeHirata) - 🔗 VoltAgent Tracing: Added auto-tracing support for VoltAgent, extending MLflow's observability to this AI agent framework. (#19041, @joelrobin18)
Breaking Changes
- [Tracking] SQLite is now the default backend for the MLflow Tracking server. (#18497, @harupy)
- [Models] Remove deprecated
divinerflavor (#18808, @copilot-swe-agent) - [Models] Remove deprecated
promptflowflavor (#18805, @copilot-swe-agent)
Features
- [Tracking] Create parent directories for SQLite database files (#19205, @harupy)
- [Prompts] Link Prompts and Experiments when prompts are loaded/registered (#18883, @TomeHirata)
- [Tracking] Include environment variable fallback for SGC run resumption (#19143, @artjen)
- [Tracking] Add support for SGC run resumption from Databricks Jobs (#19015, @artjen)
- [Evaluation] Add
--builtin/-bflag tomlflow scorers listcommand (#19095, @alkispoly-db) - [Tracing] Pydantic AI Chat UI support (#18777, @joelrobin18)
- [Tracking] Add auth support for scorers (#18699, @BenWilson2)
- [Evaluation] Remove experimental flags from scorers (#18122, @BenWilson2)
- [Evaluation] Add description field to all built-in scorers (#18547, @alkispoly-db)
Bug Fixes
- [Tracing] Handle traces with third-party generic root span (#19217, @B-Step62)
- [Tracing] Fix OTLP endpoint path handling per OpenTelemetry spec (#19154, @harupy)
- [Tracing] Add gzip/deflate Content-Encoding support to OTLP traces endpoint (#19024, @Miaoxiang-philips)
- [Tracing] Add missing
_delete_trace_tag_v3API (#18813, @Tian-Sky-Lan) - [Tracing] Fix bug in chat sessions view where new sessions created after UI launch are not visible due to incorrect timestamp filtering (#18928, @dbczumar)
- [Tracing] Fix OTLP proto conversion for empty list/dict (#18958, @B-Step62)
- [Tracing] Agno V2 fixes (#18345, @joelrobin18)
- [Tracing] Fix
/v1/tracesendpoint to return protobuf instead of JSON (#18929, @copilot-swe-agent) - [Tracing] Pin
click!=8.3.0in MCP extra to fix MCP server failure (#18748, @copilot-swe-agent) - [Tracing] Fix MCP server
uvinstallation command for external users (#18745, @copilot-swe-agent) - [Evaluation] Fix trace-based scorer evaluation by using agentic judge adapter (#19123, @alkispoly-db)
- [Evaluation] Fix managed scorer registration failure (#19146, @xsh310)
- [Evaluation] Fix
InstructionsJudgeusing scorer description as assessment value (#19121, @alkispoly-db) - [Evaluation] Add validation to correctness judge expectation fields (#19026, @smoorjani)
- [Evaluation] Fix model URI underscore handling (#18849, @RohanRouth)
- [Evaluation] Fix
evaluate_tracesMCP tool error: useresult_dfinstead oftables(#18825, @alkispoly-db) - [Evaluation] Fix Bedrock Anthropic adapter by adding required
anthropic_versionfield (#17744, @harupy) - [Evaluation] Fix migration for pre-existing auth tables (#18793, @BenWilson2)
- [Tracking] Fix tracking URI propagation (#18023, @shaperilio)
- [Tracking] Fix
SqlLoggedModelMetricassociation withexperiment_id(#18382, @mcompen) - [Tracking] Add Flask routes to auth validators (#18486, @BenWilson2)
- [Tracking] Add missing proto handler for Experiment association handling for datasets (#18769, @BenWilson2)
- [UI] Show full dataset record content and add search bar in evaluation datasets UI (#19000, @dbczumar)
- [UI] Request TraceInfo and Trace Assessments from a relative API path (#19032, @kbolashev)
- [UI] Define
LoggedModelOutput.to_dictionary()soLoggedModelOutputand runs containing them can be JSON serialized (#19017, @nicklamiller) - [UI] Fix router issue in TracesUI page (#19044, @joelrobin18)
- [Build] Fix
mlflow gcto remove model artifacts (#17282, @joelrobin18) - [Build] Fix Click 8.3.0
Sentinel.UNSEThandling in MCP server (#18858, @harupy) - [Build] Add bucket-ownership checks for Amazon S3 (#18542, @kingroryg)
- [Docs] Fix Python indentation in custom trace quickstart example (#19185, @copilot-swe-agent)
- [Docs] Fix property blocks rendering horizontally in API documentation (#19125, @copilot-swe-agent)
- [Docs] Fix CLI link missing api_reference prefix in documentation sidebars (#18893, @copilot-swe-agent)
- [Docs] Fix notebook download URLs to use versioned paths (#18806, @harupy)
- [Docs] Fix documentation redirects for removed getting-started pages (#18789, @copilot-swe-agent)
- [Models] Fix shared cluster Py4j statefulness issue (#19139, @BenWilson2)
- [Models] Prevent symlink path traversal in local artifact store (#18964, @BenWilson2)
Documentation Updates
- [Docs] Add LangGraph optimization guide (#19180, @TomeHirata)
- [Docs] Add documentation for milestone 1 of multi-turn evaluation support (#19033, @smoorjani)
- [Docs] Update transformers and sentence transformers docs (#18925, @BenWilson2)
- [Docs] Clean up Classic Eval docs (#19013, @BenWilson2)
- [Docs] Improve documentation for
prompt_template(#19105, @ingo-stallknecht) - [Docs] Fix typos in ML documentation main page (#19048, @copilot-swe-agent)
- [Docs] Convert documentation GIF animations to MP4 videos (#18946, @harupy)
- [Docs] Improve readability by adjusting sidebar layout and style (#18937, @kevin-lyn)
- [Docs] Clean up scikit-learn docs (#18794, @BenWilson2)
- [Docs] Clean up XGBoost docs (#18790, @BenWilson2)
- [Docs] Clean up TensorFlow docs (#18850, @BenWilson2)
- [Docs] Use the correct OTLP HTTP exporter in OTel collector YAML (#18930, @Miaoxiang-philips)
- [Docs] Clean up SpaCy and Keras docs (#18895, @BenWilson2)
- [Docs] Fix contents in tracing doc pages (#18750, @B-Step62)
- [Docs] Improve file store deprecation warning messages (#18900, @harupy)
- [Docs] Clean up the MLflow 3 docs content (#18871, @BenWilson2)
- [Docs] Add multi-turn judge creation with
make_judgeAPI and direct judge invocation (#18897, @xsh310) - [Docs] Clean up PyTorch docs (#18816, @BenWilson2)
- [Docs] Clean up Prophet docs (#18814, @BenWilson2)
- [Docs] Clean up SparkML docs (#18811, @BenWilson2)
- [Docs] Clean up the traditional ML landing page (#18799, @BenWilson2)
- [Docs] Clean up the Deep Learning landing page (#18820, @BenWilson2)
- [Docs] Clean up evaluation datasets docs (#18766, @BenWilson2)
- [Docs] Fix OpenTelemetry documentation (#18810, @joelrobin18)
- [Docs] Clarify
mlflow gccommand behavior for pinned runs and registered models (#18704, @copilot-swe-agent)
Small bug fixes and documentation updates:
#19220, #19140, #19141, #18984, #18985, #18822, @dbczumar; #19148, @ingo-stallknecht; #19183, #19201, #19130, #19049, #19030, #18778, #18780, #18556, #18555, @serena-ruan; #19153, #19181, #18784, #18783, #18802, #18881, #18695, #18879, #18782, #18845, #18787, #18786, #18590, @B-Step62; #19208, #19021, #19023, #18723, #18622, @smoorjani; #13314, @alokshenoy; #19138, #19171, #19146, #19067, #19064, #19045, #18968, #18967, #19018, #18966, #18990, #18912, @xsh310; #19168, @mcompen; #19145, #18702, #18642, @BenWilson2; #19126, #19022, #18951, #18887, #18954, #18949, #18934, #18914, #18903, #18877, #18859, #18838, #18828, #18821, #18717, #18710, #18756, #18713, @harupy; #18890, #18862, #18836, #18792, #18818, #18579, @TomeHirata; #19084, #18886, #18911, #18904, #18885, #18837, #18795, #18646, @daniellok-db; #18992, #19025, #19020, #18950, @kevin-lyn; #19069, #19072, #19043, #19027, #19028, #19019, #18995, #18997, #18989, #18991, #18987, #18983, #18980, #18979, #18974, #18972, #18969, #18948, #18940, #18942, #18939, #18938, #18933, #18932, #18931, #18915, #18882, #18865, #18861, #18860, #18846, #18841, #18830, #18824, #18823, #18819, #18789, #18804, #18779, #18775, #18772, #18704, #18606, #18748, #18746, #18745, #18743, #18732, #18737, #18736, #18729, #18718, #18703, #18693, #18686, #18682, #18633, #18675, #18671, #18653, #18652, @copilot-swe-agent; #19001, #18945, @danielseong1; #18815, @kevin-wangg; #19039, #18898, @AveshCSingh; #18742, @Killian-fal; #18923, @HomeLH; #18922, #18920, @UnfixedMold; #18798, @WeichenXu123; #18776, @pcliupc; #18417, @shaperilio
v2.22.4
Version 2.22.4 is a patch release to backport several important fixes to MLflow 2.