All Versions
49
Latest Version
Avg Release Cycle
28 days
Latest Release
9 days ago

Changelog History
Page 3

  • v1.8.0 Changes

    April 16, 2020

    1.8.0 (2020-04-21)

    MLflow 1.8.0 includes several major features and improvements:

    πŸ”‹ Features:

    • βž• Added mlflow.azureml.deploy API for deploying MLflow models to AzureML (#2375 @csteegz, #2711, @akshaya-a)
    • βž• Added support for case-sensitive LIKE and case-insensitive ILIKE queries (e.g. 'params.framework LIKE '%sklearn%') with the SearchRuns API & UI when running against SQL backends (#2217, @t-henri; #2708, @mparkhe)
    • πŸ‘Œ Improved line smoothing in MLflow metrics UI using exponential moving averages (#2620, @Valentyn1997)
    • βž• Added mlflow.spacy module with support for logging and loading spaCy models (#2242, @arocketman)
    • πŸ’» Parameter values that differ across runs are highlighted in run comparison UI (#2565, @gabrielbretschner)
    • βž• Added ability to compare source runs associated with model versions from the registered model UI (#2537, @juntai-zheng)
    • βž• Added support for alphanumerical experiment IDs in the UI. (#2568, @jonas)
    • βž• Added support for passing arguments to docker run when running docker-based MLflow projects (#2608, @ksanjeevan)
    • βž• Added Windows support for mlflow sagemaker build-and-push-container CLI & API (#2500, @AndreyBulezyuk)
    • πŸ‘Œ Improved performance of reading experiment data from local filesystem when LibYAML is installed (#2707, @Higgcz)
    • βž• Added a healthcheck endpoint to the REST API server at /health that always returns a 200 response status code, to be used to verify health of the server (#2725, @crflynn)
    • πŸ’» MLflow metrics UI plots now scale to rendering thousands of points using scattergl (#2447, @mjlbach)

    πŸ› Bug fixes:

    • πŸ›  Fixed CLI summary message in mlflow azureml build_image CLI (#2712, @dbczumar)
    • Updated examples/flower_classifier/score_images_rest.py with multiple bug fixes (#2647, @tfurmston)
    • πŸ›  Fixed pip not found error while packaging models via mlflow models build-docker (#2699, @HiromuHota)
    • πŸ›  Fixed bug in mlflow.tensorflow.autolog causing erroneous deletion of TensorBoard logging directory (#2670, @dbczumar)
    • πŸ›  Fixed a bug that truncated the description of the mlflow gc subcommand in mlflow --help (#2679, @dbczumar)
    • πŸ›  Fixed bug where mlflow models build-docker was failing due to incorrect Miniconda download URL (#2685, @michaeltinsley)
    • Fixed a bug in S3 artifact logging functionality where MLFLOW_S3_ENDPOINT_URL was ignored (#2629, @poppash)
    • πŸ›  Fixed a bug where Sqlite in-memory was not working as a tracking backend store by modifying DB upgrade logic (#2667, @dbczumar)
    • πŸ›  Fixed a bug to allow numerical parameters with values >= 1000 in R mlflow::mlflow_run() API (#2665, @lorenzwalthert)
    • πŸ›  Fixed a bug where AWS creds was not found in the Windows platform due path differences (#2634, @AndreyBulezyuk)
    • Fixed a bug to add pip when necessary in _mlflow_conda_env (#2646, @tfurmston)
    • πŸ›  Fixed error code to be more meaningful if input to model version is incorrect (#2625, @andychow-db)
    • πŸ›  Fixed multiple bugs in model registry (#2638, @aarondav)
    • πŸ›  Fixed support for conda env dicts with mlflow.pyfunc.log_model (#2618, @dbczumar)
    • πŸ›  Fixed a bug where hiding the start time column in the UI would also hide run selection checkboxes (#2559, @harupy)

    πŸ“š Documentation updates:

    • βž• Added links to source code to mlflow.org (#2627, @harupy)
    • πŸ›° Documented fix for pandas-records payload (#2660, @SaiKiranBurle)
    • πŸ›  Fixed documentation bug in TensorFlow load_model utility (#2666, @pogil)
    • βž• Added the missing Model Registry description and link on the first page (#2536, @dmatrix)
    • βž• Added documentation for expected datatype for step argument in log_metric to match REST API (#2654, @mparkhe)
    • Added usage of the model registry to the log_model function in sklearn_elasticnet_wine/train.py example (#2609, @netanel246)

    ⚑️ Small bug fixes and doc updates (#2594, @Trollgeir; #2703,#2709, @juntai-zheng; #2538, #2632, @keigohtr; #2656, #2553, @lorenzwalthert; #2622, @pingsutw; #2615, #2600, #2533, @mlflow-automation; #1391, @sueann; #2613, #2598, #2534, #2723, @smurching; #2652, #2710, @mparkhe; #2706, #2653, #2639, @tomasatdatabricks; #2611, @9dogs; #2700, #2705, @aarondav; #2675, #2540, @mengxr; #2686, @RensDimmendaal; #2694, #2695, #2532, @dbczumar; #2733, #2716, @harupy; #2726, @crflynn; #2582, #2687, @dmatrix)

  • v1.7.2 Changes

    March 20, 2020

    πŸš€ MLflow 1.7.2 is a patch release containing a minor change:

    • πŸ“Œ Pin alembic version to 1.4.1 or below to prevent pep517-related installation errors
      (#2612, @smurching)
  • v1.7.1 Changes

    March 17, 2020

    πŸš€ MLflow 1.7.1 is a patch release containing bug fixes and small changes:

    • βœ‚ Remove usage of Nonnull annotations and findbugs dependency in Java package (#2583, @mparkhe)
    • βž• Add version upper bound (<=1.3.13) to sqlalchemy dependency in Python package (#2587, @smurching)

    πŸ›  Other bugfixes and doc updates (#2595, @mparkhe; #2567, @jdlesage)

  • v1.7.0 Changes

    March 02, 2020

    1.7.0 (2020-03-02)

    MLflow 1.7.0 includes several major features and improvements and some notable breaking changes.

    πŸ›  MLflow support for Python 2 is now deprecated and will be dropped in a future release. At that point, existing Python 2 workflows that use MLflow will continue to work without modification, but Python 2 users will no longer get access to the latest MLflow features and bugfixes. We recommend that you upgrade to Python 3 - see https://docs.python.org/3/howto/pyporting.html for a migration guide.

    πŸ’₯ Breaking changes to Model Registry REST APIs:

    πŸš€ Model Registry REST APIs have been updated to be more consistent with the other MLflow APIs. With this release Model Registry APIs are intended to be stable until the next major version.

    • πŸš€ Python and Java client APIs for Model Registry have been updated to use the new REST APIs. When using an MLflow client with a server using updated REST endpoints, you won't need to change any code but will need to upgrade to a new client version. The client APIs contain deprecated arguments, which for this release are backward compatible, but will be dropped in future releases. (#2457, @tomasatdatabricks; #2502, @mparkhe).
    • ⚑️ The Model Registry UI has been updated to use the new REST APIs (#2476 @aarondav; #2507, @mparkhe)

    Other Features:

    • Ability to click through to individual runs from metrics plot (#2295, @harupy)
    • βž• Added mlflow gc CLI for permanent deletion of runs (#2265, @t-henri)
    • Metric plot state is now captured in page URLs for easier link sharing (#2393, #2408, #2498 @smurching; #2459, @harupy)
    • βž• Added experiment management to MLflow UI (create/rename/delete experiments) (#2348, @ggliem)
    • πŸ’» Ability to search for experiments by name in the UI (#2324, @ggliem)
    • πŸ’» MLflow UI page titles now reflect the content displayed on the page (#2420, @AveshCSingh)
    • βž• Added a new LogModel REST API endpoint for capturing model metadata, and call it from the Python and R clients (#2369, #2430, #2468 @tomasatdatabricks)
    • Java Client API to download model artifacts from Model Registry (#2308, @andychow-db)

    πŸ› Bug fixes and documentation updates:

    • πŸ“š Updated Model Registry documentation page with code snippets and examples (#2493, @dmatrix; #2517, @harupy)
    • πŸ‘ Better error message for Model Registry, when using incompatible backend server (#2456, @aarondav)
    • matplotlib is no longer required to use XGBoost and LightGBM autologging (#2423, @harupy)
    • πŸ›  Fixed bug where matplotlib figures were not closed in XGBoost and LightGBM autologging (#2386, @harupy)
    • πŸ›  Fixed parameter reading logic to support param values with newlines in FileStore (#2376, @dbczumar)
    • πŸ‘Œ Improve readability of run table column selector nodes (#2388, @dbczumar)
    • ⚑️ Validate experiment name supplied to UpdateExperiment REST API endpoint (#2357, @ggliem)
    • πŸ›  Fixed broken MLflow DB README link in CLI docs (#2377, @dbczumar)
    • πŸ”„ Change copyright year across docs to 2020 (#2349, @ParseThis)

    ⚑️ Small bug fixes and doc updates (#2378, #2449, #2402, #2397, #2391, #2387, #2523, #2527 @harupy; #2314, @juntai-zheng; #2404, @andychow-db; #2343, @pogil; #2366, #2370, #2364, #2356, @AveshCSingh; #2373, #2365, #2363, @smurching; #2358, @jcuquemelle; #2490, @RensDimmendaal; #2506, @dbczumar; #2234 @Zangr; #2359 @lbernickm; #2525, @mparkhe)

  • v1.6.0 Changes

    January 29, 2020

    1.6.0 (2020-01-29)

    🌲 MLflow 1.6.0 includes several new features, including a better runs table interface, a utility for easier parameter tuning, and automatic logging from XGBoost, LightGBM, and Spark. It also implements a long-awaited fix allowing @ symbols in database URLs. A complete list is below:

    πŸ”‹ Features:

    • βž• Adds a new runs table column view based on ag-grid which adds functionality for nested runs, serverside sorting, column reordering, highlighting, and more. (#2251, @Zangr)
    • βž• Adds contour plot to the run comparsion page to better support parameter tuning (#2225, @harupy)
    • If you use EarlyStopping with Keras autologging, MLflow now automatically captures the best model trained and the associated metrics (#2301, #2219, @juntai-zheng)
    • βž• Adds autologging functionality for LightGBM and XGBoost flavors to log feature importance, metrics per iteration, the trained model, and more. (#2275, #2238, @harupy)
    • βž• Adds an experimental mlflow.spark.autolog() API for automatic logging of Spark datasource information to the current active run. (#2220, @smurching)
    • ⚑️ Optimizes the file store to load less data from disk for each operation (#2339, @jonas)
    • ⬆️ Upgrades from ubuntu:16.04 to ubuntu:18.04 when building a Docker image with mlflow models build-docker (#2256, @andychow-db)

    πŸ› Bug fixes and documentation updates:

    • πŸ›  Fixes bug when running server against database URLs with @ symbols (#2289, @hershaw)
    • πŸ›  Fixes model Docker image build on Windows (#2257, @jahas)
    • πŸ”Œ Documents the SQL Server plugin (#2320, @avflor)
    • βž• Adds a help file for the R package (#2259, @lorenzwalthert)
    • βž• Adds an example of using the Search API to find the best performing model (#2313, @AveshCSingh)
    • πŸ”Œ Documents how to write and use MLflow plugins (#2270, @smurching)

    ⚑️ Small bug fixes and doc updates (#2293, #2328, #2244, @harupy; #2269, #2332, #2306, #2307, #2292, #2267, #2191, #2231, @juntai-zheng; #2325, @shubham769; #2291, @sueann; #2315, #2249, #2288, #2278, #2253, #2181, @smurching; #2342, @tomasatdatabricks; #2245, @dependabot[bot]; #2338, @jcuquemelle; #2285, @avflor; #2340, @pogil; #2237, #2226, #2243, #2272, #2286, @dbczumar; #2281, @renaudhager; #2246, @avaucher; #2258, @lorenzwalthert; #2261, @smith-kyle; 2352, @dbczumar)

  • v1.5.0 Changes

    December 19, 2019

    1.5.0 (2019-12-19)

    MLflow 1.5.0 includes several major features and improvements:

    πŸ†• New Model Flavors and Flavor Updates:

    • πŸ†• New support for a LightGBM flavor (#2136, @harupy)
    • πŸ†• New support for a XGBoost flavor (#2124, @harupy)
    • πŸ†• New support for a Gluon flavor and autologging (#1973, @cosmincatalin)
    • πŸ‘€ Runs automatically created by mlflow.tensorflow.autolog() and mlflow.keras.autolog() (#2088) are now automatically ended after training and/or exporting your model. See the docs <https://mlflow.org/docs/latest/tracking.html#automatic-logging-from-tensorflow-and-keras-experimental>_ for more details (#2094, @juntai-zheng)

    More features and improvements:

    • When using the mlflow server CLI command, you can now expose metrics on /metrics for Prometheus via the optional --activate-parameter argument (#2097, @t-henri)
    • πŸ’» The mlflow ui CLI command now has a --host/-h option to specify user-input IPs to bind to (#2176, @gandroz)
    • πŸ‘ MLflow now supports pulling Git submodules while using MLflow Projects (#2103, @badc0re)
    • πŸ†• New mlflow models prepare-env command to do any preparation necessary to initialize an environment. This allows distinguishing configuration and user errors during predict/serve time (#2040, @aarondav)
    • TensorFlow.Keras and Keras parameters are now logged by autolog() (#2119, @juntai-zheng)
    • MLflow log_params() will recognize Spark ML params as keys and will now extract only the name attribute (#2064, @tomasatdatabricks)
    • Exposes mlflow.tracking.is_tracking_uri_set() (#2026, @fhoering)
    • The artifact image viewer now displays "Loading..." when it is loading an image (#1958, @harupy)
    • πŸ‘ The artifact image view now supports animated GIFs (#2070, @harupy)
    • βž• Adds ability to mount volumes and specify environment variables when using mlflow with docker (#1994, @nlml)
    • βž• Adds run context for detecting job information when using MLflow tracking APIs within Databricks Jobs. The following job types are supported: notebook jobs, Python Task jobs (#2205, @dbczumar)
    • 🐎 Performance improvement when searching for runs (#2030, #2059, @jcuquemelle; #2195, @rom1504)

    πŸ› Bug fixes and documentation updates:

    • πŸ›  Fixed handling of empty directories in FS based artifact repositories (#1891, @tomasatdatabricks)
    • πŸ›  Fixed mlflow.keras.save_model() usage with DBFS (#2216, @andychow-db)
    • πŸ›  Fixed several build issues for the Docker image (#2107, @jimthompson5802)
    • Fixed mlflow_list_artifacts() (R package) (#2200, @lorenzwalthert)
    • πŸ‘· Entrypoint commands of Kubernetes jobs are now shell-escaped (#2160, @zanitete)
    • πŸ›  Fixed project run Conda path issue (#2147, @Zangr)
    • πŸ›  Fixed spark model load from model repository (#2175, @tomasatdatabricks)
    • Stripped "dev" suffix from PySpark versions (#2137, @dbczumar)
    • πŸ›  Fixed note editor on the experiment page (#2054, @harupy)
    • πŸ›  Fixed models serve, models predict CLI commands against models:/ URIs (#2067, @smurching)
    • Don't unconditionally format values as metrics in generic HtmlTableView component (#2068, @smurching)
    • πŸ›  Fixed remote execution from Windows using posixpath (#1996, @aestene)
    • βž• Add XGBoost and LightGBM examples (#2186, @harupy)
    • βž• Add note about active run instantiation side effect in fluent APIs (#2197, @andychow-db)
    • ♻️ The tutorial page has been refactored to be be a 'Tutorials and Examples' page (#2182, @juntai-zheng)
    • Doc enhancements for XGBoost and LightGBM flavors (#2170, @harupy)
    • βž• Add doc for XGBoost flavor (#2167, @harupy)
    • ⚑️ Updated active_run() docs to clarify it cannot be used accessing current run data (#2138, @juntai-zheng)
    • Document models:/ scheme for URI for load_model methods (#2128, @stbof)
    • βž• Added an example using Prophet via pyfunc (#2043, @dr3s)
    • βž• Added and updated some screenshots and explicit steps for the model registry (#2086, @stbof)

    ⚑️ Small bug fixes and doc updates (#2142, #2121, #2105, #2069, #2083, #2061, #2022, #2036, #1972, #2034, #1998, #1959, @harupy; #2202, @t-henri; #2085, @stbof; #2098, @AdamBarnhard; #2180, #2109, #1977, #2039, #2062, @smurching; #2013, @aestene; #2146, @joelcthomas; #2161, #2120, #2100, #2095, #2088, #2076, #2057, @juntai-zheng; #2077, #2058, #2027, @sueann; #2149, @zanitete; #2204, #2188, @andychow-db; #2110, #2053, @jdlesage; #2003, #1953, #2004, @Djailla; #2074, @nlml; #2116, @Silas-Asamoah; #1104, @jimthompson5802; #2072, @cclauss; #2221, #2207, #2157, #2132, #2114, #2063, #2065, #2055, @dbczumar; #2033, @cthoyt; #2048, @philip-khor; #2002, @jspoorta; #2000, @christang; #2078, @dennyglee; #1986, @vguerra; #2020, @dependabot[bot])

  • v1.4.0 Changes

    October 30, 2019

    MLflow 1.4.0 includes several major features:

    • Model Registry (Beta). Adds an experimental model registry feature, where you can manage, version, and keep lineage of your production models. (#1943, @mparkhe, @Zangr, @sueann, @dbczumar, @smurching, @gioa, @clemens-db, @pogil, @mateiz; #1988, #1989, #1995, #2021, @mparkhe; #1983, #1982, #1967, @dbczumar)
    • ⚑️ TensorFlow updates
      • MLflow Keras model saving, loading, and logging has been updated to be compatible with TensorFlow 2.0. (#1927, @juntai-zheng)
      • Autologging for tf.estimator and tf.keras models has been updated to be compatible with TensorFlow 2.0. The same functionalities of autologging in TensorFlow 1.x are available in TensorFlow 2.0, namely when fitting tf.keras models and when exporting saved tf.estimator models. (#1910, @juntai-zheng)
      • Examples and READMEs for both TensorFlow 1.X and TensorFlow 2.0 have been added to mlflow/examples/tensorflow. (#1946, @juntai-zheng)

    More features and improvements:

    • βš™ [API] Add functions get_run, get_experiment, get_experiment_by_name to the fluent API (#1923, @fhoering)
    • πŸ’» [UI] Use Plotly as artifact image viewer, which allows zooming and panning (#1934, @harupy)
    • πŸ’» [UI] Support deleting tags from the run details page (#1933, @harupy)
    • πŸ’» [UI] Enable scrolling to zoom in metric and run comparison plots (#1929, @harupy)
    • πŸ‘ [Artifacts] Add support of viewfs URIs for HDFS federation for artifacts (#1947, @t-henri)
    • πŸ‘ [Models] Spark UDFs can now be called with struct input if the underlying spark implementation supports it. The data is passed as a pandas DataFrame with column names matching those in the struct. (#1882, @tomasatdatabricks)
    • [Models] Spark models will now load faster from DFS by skipping unnecessary copies (#2008, @tomasatdatabricks)

    πŸ› Bug fixes and documentation updates:

    • [Projects] Make detection of MLproject files case-insensitive (#1981, @smurching)
    • πŸ’» [UI] Fix a bug where viewing metrics containing forward-slashes in the name would break the MLflow UI (#1968, @smurching)
    • 🏁 [CLI] models serve command now works in Windows (#1949, @rboyes)
    • [Scoring] Fix a dependency installation bug in Java MLflow model scoring server (#1913, @smurching)

    ⚑️ Small bug fixes and doc updates (#1932, #1935, @harupy; #1907, @marnixkoops; #1911, @HackyRoot; #1931, @jmcarp; #2007, @deniskovalenko; #1966, #1955, #1952, @Djailla; #1915, @sueann; #1978, #1894, @smurching; #1940, #1900, #1904, @mparkhe; #1914, @jerrygb; #1857, @mengxr; #2009, @dbczumar)

  • v1.3 Changes

    September 30, 2019

    MLflow 1.3.0 includes several major features and improvements:

    πŸ”‹ Features:

    • 🌲 The Python client now supports logging & loading models using TensorFlow 2.0 (#1872, @juntai-zheng)
    • 🐎 Significant performance improvements when fetching runs and experiments in MLflow servers that use SQL database-backed storage (#1767, #1878, #1805 @dbczumar)
    • New GetExperimentByName REST API endpoint, used in the Python client to speed up set_experiment and get_experiment_by_name (#1775, @smurching)
    • βš™ New mlflow.delete_run, mlflow.delete_experiment fluent APIs in the Python client(#1396, @MerelTheisenQB)
    • πŸ†• New CLI command (mlflow experiments csv) to export runs of an experiment into a CSV (#1705, @jdlesage)
    • Directories can now be logged as artifacts via mlflow.log_artifact in the Python fluent API (#1697, @apurva-koti)
    • πŸ’» HTML and geojson artifacts are now rendered in the run UI (#1838, @sim-san; #1803, @spadarian)
    • πŸ‘ Keras autologging support for fit_generator Keras API (#1757, @charnger)
    • 🐳 MLflow models packaged as docker containers can be executed via Google Cloud Run (#1778, @ngallot)
    • 🐳 Artifact storage configurations are propagated to containers when executing docker-based MLflow projects locally (#1621, @nlaille)
    • πŸ’» The Python, Java, R clients and UI now retry HTTP requests on 429 (Too Many Requests) errors (#1846, #1851, #1858, #1859 @tomasatdatabricks; #1847, @smurching)

    πŸ› Bug fixes and documentation updates:

    • The R mlflow_list_artifact API no longer throws when listing artifacts for an empty run (#1862, @smurching)
    • πŸ›  Fixed a bug preventing running the MLflow server against an MS SQL database (#1758, @sifanLV)
    • πŸ’» MLmodel files (artifacts) now correctly display in the run UI (#1819, @ankitmathur-db)
    • The Python mlflow.start_run API now throws when resuming a run whose experiment ID differs from the active experiment ID set via mlflow.set_experiment (#1820, @mcminnra).
    • πŸ”Š MlflowClient.log_metric now logs metric timestamps with millisecond (as opposed to second) resolution (#1804, @ustcscgyer)
    • πŸ›  Fixed bugs when listing (#1800, @ahutterTA) and downloading (#1890, @jdlesage) artifacts stored in HDFS.
    • πŸ›  Fixed a bug preventing Kubernetes Projects from pushing to private Docker repositories (#1788, @dbczumar)
    • πŸ›  Fixed a bug preventing deploying Spark models to AzureML (#1769, @Ben-Epstein)
    • πŸ›  Fixed experiment id resolution in projects (#1715, @drewmcdonald)
    • ⚑️ Updated parallel coordinates plot to show all fields available in compared runs (#1753, @mateiz)
    • πŸ“„ Streamlined docs for getting started with hosted MLflow (#1834, #1785, #1860 @smurching)

    ⚑️ Small bug fixes and doc updates (#1848, @pingsutw; #1868, @iver56; #1787, @apurvakoti; #1741, #1737, @apurva-koti; #1876, #1861, #1852, #1801, #1754, #1726, #1780, #1807 @smurching; #1859, #1858, #1851, @tomasatdatabricks; #1841, @ankitmathur-db; #1744, #1746, #1751, @mateiz; #1821, #1730, @dbczumar; #1727, cfmcgrady; #1716, @axsaucedo; #1714, @fhoering; #1405, @ancasarb; #1502, @jimthompson5802; #1720, jke-zq; #1871, @mehdi254; #1782, @stbof)

  • v1.2 Changes

    August 09, 2019

    MLflow 1.2 includes the following major features and improvements:

    • Experiments now have editable tags and descriptions (#1630, #1632, #1678, @ankitmathur-db)
    • 🚀 Search latency has been significantly reduced in the SQLAlchemyStore (#1660, @t-henri)

    More features and improvements

    • πŸ‘ Backend stores now support run tag values up to 5000 characters in length. Some store implementations may support longer tag values (#1687, @ankitmathur-db)
    • Gunicorn options can now be configured for the mlflow models serve CLI with the GUNICORN_CMD_ARGS environment variable (#1557, @LarsDu)
    • πŸ’» Jsonnet artifacts can now be previewed in the UI (#1683, @ankitmathur-db)
    • πŸ”– Adds an optional python_version argument to mlflow_install for specifying the Python version (e.g. "3.5") to use within the conda environment created for installing the MLflow CLI. If python_version is unspecified, mlflow_install defaults to using Python 3.6. (#1722, @smurching)

    πŸ› Bug fixes and documentation updates

    • [Tracking] The Autologging feature is now more resilient to tracking errors (#1690, @apurva-koti)
    • 🚚 [Tracking] The runs field in in the GetExperiment.Response proto has been deprecated & will be removed in MLflow 2.0. Please use the Search Runs API for fetching runs instead (#1647, @dbczumar)
    • 🐳 [Projects] Fixed a bug that prevented docker-based MLflow Projects from logging artifacts to the LocalArtifactRepository (#1450, @nlaille)
    • [Projects] Running MLflow projects with the --no-conda flag in R no longer requires Anaconda to be installed (#1650, @spadarian)
    • πŸ›  [Models/Scoring] Fixed a bug that prevented Spark UDFs from being loaded on Databricks (#1658, @smurching)
    • πŸ’» [UI] AJAX requests made by the MLflow Server Frontend now specify correct MIME-Types (#1679, @ynotzort)
    • πŸ’» [UI] Previews now render correctly for artifacts with uppercase file extensions (e.g., .JSON, .YAML) (#1664, @ankitmathur-db)
    • πŸ’» [UI] Fixed a bug that caused search API errors to surface a Niagara Falls page (#1681, @dbczumar)
    • [Installation] MLflow dependencies are now selected properly based on the target installation platform (#1643, @akshaya-a)
    • 🏁 [UI] Fixed a bug where the "load more" button in the experiment view did not appear on browsers in Windows (#1718, @Zangr)

    ⚑️ Small bug fixes and doc updates (#1663, #1719, @dbczumar; #1693, @max-allen-db; #1695, #1659, @smurching; #1675, @jdlesage; #1699, @ankitmathur-db; #1696, @aarondav; #1710, #1700, #1656, @apurva-koti)

  • v1.1 Changes

    July 22, 2019

    MLflow 1.1 includes several major features and improvements:

    In MLflow Tracking:

    • ⚑️ Experimental support for autologging from Tensorflow and Keras. Using mlflow.tensorflow.autolog() will enable automatic logging of metrics and optimizer parameters from TensorFlow to MLflow. The feature will work with TensorFlow versions 1.12 <= v < 2.0. (#1520, #1601, @apurva-koti)
    • πŸ’» Parallel coordinates plot in the MLflow compare run UI. Adds out of the box support for a parallel coordinates plot. The plot allows users to observe relationships between a n-dimensional set of parameters to metrics. It visualizes all runs as lines that are color-coded based on the value of a metric (e.g. accuracy), and shows what parameter values each run took on. (#1497, @Zangr)
    • Pandas based search API. Adds the ability to return the results of a search as a pandas dataframe using the new mlflow.search_runs API. (#1483, #1548, @max-allen-db)
    • 🌲 Java fluent API. Adds a new set of APIs to create and log to MLflow runs. This API contrasts with the existing low level MlflowClient API which simply wraps the REST APIs. The new fluent API allows you to create and log runs similar to how you would using the Python fluent API. (#1508, @andrewmchen)
    • πŸ’» Run tags improvements. Adds the ability to add and edit tags from the run view UI, delete tags from the API, and view tags in the experiment search view. (#1400, #1426, @Zangr; #1548, #1558, @ankitmathur-db)
    • Search API improvements. Adds order by and pagination to the search API. Pagination allows you to read a large set of runs in small page sized chunks. This allows clients and backend implementations to handle an unbounded set of runs in a scalable manner. (#1444, @sueann; #1437, #1455, #1482, #1485, #1542, @aarondav; #1567, @max-allen-db; #1217, @mparkhe)
    • 🏁 Windows support for running the MLflow tracking server and UI. (#1080, @akshaya-a)

    In MLflow Projects:

    • 🐳 Experimental support to run Docker based MLprojects in Kubernetes. Adds the first fully open source remote execution backend for MLflow projects. With this, you can leverage elastic compute resources managed by kubernetes for their ML training purposes. For example, you can run grid search over a set of hyperparameters by running several instances of an MLproject in parallel. (#1181, @marcusrehm, @tomasatdatabricks, @andrewmchen; #1566, @stbof, @dbczumar; #1574 @dbczumar)

    More features and improvements

    In MLflow Tracking:

    • πŸ’» Paginated β€œload more” and backend sorting for experiment search view UI. This change allows the UI to scalably display the sorted runs from large experiments. (#1564, @Zangr)
    • Search results are encoded in the URL. This allows you to share searches through their URL and to deep link to them. (#1416, @apurva-koti)
    • πŸ’» Ability to serve MLflow UI behind jupyter-server-proxy or outside of the root path /. Previous to MLflow 1.1, the UI could only be hosted on / since the Javascript makes requests directly to /ajax-api/.... With this patch, MLflow will make requests to ajax-api/... or a path relative to where the HTML is being served. (#1413, @xhochy)

    In MLflow Models:

    • ⚑️ Update mlflow.spark.log_model() to accept descendants of pyspark.Model (#1519, @ankitmathur-db)
    • Support for saving custom Keras models with custom_objects. This field is semantically equivalent to custom_objects parameter of keras.models.load_model() function (#1525, @ankitmathur-db)
    • πŸ†• New more performant split orient based input format for pyfunc scoring server (#1479, @lennon310)
    • πŸ— Ability to specify gunicorn server options for pyfunc scoring server built with mlflow models build-docker. #1428, @lennon310)

    πŸ› Bug fixes and documentation updates

    • ⬆️ [Tracking] Fix database migration for MySQL. mlflow db upgrade should now work for MySQL backends. (#1404, @sueann)
    • πŸ’» [Tracking] Make CLI mlflow server and mlflow ui commands to work with SQLAlchemy URIs that specify a database driver. (#1411, @sueann)
    • [Tracking] Fix usability bugs related to FTP artifact repository. (#1398, @kafendt; #1421, @nlaille)
    • [Tracking] Return appropriate HTTP status codes for MLflowException (#1434, @max-allen-db)
    • [Tracking] Fix sorting by user ID in the experiment search view. (#1401, @andrewmchen)
    • [Tracking] Allow calling log_metric with NaNs and infs. (#1573, @tomasatdatabricks)
    • πŸ›  [Tracking] Fixes an infinite loop in downloading artifacts logged via dbfs and retrieved via S3. (#1605, @sueann)
    • 🐳 [Projects] Docker projects should preserve directory structure (#1436, @ahutterTA)
    • [Projects] Fix conda activation for newer versions of conda. (#1576, @avinashraghuthu, @smurching)
    • 🌲 [Models] Allow you to log Tensorflow keras models from the tf.keras module. (#1546, @tomasatdatabricks)

    ⚑️ Small bug fixes and doc updates (#1463, @mateiz; #1641, #1622, #1418, @sueann; #1607, #1568, #1536, #1478, #1406, #1408, @smurching; #1504, @LizaShak; #1490, @acroz; #1633, #1631, #1603, #1589, #1569, #1526, #1446, #1438, @apurva-koti; #1456, @Taur1ne; #1547, #1495, @aarondav; #1610, #1600, #1492, #1493, #1447, @tomasatdatabricks; #1430, @javierluraschi; #1424, @nathansuh; #1488, @henningsway; #1590, #1427, @Zangr; #1629, #1614, #1574, #1521, #1522, @dbczumar; #1577, #1514, @ankitmathur-db; #1588, #1566, @stbof; #1575, #1599, @max-allen-db; #1592, @abaveja313; #1606, @andrewmchen)