Skip to content

Releases: zenml-io/zenml

0.52.0

16 Jan 04:25
Compare
Choose a tag to compare

Important

This release has been updated (16th January, 2024)

A bug was introduced in the helm chart starting from version 0.50.0. All releases from that version have been updated with the fix. More details: #2234

This release adds the ability to pass in pipeline parameters as YAML configuration and fixes a couple of minor issues affecting the W&B integration and the way expiring credentials are refreshed when service connectors are used.

Breaking Change

The current pipeline YAML configurations are now being validated to ensure that configured parameters match what is available in the code. This means that if you have a pipeline that is configured with a parameter that has a different value that what is provided through code, the pipeline will fail to run. This is a breaking change, but it is a good thing as it will help you catch errors early on.

This is an example of a pipeline configuration that will fail to run:

parameters:
    some_param: 24

steps:
  my_step:
    parameters:
      input_2: 42
# run.py
@step
def my_step(input_1: int, input_2: int) -> None:
    pass

@pipeline
def my_pipeline(some_param: int):
    # here an error will be raised since `input_2` is
    # `42` in config, but `43` was provided in the code
    my_step(input_1=42, input_2=43)

if __name__=="__main__":
    # here an error will be raised since `some_param` is
    # `24` in config, but `23` was provided in the code
    my_pipeline(23)

What's Changed

Full Changelog: 0.51.0...0.52.0

0.51.0

16 Jan 04:21
Compare
Choose a tag to compare

Important

This release has been updated (16th January, 2024)

A bug was introduced in the helm chart starting from version 0.50.0. All releases from that version have been updated with the fix. More details: #2234

This release comes with a breaking change to the model version model, a new use-case example for NLP, and a range of bug fixes and enhancements to the artifact management and pipeline run management features.

Breaking Change

  • Artifact Version Table + Artifact Tagging by @fa9r in #2081
  • Converting model models to use the new hydration paradigm by @bcdurak in #2101

New Example

  • NLP Template Example is a new example that demonstrates how to use ZenML for NLP tasks. by @safoinme in #2070

What's Changed

Full Changelog: 0.50.0...0.51.0

0.50.0

16 Jan 04:17
Compare
Choose a tag to compare

Important

This release has been updated (16th January, 2024)

A bug was introduced in the helm chart starting from version 0.50.0. All releases from that version have been updated with the fix. More details: #2234

In this release, we introduce key updates aimed at improving user experience and security.
The ModelConfig object has been renamed to ModelVersion for a more intuitive interface.
Additionally, the release features enhancements such as optimized model hydration for better performance,
alongside a range of bug fixes and contributions from both new and returning community members.

Breaking Change

  • We have renamed the ModelConfig object to ModelVersion with other related changes to the model control plane,
    the goal of this is to bring a simplified user-interface experience, so once ModelVersion is configured in
    pipeline or step it will travel into all other user-facing places: step context, client, etc. by @avishniakov in #2044
  • introducing RBAC for server endpoints, ensuring users have appropriate permissions for actions on resources.
    Additionally, it improves data handling by dehydrating response models to redact inaccessible information, while
    service accounts retain full permissions due to current database constraints. by @schustmi in #1999
  • We have completely reworked our API models. While the request models are mostly the same, now with the new hydration logic, most of
    our response models feature a body and a metadata field which allow us to control the responses of our API and optimize the flow for
    anyone using it By @bcdurak #1971
  • We also worked on adding a new "Artifacts" tab to our dashboard. With these new changes, it will become much easier to understand
    and adjust how ZenML versions your data. Moreover, by using "ExternalArtifacts", you will be able to save and load artifacts manually and
    use them in your pipelines. By @fa9r #1943

Enhancements

  • Improve alembic migration safety by @fa9r in #2073
  • Model Link Filtering by Artifact / Run Name by @fa9r in #2074

Bug Fixes

  • Fix tag<>resource ID generator to fix the issue of manipulating migrated tags properly #2056
  • Fixes for k3d deployments via mlstacks using the ZenML CLI wrapper #2059
  • Fix some filter options for pipeline runs by @schustmi #2078
  • Fix Label Studio image annotation example by @strickvl #2010
  • Alembic migration fix for databases with scheduled pipelines with 2+ runs by @bcdurak #2072
  • Model version endpoint fixes by @schustmi in #2060

ZenML Helm Chart Changes

  • Make helm chart more robust to accidental secret deletions by @stefannica in #2053
  • Separate helm hook resources from regular resources by @stefannica in #2055

Other Changes

New Contributors

Full Changelog: 0.47.0...0.50.0

0.54.1

16 Jan 08:01
5558fb0
Compare
Choose a tag to compare

