Skip to content

Releases: zenml-io/zenml

0.83.0

28 May 14:37
a790bc0
Compare
Choose a tag to compare

🚀 Major Performance Release - ZenML 0.83.0 introduces significant performance improvements and response optimizations that dramatically reduce API response times and database query overhead. This release includes breaking changes and is not compatible with earlier client/server versions.

⚡ Performance Improvements

This release delivers substantial performance enhancements across the ZenML server:

  • Optimized API Responses: Pipeline run responses no longer include unpaginated step lists, dramatically reducing response sizes for large pipelines
  • Database Query Optimization: Improved query patterns with strategic joined loads to minimize database roundtrips
  • Reduced Response Payloads: Many attributes moved from body to resources to avoid unnecessary data transfer when objects are embedded in other responses

🔄 Breaking Changes

⚠️ Client/Server Compatibility: This version is not compatible with earlier ZenML client/server versions. Please ensure both client and server are upgraded to 0.83.0.

API Response Changes

  • Pipeline run responses no longer include metadata.steps or metadata.step_substitutions
  • Many model attributes moved from body to resources for performance
  • Project metadata structure simplified across all responses
  • Model version responses no longer include comprehensive artifact and run ID lists

Method Deprecations

  • Model.get_pipeline_run(...) and ModelVersionResponse.get_pipeline_run(...) have been removed

For a comprehensive list of all response changes and migration details, see PR #3675.

🚀 Orchestrator Enhancements

Kubernetes Orchestrator

  • Enhanced Caching: Added caching capabilities in Kubernetes orchestrator entrypoint to improve performance and reduce unnecessary pod creations

Skypilot Orchestrator

  • Updated Version and Settings: Updated to new Skypilot version and added new setting options

What's Changed

Full Changelog: 0.82.1...0.83.0

0.82.1

14 May 16:34
71aa4cd
Compare
Choose a tag to compare

The 0.82.1 release focuses on incremental improvements to run template management, Kubernetes orchestration, Docker build performance, and overall robustness, while shipping a wide range of documentation updates and quality-of-life enhancements. Key highlights include configurable Kubernetes job clean-up behavior, cascading tags for cached step runs, pyproject.toml support for DockerSettings, improved login stability, and faster Docker build caching through parent image digests.

Features

  • Added pyproject.toml support for configuring DockerSettings, making container builds easier to manage.
  • Added a unique instance label to the Helm chart to simplify the operation of multiple ZenML deployments in the same cluster.
  • Introduced a new stress-test example that showcases ZenML scalability and can be used to benchmark installations.

Improvements

  • Added cascading tags for cached step runs to improve cache reuse and pipeline run performance.
  • Added configurable Kubernetes job clean-up options for the Kubernetes orchestrator.
  • Added a limit to the maximum number of concurrent template runs and improved the overall run template UX.
  • Prevented unnecessary hydration in project-scoped API responses, reducing payload size and improving performance.
  • Optimized Docker build caching by using parent image digests and extending development Dockerfiles.
  • Pinned setuptools to a stable version and removed redundant script dependencies to avoid build failures.

Fixes

  • Fixed DockerHub repository digest detection when building images.
  • Fixed miscellaneous login issues and introduced an API login lock for added robustness.
  • Fixed dashboard bolt icon rendering.
  • Updated Alembic to address compatibility issues.

Documentation

What's Changed

Full Changelog: 0.82.0...0.82.1

0.82.0

01 May 01:02
cb69641
Compare
Choose a tag to compare

The 0.82.0 release delivers significant improvements to Kubernetes orchestrator, enhanced documentation, and numerous fixes to improve overall stability and performance. Key highlights include configurable max parallelism for Kubernetes orchestrator, customizable pod name prefixes and scheduler options, improved runner timeouts, and support for private service connections in Vertex AI. This release also includes comprehensive documentation updates, and library compatibility improvements for NumPy and Pandas.

