1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["1042"],{9619(e,l,i){i.r(l),i.d(l,{assets:()=>h,contentTitle:()=>s,default:()=>d,frontMatter:()=>n,metadata:()=>t,toc:()=>c});var t=i(85446),r=i(74848),o=i(28453);let n={title:"MLflow 2.0.1",slug:"2.0.1",authors:["mlflow-maintainers"]},s,h={authorsImageUrls:[void 0]},c=[];function a(e){let l={a:"a",code:"code",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(l.p,{children:["We are happy to announce the availability of ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/releases/tag/v2.0.1",children:"MLflow 2.0.1"}),"!"]}),"\n",(0,r.jsxs)(l.p,{children:["The 2.0.1 version of MLflow is a major milestone release that focuses on simplifying the management of end-to-end MLOps workflows, providing new feature-rich functionality, and expanding upon the production-ready MLOps capabilities offered by MLflow. Check out the ",(0,r.jsx)(l.a,{href:"https://www.linuxfoundation.org/blog/announcing-availability-of-mlflow-2.0",children:"MLflow 2.0 blog post"}),"\nfor an in-depth walk through!"]}),"\n",(0,r.jsx)(l.p,{children:"This release contains several important breaking changes from the 1.x API, additional major features and improvements."}),"\n",(0,r.jsx)(l.p,{children:"Features:"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsx)(l.li,{children:"[Recipes] MLflow Pipelines is now MLflow Recipes - a framework that enables data scientists to quickly develop high-quality models and deploy them to production"}),"\n",(0,r.jsxs)(l.li,{children:["[Recipes] Add support for classification models to MLflow Recipes (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7082",children:"#7082"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/bbarnes52",children:"@bbarnes52"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[UI] Introduce support for pinning runs within the experiments UI (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7177",children:"#7177"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[UI] Simplify the layout and provide customized displays of metrics, parameters, and tags within the experiments UI (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7177",children:"#7177"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[UI] Simplify run filtering and ordering of runs within the experiments UI (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7177",children:"#7177"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Update ",(0,r.jsx)(l.code,{children:"mlflow.pyfunc.get_model_dependencies()"})," to download all referenced requirements files for specified models (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6733",children:"#6733"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Add support for selecting the Keras model ",(0,r.jsx)(l.code,{children:"save_format"})," used by ",(0,r.jsx)(l.code,{children:"mlflow.tensorflow.autolog()"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7123",children:"#7123"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/balvisio",children:"@balvisio"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Set ",(0,r.jsx)(l.code,{children:"mlflow.evaluate()"})," status to stable as it is now a production-ready API"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Simplify APIs for specifying custom metrics and custom artifacts during model evaluation with ",(0,r.jsx)(l.code,{children:"mlflow.evaluate()"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7142",children:"#7142"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Correctly infer the positive label for binary classification within ",(0,r.jsx)(l.code,{children:"mlflow.evaluate()"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7149",children:"#7149"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/dbczumar",children:"@dbczumar"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Enable automated signature logging for ",(0,r.jsx)(l.code,{children:"tensorflow"})," and ",(0,r.jsx)(l.code,{children:"keras"})," models when ",(0,r.jsx)(l.code,{children:"mlflow.tensorflow.autolog()"})," is enabled (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6678",children:"#6678"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/BenWilson2",children:"@BenWilson2"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Add support for native Keras and Tensorflow Core models within ",(0,r.jsx)(l.code,{children:"mlflow.tensorflow"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6530",children:"#6530"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/WeichenXu123",children:"@WeichenXu123"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Add support for defining the ",(0,r.jsx)(l.code,{children:"model_format"})," used by ",(0,r.jsx)(l.code,{children:"mlflow.xgboost.save/log_model()"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7068",children:"#7068"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/AvikantSrivastava",children:"@AvikantSrivastava"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Scoring] Overhaul the model scoring REST API to introduce format indicators for inputs and support multiple output fields (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6575",children:"#6575"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/tomasatdatabricks",children:"@tomasatdatabricks"}),"; ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7254",children:"#7254"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/adriangonz",children:"@adriangonz"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Scoring] Add support for ragged arrays in model signatures (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7135",children:"#7135"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/trangevi",children:"@trangevi"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Java] Add ",(0,r.jsx)(l.code,{children:"getModelVersion"})," API to the java client (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6955",children:"#6955"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/wgottschalk",children:"@wgottschalk"}),")"]}),"\n"]}),"\n",(0,r.jsx)(l.p,{children:"Breaking Changes:"}),"\n",(0,r.jsx)(l.p,{children:"The following list of breaking changes are arranged by their order of significance within each category."}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsx)(l.li,{children:"[Core] Support for Python 3.7 has been dropped. MLflow now requires Python >=3.8"}),"\n",(0,r.jsxs)(l.li,{children:["[Recipes] ",(0,r.jsx)(l.code,{children:"mlflow.pi
1pelines"})," APIs have been replaced with ",(0,r.jsx)(l.code,{children:"mlflow.recipes"})]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking / Registry] Remove ",(0,r.jsx)(l.code,{children:"/preview"})," routes for Tracking and Model Registry REST APIs (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6667",children:"#6667"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Remove deprecated ",(0,r.jsx)(l.code,{children:"list"})," APIs for experiments, models, and runs from Python, Java, R, and REST APIs (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6785",children:"#6785"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6786",children:"#6786"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6787",children:"#6787"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6788",children:"#6788"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6800",children:"#6800"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6868",children:"#6868"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/dbczumar",children:"@dbczumar"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Remove deprecated ",(0,r.jsx)(l.code,{children:"runs"})," response field from ",(0,r.jsx)(l.code,{children:"Get Experiment"})," REST API response (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6541",children:"#6541"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6524",children:"#6524"})," ",(0,r.jsx)(l.a,{href:"https://github.com/dbczumar",children:"@dbczumar"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Remove deprecated ",(0,r.jsx)(l.code,{children:"MlflowClient.download_artifacts"})," API (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6537",children:"#6537"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/WeichenXu123",children:"@WeichenXu123"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Change the behavior of environment variable handling for ",(0,r.jsx)(l.code,{children:"MLFLOW_EXPERIMENT_NAME"})," such that the value is always used when creating an experiment (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6674",children:"#6674"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/BenWilson2",children:"@BenWilson2"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Update ",(0,r.jsx)(l.code,{children:"mlflow server"})," to run in ",(0,r.jsx)(l.code,{children:"--serve-artifacts"})," mode by default (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6502",children:"#6502"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Update Experiment ID generation for the Filestore backend to enable threadsafe concurrency (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7070",children:"#7070"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/BenWilson2",children:"@BenWilson2"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Remove ",(0,r.jsx)(l.code,{children:"dataset_name"})," and ",(0,r.jsx)(l.code,{children:"on_data_{name | hash}"})," suffixes from ",(0,r.jsx)(l.code,{children:"mlflow.evaluate()"})," metric keys (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7042",children:"#7042"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models / Scoring / Projects] Change default environment manager to ",(0,r.jsx)(l.code,{children:"virtualenv"})," instead of ",(0,r.jsx)(l.code,{children:"conda"})," for model inference and project execution (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6459",children:"#6459"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6489",children:"#6489"})," ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Move Keras model logging APIs to the ",(0,r.jsx)(l.code,{children:"mlflow.tensorflow"})," flavor and drop support for TensorFlow Estimators (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6530",children:"#6530"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/WeichenXu123",children:"@WeichenXu123"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Remove deprecated ",(0,r.jsx)(l.code,{children:"mlflow.sklearn.eval_and_log_metrics()"})," API in favor of ",(0,r.jsx)(l.code,{children:"mlflow.evaluate()"})," API (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6520",children:"#6520"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/dbczumar",children:"@dbczumar"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Require ",(0,r.jsx)(l.code,{children:"mlflow.evaluate()"})," model inputs to be specified as URIs (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6670",children:"#6670"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Drop support for returning custom metrics and artifacts from the same function when using ",(0,r.jsx)(l.code,{children:"mlflow.evaluate()"}),", in favor of ",(0,r.jsx)(l.code,{children:"custom_artifacts"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7142",children:"#7142"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Models] Extend ",(0,r.jsx)(l.code,{children:"PyFuncModel"})," spec to support ",(0,r.jsx)(l.code,{children:"conda"})," and ",(0,r.jsx)(l.code,{children:"virtualenv"})," subfields (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6684",children:"#6684"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Scoring] Remove support for defining input formats using the ",(0,r.jsx)(l.code,{children:"Content-Type"})," header (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6575",children:"#6575"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/tomasatdatabricks",children:"@tomasatdatabricks"}),"; ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7254",children:"#7254"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/adriangonz",children:"@adriangonz"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Scoring] Replace the ",(0,r.jsx)(l.code,{children:"--no-conda"})," CLI option argument for native serving with ",(0,r.jsx)(l.code,{children:"--env-manager='local'"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6501",children:"#6501"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Scoring] Remove public APIs for ",(0,r.jsx)(l.code,{children:"mlflow.sagemaker.deploy()"})," and ",(0,r.jsx)(l.code,{children:"mlflow.sagemaker.delete()"})," in favor of MLflow deployments APIs, such as ",(0,r.jsx)(l.code,{children:"mlflow deployments -t sagemaker"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6650",children:"#6650"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/dbczumar",children:"@dbczumar"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Scoring] Rename input argument ",(0,r.jsx)(l.code,{children:"df"})," to ",(0,r.jsx)(l.code,{children:"inputs"})," in ",(0,r.jsx)(l.code,{children:"mlflow.deployments.predict()"})," method (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6681",children:"#6681"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/BenWilson2",children:"@BenWilson2"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Projects] Replace the ",(0,r.jsx)(l.code,{children:"use_conda"})," argument with the ",(0,r.jsx)(l.code,{children:"env_manager"})," argument within the ",(0,r.jsx)(l.code,{children:"run"})," CLI command for MLflow Projects (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6654",children:"#6654"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Projects] Modify the MLflow Projects docker image build options by renaming ",(0,r.jsx)(l.code,{children:"--skip-image-build"})," to ",(0,r.jsx)(l.code,{children:"--build-image"})," with a default of ",(0,r.jsx)(l.code,{children:"False"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7011",children:"#7011"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Integrations/Azure] Remove deprecated ",(0,r.jsx)(l.code,{children:"mlflow.azureml"})," modules from MLflow in favor of the ",(0,r.jsx)(l.code,{children:"azure-mlflow"})," deployment plugin (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6691",children:"#6691"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/BenWilson2",children:"@BenWilson2"}),")"]}
1),"\n",(0,r.jsxs)(l.li,{children:["[R] Remove conda integration with the R client (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/6638",children:"#6638"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n"]}),"\n",(0,r.jsx)(l.p,{children:"Bug fixes:"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:["[Recipes] Fix rendering issue with profile cards polyfill (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7154",children:"#7154"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/hubertzub-db",children:"@hubertzub-db"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Set the MLflow Run name correctly when specified as part of the ",(0,r.jsx)(l.code,{children:"tags"})," argument to ",(0,r.jsx)(l.code,{children:"mlflow.start_run()"})," (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7228",children:"#7228"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/Cokral",children:"@Cokral"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Tracking] Fix an issue with conflicting MLflow Run name assignment if the ",(0,r.jsx)(l.code,{children:"mlflow.runName"})," tag is set (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7138",children:"#7138"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Scoring] Fix incorrect payload constructor error in SageMaker deployment client ",(0,r.jsx)(l.code,{children:"predict()"})," API (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7193",children:"#7193"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/dbczumar",children:"@dbczumar"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["[Scoring] Fix an issue where ",(0,r.jsx)(l.code,{children:"DataCaptureConfig"})," information was not preserved when updating a Sagemaker deployment (",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/pull/7281",children:"#7281"}),", ",(0,r.jsx)(l.a,{href:"https://github.com/harupy",children:"@harupy"}),")"]}),"\n"]}),"\n",(0,r.jsxs)(l.p,{children:["For a comprehensive list of changes, see the ",(0,r.jsx)(l.a,{href:"https://github.com/mlflow/mlflow/releases/tag/v2.0.1",children:"release change log"}),", and check out the latest documentation on ",(0,r.jsx)(l.a,{href:"http://mlflow.org/",children:"mlflow.org"}),"."]})]})}function d(e={}){let{wrapper:l}={...(0,o.R)(),...e.components};return l?(0,r.jsx)(l,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},28453(e,l,i){i.d(l,{R:()=>n,x:()=>s});var t=i(96540);let r={},o=t.createContext(r);function n(e){let l=t.useContext(o);return t.useMemo(function(){return"function"==typeof e?e(l):{...l,...e}},[l,e])}function s(e){let l;return l=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),t.createElement(o.Provider,{value:l},e.children)}},85446(e){e.exports=JSON.parse('{"permalink":"/releases/2.0.1","source":"@site/releases/2022-11-14-2.0.1-release.md","title":"MLflow 2.0.1","description":"We are happy to announce the availability of MLflow 2.0.1!","date":"2022-11-14T00:00:00.000Z","tags":[],"readingTime":6.36,"hasTruncateMarker":false,"authors":[{"name":"MLflow maintainers","title":"MLflow maintainers","url":"https://github.com/mlflow/mlflow.git","imageURL":"https://github.com/mlflow-automation.png","key":"mlflow-maintainers","page":null}],"frontMatter":{"title":"MLflow 2.0.1","slug":"2.0.1","authors":["mlflow-maintainers"]},"unlisted":false,"prevItem":{"title":"MLflow 2.1.0","permalink":"/releases/2.1.0"},"nextItem":{"title":"MLflow 1.30.0","permalink":"/releases/1.30.0"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.