Release 0.54.1, includes a mix of updates new additions, and bug fixes. The most notable changes are the new production guide,
allowing multi-step VMs for the Skypilot orchestrator which allows you to configure a step to run on a specific VM or run the entire pipeline on a single VM, and some improvements to the Model Control Plane.

What's Changed

New Contributors

Full Changelog: 0.54.0...0.54.1

0.54.0

08 Jan 19:25
1648d6a
Compare
Choose a tag to compare

This release brings a range of new features, bug fixes and documentation
updates. The Model Control Plane has received a number of small bugfixes and
improvements, notably the ability to change model and model version names.

We've also added a whole new starter guide that walks you through
how to get started with ZenML, from creating your first pipeline to fetching
objects once your pipelines have run and much more. Be sure to check it out if
you're new to ZenML!

Speaking of documentation improvements, the Model Control Plane now has its own
dedicated documentation section
introducing the concepts and features of the
Model Control Plane.

As always, this release comes with number of bug fixes, docs additions and
smaller improvements to our internal processes.

Breaking Change

This PR introduces breaking changes in the areas of the REST API concerning secrets and tags. As a consequence, the ZenML Client running the previous ZenML version is no longer compatible with a ZenML Server running the new version and vice-versa. To address this, simply ensure that all your ZenML clients use the same version as the server(s) they connect to.

🥳 Community Contributions 🥳

We'd like to give a special thanks to @christianversloot for two PRs he
contributed to this release. One of them fixes a bug that prevented ZenML from
running on Windows and the other one adds a new materializer for the Polars library.

Also many thanks to @sean-hickey-wf for his contribution of an improvement to
the Slack Alerter stack component

which allows you to define custom blocks for the Slack message.

What's Changed

New Contributors

Full Changelog: 0.53.1...0.54.0

0.47.0

14 Nov 20:05
Compare
Choose a tag to compare

This release fixes a bug that was introduced in 0.46.1 where the default user
was made inaccessible and was inadvertently duplicated. This release rescues
the original user and renames the duplicate.

UPDATE: a breaking update to one of our dependencies means that you should run the following update after installing this version of zenml:

pip install 'bcrypt==4.0.1'

What's Changed

Full Changelog: 0.46.1...0.47.0

0.44.4

14 Nov 10:21
Compare
Choose a tag to compare

This patch release backports some important fixes that have been introduced in more recent versions
of ZenML to the 0.44.x release line.

UPDATE: a breaking update to one of our dependencies means that you should run the following update after installing this version of zenml:

pip install 'bcrypt==4.0.1'

What's Changed

Full Changelog: 0.44.3...0.44.4

0.46.1 [YANKED]

10 Nov 18:32
dcec2d0
Compare
Choose a tag to compare

THIS RELEASE HAS BEEN YANKED

  • Due to an unforeseen alembic migration issue and missing dashboard, this release has been yanked
  • 0.47.0 is out to fix the bugs that have been uncovered

0.46.1

The 0.46.1 release introduces support for Service Accounts and API Keys that
can be used to authenticate with the ZenML server from environments that do not
support the web login flow, such as CI/CD environments, for example.

Also included in this release are some documentation updates and bug fixes,
notably moving the database migration logic deployed with the Helm chart out of
the init containers and into a Kubernetes Job, which makes it possible to scale
out the ZenML server deployments without the risk of running into database
migration conflicts.

What's Changed

Full Changelog: 0.46.0...0.46.1

0.46.0

06 Nov 20:12
Compare
Choose a tag to compare

UPDATE: a breaking update to one of our dependencies means that you should run the following update after installing this version of zenml:

pip install 'bcrypt==4.0.1'

This release brings some upgrades, documentation updates and bug fixes. Notably,
our langchain integration now supports more modern versions and has been
upgraded to a new version at the lower edge of supported packages on account of
a security vulnerability.

Other fixes related to the Model Control Plane which was updated to support the
deletion of model versions via the CLI, for example.

Breaking Change

We removed the llama_index integration in this release. This related to
unsolvable dependency clashes that relate to sqlmodel and our database. We
expect these clashes to be resolved in the future and then we will add our
integration back in. If you were using the llama_index materializer that was
part of the integration, you will have to use a custom materializer in the
meanwhile. We apologize for the inconvenience.

What's Changed

Full Changelog: 0.45.6...0.46.0

0.45.6

31 Oct 09:36
6c266e3
Compare
Choose a tag to compare

UPDATE: a breaking update to one of our dependencies means that you should run the following update after installing this version of zenml:

pip install 'bcrypt==4.0.1'

This release brings an array of enhancements and refinements. Notable improvements include
allowing for disconnecting service connectors from stack components, adding connector support to the
sagemaker step operator, turning synchronous mode on by default for all orchestrators, and enabling
server-side component config validation.

What's Changed

New Contributors

Full Changelog: 0.45.5...0.45.6