Features

  • Added max parallelism option for Kubernetes orchestrator
  • Added support for pod name prefixes and scheduler configuration
  • Added private service connect option for Vertex AI orchestrator
  • Made runner timeout easily configurable
  • Added storage for list of Python packages
  • Added an ability to deep refresh the status of your run from the dashboard

Improvements

  • Adjusted GitHub code repo regex pattern for better compatibility
  • Improved build invalidation when parent Dockerfile changes
  • Enhanced directory handling during code download
  • Added ability to list model versions without models
  • Added support for extra attributes in all ZenML models
  • Disabled default project behavior for pro workspaces

Fixes

  • Fixed run templates listing
  • Eliminated premature active project warning logs
  • Updated scikit-learn requirement in SklearnIntegration
  • Updated NumPy integration to work with both 1.x and 2.x library versions
  • Added Pandas custom data type error handling and logging
  • Removed unnecessary and invalid settings
  • Various frontend bug fixes

Documentation

  • Completed comprehensive documentation revamp
  • Added documentation for self-hosted run templates
  • Removed outdated redirects and sections
  • Fixed broken absolute links and restored missing sections
  • Added documentation for run template TTL environment variable
  • Updated image paths for ZenML pipeline screenshots
  • Migrated starter guide to unified log_metadata method

Breaking Changes

  • Removed scikit-image as a requirement of the sklearn integration

What's Changed

Full Changelog: 0.81.0...0.82.0

0.81.0

16 Apr 12:07
45626f4
Compare
Choose a tag to compare

The 0.81.0 release focuses on significant improvements to artifact management, enhanced security features, and advanced resource sharing capabilities. Key highlights include a new Path materializer for directory and file uploads, artifact visualization enhancements, client-side pipeline run logs storage, and support for resource sharing between teams and external users. This release also improves logging, adds security protections, and enhances orchestration capabilities across multiple cloud platforms.

Features

  • Added a Path materializer to upload directories and files
  • Added save_visualizations method to materializers
  • Implemented ZenML artifact store provisioning scripts for AWS/GCP/Azure
  • Added endpoint to download artifact data
  • Enabled resource sharing for teams and external users
  • Added support for custom job parameters in Vertex orchestrator
  • Added client-side pipeline run logs storage in the artifact store

Improvements

  • Improved logging with step ID instead of name and avoided extra newlines
  • Added tracking for stack creation and pipeline runs with remote artifact store
  • Implemented failure retries and pending timeouts for the k8s orchestrator pod
  • Added configurable workload token expiration leeway
  • Migrated onboarding state for better user experience

Fixes

  • Fixed artifact control plane vs model control plane GIF links in docs
  • Used step invocation ID in run template error message
  • Prevented path traversal attacks during file extraction
  • Fixed missing vertex orchestrator dependencies in server image
  • Resolved pydantic 2.11 deprecation warnings
  • Removed duplicate step name from logs

Documentation

Breaking changes

