Open source platform for the machine learning lifecycle
MLflow 2.9.0 includes several major features and improvements.
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.
The MLflow tracking docs have been overhauled. We'd like your feedback on the new tracking docs!
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.
path
in HttpArtifactRepository.list_artifacts
(#10585, @harupy)filename
in Content-Disposition
header for HTTPDatasetSource
(#10584, @harupy).Content-Type
header to prevent POST XSS (#10526, @B-Step62)backoff_jitter
when making HTTP requests (#10486, @ajinkyavbhandare)aggregate_results
if the score type is numeric in make_metric
API (#10490, @sunishsheth2009)torch_dtype
for transformers models (#10586, @serena-ruan)ndcg_at_k
to retriever evaluation (#10284, @liangz1)copy_model_version
(#10308, @jerrylian-db)RunnableSequence
, RunnableParallel
, and RunnableBranch
(#10521, #10611, @serena-ruan)#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;
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:
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:
Azure OpenAI
integration for mlflow.evaluate
when using LLM judge
metrics (#10291, @prithvikannan)Examples
to optional for the make_genai_metric
API (#10353, @prithvikannan)fastapi
dependency when using mlflow.evaluate
for LLM results (#10354, @prithvikannan)mlflow.login()
API to catch invalid hostname configuration input errors (#10239, @chenmoneygithub)flush
operation at the conclusion of logging system metrics (#10320, @chenmoneygithub)SHAP
model explainability functionality within mlflow.shap.log_explanation
so that duplicate or conflicting dependencies are not registered when logging (#10305, @BenWilson2)Documentation updates:
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
MLflow 2.8.0 includes several notable new features and improvements
Features:
completions
in the OpenAI flavor (#9838, @santiagxf)copy_model_version
client API for copying model versions across registered models (#9946, #10078, #10140, @jerrylian-db)xethub
as an artifact store via a plugin extension (#9957, @Kelton8Z)Bug fixes:
Documentation updates:
mlflow.data.from_numpy()
(#9885, @chenmoneygithub)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
MLflow 2.7.1 is a patch release containing the following features, bug fixes and changes:
Features:
set_limits
and get_limits
APIs for AI Gateway routes within Databricks (#9516, @zhe-db)Bug fixes:
R
client that prevents models from being loaded (#9624, @BenWilson2)Small bug fixes and documentation updates:
#9640, @annzhang-db; #9622, @harupy
MLflow 2.7.0 includes several major features and improvements
Features:
MosaicML
as a supported provider for the MLflow AI Gateway
(#9459, @arpitjasa-db)transformers
model as pyfunc
(#9362, @serena-ruan)Tracking Server
authentication (#9191, @barrywhart)R2
backend (#9490, @shichengzhou-db)Bug fixes:
AI Gateway
credentials before each request (#9518, @dbczumar)search_routes
would raise an exception when no routes have been defined on the AI Gateway
server (#9387, @QuentinAmbard)pydantic
2.x for AI gateway
(#9339, @harupy)AI Gateway
that could render MLflow nonfunctional at import if dependencies were conflicting. (#9337, @BenWilson2)fuse mount
paths on Databricks
(#9545, @BenWilson2)Documentation updates:
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]
MLflow 2.6.0 includes several major features and improvements
Features:
save_kwargs
for mlflow.log_figure
to specify extra options when saving a figure (#9179, @stroblme)Bug fixes:
text_pair
functionality for transformers TextClassification
pipelines (#9215, @BenWilson2)sklearn.metrics.get_scorer_names
in mlflow.sklearn.autolog
to avoid duplicate logging (#9095, @WeichenXu123)Documentation updates:
sentence-transformers
doc & example (#9047, @es94129)Deprecation:
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
MLflow 2.5.0 includes several major features and improvements:
Features:
Bug fixes:
mlflow server
or mlflow ui
on Windows, we recommend upgrading to MLflow 2.5.0 as soon as possible.Documentation updates:
Deprecation:
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
MLflow 2.4.2 is a patch release containing the following bug fixes and changes:
Bug fixes:
feature_deps
in ModelVersion creation for UC (#8867, #8815, @AveshCSingh)MLFLOW_ENABLE_MULTIPART_DOWNLOAD
in DatabricksArtifactRepository
(#8884, @harupy)Documentation updates:
Small bug fixes and documentation updates:
#8966, @BenWilson2; #8881, @harupy; #8846, #8760, @smurching
MLflow 2.4.1 is a patch release containing the following features, bug fixes and changes:
Features:
mlflow.johnsnowlabs
flavor for the johnsnowlabs
package (#8556, @C-K-Loan)save_model
and log_model
for the transformers
flavor (#8678, @BenWilson2)Bug fixes:
mlflow server
or mlflow ui
, we recommend upgrading to MLflow 2.4.1 as soon as possible.transformers
serialization for ModelCards that contain invalid characters (#8652, @BenWilson2)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
MLflow 2.4.0 includes several major features and improvements
Features:
mlflow.data
and mlflow.log_input()
(#8186, @prithvikannan)mlflow.log_table()
and mlflow.load_table()
APIs for logging evaluation tables (#8523, #8467, @sunishsheth2009)mlflow.get_parent_run()
fluent API (#8493, @annzhang-db)mlflow.evaluate()
to support LLM tasks (#8484, @harupy)Chain
and LLMChain
in mlflow.langchain
flavor (#8453, @liangz1)mlflow.langchain
flavor (#8297, @sunishsheth2009)mlflow.sentence_transformers
flavor for SentenceTransformers (#8479, @BenWilson2; #8547, @Loquats)mlflow.transformers
flavor (#8448, @ankit-db)max_shard_size
parameter in the mlflow.transformers
flavor (#8567, @wenfeiy-db)mlflow.transformers
flavor (#8464, @BenWilson2)mlflow.transformers
flavor (#8492, @BenWilson2)mlflow.transformers
flavor (#8495, @BenWilson2)mlflow.transformers
pyfunc outputs (#8512, @BenWilson2)mlflow.models.set_signature()
API to set the signature of a logged model (#8476, @jerrylian-db)mlflow.onnx.log_model()
(#8433, @leqiao-1)Bug fixes:
mlflow server
with Flask<2.0
(#8463, @kevingreer)mlflow.transformers
pyfunc scalar string output to list of strings during batch inference (#8546, @BenWilson2)mlflow models build-docker
(#8488, @Hellzed)Documentation updates:
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;