We are happy to announce the availability of MLflow 1.30.0!

MLflow 1.30.0 includes several major features and improvements


  • [Pipelines] Introduce hyperparameter tuning support to MLflow Pipelines (#6859, @prithvikannan)
  • [Pipelines] Introduce support for prediction outlier comparison to training data set (#6991, @jinzhang21)
  • [Pipelines] Introduce support for recording all training parameters for reproducibility (#7026, #7094, @prithvikannan)
  • [Pipelines] Add support for Delta tables as a datasource in the ingest step (#7010, @sunishsheth2009)
  • [Pipelines] Add expanded support for data profiling up to 10,000 columns (#7035, @prithvikanna)
  • [Pipelines] Add support for AutoML in MLflow Pipelines using FLAML (#6959, @mshtelma)
  • [Pipelines] Add support for simplified transform step execution by allowing for unspecified configuration (#6909, @apurva-koti)
  • [Pipelines] Introduce a data preview tab to the transform step card (#7033, @prithvikannan)
  • [Tracking] Introduce run_name attribute for create_run, get_run and update_run APIs (#6782, #6798 @apurva-koti)
  • [Tracking] Add support for searching by creation_time and last_update_time for the search_experiments API (#6979, @harupy)
  • [Tracking] Add support for search terms run_id IN and run ID NOT IN for the search_runs API (#6945, @harupy)
  • [Tracking] Add support for searching by user_id and end_time for the search_runs API (#6881, #6880 @subramaniam02)
  • [Tracking] Add support for searching by run_name and run_id for the search_runs API (#6899, @harupy; #6952, @alexacole)
  • [Tracking] Add support for synchronizing run name attribute and mlflow.runName tag (#6971, @BenWilson2)
  • [Tracking] Add support for signed tracking server requests using AWSSigv4 and AWS IAM (#7044, @pdifranc)
  • [Tracking] Introduce the update_run() API for modifying the status and name attributes of existing runs (#7013, @gabrielfu)
  • [Tracking] Add support for experiment deletion in the mlflow gc cli API (#6977, @shaikmoeed)
  • [Models] Add support for environment restoration in the evaluate() API (#6728, @jerrylian-db)
  • [Models] Remove restrictions on binary classification labels in the evaluate() API (#7077, @dbczumar)
  • [Scoring] Add support for BooleanType to mlflow.pyfunc.spark_udf() (#6913, @BenWilson2)
  • [SQLAlchemy] Add support for configurable Pool class options for SqlAlchemyStore (#6883, @mingyu89)

Bug fixes:

  • [Pipelines] Enable Pipeline subprocess commands to create a new SparkSession if one does not exist (#6846, @prithvikannan)
  • [Pipelines] Fix a rendering issue with bool column types in Step Card data profiles (#6907, @sunishsheth2009)
  • [Pipelines] Add validation and an exception if required step files are missing (#7067, @mingyu89)
  • [Pipelines] Change step configuration validation to only be performed during runtime execution of a step (#6967, @prithvikannan)
  • [Tracking] Fix infinite recursion bug when inferring the model schema in mlflow.pyspark.ml.autolog() (#6831, @harupy)
  • [UI] Remove the browser error notification when failing to fetch artifacts (#7001, @kevingreer)
  • [Models] Allow mlflow-skinny package to serve as base requirement in MLmodel requirements (#6974, @BenWilson2)
  • [Models] Fix an issue with code path resolution for loading SparkML models (#6968, @dbczumar)
  • [Models] Fix an issue with dependency inference in logging SparkML models (#6912, @BenWilson2)
  • [Models] Fix an issue involving potential duplicate downloads for SparkML models (#6903, @serena-ruan)
  • [Models] Add missing pos_label to sklearn.metrics.precision_recall_curve in mlflow.evaluate() (#6854, @dbczumar)
  • [SQLAlchemy] Fix a bug in SqlAlchemyStore where set_tag() updates the incorrect tags (#7027, @gabrielfu)

Documentation updates:

  • [Models] Update details regarding the default Keras serialization format (#7022, @balvisio)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.