Adding client-side pipeline run logs storage in the artifact store (#3498) breaks the pydantic model between server and client.

Therefore, users should rebuild any run templates with the latest version of ZenML to ensure their pipelines don't break.

What's Changed

  • Added a Path materializer to upload directories and files by @htahir1 in #3496
  • Avoid extra newlines in logs by @avishniakov in #3518
  • Use step ID instead of name in step logs by @schustmi in #3519
  • Fix artifact control plane vs model control plane GIF links in docs by @strickvl in #3508
  • Adding 0.80.1 to the legacy docs by @bcdurak in #3521
  • Adding 0.80.2 to the migration tests by @bcdurak in #3517
  • Enabling the greatexpectations test again by @bcdurak in #3516
  • Add save_visualizations method to materializers by @htahir1 in #3520
  • Add triggering pipelines mini-tutorial by @strickvl in #3495
  • ZenML artifact store provisioning scripts for AWS/GCP/Azure by @stefannica in #3514
  • Improve SDK Client documentation with thematic grouping by @strickvl in #3528
  • Track stack creation and pipeline run with remote artifact store for onboarding state by @schustmi in #3525
  • Add Kubernetes schedule documentation and fix heading hierarchy by @strickvl in #3530
  • Use step invocation ID in run template error message by @schustmi in #3534
  • Migrate onboarding state by @schustmi in #3533
  • Prevent path traversal attacks during file extraction by @htahir1 in #3535
  • Implement failure retries and pending timeouts for the k8s orchestrator pod by @stefannica in #3523
  • Add endpoint to download artifact data by @schustmi in #3507
  • Enable resource sharing for teams and external users by @schustmi in #3461
  • Add support for custom job parameters in Vertex orchestrator by @htahir1 in #3536
  • Add configurable workload token expiration leeway by @schustmi in #3526
  • Fix llms.txt docs by @strickvl in #3540
  • Store client-side pipeline run logs in the artifact store by @stefannica in #3498
  • Add missing vertex orchestrator dependencies to server image by @schustmi in #3541
  • Resolve pydantic 2.11 deprecation warnings by @schustmi in #3542
  • Remove duplicate step name from logs by @schustmi in #3543

Full Changelog: 0.80.2...0.81.0

0.80.2

09 Apr 12:01
57cb890
Compare
Choose a tag to compare

The 0.80.2 release focuses on several bug fixes, usability enhancements, and documentation improvements. Key highlights include fixing the yanked fsspec pip resolution issue, adding sample visualization for Pandas materializer, and upgrading pydantic to 2.11 for improved performance. This release also adds new tutorials and guides, fixes several critical issues, and introduces new functionality for pipeline development.

Features

  • Added poetry add support for CLI
  • Added retry option on step.with_options
  • Added service annotations to helm chart
  • Added step name to console logs for better tracing

Improvements

  • Added sample visualization for Pandas materializer
  • Improved run templates with small enhancements and hidden option support
  • Fixed service connector list-resources endpoint and CLI command

Fixes

  • Fixed timestamps in logs
  • Fixed yanked fsspec pip resolution issue
  • Fixed Kubernetes Orchestrator step pod failure status updates
  • Fixed CI failures and test issues
  • Updated error message for setting pipeline parameters via API

Documentation

What's Changed

New Contributors

Full Changelog: 0.80.1...0.80.2

0.80.1

28 Mar 12:50
464bbad
Compare
Choose a tag to compare

The 0.80.1 release focuses on bug fixes and performance improvements following the major 0.80.0 update. This release addresses several critical issues, particularly improving the CLI functionality when used with the REST API through a deployed ZenML instance. Additionally, this version introduces a restructured documentation architecture for improved user experience.

Improvements

  • Import integrations lazily for better performance
  • Added ability to store a default project for users

Fixes

  • Fixed CLI combined with RestZenStore and filters with multiple entries
  • Fixed stack validation for incluster Kubernetes orchestrator
  • Fixed stack and component URL when connected to a cloud workspace
  • Fixed code repository host fallback
  • Fixed version validation
  • Various other minor bugfixes

Documentation

  • Restructured entire documentation for better organization
  • Fixed broken links in API documentation
  • Refined logging to debug level for service connectors
  • Removed redundant log messages

What's Changed

Full Changelog: 0.80.0...0.80.1

0.80.0

19 Mar 19:42
8635626
Compare
Choose a tag to compare

The 0.80.0 release is one of our biggest updates in a while! This version introduces a major refactoring of workspaces into projects, enhances tagging capabilities, and improves GitLab repository support. This release also features significant performance optimizations for Docker builds and CLI operations.

Features

Improvements

  • Updated devel dockerfiles to make rebuilds faster
  • Improved CLI response time through optimized imports
  • Allow registering public GitLab repositories without token
  • Enable Weave integration in Wandb settings
  • Allow the service account project ID to be overridden in the GCP service connector
  • Pass API token as Kubernetes secret, allowing Kubernetess orchestrator to run workloads without exposing any sensitive API tokens in the environment

Fixes

  • Fixed GitLab URL parsing and matching
  • Corrected CLI command to describe flavors
  • Fixed taggable filter model and filter models with multiple inputs
  • Fixed project statistics endpoint and ZenML Pro project URLs
  • Fixed the ACR support in the Azure service connector
  • Resolved SkyPilot Orchestrator cluster name handling
  • Fixed deprecation messages for GitHub code repository
  • Don't retry REST API calls if runtime errors occur

Documentation

  • Renamed API Docs to SDK Docs for clarity
  • Fixed SDK docs rendering with proper directory structure and links
  • Removed deprecated caveat from Kubernetes docs
  • Various documentation fixes and clarifications

What's Changed

New Contributors

Full Changelog: 0.75.0...0.80.0

0.75.0

27 Feb 08:06
e18d7fc
Compare
Choose a tag to compare

The 0.75.0 release introduces dashboard enhancements for stack component management along with improvements to documentation and service connector capabilities. Users can now create and update stack components directly from the dashboard.

Features

  • Create and update stack components directly from the dashboard
  • Custom authentication method support during auto-configuration of service connectors
  • Enhanced model artifact retrieval by creation date instead of version name
  • Additional SageMaker environment settings

Improvements

  • Expanded fastapi dependency range for better compatibility
  • Improved pipeline source root documentation and logging
  • Better sorting functionality when using custom fetching

Fixes

  • Fixed registration of components with custom flavors
  • Fixed sorting logic when using custom fetching criteria
  • Prevented inner fsspec logs from being flushed to the artifact store

Documentation

  • Added LLM messaging and video resources to documentation
  • Improved formatting for model deployers documentation
  • Fixed GCP service connector docs
  • Added SDK documentation links
  • Enhanced README with LLM messaging

What's Changed

New Contributors

Full Changelog: 0.74.0...0.75.0

0.74.0

06 Feb 16:44
e4ed83f
Compare
Choose a tag to compare

The 0.74.0 release introduces several major features including SageMaker pipeline scheduling capabilities, Azure Container Registry (ACR) implicit authentication support, and Vertex AI persistent resource handling for step operators. Additionally, this release includes comprehensive improvements to timezone handling and significant enhancements to database performance.

Features

Improvements

  • Comprehensive timezone consistency improvements across the platform
  • Enhanced database query performance for pipelines, run templates, models, and artifacts
  • Better handling of configured parameters during pipeline preparation
  • Support for passing run configurations as dictionaries when triggering pipelines
  • Enhanced sorting capabilities for columns with empty values in the dashboard
  • Improved queries for pipelines, run templates, models, and artifacts
  • Better filtering functionality for run metadata
  • More efficient artifact filtering
  • Various Helm chart improvements and reorganization
  • Updated materializer support for newer PyTorch versions
  • Improved code repository management and downloading
  • Better handling of SecretStr values in store configurations

Fixes

  • Kubernetes service connector issues resolved
  • Fixed sorting for columns with potentially empty values
  • Corrected timestamp utilization for better timezone consistency
  • Resolved issues with vLLM pipeline config file usage
  • Fixed code download functionality for custom flavor components
  • Addressed various documentation and broken links
  • Corrected MySQL database connection warnings
  • Fixed issues with Vertex AI experiment tracker documentation

What's Changed

New Contributors

Full Changelog: 0.73.0...0.74.0

0.73.0

22 Jan 00:32
eb2ee3a
Compare
Choose a tag to compare

The 0.73.0 release contains various changes and improvements, but most importantly it introduces the support to deploy and enroll un-managed ZenML Pro tenants in the ZenML Pro control plane (Helm deployment options, secure enrollment, CSRF tokens) and other features necessary for self-hosted, multi-domain ZenML Pro installations.

Other Features

Improvements

  • Added environment variable to allow non-ASCII characters in JSON dumps
  • Removed gluon from MLflow log suppression list
  • Enhanced resource reporting with automatic conversion
  • Documentation updates for Kubeflow Pipelines and LLMs
  • Various bugfixes for the ZenML dashboard

What's Changed

New Contributors

Full Changelog: 0.72.0...0.73.0