s paradigm in the new docs section about settings.Here is a list of changes that are the most obvious in consequence of the above code. Please note that this list is not exhaustive, and if we have missed something let us know via Slack.

Deprecating the enable_xxx decorators

With the above changes, we are deprecating the much-loved enable_xxx decorators, like enable_mlflow and enable_wandb.

How to migrate: Simply remove the decorator and pass something like this instead to step directly:

@step(

experiment_tracker="mlflow_stack_comp_name",  # name of registered component

settings={  # settings of registered component

"experiment_tracker.mlflow": {  # this is `category`.`flavor`, so another example is `step_operator.spark`

"experiment_name": "name",

"nested": False

Deprecating pipeline.with_config(...)

How to migrate: Replaced with the new pipeline.run(config_path=...).

Deprecating step.with_return_materializer(...)

How to migrate: Simply remove the with_return_materializer method and pass something like this instead to step directly:

@step(

output_materializers=materializer_or_dict_of_materializers_mapped_to_outputs

DockerConfiguration is now renamed to DockerSettings

How to migrate: Rename DockerConfiguration to DockerSettings and instead of passing it in the decorator directly with docker_configuration, you can use:

from zenml.config import DockerSettings

@step(settings={"docker": DockerSettings(...)})

def my_step() -> None:

...

With this change, all stack components (e.g. Orchestrators and Step Operators) that accepted a docker_parent_image as part of its Stack Configuration should now pass it through the DockerSettings object.

Read more here.

ResourceConfiguration is now renamed to ResourceSettings

How to migrate: Rename ResourceConfiguration to ResourceSettings and instead of passing it in the decorator directly with resource_configuration, you can use:

from zenml.config import ResourceSettings

@step(settings={"resources": ResourceSettings(...)})

def my_step() -> None:

...