Skip to content

Releases: zenml-io/zenml

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

0.45.5

24 Oct 17:18
91bd90d
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 minor release contains bugfixes and documentation improvements. Notably,
our sqlmodel dependency has been pinned to 0.0.8 which fixes installation
errors following the release of 0.0.9.

What's Changed

Full Changelog: 0.45.4...0.45.5

0.45.4

20 Oct 15:46
f333d27
Compare
Choose a tag to compare

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

pip install 'bcrypt==4.0.1' 'sqlmodel==0.0.8'

This minor update fixes a database migration bug that you could potentially encounter while upgrading your ZenML version and relates to use of the ExternalArtifact object.
If you are upgrading from <0.45.x version, this is the recommended release.

UPDATE (Oct 24, 2023): A new version of sqlmodel (0.0.9) might cause issues with your ZenML installation. If you encounter this error, please do a pip install 'sqlmodel==0.0.8' to fix the problem. This will be permanently fixed in higher versions of ZenML.

PROBLEMS?: If you upgraded to ZenML v0.45.2 or v0.45.3 and are experiencing issues with your database, please consider upgrading to v0.45.4 instead.

What's Changed

Full Changelog: 0.45.3...0.45.4

0.45.3

19 Oct 04:09
129db1f
Compare
Choose a tag to compare

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

pip install 'bcrypt==4.0.1' 'sqlmodel==0.0.8'

This minor update fixes a database migration bug that you could potentially encounter while upgrading your ZenML version and relates to use of the ExternalArtifact object.

PROBLEMS?: If you upgraded to ZenML v0.45.2 and are experiencing issues with your database, please either reach out to us on Slack directly or feel free to use this migration script that will manually fix the issue. (Please do backup your database before using the migration script so as to prevent any data loss!)

This release also includes a bugfix from @cameronraysmith relating to the
resolution of our Helm chart OCI location. Thank you!

What's Changed

New Contributors

Full Changelog: 0.45.2...0.45.3

0.45.2

16 Oct 20:16
c66f06f
Compare
Choose a tag to compare

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

pip install 'bcrypt==4.0.1' 'sqlmodel==0.0.8'

