pypi mlflow 3.18.0
MLflow 3.18.0

2 days ago

MLflow 3.18.0 helps you reuse agent expertise, find regressions before shipping, and monitor quality in production.

Major New Features

Breaking Changes

  • [Tracking] Filter and sort search_logged_models metrics by the highest step, then latest timestamp, on SQL stores; apply datasets to both filtering and sorting (#27215, @agtzrubio)
  • [Model Registry] Stop adding registered_model_meta to models:/ downloads; custom readers should use the URI or Model Registry (#27173, @sunilmehta-si)
  • [Tracking] Make MCP server version identity case-sensitive on MySQL and SQL Server; correct case-mismatched references before upgrading (#25920, @LobsterQBA)

Database upgrade: Back up the SQL backend and plan a maintenance window. Stop MLflow servers and other writers, run mlflow db upgrade <database-url> with MLflow 3.18.0, and restart on the new version. The MCP version migration checks MySQL and SQL Server references for exact-case matches and stops before its own schema changes if correction is required. On case-insensitive databases, registry and MCP permissions now use stored resource names. Re-save differently cased grants under the stored spelling. Follow the database upgrade guidance.

Other Assorted Features & Improvements:

  • [UI] Choose the target agent first when installing a skill, with agent icons in the selector (#27457, @B-Step62)
  • [Evaluation / Tracing] Remove expired experimental status from UnityCatalog trace locations and Google ADK scorer APIs (#27379, @mlflow-app)
  • [Docs / Evaluation / Gateway] Support Databricks System One models in custom and Guidelines judges (#27345, @B-Step62)
  • [Docs / Models] Refuse model-supplied code with MLFLOW_ALLOW_MODEL_CODE_EXECUTION=false; deprecate MLFLOW_ALLOW_PICKLE_DESERIALIZATION while preserving its pickle-only behavior (#27000, @joshuawong-db)
  • [UI] Add saved custom trace views to review queue focused review (#26913, @joshuawong-db)
  • [Build] Add opt-in CPU and memory autoscaling to the Helm chart (#26888, @DrTuup)
  • [Evaluation / Tracing / UI] Add GenAI journey overview (#26636, @B-Step62)
  • [Docs / Evaluation] Add an experimental quality_criteria parameter to mlflow.genai.evaluate (#26471, @joshuawong-db)
  • [Docs / Evaluation / Prompts / Tracking / UI] Support presigned artifact flows in the UI (#26268, @NeriCarcasci)
  • [Docs / Tracking] Add presigned-only artifact server mode (#25513, @NeriCarcasci)
  • [Evaluation / Tracing] Allow offline session scorers to select a hierarchical session level with session_level (#26443, @alkispoly-db)
  • [Tracing] Allow session_id to be a list in update_current_trace and tracing.context to identify hierarchical sessions (#26413, @alkispoly-db)
  • [Tracing / UI] Add TraceAudio to custom trace views (#26452, @chris-chieu)
  • [Tracing / UI] Show OpenAI Decisions in the v2 trace viewer (#26577, @B-Step62)
  • [Tracing] Trace OpenAI Decisions calls in TypeScript (#26576, @B-Step62)
  • [Docs / Tracing / Tracking] Trace OpenAI Decisions calls in Python (#26575, @B-Step62)
  • [UI] Allow resizing the experiment run Columns selector on desktop (#26313, @LockedThread)

Bug fixes:

  • [UI] Center issue-detection run-history status icons and labels with the other columns (#27449, @B-Step62)
  • [UI] Match Traces toolbar icons and the Traces/Sessions switcher to the current visual style (#27451, @B-Step62)
  • [UI] Update the Sessions empty state to point to the current Traces/Sessions switcher (#27450, @B-Step62)
  • [UI] Show a skill-folder URL in the registration example (#27455, @B-Step62)
  • [UI] Clarify single-skill registration and provide a tip for importing multiple skills (#27458, @B-Step62)
  • [Tracking] Apply dataset authorization to the same experiment IDs parsed by the request handlers (#27441, @kriscon-db)
  • [UI] Scope users/list to the requested workspace (#27270, @a-gajam)
  • [Gateway] Take the final input and cache token counts from Anthropic message_delta (#26908, @pcbeingused333)
  • [Tracking] Create server-info CapacityLimiter lazily to support anyio < 4.2 (#27405, @mlflow-app)
  • [Tracing] Upload attachments of spans in remote (distributed) traces (#27272, @vincedc)
  • [Tracking] Validate storage account names in wasbs:// URIs (#27396, @kriscon-db)
  • [Docs / Tracking] Match IP-shaped allowed-host patterns only against IP addresses (#27384, @kriscon-db)
  • [Docs / Model Registry / Prompts] Reject registered model/prompt rename onto a name where users already have direct grants (#27380, @kriscon-db)
  • [Gateway] Route guardrail sanitization calls to the server's own address (#27383, @kriscon-db)
  • [Model Registry / Prompts] Require the stored name spelling for admin registered model, prompt, and MCP server deletes (#27378, @kriscon-db)
  • [Tracing] Skip LLM cost on AGENT spans at store time and record Strands cache tokens (#27371, @mlflow-app)
  • [Docs / Model Registry / Prompts] Reject registered model/prompt rename while a named role has an exact-name grant on the old or new name (#27370, @mlflow-app)
  • [Gateway / Tracing] Use prices from an explicitly set MLFLOW_MODEL_CATALOG_URI before litellm in trace cost calculation (#27369, @mlflow-app)
  • [Evaluation] Fix DeepEvalScorer returning another row's results under concurrent scoring (#27368, @mlflow-app)
  • [Gateway] Terminate AI Gateway streaming chat responses with data: [DONE] (#27340, @mlflow-app)
  • [Tracking] Fix compute_pandas_digest failure on empty Arrow-backed string columns (#27359, @mlflow-app)
  • [Tracking] Fix basic-auth _find_validator missing GetWorkspace validator for concrete workspace paths (#27355, @mlflow-app)
  • [Evaluation] Fix bedrock:/ judges without a trace raising NotImplementedError in GatewayAdapter (#27322, @mlflow-app)
  • [Model Registry / Tracking] Don't resend POST writes that the server may have already processed (#27329, @kriscon-db)
  • [UI] Stop timing an unfinished issue detection run against now (#27336, @tanghaoji)
  • [Tracing] Restore CrewAI autologging with CrewAI 1.15.29, including individual native tool spans and correct parent spans (#27357, @B-Step62)
  • [Build / Tracking] Retry artifact-server capability discovery after a transient failure instead of caching the failure for the session (#27335, @mlflow-app)
  • [Tracing] Stream stored spans in the log_spans usage recompute (#27255, @rhamzatov)
  • [Tracing] Record token usage for Groq embedding calls in mlflow.groq.autolog (#27294, @mlflow-app)
  • [Model Registry / Tracking] Show server error codes and messages for 5xx responses in REST tracking and registry clients (#27304, @mlflow-app)
  • [Scoring] Fix absolute symlinks in spark_udf environment archives (#26668, @B-Step62)
  • [Tracing] Align trace id handling in SqlAlchemyStore with FileStore (#27311, @kriscon-db)
  • [Tracing] Align FileStore.start_trace assessment handling with SqlAlchemyStore (#27309, @kriscon-db)
  • [Tracing] Handle system trace tags consistently when traces are written (#27307, @kriscon-db)
  • [UI] Send the Compare with AI prompt instead of only prefilling it (#27242, @joshuawong-db)
  • [Tracing / Tracking] Fix FileStore trace path traversal (CVE-2026-53995) (#26842, @SaiTeja-Erukude)
  • [Evaluation / Tracking] Reach the store, not the server, from the evaluate and detection jobs (#27256, @tanghaoji)
  • [Model Registry / Prompts] Apply registry and MCP permissions to stored resource names on case-insensitive databases; re-save differently cased grants (#27230, @joshuawong-db)
  • [Tracing] Price databricks- model names from the Databricks catalog even when a provider is set (#27282, @kriscon-db)
  • [Gateway] Emit a named error event for Anthropic passthrough streaming failures (#25978, @rhamzatov)
  • [Tracking] Preserve image DataFrames in log_table (#26936, @sushu0)
  • [UI] Keep the role selector on assistant messages that users write in the Prompt Playground (#27271, @joelrobin18)
  • [UI] Use the default icon colors for the traces toolbar view toggle and Display button (#27244, @joshuawong-db)
  • [Evaluation] Keep a detection run open until its issues exist (#27227, @tanghaoji)
  • [Evaluation / Gateway] Fix gateway:/ judge guardrails in the server process (#27147, @joshuawong-db)
  • [Evaluation / Tracing] Exclude Google ADK's synthetic merged-tools span from tool-call scoring and prevent DeepEval failures on parallel tool calls (#27269, @mlflow-app)
  • [Evaluation] Link demo evaluation runs to their registered datasets (#27262, @joshuawong-db)
  • [UI] Keep the Overview Detect Issues button clear of the scroll bar (#27245, @joshuawong-db)
  • [Server-infra / Tracing] Stop search_traces promising a page behind a result set that ends evenly (#27260, @tanghaoji)
  • [Tracking] Ignore . path segments when authorizing artifact proxy requests (#27229, @joshuawong-db)
  • [Gateway] Refresh gateway budget policies from every workspace, not just the active one (#26074, @rhamzatov)
  • [UI] Exclude issue references from trace drawer assessment counts (#27239, @joshuawong-db)
  • [UI] Exclude issue detection runs from the eval run compare picker (#27237, @joshuawong-db)
  • [Docs / Models] Respect MLFLOW_ALLOW_MODEL_CODE_EXECUTION when loading LlamaIndex settings (#27231, @joshuawong-db)
  • [UI] Pass the API key to the sandboxed Codex CLI as CODEX_API_KEY (#27074, @kriscon-db)
  • [UI] Make the eval run sidebar toggle opaque (#27243, @joshuawong-db)
  • [Evaluation] Require admin to submit jobs through the generic jobs endpoint (#27228, @joshuawong-db)
  • [Evaluation] Only construct BuiltInScorer subclasses when deserializing built-in scorers (#27035, @joshuawong-db)
  • [UI] Draw a single divider between comparison header columns (#27238, @joshuawong-db)
  • [Evaluation] Refresh the dataset profile and record count after EvaluationDataset.delete_records() (#27247, @mlflow-app)
  • [Tracking] Fix Optuna study listing and loading when a study has trial runs (#27205, @mlflow-app)
  • [Tracking] Fix proxied multipart artifact uploads for absolute and Windows local paths (#27194, @mlflow-app)
  • [Model Registry] Raise from register_model when Databricks Model Serving can't serve the model (#27161, @erarpitagarwal)
  • [Gateway] Fix AI Gateway Mistral reasoning-model responses by returning text without unsupported thinking chunks (#27145, @mlflow-app)
  • [Tracking] Validate roles/list and create_role workspaces; use sender_is_admin in GraphQL (#27171, @a-gajam)
  • [Tracking] Don't log the backend store URI after a CASCADE workspace delete (#27175, @a-gajam)
  • [Tracing / Tracking] Add a seekable leading bound to the spans keyset in trace analytics migration 75868b020152 (#26710, @MatasVS)
  • [Tracking] Preserve files named like their parent directory in proxied artifact listings and downloads (#27191, @mlflow-app)
  • [UI] Stop pinning the Issues-tab evidence card's "Open trace", and drop a count it cannot know (#27226, @tanghaoji)
  • [Model Registry] Fix webhook delivery on urllib3 1.x and skip session creation when no webhooks are registered (#27221, @mlflow-app)
  • [Tracing / Tracking] Make mlflow.openai.autolog() and other flavor autologging work on mlflow-skinny without numpy and pandas (#27038, @joshuawong-db)
  • [Build] Allow pyarrow 26 in core dependencies (#27216, @copilot-swe-agent)
  • [Build] Refresh Docker base image to remove compromised CA trust (#27199, @copilot-swe-agent)
  • [Model Registry / Prompts] Reject * as a registered model or prompt name when auth is enabled (#27202, @a-gajam)
  • [Tracking] Authorize the run and logged model IDs that handlers act on (#27167, @joshuawong-db)
  • [Tracing] Record refusal text in streamed TypeScript OpenAI chat traces (#27185, @mlflow-app)
  • [Tracing] Include cache-read and cache-creation tokens in TypeScript Anthropic input and total token counts (#27188, @mlflow-app)
  • [Evaluation] Allow ConversationSimulator goal checks with Anthropic models that reject non-default temperature (#27170, @mlflow-app)
  • [Tracking] Preserve explicit timestamp=0 in mlflow.log_image and MlflowClient.log_image (#27179, @mlflow-app)
  • [Tracing] Keep trace writes inside the experiment they are logged to (#27168, @joshuawong-db)
  • [Gateway] Validate Vertex AI location before building the request host (#27166, @joshuawong-db)
  • [Tracking] Reject auth store values the database would refuse; stop leaking IntegrityError (#27160, @a-gajam)
  • [Evaluation / Tracing] Use gen_ai.tool.name for tool-call scoring of Google ADK and other GenAI semantic-convention traces (#27157, @mlflow-app)
  • [Tracing] Keep tool calls and finish_reason in streamed OpenAI chat traces (#26973, @pcbeingused333)
  • [Evaluation] Fix RetrievalRelevance fanout accounting in the scorer rate limiter (#26499, @james-fletcher-db)
  • [Gateway] Report Bedrock context-window and guardrail stop reasons as length and content_filter in AI Gateway (#27096, @mlflow-app)
  • [UI] Fix review queue drawer notifications (#27028, @d0w)
  • [Evaluation / Tracking] Refresh dataset digest, schema, and profile after EvaluationDataset.merge_records() (#27119, @mlflow-app)
  • [Models / Projects] Restore packaged uv project environments without trying to install missing root-project sources (#27099, @mlflow-app)
  • [Tracking] Read DELETE request params like the handlers do in basic-auth (#27132, @joshuawong-db)
  • [Tracking] Validate model ids as single path components in FileStore.log_outputs (#27131, @joshuawong-db)
  • [Tracing] Stop bound methods from exposing tool API keys in mlflow.crewai spans (#27130, @joshuawong-db)
  • [Tracing] Skip credential attributes in mlflow.smolagents model spans (#27129, @joshuawong-db)
  • [Tracking] Use the same run id in upload_artifact_handler as the permission check (#27128, @joshuawong-db)
  • [Projects / Tracking] Preserve literal percent characters in SQLite tracking paths with SQLAlchemy 2.1 (#27102, @mlflow-app)
  • [Tracing] Preserve the OTLP span kind in Span.from_otel_proto, to_dict, from_dict and to_otel_proto (#26949, @selimaytac)
  • [Tracking] Use the client's tracking URI for run lookup in MlflowClient.load_table() (#27057, @mlflow-app)
  • [Gateway] Map Gemini safety blocks to content_filter in the gateway (#27018, @astroknot-sheep)
  • [Tracking] Preserve existing string and timestamp values when appending to JSON tables with log_table (#27061, @mlflow-app)
  • [Tracing] Exclude potentially sensitive extra_headers and headers LM kwargs from DSPy autologging (#27067, @mlflow-app)
  • [Tracing / Tracking] Block client writes to the mlflow.artifactLocation trace tag (#27031, @joshuawong-db)
  • [Tracking] Ignore case when matching the reserved workspaces/ artifact prefix (#27039, @joshuawong-db)
  • [Tracking] Ignore case when classifying artifact proxy path tiers (#27037, @joshuawong-db)
  • [Tracking] Strip the static prefix before matching public routes in is_unprotected_route (#27036, @joshuawong-db)
  • [Scoring] Preserve nulls in optional boolean, string, and binary model-serving inputs (#27026, @mlflow-app)
  • [Tracing] Keep traces for tools declared without parameter properties (#26974, @pcbeingused333)
  • [Tracing] Keep traced string outputs that look like JSON as strings when logging spans to the SQL store (#26968, @r14dd)
  • [Tracing / UI] Fix the span search crash on deeply nested traces and show OTel span cache tokens in the trace explorer (#26794, @joshuawong-db)
  • [Tracking] Validate trace ids as single path components in FileStore (#26979, @tanghaoji)
  • [Docs / Evaluation / Tracking] Match scorer names exactly on MySQL and SQL Server and reject registrations that differ only by case or accents (#26977, @kriscon-db)
  • [Evaluation] Keep the result of a custom @scorer whose body is on the def line (#26972, @kriscon-db)
  • [Tracing] Parallelize archived trace payload deletion in SqlAlchemyStore (#26985, @its-amann)
  • [Models] Infer schemas for unnamed pandas Series with missing values instead of falling back to AnyType (#26998, @mlflow-app)
  • [Gateway] Preserve Anthropic refusal and context-window stop reasons in AI Gateway chat responses (#26995, @mlflow-app)
  • [Tracking] Fix MCP tool discovery to try matching endpoints in order (#26948, @dbasunag)
  • [Docs / Evaluation / Model Registry / Tracking / UI] Fix presigned artifact transfer regressions (#26978, @mprahl)
  • [Tracing] Record the final response and token usage for incomplete or failed OpenAI Responses streams (#26818, @mlflow-app)
  • [Tracking] Apply permission grants to every spelling of an experiment ID (#26917, @kriscon-db)
  • [Tracking] Set a job's workspace only for its thread in the Huey job consumer (#26963, @kriscon-db)
  • [Evaluation] Refuse custom scorer jobs that the custom scorer backend cannot run (#26958, @kriscon-db)
  • [Evaluation] Check the job executor backends when server processes start, and log a repeated online scoring scheduler failure once (#26879, @kriscon-db)
  • [Tracing] Store traces with NUL-containing request or response previews on PostgreSQL by replacing NUL in the preview (#26966, @mlflow-app)
  • [Tracing / UI] Render PydanticAI conversations once, in order, in the trace span view (#26937, @mlflow-app)
  • [Tracking] Stop mlflow server when its job runner fails (#26878, @kriscon-db)
  • [Evaluation] Reject a custom scorer whose source code is empty or cannot be read (#26872, @kriscon-db)
  • [Evaluation / Tracking] Check scorer permissions on the online scoring config endpoints (#26877, @kriscon-db)
  • [Evaluation] Use the stored JSON of a registered scorer in the invoke and evaluate handlers (#26874, @kriscon-db)
  • [Tracking] Forward the output of local executor jobs to the server log (#26875, @kriscon-db)
  • [Evaluation] Say when a job container ran out of memory (#26871, @kriscon-db)
  • [Tracing] Preserve span link IDs during OTLP JSON ingestion in otel_api.py (#26940, @vatsalyd)
  • [Tracking] Prefer MCP access endpoints over server.json remotes during tool refresh (#26719, @dbasunag)
  • [Tracking] Accept the attributes. prefix in search_experiments filter strings (#26923, @Blacksujit)
  • [Tracking] Prevent import-hook deadlocks during concurrent module imports (#26928, @mlflow-app)
  • [Tracking] Log async tag and param batches of the same run in submission order (#26804, @maharanay22)
  • [Docs / Evaluation / Tracing] Warn and keep traces when mlflow.genai.evaluate cannot resolve mlflow.eval.requestId (#26769, @chris-chieu)
  • [Tracking / UI] Fix pagination for the experiment Issues tab (#26857, @tanghaoji)
  • [Tracing] Return JSON OTLP responses for JSON-encoded requests to /v1/traces (#26853, @mlflow-app)
  • [Tracking] Retry invalid Databricks host input during mlflow.login() and show the entered host in errors (#26886, @mlflow-app)
  • [Tracking] Preserve literal paths in local SQLite tracking URIs (#26555, @copilot-swe-agent)
  • [Gateway] Report Bedrock prompt cache tokens in gateway usage (#26835, @r14dd)
  • [Tracking] Reject forwarded requests in the MLflow Assistant localhost gate (#26866, @tanghaoji)
  • [Tracking] Require role identifiers in a request to agree in _get_role_workspace_from_request (#26864, @tanghaoji)
  • [Models] Run the pickle guard before importing the artifact-named pickle module in mlflow.pytorch (#26863, @tanghaoji)
  • [Gateway] Fix empty Bedrock AI Gateway chat responses for inference profile ARNs with API key auth (#26792, @kimnamu)
  • [Evaluation] Accept NumPy scalar values returned by GenAI scorers (#26805, @maharanay22)
  • [Tracing / UI] Count sessions in the Traces tab footer when grouping by session (#26408, @AbdulAliMamnun)
  • [Evaluation / Prompts] Fix format_prompt replacing placeholders that appear inside variable values (#26807, @sayaksatpathi)
  • [UI] Prevent stale artifact-image responses from replacing the current preview (#26829, @mlflow-app)
  • [Gateway / UI] Fix Gateway Usage Logs filtering by the authenticated user (#26827, @mlflow-app)
  • [Tracing] Preserve selected null-valued fields in trace CLI --extract-fields output (#26824, @mlflow-app)
  • [Tracking] Load YAML artifacts written by mlflow.log_dict with mlflow.artifacts.load_dict (#26822, @mlflow-app)
  • [Tracking] Require server opt-in before advertising proxied multipart transfers to clients (#26819, @mlflow-app)
  • [Gateway] Number streamed Bedrock tool calls from 0 regardless of text blocks (#26526, @r14dd)
  • [Evaluation] Report the underlying prediction error when mlflow.genai.evaluate() produces no trace (#26767, @mlflow-app)
  • [Tracing] Fix search_traces ordering by end_time in the SQL store (#26761, @porkedchop)
  • [Tracing / Tracking] Fix strands, semantic_kernel and haystack autolog exporting every span twice with a shared tracer provider (#26734, @LeviLong01)
  • [Tracking] Preserve explicit timestamp=0 in mlflow.log_metric and mlflow.log_metrics (#26765, @mlflow-app)
  • [Tracking] Pad Azure block IDs in AzureBlobArtifactRepository.create_multipart_upload to a fixed length (#26756, @github-actions)
  • [UI] Refresh the datasets list after creating a dataset (#26682, @github-actions)
  • [Gateway] Include Gemini thinking tokens in Gateway output usage (#26746, @copilot-swe-agent)
  • [Tracing] Count Gemini thoughts_token_count as output tokens in mlflow.gemini.autolog (#26744, @github-actions)
  • [UI] Keep separate bars for same-named runs in bar chart image export (#26732, @github-actions)
  • [Models] Handle None default for datetime ParamSpec in to_dict (#26729, @anishmehta24)
  • [Evaluation] Don't modify the caller's records in EvaluationDataset.merge_records (#26730, @anishmehta24)
  • [Evaluation / UI] Normalize dataset list timestamps in useDatasetsPageQuery (#26721, @copilot-swe-agent)
  • [UI] Respect MLFLOW_DISABLE_TELEMETRY in the UI banner and settings (#26699, @copilot-swe-agent)
  • [Evaluation] Pass trace inputs and outputs to custom scorers that the server runs (#26690, @kriscon-db)
  • [Tracing] Fix mlflow.openai.autolog() tracing for streams closed early (#26667, @copilot-swe-agent)
  • [Build] Build development Assistant sandbox fallback images from the server's source and show failed build output (#26536, @kriscon-db)
  • [Tracing / UI] Restore View All for time-filtered OSS traces (#26593, @B-Step62)
  • [Tracking] Use re.fullmatch in name/ID validators to reject trailing newlines (#26485, @kayzenline)
  • [UI] Disable experiments Delete button when no checked experiment is in the current list (#26677, @github-actions)
  • [Scoring] Preserve datetime values in Array(datetime) prediction inputs (#26671, @copilot-swe-agent)
  • [Gateway] Fix nested object properties being stripped from function tool schemas (#26646, @aaronteo-db)
  • [Prompts / UI] Reset prompts list pagination when the search filter changes (#26665, @github-actions)
  • [UI] Reset sidebar experiment menu when returning to the experiments list (#26661, @github-actions)
  • [UI] Fix unreadable explanatory text in RegisterModelForm in dark mode (#26652, @github-actions)
  • [Evaluation / UI] Improve evaluation score-change indicators in dark mode (#26645, @copilot-swe-agent)
  • [Evaluation] Accept all NumPy integer dtypes for document IDs in retriever metrics (#26643, @aaronteo-db)
  • [UI] Show zero input/output token counts with their labels in TokensCell hover card (#26642, @github-actions)
  • [UI] Use theme border color for chat session metrics divider in dark mode (#26640, @github-actions)
  • [Tracing] Export list-form OpenAI system message content to gen_ai.system_instructions (#26470, @Zhuoxi2000)
  • [Gateway] Join all text parts in GeminiAdapter responses (#26446, @r14dd)
  • [UI] Clear stale error in ShowArtifactTextView when loading a new artifact (#26631, @github-actions)
  • [UI] Fix audio artifact preview for logged models in ShowArtifactAudioView (#26626, @github-actions)
  • [Tracking] Accept lowercase comparators in search_experiments for SQL stores (#26619, @github-actions)
  • [UI] Fix boolean values rendering as empty cells in CSV artifact preview (#26622, @github-actions)
  • [Tracing] Fix @mlflow.trace recording self in span inputs for falsy instances (#26617, @github-actions)
  • [Docs / Gateway] Fix Gemini gateway routing to honor api_base (#26594, @copilot-swe-agent)
  • [Model Registry] Reject unsupported null filters in search_registered_models and search_model_versions (#26600, @copilot-swe-agent)
  • [Evaluation] Report unparsable judge scores as errors in TruLensScorer (#26574, @copilot-swe-agent)
  • [Gateway] Fix parallel_tool_calls translation for Anthropic and Vertex Claude (#26523, @copilot-swe-agent)
  • [Models / Scoring] Fix tensor schema enforcement for non-default DataFrame indexes (#26462, @aswanth-07)
  • [Tracing / UI] Improve framework icon contrast in LogTracesDrawer dark mode (#26563, @copilot-swe-agent)
  • [UI] Fix tool charts showing numbers instead of dates for a tool named timestamp (#26549, @copilot-swe-agent)
  • [Gateway / Tracing / Tracking] Honor --static-prefix in server job tracking URIs (#26546, @copilot-swe-agent)
  • [Tracking] Reject whitespace-only experiment names (#26362, @palindromeRice)
  • [Tracing / Tracking] Fix _create_table headers for empty CLI results (#26503, @BlueRaddish)
  • [Scoring] Fix dump_input_data serialization of dict inputs (#26519, @copilot-swe-agent)
  • [Tracing] Fix cache-inclusive token totals in mlflow.claude_code (#26510, @B-Step62)
  • [Tracking] Fix search_logged_models status filters never matching on SQL store (#26512, @copilot-swe-agent)
  • [Evaluation] Fix multipart response extraction in parse_outputs_to_str (#26451, @james-fletcher-db)
  • [Gateway] Propagate token usage in Mistral gateway streaming responses (#26440, @maharanay22)
  • [Gateway] Normalize list delta.content in Databricks gateway streaming (#26439, @maharanay22)

Documentation updates:

  • [Docs] Add Flue tracing integration guide (#27374, @B-Step62)
  • [Docs / Tracing] Add Cloudflare Agents tracing integration guide (#27347, @B-Step62)
  • [Docs / Evaluation / Tracing] Document distributed tracing for remote agent evaluation (#27316, @B-Step62)
  • [Docs / Evaluation] Add a consistency example with repeated runs to the evaluation examples page (#27030, @ashwingadhave)
  • [Docs] Refresh automatic issue detection documentation (#27297, @tanghaoji)
  • [Build / Docs] Document stacked PR guidance in CLAUDE.md (#26957, @copilot-swe-agent)
  • [Docs] Add Skill Registry user documentation (#26806, @bardenr)
  • [Docs / Evaluation] Document experimental Docker job-container setup, limits, and operation for automatic code-based scoring (#26691, @kriscon-db)
  • [Docs] Add hot-reload guidance for frontend fix verification (#26633, @copilot-swe-agent)

Small bug fixes and documentation updates:

#27428, #27352, #27351, #27278, @B-Step62; #27421, #27414, #27413, #27412, #27410, #27404, #27403, #27402, #27400, #27398, #27397, #27367, #27365, #27360, #27333, #27330, #27328, #27327, #27325, #27320, #27306, #27305, #27289, #27279, #27277, #27276, #27265, #27254, #27232, #27211, #27224, #27223, #27222, #27217, #27218, #27197, #27198, #27187, #27184, #27182, #27180, #27163, #27144, #27136, #27114, #27111, #27109, #27108, #27107, #27106, #27104, #27097, #27091, #27090, #27089, #27084, #27083, #27081, #27079, #27078, #27077, #27058, #27050, #27047, #27045, #27033, #27032, #27020, #27024, #27023, #27016, #26962, #26951, #26938, #26931, #26932, #26930, #26891, #26881, #26876, #26870, #26865, #26862, #26861, #26843, #26832, #26830, #26825, #26820, #26772, #26776, #26763, #26760, #26752, #26750, #26737, #26735, #26728, #26727, #26725, #26666, #26688, #26686, #26683, #26679, #26678, #26673, #26662, #26658, #26653, #26650, #26649, #26629, #26628, #26620, #26623, #26603, #26602, #26599, #26592, #26583, #26565, #26562, #26553, #26552, #26472, #26540, #26511, #26528, #26522, #26515, #26513, #26505, #26506, #26501, #26500, #26492, #26490, #26487, #26488, #26486, #26479, #26466, #26465, #26469, @copilot-swe-agent; #27399, #27312, #27293, #27302, #27246, #27235, #27069, #26867, #26960, #25307, #26718, #26708, #25851, #25847, #26701, #25844, #25843, #25842, #25841, #26588, #26589, @kriscon-db; #27376, @erdogan-deniz; #27394, #27393, #27350, #27326, #27113, @mlflow-app; #27377, #26748, @dependabot; #27364, #27366, #27259, #27313, #27041, #26981, #27017, #26983, #26906, #26885, #26514, #26476, #26467, @tanghaoji; #27165, #27040, #27148, #26912, #27034, #27029, #26993, #26952, #26789, #26920, #26779, #26707, #26461, @joshuawong-db; #27298, @v0ropaev; #26894, @Aditya-kumar-yadav; #27296, @davanstrien; #26090, @dbasunag; #27105, @Sonica-B; #27149, @Avicennasis; #26634, #26613, @shaikn6; #27135, #27143, #27021, #27013, #26953, #26905, #26796, #26598, #26541, #26352, @harupy; #27159, @smoorjani; #26901, #27027, #26768, @mprahl; #26946, @nananosirova; #26929, @Blacksujit; #26860, @alleyxd; #26850, #26632, @aaronteo-db; #26694, @Dedalo314

Don't miss a new mlflow release

NewReleases is sending notifications on new releases.