Mlflow Versions Save

Open source platform for the machine learning lifecycle

v2.9.0

4 months ago

MLflow 2.9.0 includes several major features and improvements.

MLflow AI Gateway deprecation (#10420, @harupy)

The feature previously known as MLflow AI Gateway has been moved to utilize the MLflow deployments API. For guidance on migrating from the AI Gateway to the new deployments API, please see the MLflow AI Gateway Migration Guide.

MLflow Tracking docs overhaul (#10471, @B-Step62)

The MLflow tracking docs have been overhauled. We'd like your feedback on the new tracking docs!

Security fixes

Three security patches have been filed with this release and CVE's have been issued with the details involved in the security patch and potential attack vectors. Please review and update your tracking server deployments if your tracking server is not securely deployed and has open access to the internet.

  • Sanitize path in HttpArtifactRepository.list_artifacts (#10585, @harupy)
  • Sanitize filename in Content-Disposition header for HTTPDatasetSource (#10584, @harupy).
  • Validate Content-Type header to prevent POST XSS (#10526, @B-Step62)

Features

  • [Tracking] Use backoff_jitter when making HTTP requests (#10486, @ajinkyavbhandare)
  • [Tracking] Add default aggregate_results if the score type is numeric in make_metric API (#10490, @sunishsheth2009)
  • [Tracking] Add string type of score types for metric value for genai (#10307, @sunishsheth2009)
  • [Artifacts] Support multipart upload for for proxy artifact access (#9521, @harupy)
  • [Models] Support saving torch_dtype for transformers models (#10586, @serena-ruan)
  • [Models] Add built-in metric ndcg_at_k to retriever evaluation (#10284, @liangz1)
  • [Model Registry] Implement universal copy_model_version (#10308, @jerrylian-db)
  • [Models] Support saving/loading RunnableSequence, RunnableParallel, and RunnableBranch (#10521, #10611, @serena-ruan)

Bug fixes

  • [Tracking] Resume system metrics logging when resuming an existing run (#10312, @chenmoneygithub)
  • [UI] Fix incorrect sorting order in line chart (#10553, @B-Step62)
  • [UI] Remove extra whitespace in git URLs (#10506, @mrplants)
  • [Models] Make spark_udf use NFS to broadcast model to spark executor on databricks runtime and spark connect mode (#10463, @WeichenXu123)
  • [Models] Fix promptlab pyfunc models not working for chat routes (#10346, @daniellok-db)

Documentation updates

  • [Docs] Add a quickstart guide for Tensorflow (#10398, @chenmoneygithub)
  • [Docs] Improve the parameter tuning guide (#10344, @chenmoneygithub)
  • [Docs] Add a guide for system metrics logging (#10429, @chenmoneygithub)
  • [Docs] Add instructions on how to configure credentials for Azure OpenAI (#10560, @BenWilson2)
  • [Docs] Add docs and tutorials for Sentence Transformers flavor (#10476, @BenWilson2)
  • [Docs] Add tutorials, examples, and guides for Transformers Flavor (#10360, @BenWilson2)

Small bug fixes and documentation updates

#10567, #10559, #10348, #10342, #10264, #10265, @B-Step62; #10595, #10401, #10418, #10394, @chenmoneygithub; #10557, @dan-licht; #10584, #10462, #10445, #10434, #10432, #10412, #10411, #10408, #10407, #10403, #10361, #10340, #10339, #10310, #10276, #10268, #10260, #10224, #10214, @harupy; #10415, @jessechancy; #10579, #10555, @annzhang-db; #10540, @wllgrnt; #10556, @smurching; #10546, @mbenoit29; #10534, @gabrielfu; #10532, #10485, #10444, #10433, #10375, #10343, #10192, @serena-ruan; #10480, #10416, #10173, @jerrylian-db; #10527, #10448, #10443, #10442, #10441, #10440, #10439, #10381, @prithvikannan; #10509, @keenranger; #10508, #10494, @WeichenXu123; #10489, #10266, #10210, #10103, @TomeHirata; #10495, #10435, #10185, @daniellok-db; #10319, @michael-berk; #10417, @bbqiu; #10379, #10372, #10282, @BenWilson2; #10297, @KonakanchiSwathi; #10226, #10223, #10221, @milinddethe15; #10222, @flooxo; #10590, @letian-w;

v2.8.1

5 months ago

MLflow 2.8.1 is a patch release, containing some critical bug fixes and an update to our continued work on reworking our docs.

Notable details:

  • The API mlflow.llm.log_predictions is being marked as deprecated, as its functionality has been incorporated into mlflow.log_table. This API will be removed in the 2.9.0 release. (#10414, @dbczumar)

Bug fixes:

  • [Artifacts] Fix a regression in 2.8.0 where downloading a single file from a registered model would fail (#10362, @BenWilson2)
  • [Evaluate] Fix the Azure OpenAI integration for mlflow.evaluate when using LLM judge metrics (#10291, @prithvikannan)
  • [Evaluate] Change Examples to optional for the make_genai_metric API (#10353, @prithvikannan)
  • [Evaluate] Remove the fastapi dependency when using mlflow.evaluate for LLM results (#10354, @prithvikannan)
  • [Evaluate] Fix syntax issues and improve the formatting for generated prompt templates (#10402, @annzhang-db)
  • [Gateway] Fix the Gateway configuration validator pre-check for OpenAI to perform instance type validation (#10379, @BenWilson2)
  • [Tracking] Fix an intermittent issue with hanging threads when using asynchronous logging (#10374, @chenmoneygithub)
  • [Tracking] Add a timeout for the mlflow.login() API to catch invalid hostname configuration input errors (#10239, @chenmoneygithub)
  • [Tracking] Add a flush operation at the conclusion of logging system metrics (#10320, @chenmoneygithub)
  • [Models] Correct the prompt template generation logic within the Prompt Engineering UI so that the prompts can be used in the Python API (#10341, @daniellok-db)
  • [Models] Fix an issue in the SHAP model explainability functionality within mlflow.shap.log_explanation so that duplicate or conflicting dependencies are not registered when logging (#10305, @BenWilson2)

Documentation updates:

  • [Docs] Add MLflow Tracking Quickstart (#10285, @BenWilson2)
  • [Docs] Add tracking server configuration guide (#10241, @chenmoneygithub)
  • [Docs] Refactor and improve the model deployment quickstart guide (#10322, @prithvikannan)
  • [Docs] Add documentation for system metrics logging (#10261, @chenmoneygithub)

Small bug fixes and documentation updates:

#10367, #10359, #10358, #10340, #10310, #10276, #10277, #10247, #10260, #10220, #10263, #10259, #10219, @harupy; #10313, #10303, #10213, #10272, #10282, #10283, #10231, #10256, #10242, #10237, #10238, #10233, #10229, #10211, #10231, #10256, #10242, #10238, #10237, #10229, #10233, #10211, @BenWilson2; #10375, @serena-ruan; #10330, @Haxatron; #10342, #10249, #10249, @B-Step62; #10355, #10301, #10286, #10257, #10236, #10270, #10236, @prithvikannan; #10321, #10258, @jerrylian-db; #10245, @jessechancy; #10278, @daniellok-db; #10244, @gabrielfu; #10226, @milinddethe15; #10390, @bbqiu; #10232, @sunishsheth2009

v2.8.0

5 months ago

MLflow 2.8.0 includes several notable new features and improvements

  • The MLflow Evaluate API has had extensive feature development in this release to support LLM workflows and multiple new evaluation modalities. See the new documentation, guides, and tutorials for MLflow LLM Evaluate to learn more.
  • The MLflow Docs modernization effort has started. You will see a very different look and feel to the docs when visiting them, along with a batch of new tutorials and guides. More changes will be coming soon to the docs!
  • 4 new LLM providers have been added! Google PaLM 2, AWS Bedrock, AI21 Labs, and HuggingFace TGI can now be configured and used within the AI Gateway. Learn more in the new AI Gateway docs!

Features:

  • [Gateway] Add support for AWS Bedrock as a provider in the AI Gateway (#9598, @andrew-christianson)
  • [Gateway] Add support for Huggingface Text Generation Inference as a provider in the AI Gateway (#10072, @SDonkelaarGDD)
  • [Gateway] Add support for Google PaLM 2 as a provider in the AI Gateway (#9797, @arpitjasa-db)
  • [Gateway] Add support for AI21labs as a provider in the AI Gateway (#9828, #10168, @zhe-db)
  • [Gateway] Introduce a simplified method for setting the configuration file location for the AI Gateway via environment variable (#9822, @danilopeixoto)
  • [Evaluate] Introduce default provided LLM evaluation metrics for MLflow evaluate (#9913, @prithvikannan)
  • [Evaluate] Add support for evaluating inference datasets in MLflow evaluate (#9830, @liangz1)
  • [Evaluate] Add support for evaluating single argument functions in MLflow evaluate (#9718, @liangz1)
  • [Evaluate] Add support for Retriever LLM model type evaluation within MLflow evaluate (#10079, @liangz1)
  • [Models] Add configurable parameter for external model saving in the ONNX flavor to address a regression (#10152, @daniellok-db)
  • [Models] Add support for saving inference parameters in a logged model's input example (#9655, @serena-ruan)
  • [Models] Add support for completions in the OpenAI flavor (#9838, @santiagxf)
  • [Models] Add support for inference parameters for the OpenAI flavor (#9909, @santiagxf)
  • [Models] Introduce support for configuration arguments to be specified when loading a model (#9251, @santiagxf)
  • [Models] Add support for integrated Azure AD authentication for the OpenAI flavor (#9704, @santiagxf)
  • [Models / Scoring] Introduce support for model training lineage in model serving (#9402, @M4nouel)
  • [Model Registry] Introduce the copy_model_version client API for copying model versions across registered models (#9946, #10078, #10140, @jerrylian-db)
  • [Tracking] Expand the limits of parameter value length from 500 to 6000 (#9709, @serena-ruan)
  • [Tracking] Introduce support for Spark 3.5's SparkConnect mode within MLflow to allow logging models created using this operation mode of Spark (#9534, @WeichenXu123)
  • [Tracking] Add support for logging system metrics to the MLflow fluent API (#9557, #9712, #9714, @chenmoneygithub)
  • [Tracking] Add callbacks within MLflow for Keras and Tensorflow (#9454, #9637, #9579, @chenmoneygithub)
  • [Tracking] Introduce a fluent login API for Databricks within Mlflow (#9665, #10180, @chenmoneygithub)
  • [Tracking] Add support for customizing auth for http requests from the MLflow client via a plugin extension (#10049, @lu-ohai)
  • [Tracking] Introduce experimental asynchronous logging support for metrics, params, and tags (#9705, @sagarsumant)
  • [Auth] Modify the behavior of user creation in MLflow Authentication so that only admins can create new users (#9700, @gabrielfu)
  • [Artifacts] Add support for using xethub as an artifact store via a plugin extension (#9957, @Kelton8Z)

Bug fixes:

  • [Evaluate] Fix a bug with Azure OpenAI configuration usage within MLflow evaluate (#9982, @sunishsheth2009)
  • [Models] Fix a data consistency issue when saving models that have been loaded in heterogeneous memory configuration within the transformers flavor (#10087, @BenWilson2)
  • [Models] Fix an issue in the transformers flavor for complex input types by adding dynamic dataframe typing (#9044, @wamartin-aml)
  • [Models] Fix an issue in the langchain flavor to provide support for chains with multiple outputs (#9497, @bbqiu)
  • [Docker] Fix an issue with Docker image generation by changing the default env-manager to virtualenv (#9938, @Beramos)
  • [Auth] Fix an issue with complex passwords in MLflow Auth to support a richer character set range (#9760, @dotdothu)
  • [R] Fix a bug with configuration access when running MLflow R in Databricks (#10117, @zacdav-db)

Documentation updates:

  • [Docs] Introduce the first phase of a larger documentation overhaul (#10197, @BenWilson2)
  • [Docs] Add guide for LLM eval (#10058, #10199, @chenmoneygithub)
  • [Docs] Add instructions on how to force single file serialization within the onnx flavor's save and log functions (#10178, @BenWilson2)
  • [Docs] Add documentation for the relevance metric for MLflow evaluate (#10170, @sunishsheth2009)
  • [Docs] Add a style guide for the contributing guide for how to structure pydoc strings (#9907, @mberk06)
  • [Docs] Fix issues with the pytorch lightning autolog code example (#9964, @chenmoneygithub)
  • [Docs] Update the example for mlflow.data.from_numpy() (#9885, @chenmoneygithub)
  • [Docs] Add clear instructions for installing MLflow within R (#9835, @darshan8850)
  • [Docs] Update model registry documentation to add content regarding support for model aliases (#9721, @jerrylian-db)

Small bug fixes and documentation updates:

#10202, #10189, #10188, #10159, #10175, #10165, #10154, #10083, #10082, #10081, #10071, #10077, #10070, #10053, #10057, #10055, #10020, #9928, #9929, #9944, #9979, #9923, #9842, @annzhang-db; #10203, #10196, #10172, #10176, #10145, #10115, #10107, #10054, #10056, #10018, #9976, #9999, #9998, #9995, #9978, #9973, #9975, #9972, #9974, #9960, #9925, #9920, @prithvikannan; #10144, #10166, #10143, #10129, #10059, #10123, #9555, #9619, @bbqiu; #10187, #10191, #10181, #10179, #10151, #10148, #10126, #10119, #10099, #10100, #10097, #10089, #10096, #10091, #10085, #10068, #10065, #10064, #10060, #10023, #10030, #10028, #10022, #10007, #10006, #9988, #9961, #9963, #9954, #9953, #9937, #9932, #9931, #9910, #9901, #9852, #9851, #9848, #9847, #9841, #9844, #9825, #9820, #9806, #9802, #9800, #9799, #9790, #9787, #9791, #9788, #9785, #9786, #9784, #9754, #9768, #9770, #9753, #9697, #9749, #9747, #9748, #9751, #9750, #9729, #9745, #9735, #9728, #9725, #9716, #9694, #9681, #9666, #9643, #9641, #9621, #9607, @harupy; #10200, #10201, #10142, #10139, #10133, #10090, #10086, #9934, #9933, #9845, #9831, #9794, #9692, #9627, #9626, @chenmoneygithub; #10110, @wenfeiy-db; #10195, #9895, #9880, #9679, @BenWilson2; #10174, #10177, #10109, #9706, @jerrylian-db; #10113, #9765, @smurching; #10150, #10138, #10136, @dbczumar; #10153, #10032, #9986, #9874, #9727, #9707, @serena-ruan; #10155, @shaotong-db; #10160, #10131, #10048, #10024, #10017, #10016, #10002, #9966, #9924, @sunishsheth2009; #10121, #10116, #10114, #10102, #10098, @B-Step62; #10095, #10026, #9991, @daniellok-db; #10050, @Dennis40816; #10062, #9868, @Gekko0114; #10033, @Anushka-Bhowmick; #9983, #10004, #9958, #9926, #9690, @liangz1; #9997, #9940, #9922, #9919, #9890, #9888, #9889, #9810, @TomeHirata; #9994, #9970, #9950, @lightnessofbein; #9965, #9677, @ShorthillsAI; #9906, @jessechancy; #9942, #9771, @Sai-Suraj-27; #9902, @remyleone; #9892, #9865, #9866, #9853, @montanarograziano; #9875, @Raghavan-B; #9858, @Salz0; #9878, @maksboyarin; #9882, @lukasz-gawron; #9827, @Bncer; #9819, @gabrielfu; #9792, @harshk461; #9726, @Chiragasourabh; #9663, @Abhishek-TyRnT; #9670, @mberk06; #9755, @simonlsk; #9757, #9775, #9776, #9774, @AmirAflak; #9782, @garymm; #9756, @issamarabi; #9645, @shichengzhou-db; #9671, @zhe-db; #9660, @mingyu89; #9575, @akshaya-a; #9629, @pnacht; #9876, @C-K-Loan

v2.7.1

7 months ago

MLflow 2.7.1 is a patch release containing the following features, bug fixes and changes:

Features:

  • [Gateway / Databricks] Add the set_limits and get_limits APIs for AI Gateway routes within Databricks (#9516, @zhe-db)
  • [Artifacts / Databricks] Add support for parallelized download and upload of artifacts within Unity Catalog (#9498, @jerrylian-db)

Bug fixes:

  • [Models / R] Fix a critical bug with the R client that prevents models from being loaded (#9624, @BenWilson2)
  • [Artifacts / Databricks] Disable multi-part download functionality for UC Volumes local file destination when downloading models (#9631, @BenWilson2)

Small bug fixes and documentation updates:

#9640, @annzhang-db; #9622, @harupy

v2.7.0

7 months ago

MLflow 2.7.0 includes several major features and improvements

  • [UI / Gateway] We are excited to announce the Prompt Engineering UI. This new addition offers a suite of tools tailored for efficient prompt development, testing, and evaluation for LLM use cases. Integrated directly into the MLflow AI Gateway, it provides a seamless experience for designing, tracking, and deploying prompt templates. To read about this new feature, see the documentation at https://mlflow.org/docs/latest/llms/prompt-engineering.html (#9503, @prithvikannan)

Features:

  • [Gateway] Introduce MosaicML as a supported provider for the MLflow AI Gateway (#9459, @arpitjasa-db)
  • [Models] Add support for using a snapshot download location when loading a transformers model as pyfunc (#9362, @serena-ruan)
  • [Server-infra] Introduce plugin support for MLflow Tracking Server authentication (#9191, @barrywhart)
  • [Artifacts / Model Registry] Add support for storing artifacts using the R2 backend (#9490, @shichengzhou-db)
  • [Artifacts] Improve upload and download performance for Azure-based artifact stores (#9444, @jerrylian-db)
  • [Sagemaker] Add support for deploying models to Sagemaker Serverless inference endpoints (#9085, @dogeplusplus)

Bug fixes:

  • [Gateway] Fix a credential expiration bug by re-resolving AI Gateway credentials before each request (#9518, @dbczumar)
  • [Gateway] Fix a bug where search_routes would raise an exception when no routes have been defined on the AI Gateway server (#9387, @QuentinAmbard)
  • [Gateway] Fix compatibility issues with pydantic 2.x for AI gateway (#9339, @harupy)
  • [Gateway] Fix an initialization issue in the AI Gateway that could render MLflow nonfunctional at import if dependencies were conflicting. (#9337, @BenWilson2)
  • [Artifacts] Fix a correctness issue when downloading large artifacts to fuse mount paths on Databricks (#9545, @BenWilson2)

Documentation updates:

  • [Docs] Add documentation for the Giskard community plugin for mlflow.evaluate (#9183, @rabah-khalek)

Small bug fixes and documentation updates:

#9605, #9603, #9602, #9595, #9597, #9587, #9590, #9588, #9586, #9584, #9583, #9582, #9581, #9580, #9577, #9546, #9566, #9569, #9562, #9564, #9561, #9528, #9506, #9503, #9492, #9491, #9485, #9445, #9430, #9429, #9427, #9426, #9424, #9421, #9419, #9409, #9408, #9407, #9394, #9389, #9395, #9393, #9390, #9370, #9356, #9359, #9357, #9345, #9340, #9328, #9329, #9326, #9304, #9325, #9323, #9322, #9319, #9314, @harupy; #9568, #9520, @dbczumar; #9593, @jerrylian-db; #9574, #9573, #9480, #9332, #9335, @BenWilson2; #9556, @shichengzhou-db; #9570, #9540, #9533, #9517, #9354, #9453, #9338, @prithvikannan; #9565, #9560, #9536, #9504, #9476, #9481, #9450, #9466, #9418, #9397, @serena-ruan; #9489, @dnerini; #9512, #9479, #9355, #9351, #9289 @chenmoneygithub; #9488, @bbqiu; #9474, @apurva-koti; #9505, @arpitjasa-db; #9261, @donour; #9336, #9414, #9353, @mberk06; #9451, @Bncer; #9432, @barrywhart; #9347, @GraceBrigham; #9428, #9420, #9406, @WeichenXu123; #9410, @aloahPGF; #9396, #9384, #9372, @Godwin-T; #9373, @fabiansefranek; #9382, @Sai-Suraj-27; #9378, @saidattu2003; #9375, @Increshi; #9358, @smurching; #9366, #9330, @Dev-98; #9364, @Sandeep1005; #9349, #9348, @AmirAflak; #9308, @danilopeixoto; #9596, @ShorthillsAI; #9567, @Beramos; #9524, @rabah-khalek; #9312, @dependabot[bot]

v2.6.0

8 months ago

MLflow 2.6.0 includes several major features and improvements

Features:

  • [Models / Scoring] Add support for passing extra params during inference for PyFunc models (#9068, @serena-ruan)
  • [Gateway] Add support for MLflow serving to MLflow AI Gateway (#9199, @BenWilson2)
  • [Tracking] Support save_kwargs for mlflow.log_figure to specify extra options when saving a figure (#9179, @stroblme)
  • [Artifacts] Display progress bars when uploading/download artifacts (#9195, @serena-ruan)
  • [Models] Add support for logging LangChain's retriever models (#8808, @liangz1)
  • [Tracking] Add support to log customized tags to runs created by autologging (#9114, @thinkall)

Bug fixes:

  • [Models] Fix text_pair functionality for transformers TextClassification pipelines (#9215, @BenWilson2)
  • [Models] Fix LangChain compatibility with SQLDatabase (#9192, @dbczumar)
  • [Tracking] Remove patching sklearn.metrics.get_scorer_names in mlflow.sklearn.autolog to avoid duplicate logging (#9095, @WeichenXu123)

Documentation updates:

  • [Docs / Examples] Add examples and documentation for MLflow AI Gateway support for MLflow model serving (#9281, @BenWilson2)
  • [Docs / Examples] Add sentence-transformers doc & example (#9047, @es94129)

Deprecation:

  • [Models] The mlflow.mleap module has been marked as deprecated and will be removed in a future release (#9311, @BenWilson2)

Small bug fixes and documentation updates:

#9309, #9252, #9198, #9189, #9186, #9184, @BenWilson2; #9307, @AmirAflak; #9285, #9126, @dependabot[bot]; #9302, #9209, #9194, #9187, #9175, #9177, #9163, #9161, #9129, #9123, #9053, @serena-ruan; #9305, #9303, #9271, @KekmaTime; #9300, #9299, @itsajay1029; #9294, #9293, #9274, #9268, #9264, #9246, #9255, #9253, #9254, #9245, #9202, #9243, #9238, #9234, #9233, #9227, #9226, #9223, #9224, #9222, #9225, #9220, #9208, #9212, #9207, #9203, #9201, #9200, #9154, #9146, #9147, #9153, #9148, #9145, #9136, #9132, #9131, #9128, #9121, #9124, #9125, #9108, #9103, #9100, #9098, #9101, @harupy; #9292, @Aman123lug; #9290, #9164, #9157, #9086, @Bncer; #9291, @kunal642; #9284, @NavneetSinghArora; #9286, #9262, #9142, @smurching; #9267, @tungbq; #9258, #9250, @Kunj125; #9167, #9139, #9120, #9118, #9097, @viktoriussuwandi; #9244, #9240, #9239, @Sai-Suraj-27; #9221, #9168, #9130, @gabrielfu; #9218, @tjni; #9216, @Rukiyav; #9158, #9051, @EdAbati; #9211, @scarlettrobe; #9049, @annzhang-db; #9140, @kriscon-db; #9141, @xAIdrian; #9135, @liangz1; #9067, @jmmonteiro; #9112, @WeichenXu123; #9106, @shaikmoeed; #9105, @Ankit8848; #9104, @arnabrahman

v2.5.0

9 months ago

MLflow 2.5.0 includes several major features and improvements:

  • [MLflow AI Gateway] We are excited to announce the release of MLflow AI Gateway, a powerful tool designed to streamline the usage and management of various large language model (LLM) providers, such as OpenAI and Anthropic, within an organization. It offers a standardized interface that simplifies the interaction with these services and delivers centralized, secure management of credentials. To get started with MLflow AI Gateway, check out the docs at https://mlflow.org/docs/latest/gateway/index.html. (#8694, @harupy, @BenWilson2, @dbczumar)
  • [Auth] We are excited to announce the release of authentication and authorization support for MLflow Tracking and the MLflow Model Registry, providing integrated access control capabilities to both services. To get started, check out the docs at https://mlflow.org/docs/latest/auth/index.html. (#9000, #8975, #8626, #8837, #8841, @gabrielfu, @harupy)

Features:

  • [Models] Add Support to the LangChain flavor for chains that contain unserializable components (#8736, @liangz1)
  • [Scoring] Infer spark udf return type from model output schema (#8934, @WeichenXu123)
  • [Models] Add support for automated signature inference (#8860, #8782 #8795, #8725, @jerrylian-db)

Bug fixes:

  • [Security] Improve robustness to LFI attacks on Windows by enhancing path validation (#8999, @serena-ruan)
    • If you are using mlflow server or mlflow ui on Windows, we recommend upgrading to MLflow 2.5.0 as soon as possible.
  • [Scoring] Support nullable array type values as spark_udf return values (#9014, @WeichenXu123)
  • [Models] Revert cache deletion of system modules when adding custom model code to the system path (#8722, @trungn1)
  • [Models] add micro version to mlflow version pinning (#8687, @C-K-Loan)
  • [Artifacts] Prevent manually deleted artifacts from causing artifact garbage collection to fail (#8498, @PenHsuanWang)

Documentation updates:

  • [Docs] Update .push_model_to_sagemaker docs (#8851, @pdifranc)
  • [Docs] Fix invalid link for Azure ML documentation (#8800, @dunnkers)
  • [Artifacts / Docs / Models / Projects] Adds information on the OCI MLflow plugins for seamless integration with Oralce Cloud Infrastructure services. (#8707, @mrDzurb)

Deprecation:

  • [Models] Deprecate the gluon model flavor. The mlflow.gluon module will be removed in a future release. (#8968, @harupy)

Small bug fixes and documentation updates:

#9069, #9056, #9055, #9054, #9048, #9043, #9035, #9034, #9037, #9038, #8993, #8966, #8985, @BenWilson2; #9039, #9036, #8902, #8924, #8866, #8861, #8810, #8761, #8544, @jerrylian-db; #8903, @smurching; #9080, #9079, #9078, #9076, #9075, #9074, #9071, #9063, #9062, #9032, #9031, #9027, #9023, #9022, #9020, #9005, #8994, #8979, #8983, #8984, #8982, #8970, #8962, #8969, #8968, #8959, #8960, #8958, #8956, #8955, #8954, #8949, #8950, #8952, #8948, #8946, #8947, #8943, #8944, #8916, #8917, #8933, #8929, #8932, #8927, #8930, #8925, #8921, #8873, #8915, #8909, #8908, #8911, #8910, #8907, #8906, #8898, #8893, #8889, #8892, #8891, #8887, #8875, #8876, #8882, #8874, #8868, #8872, #8869, #8828, #8852, #8857, #8853, #8854, #8848, #8850, #8840, #8835, #8832, #8831, #8830, #8829, #8839, #8833, #8838, #8819, #8814, #8825, #8818, #8787, #8775, #8749, #8766, #8756, #8753, #8751, #8748, #8744, #8731, #8717, #8730, #8691, #8720, #8723, #8719, #8688, #8721, #8715, #8716, #8718, #8696, #8698, #8692, #8693, #8690, @harupy; #9030, @AlimurtuzaCodes; #9029, #9025, #9021, #9013, @viktoriussuwandi; #9010, @Bncer; #9011, @Pecunia201; #9007, #9003, @EdAbati; #9002, @prithvikannan; #8991, #8867, @AveshCSingh; #8951, #8896, #8888, #8849, @gabrielfu; #8913, #8885, #8871, #8870, #8788, #8772, #8771, @serena-ruan; #8879, @maciejskorski; #7752, @arunkumarkota; #9083, #9081, #8765, #8742, #8685, #8682, #8683, @dbczumar; #8791, @mhattingpete; #8739, @yunpark93

v2.4.2

9 months ago

MLflow 2.4.2 is a patch release containing the following bug fixes and changes:

Bug fixes:

  • [Models] Add compatibility for legacy transformers serialization (#8964, @BenWilson2)
  • [Models] Fix downloading MLmodel files from alias-based models:/ URIs (#8764, @smurching)
  • [Models] Fix reading model flavor config from URI for models in UC (#8728, @smurching)
  • [Models] Support feature_deps in ModelVersion creation for UC (#8867, #8815, @AveshCSingh)
  • [Models] Add support for listing artifacts in UC model registry artifact repo (#8803, @smurching)
  • [Core] Include resources for recipes in mlflow-skinny (#8895, @harupy)
  • [UI] Enable datasets tracking UI (#8886, @harupy)
  • [Artifacts] Use MLFLOW_ENABLE_MULTIPART_DOWNLOAD in DatabricksArtifactRepository (#8884, @harupy)

Documentation updates:

  • [Examples / Docs] Add question-answering and summarization examples and docs with LLMs (#8695, @dbczumar)
  • [Examples / Docs] Add johnsnowlabs flavor example and doc (#8689, @C-K-Loan)

Small bug fixes and documentation updates:

#8966, @BenWilson2; #8881, @harupy; #8846, #8760, @smurching

v2.4.1

10 months ago

MLflow 2.4.1 is a patch release containing the following features, bug fixes and changes:

Features:

  • [Tracking] Extend SearchRuns to support datasets (#8622, @prithvikannan)
  • [Models] Add an mlflow.johnsnowlabs flavor for the johnsnowlabs package (#8556, @C-K-Loan)
  • [Models] Add a warning for duplicate pip requirements specified in save_model and log_model for the transformers flavor (#8678, @BenWilson2)

Bug fixes:

  • [Security] Improve robustness to LFI attacks (#8648, @serena-ruan)
    • If you are using mlflow server or mlflow ui, we recommend upgrading to MLflow 2.4.1 as soon as possible.
  • [Models] Fix an issue with transformers serialization for ModelCards that contain invalid characters (#8652, @BenWilson2)
  • [Models] Fix connection pooling deadlocks that occurred during large file downloads (#8682, @dbczumar; #8660, @harupy)

Small bug fixes and documentation updates:

#8677, #8674, #8646, #8647, @dbczumar; #8654, #8653, #8660, #8650, #8642, #8636, #8599, #8637, #8608, #8633, #8623, #8628, #8619, @harupy; #8655, #8609, @BenWilson2; #8648, @serena-ruan; #8521, @ka1mar; #8638, @smurching; #8634, @PenHsuanWang

v2.4.0

10 months ago

MLflow 2.4.0 includes several major features and improvements

Features:

  • [Tracking] Introduce dataset tracking APIs: mlflow.data and mlflow.log_input() (#8186, @prithvikannan)
  • [Tracking] Add mlflow.log_table() and mlflow.load_table() APIs for logging evaluation tables (#8523, #8467, @sunishsheth2009)
  • [Tracking] Introduce mlflow.get_parent_run() fluent API (#8493, @annzhang-db)
  • [Tracking / Model Registry] Re-introduce faster artifact downloads on Databricks (#8352, @dbczumar; #8561, @harupy)
  • [UI] Add dataset tracking information to MLflow Tracking UI (#8602, @prithvikannan, @hubertzub-db)
  • [UI] Introduce Artifact View for comparing inputs, outputs, and metadata across models (#8602, @hubertzub-db)
  • [Models] Extend mlflow.evaluate() to support LLM tasks (#8484, @harupy)
  • [Models] Support logging subclasses of Chain and LLMChain in mlflow.langchain flavor (#8453, @liangz1)
  • [Models] Add support for LangChain Agents to the mlflow.langchain flavor (#8297, @sunishsheth2009)
  • [Models] Add a mlflow.sentence_transformers flavor for SentenceTransformers (#8479, @BenWilson2; #8547, @Loquats)
  • [Models] Add support for multi-GPU inference and efficient weight loading for mlflow.transformers flavor (#8448, @ankit-db)
  • [Models] Support the max_shard_size parameter in the mlflow.transformers flavor (#8567, @wenfeiy-db)
  • [Models] Add support for audio transcription pipelines in the mlflow.transformers flavor (#8464, @BenWilson2)
  • [Models] Add support for audio classification to mlflow.transformers flavor (#8492, @BenWilson2)
  • [Models] Add support for URI inputs in audio models logged with the mlflow.transformers flavor (#8495, @BenWilson2)
  • [Models] Add support for returning classifier scores in mlflow.transformers pyfunc outputs (#8512, @BenWilson2)
  • [Models] Support optional inputs in model signatures (#8438, @apurva-koti)
  • [Models] Introduce an mlflow.models.set_signature() API to set the signature of a logged model (#8476, @jerrylian-db)
  • [Models] Persist ONNX Runtime InferenceSession options when logging a model with mlflow.onnx.log_model() (#8433, @leqiao-1)

Bug fixes:

  • [Tracking] Terminate Spark callback server when Spark Autologging is disabled or Spark Session is shut down (#8508, @WeichenXu123)
  • [Tracking] Fix compatibility of mlflow server with Flask<2.0 (#8463, @kevingreer)
  • [Models] Convert mlflow.transformers pyfunc scalar string output to list of strings during batch inference (#8546, @BenWilson2)
  • [Models] Fix a bug causing outdated pyenv versions to be installed by mlflow models build-docker (#8488, @Hellzed)
  • [Model Registry] Remove aliases from storage when a Model Version is deleted (#8459, @arpitjasa-db)

Documentation updates:

  • [Docs] Publish a new MLOps Quickstart for model selection and deployment (#8462, @lobrien)
  • [Docs] Add MLflavors library to Community Model Flavors documentation (#8420, @benjaminbluhm)
  • [Docs] Add documentation for Registered Model Aliases (#8445, @arpitjasa-db)
  • [Docs] Fix errors in documented mlflow models CLI command examples (#8480, @vijethmoudgalya)

Small bug fixes and documentation updates:

#8611, #8587, @dbczumar; #8617, #8620, #8615, #8603, #8604, #8601, #8596, #8598, #8597, #8589, #8580, #8581, #8575, #8582, #8577, #8576, #8578, #8561, #8568, #8551, #8528, #8550, #8489, #8530, #8534, #8533, #8532, #8524, #8520, #8517, #8516, #8515, #8514, #8506, #8503, #8500, #8504, #8496, #8486, #8485, #8468, #8471, #8473, #8470, #8458, #8447, #8446, #8434, @harupy; #8607, #8538, #8513, #8452, #8466, #8465, @serena-ruan; #8586, #8595, @prithvikannan; #8593, #8541, @kriscon-db; #8592, #8566, @annzhang-db; #8588, #8565, #8559, #8537, @BenWilson2; #8545, @apurva-koti; #8564, @DavidSpek; #8436, #8490, @jerrylian-db; #8505, @eliaskoromilas; #8483, @WeichenXu123; #8472, @leqiao-1; #8429, @jinzhang21; #8581, #8548, #8499, @gabrielfu;