UPDATE NOTE: 0.45.2 introduced a minor database migration bug. To avoid this, please install 0.45.3 directly. If you already installed 0.45.2 and are running into database migration issues (especially if you're using ExternalArtifact objects), please contact us directly on Slack or (alternatively) use this migration script to fix your broken database (script should be executed directly on the server if you use remote installation).

This release replaces 0.45.0 and 0.45.1, and fixes the major migration bugs that were in
that yanked release. Please upgrade directly to 0.45.2 and avoid upgrading to
0.45.0 to avoid unexpected migration issues.

Note that 0.45.0 and 0.45.1 were removed from PyPI due to an issue with the
alembic versions + migration which could affect the database state. This release
fixes that issue.

If you have already upgraded to 0.45.0 please let us know in Slack and we'll happy to assist in rollback and recovery.

This release introduces a major upgrade to ZenML, featuring a new authentication mechanism, performance improvements, the introduction of the model control plane, and internal enhancements.

New Authentication Mechanism (#4303)

Our improved authentication mechanism offers a more secure way of connecting to the ZenML server. It initiates a device flow that prompts you to log in via the browser dashboard:

zenml connect --url <YOUR_SERVER_URL>

This eliminates the need for explicit credential input. The previous method (zenml connect --url <URL> --username <USERNAME> --password <PASSWORD>) remains operational but is less recommended due to security concerns.

Critical This change disrupts existing pipeline schedules. After upgrading, manually cancel and reschedule pipelines using the updated version of ZenML.

For more information, read about the device flow in our documentation.

Performance enhancements (#3207)

Internal API adjustments have reduced the footprint of ZenML API objects by up to 35%. This will particularly benefit users with large step and pipeline configurations. Further reductions will be implemented in our next release.

Model Control Plane debut (#5648)

ZenML now includes a preliminary version of the model control plane, a feature for registering models and their metadata on a single ZenML dashboard view. Future releases will provide more details. To test this early version, follow this example.

Breaking Changes

  • Environment variables ZENML_AUTH_TYPE and ZENML_JWT_SECRET_KEY have been renamed to ZENML_SERVER_AUTH_SCHEME and ZENML_SERVER_JWT_SECRET_KEY, respectively.
  • All ZenML server-issued JWT tokens now include an issuer and an audience. After the server update, current scheduled pipelines become invalidated. Reset your schedules and reconnect all clients to the server to obtain new tokens.
  • UnmaterializedArtifact has been relocated to zenml.artifacts. Change your import statement from from zenml.materializers import UnmaterializedArtifact to from zenml.artifacts.unmaterialized_artifact import UnmaterializedArtifact.

Deprecations

  • zenml.steps.external_artifact.ExternalArtifact has moved to zenml.artifacts.external_artifact.ExternalArtifact.

And the rest:

New Contributors

Full Changelog: 0.44.3...0.45.0

0.45.1 [YANKED]

15 Oct 13:52
d1e5fb6
Compare
Choose a tag to compare

0.45.1

Update: It's one of those days! This release is also yanked due to alembic migration issues. We are working hard to solve it. In the meanwhile please use 0.44.3

This release replaces 0.45.0, and fixes the major migration bugs that were in that yanked release. Please upgrade directly to 0.45.1 and avoid upgrading to 0.45.0 to avoid unexpected migration issues.

What's changed

This release introduces a major upgrade to ZenML, featuring a new authentication mechanism, performance improvements, the introduction of the model control plane, and internal enhancements.

New Authentication Mechanism (#4303)

Our improved authentication mechanism offers a more secure way of connecting to the ZenML server. It initiates a device flow that prompts you to log in via the browser dashboard:

zenml connect --url <YOUR_SERVER_URL>

This eliminates the need for explicit credential input. The previous method (zenml connect --url <URL> --username <USERNAME> --password <PASSWORD>) remains operational but is less recommended due to security concerns.

Critical This change disrupts existing pipeline schedules. After upgrading, manually cancel and reschedule pipelines using the updated version of ZenML.

For more information, read about the device flow in our documentation.

Performance enhancements (#3207)

Internal API adjustments have reduced the footprint of ZenML API objects by up to 35%. This will particularly benefit users with large step and pipeline configurations. Further reductions will be implemented in our next release.

Model Control Plane debut (#5648)

ZenML now includes a preliminary version of the model control plane, a feature for registering models and their metadata on a single ZenML dashboard view. Future releases will provide more details. To test this early version, follow this example.

Breaking Changes

  • Environment variables ZENML_AUTH_TYPE and ZENML_JWT_SECRET_KEY have been renamed to ZENML_SERVER_AUTH_SCHEME and ZENML_SERVER_JWT_SECRET_KEY, respectively.
  • All ZenML server-issued JWT tokens now include an issuer and an audience. After the server update, current scheduled pipelines become invalidated. Reset your schedules and reconnect all clients to the server to obtain new tokens.
  • UnmaterializedArtifact has been relocated to zenml.artifacts. Change your import statement from from zenml.materializers import UnmaterializedArtifact to from zenml.artifacts.unmaterialized_artifact import UnmaterializedArtifact.

Deprecations

  • zenml.steps.external_artifact.ExternalArtifact has moved to zenml.artifacts.external_artifact.ExternalArtifact.

And the rest:

New Contributors

Full Changelog: 0.44.3...0.45.0

0.45.0 [YANKED]

12 Oct 11:46
82da7ef
Compare
Choose a tag to compare

IMPORTANT THIS RELEASE HAS BEEN YANKED

  • Due to an unforseen alembic migration issue, this release has been yanked.0.45.1 is on its way to being released to fix the bugs that have been uncovered
  • If you have already upgraded to 0.45.0 please let us know in Slack and we'll happy to assist in rollback and recovery

0.44.3

26 Sep 22:57
18824ef
Compare
Choose a tag to compare

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

pip install 'bcrypt==4.0.1' 'sqlmodel==0.0.8'

This release, introduces SkyPilot, a new VM orchestrator for ZenML that lets users run pipelines on their choice of cloud provider VMs, offering a GPU option without Kubernetes or serverless orchestrators. This release also brings bug fixes and improvements, including a streamlined 'connect' command, interactive configuration for 'zenml stack deploy,' and enhanced documentation covering SageMaker, GCP, and service connectors with MFA.

New Orchestrator: SkyPilot (#1765)

This release introduces a new orchestrator called SkyPilot. SkyPilot is a VM orchestrator
that can be used to run ZenML pipelines on a VM of choice in one of the three supported
cloud providers. It is an excellent choice for users who want to run ZenML pipelines on a GPU
instance, but don't want to use Kubernetes or serverless orchestrators like SageMaker.

Fixes and Improvements

This release fixes several bugs and improves the user experience of the CLI and the
documentation. The most notable changes are:

  • The new connect command that allows connecting all stack components within a stack to a
    service connector with a single command.
  • Adding an interactive flow to the zenml stack deploy command that allows users to
    configure their stack in a guided manner.
  • Add documentation on how to debug the SageMaker orchestrator, how to get started with
    a quick cloud stack on GCP, and documentation on using service connectors with
    enabled MFA.

What's Changed

  • Add support for empty API token in Kubernetes service connector. by @stefannica in #1808
  • Use the container registry credentials to build images with the local image builder by @stefannica in #1804
  • Fix CI by @fa9r in #1809
  • Add documentation on how to debug the SageMaker orchestrator by @fa9r in #1810
  • Bump rich and uvicorn by @jlopezpena in #1750
  • SageMaker: Enable configuring authentication credentials explicitly by @fa9r in #1805
  • Fix: ZenML DB migrations don't run if zenml is installed in path with spaces by @stefannica in #1815
  • Fix mlflow 'run_name' variable overwriting by @iraadit in #1821
  • Add SECURITY.md file for vulnerability disclosures. by @strickvl in #1824
  • Add MFA limitation to service-connectors docs by @safoinme in #1827
  • Improve zenml stack describe to show mlstacks outputs by @strickvl in #1826
  • Documentation to get started with a quick cloud stack on GCP by @AlexejPenner in #1807
  • Fix missing text in git repo docs by @strickvl in #1831
  • Handle irregular plural of code_repository for error message by @strickvl in #1832
  • Connect stack to a service account by @safoinme in #1828
  • SkyPilot Integration with VM Orchestrators by @htahir1 in #1765
  • Add interactive CLI flow for zenml stack deploy by @strickvl in #1829
  • Add README file for helm chart by @strickvl in #1830
  • Fix slack environment variable in in generative_chat example README by @bhatt-priyadutt in #1836

New Contributors

Full Changelog: 0.44.2...tes

0.44.2

11 Sep 15:21
df95a26
Compare
Choose a tag to compare

This release contains updates for some of the most popular integrations, as well as several bug fixes and documentation improvements.

Minor Default Behavior Changes

  • The default page size for zenml list commands was reduced to 20 (from 50) to speed up the runtime of such commands.
  • Simultaneous connection to local and remote ZenML servers is no longer possible since this caused several unexpected behaviors in the past.

Integration Updates

  • The mlflow integration now supports the newest MLflow version 2.6.0.
  • The evidently integration now supports the latest Evidently version 0.4.4.
  • The SageMaker orchestrator of the aws integration now supports authentication via service connectors.

What's Changed

Full Changelog: 0.44.1...0.44.2

0.44.1

31 Aug 20:42
Compare
Choose a tag to compare

This release brings various improvements over the previous version, mainly focusing on using the newly refactored mlstacks package, ZenML's logging module and the changes in our analytics.

IMPORTANT NOTICE

Note: 0.44.0 was removed from Pypi due to an issue with the alembic versions which could affect the database state. A branch occurred in the versions: 0.42.1 -> [0.43.0, e1d66d91a099] -> 0.44.0. This release fixes the issue.

The primary issue arises when deploying version 0.44.0 using a MySQL backend. Although the alembic migration executes all tasks up to 0.44.0, the alembic version represented in the database remains at 0.43.0. This issue persists irrespective of the measures taken, including trying various versions after 0.43.0.

This imbalance leads to failure when running a second replica migration because the database's state is at 0.44.0 while the alembic version remains at 0.43.0. Similarly, attempts to run a second replica or restart the pod fail as the alembic tries to migrate from 0.43.0 to 0.44.0, which is not possible because these changes already exist in the database.

Please note: If you encounter this problem, we recommend you roll back to previous versions and upgrade to 0.43.0. If you still experience difficulties, please join our Slack community at https://zenml.io/slack. We're ready to help you work through this issue.

What's Changed

Full Changelog: 0.43.0...0.44.1