Server & SDK
Changelog for ZenML OSS and ZenML UI.
Stay up to date with the latest features, improvements, and fixes in ZenML OSS.
0.93.2 (2026-01-29)
See what's new and improved in version 0.93.2.

🎨 Dashboard Enhancements
The ZenML Dashboard now provides better visibility into your pipelines and infrastructure:
Download Pipeline Code: You can now download the code used for a pipeline snapshot directly from the dashboard. A new Download button appears in the "Code Path" section on both the Pipeline Run details page and the Step details sheet, making it easy to retrieve and review the exact code that was executed. PR #4401, PR #989
Stack & Component Labels: Labels attached to stacks and components are now visible in the dashboard, making it easier to organize and identify your infrastructure resources. PR #992
🔄 Dynamic Pipeline Improvements
Dynamic pipelines are now more robust and easier to work with:
Proper Environment Configuration: The pipeline environment is now correctly set while running the entrypoint function of dynamic pipelines, ensuring consistent behavior across different execution contexts. PR #4420
🤖 Developer Experience
Claude Code Plugin: A new ZenML Quick Wins skill for Claude Code helps you implement MLOps best practices directly in your AI-assisted coding workflow. The plugin is available through the Claude Code plugin marketplace and includes comprehensive documentation for multiple AI coding tools. PR #4426
Fixed
🚀 Performance & Scalability
Artifact Download Fix: Resolved an issue where artifact version downloads were failing due to incorrect RBAC checks on the download endpoint. PR #4401
0.93.1 (2026-01-14)
See what's new and improved in version 0.93.1.

🎛️ Schedule Management Enhancements
You can now pause and resume pipeline schedules directly from the CLI, giving you better control over automated pipeline executions. Use the new commands to activate or deactivate schedules on demand:
Currently available for the Kubernetes orchestrator. PR #4328
Schedules now support archiving as a soft-delete operation. When you delete a schedule, it's archived instead of permanently removed, preserving historical references so your pipeline runs maintain their schedule associations. PR #4339
🖥️ Dashboard Improvements
Stack Management: You can now update existing stacks directly from the UI without having to delete and recreate them. A new dedicated stack update page lets you add or replace stack components (orchestrators, artifact stores, container registries, etc.) efficiently. PR #978
Step Cache Management: View and manage step cache expiration directly from the step details panel. The cache expiration field shows when a step's cache will expire (or "Never" if no expiration is set), with expired caches clearly marked. You can also manually invalidate a step's cache with a single click. PR #976
Enhanced Logs Experience: Pipeline runs now have a dedicated logs page with a sidebar for navigating between run-level and step logs. The new logs viewer features virtualized rendering for better performance with large outputs, search and filtering capabilities, and step duration display. PR #985
⚡ Performance & Reliability
Kubernetes Orchestrator Improvements: The Kubernetes orchestrator now runs more efficiently with configurable DAG runner workers, optimized cache candidate fetching, and better error handling for failed step pods. PR #4368
Database Backup Speed: A new mydumper/myloader backup strategy delivers dramatically faster operations:
30x faster database backups
2.5x faster database restores
10x lower storage space requirements
🚀 Orchestrator Features
AzureML Dynamic Pipelines: Dynamic pipelines are now fully supported on the AzureML orchestrator, expanding your options for flexible pipeline execution. PR #4363
Kubernetes Init Container Templating: When configuring init containers for the Kubernetes orchestrator, you can now use an "{{ image }}" placeholder that will be automatically replaced with the actual orchestration/step container image. PR #4361
Fixed
Fixed per-step compute settings not being applied correctly PR #4362
Fixed database migration script to handle pipelines with zero runs PR #4360
Fixed working directory in dynamic pipeline containers (was
/zenmlinstead of/app) PR #4379Fixed pipeline run status updates in
CONTINUE_ON_FAILUREexecution mode PR #4379Fixed component setting shortcut keys when running snapshots PR #4379
Improved error messages during source validation and for string type annotations PR #4359
Fixed log storage in Kubernetes orchestrator by propagating context vars to DAG runner threads PR #4359
Pipeline source code now included for runs triggered by snapshots/deployments PR #4359
0.93.0 (2025-12-16)
See what's new and improved in version 0.93.0.

Breaking Changes
The logging system has been completely redesigned with a new log store abstraction that now captures stdout, stderr, and all logger outputs more comprehensively. If you have custom integrations that relied on the previous logging behavior or accessed logs directly from the artifact store, you may need to update your code to use the new log store APIs. PR #4111
The REST API endpoint
/api/v1/pipelines/<ID>/runshas been removed. Use/api/v1/runs?pipeline_id=<ID>instead to fetch runs for a specific pipeline. PR #4350The
logsfield has been removed from the response models of pipeline runs and steps. Additionally, RBAC checks for fetching logs, downloading artifacts, and visualizations have been tightened. If you were accessing logs through these response models, you will need to use the dedicated log fetching endpoints instead. PR #4347
Enhanced CLI Experience
The ZenML CLI now provides a more flexible and user-friendly experience with improved table rendering and output options. Tables are now more aesthetically pleasing with intelligent column sizing, and you can pipe CLI output in multiple formats (JSON, YAML, CSV, TSV) by properly separating stdout and stderr streams. This makes it easier to integrate ZenML commands into scripts and automation workflows. PR #4241
Dynamic Pipeline Support
Dynamic pipelines can now be deployed and run with the local Docker orchestrator, including support for asynchronous execution. This expands the flexibility of local development and testing workflows, allowing you to leverage dynamic pipeline patterns without requiring cloud infrastructure. PR #4294, PR #4300
Pipeline Run Tracking
Each pipeline run now includes an index attribute that tracks its position within the pipeline's execution history, making it easier to identify and reference specific runs in a sequence. PR #4288
Orchestrator Health Monitoring
The Kubernetes orchestrator now includes enhanced health monitoring capabilities with configurable heartbeat thresholds. Steps that become unhealthy are preemptively stopped, and pipeline tokens are automatically invalidated when pipelines enter an unhealthy state, improving reliability and resource management. PR #4247
New Integrations
Alibaba Cloud Storage: Added support for Alibaba Cloud OSS as an artifact store, expanding ZenML's cloud storage options. PR #4289
Generic OTEL Log Store: Introduced a new log store flavor that can connect to any OTEL/HTTP/JSON compatible log intake endpoint, enabling integration with a wider range of observability platforms. PR #4309
Azure ML Enhancements
The AzureML orchestrator and step operator now support shared memory size configuration, giving you more control over resource allocation for your workloads. PR #4334
Fixed
MLflow Experiment Tracker: Fixed crashes when attempting to resume non-existent runs on Azure ML. The tracker now validates cached run IDs and gracefully creates new runs when necessary. PR #4227
Kubernetes Service Connector: Resolved failures in the ZenML server related to the Kubernetes service connector caused by incompatible urllib3 and kubernetes client library versions. PR #4312
Datadog Log Store: Improved log fetching with proper pagination support, handling the Datadog API's 1000-log limit per request through cursor-based iteration. PR #4314
Deployment Log Flushing: Eliminated blocking behavior when flushing logs during deployment invocations, preventing potential hangs at pipeline completion. PR #4354
0.92.0 (2025-12-02)
See what's new and improved in version 0.92.0.

Dynamic Pipeline Support Expansion
This release significantly expands support for dynamic pipelines across multiple orchestrators:
AWS Sagemaker Orchestrator: Added full support for running dynamic pipelines with seamless transition from existing settings and faster execution through direct use of training jobs. PR #4232
Vertex AI Orchestrator: Dynamic pipelines are now fully supported on Google Cloud's Vertex AI platform. PR #4246
Kubernetes Orchestrator: Improved dynamic pipeline handling by eliminating unnecessary pod restarts. PR #4261
Snapshot Execution: For Pro users, the new release enabled running snapshots of dynamic pipelines from the server with support for specifying pipeline parameters. PR #4253
Improved
Enhanced
step.map(...)andstep.product(...)to return a single future object instead of a list of futures, simplifying the API for step invocations. PR #4261Improved placeholder run handling to prevent potential issues in dynamic pipeline execution. PR #4261
Added better typing for Docker build options with a new class to help with conversions between SDK and CLI. PR #4262
GCP Image Builder Regional Support
Added regional location support to the GCP Image Builder, allowing you to specify Cloud Build regions for improved performance and compliance:
Optional
locationparameter for specifying Cloud Build regionUses regional Cloud Build endpoint (
{location}-cloudbuild.googleapis.com) when location is setMaintains backward compatibility with global endpoint as default
Includes input validation for location parameter
Integration Updates
0.91.2 (2025-11-19)
See what's new and improved in version 0.91.2.

Kubernetes Deployer
Deploy your pipelines directly on Kubernetes
Full integration with Kubernetes orchestrator
MLflow 3.0 Support
Added support for the latest MLflow version
Improved compatibility with modern MLflow features
S3 Artifact Store Fixes
Fixed compatibility with custom S3 backends
Improved SSL certificate handling for RestZenStore
Enhanced Weights & Biases experiment tracker reliability
UI Updates
Remove Video Modal (#943)
Update Dependencies (CVE) (#945)
Adjust text-color (#947)
Sanitize Dockerfile (#948)
0.91.1 (2025-11-11)
See what's new and improved in version 0.91.1.

Hugging Face Deployer
Deploy pipelines directly to Hugging Face Spaces
Seamless integration with Hugging Face infrastructure
Dynamic Pipelines (Experimental)
Introduced v1 of dynamic pipelines
Early feedback welcome for this experimental feature
Read the documentation | PR #4074
Kubernetes Orchestrator Enhancements
Container security context configuration
Skip owner references option
Improved deployment reliability
UI Updates
Display Deployment in Run Detail (#919)
Announcements Widget (#926)
Add Resize Observer to HTML Viz (#928)
Adjust Overview Pipelines (#914)
Fix Panel background (#882)
Input Styling (#911)
Display Schedules (#879)
Fixed
Port reuse for local deployments
Parallel deployment invocations
Keyboard interrupt handling during monitoring
Case-sensitivity issues when updating entity names (#4140)
0.91.0 (2025-10-25)
See what's new and improved in version 0.91.0.

Local Deployer
Deploy pipelines locally with full control
Perfect for development and testing workflows
Advanced Caching System
File and object-based cache invalidation
Cache expiration for bounded lifetime
Custom cache functions for advanced logic
Read the documentation | PR #4040
Deployment Visualizations
Attach custom visualizations to deployments
Fully customizable deployment server settings
Enhanced deployment management
Python 3.13 Support
Full compatibility with Python 3.13
MLX array materializer for Apple Silicon
UI Updates
Deployment Playground: Easier to invoke and test deployments (#861)
Create Snapshots: Create snapshots directly from the UI (#856)
GitHub-Flavored Markdown support (#876)
Resizable Panels (#873)
Breaking Changes
Dropped Python 3.9 support - upgrade to Python 3.10+ (#4053)
0.90.0 (2025-10-02)
See what's new and improved in version 0.90.0.

Pipeline Snapshots & Deployments
Capture immutable snapshots of pipeline code and configuration
Deploy pipelines as HTTP endpoints for online inference
Docker, AWS, and GCP deployer implementations
Learn more about Snapshots | Learn more about Deployments
Runtime Environment Variables
Configure environment variables when running pipelines
Support for ZenML secrets in runtime configuration
Dependency Management Improvements
Reduced base package dependencies
Local database dependencies moved to
zenml[local]extraJAX array materializer support
UI Updates
Pipeline Snapshots & Deployments: Track entities introduced in ZenML 0.90.0 (#814)
Breaking Changes
Client-Server compatibility: Must upgrade both simultaneously
Run templates need to be recreated
Base package no longer includes local database dependencies - install
zenml[local]if needed (#3916)
0.85.0 (2025-09-12)
See what's new and improved in version 0.85.0.

Pipeline Execution Modes
Flexible failure handling configuration
Control what happens when steps fail
Better pipeline resilience
Read the documentation | PR #3874
Value-Based Caching
Cache artifacts based on content/value, not just ID
More intelligent cache reuse
Cache policies for granular control
Airflow 3.0 Support
Full compatibility with Apache Airflow 3.0
Access to latest Airflow features and improvements
UI Updates
Timeline View: New way to visualize pipeline runs alongside the DAG (#799)
Client-Side Structured Logs (#801)
Default Value for Arrays (#798)
Breaking Changes
Local orchestrator now continues execution after step failures
Docker package installer default switched from pip to uv (#3935)
Log endpoint format changed (#3845)
0.84.3 (2025-08-27)
See what's new and improved in version 0.84.3.

ZenML Pro Service Account Authentication
CLI login support via
zenml login --api-keyService account API keys for programmatic access
Organization-level access for automated workflows
ZenML Pro Service Account Authentication
CLI login support via
zenml login --api-keyService account API keys for programmatic access
Organization-level access for automated workflows
0.84.2 (2025-08-06)
See what's new and improved in version 0.84.2.

Kubernetes Orchestrator Improvements
Complete rework using Jobs instead of raw pods
Better robustness and automatic restarts
Significantly faster pipeline compilation
Kubernetes Orchestrator Improvements
Complete rework using Jobs instead of raw pods
Better robustness and automatic restarts
Significantly faster pipeline compilation
0.84.1 (2025-07-30)
See what's new and improved in version 0.84.1.

Step Exception Handling
Improved collection of exception information
Better debugging capabilities
External Service Accounts
Added support for external service accounts
Improved flexibility
Kubernetes Orchestrator Enhancements
Schedule management capabilities
Better error handling
Enhanced pod monitoring
Dynamic Fan-out/Fan-in
Support for dynamic patterns with run templates
More flexible pipeline architectures
Step Exception Handling
Improved collection of exception information
Better debugging capabilities
External Service Accounts
Added support for external service accounts
Improved flexibility
Kubernetes Orchestrator Enhancements
Schedule management capabilities
Better error handling
Enhanced pod monitoring
Dynamic Fan-out/Fan-in
Support for dynamic patterns with run templates
More flexible pipeline architectures
0.84.0 (2025-07-11)
See what's new and improved in version 0.84.0.

Early Pipeline Stopping
Stop pipelines early with Kubernetes orchestrator
Better resource management
Step Retries
Configurable step retry mechanisms
Improved pipeline resilience
Step Status Refresh
Real-time status monitoring
Enhanced step status refresh capabilities
Performance Improvements
Thread-safe RestZenStore operations
Server-side processing improvements
Enhanced pipeline/step run fetching
PR #3758 | PR #3762 | PR #3776
UI Updates
Breaking Changes
Kubernetes Orchestrator Compatibility: Client and orchestrator pod versions must match exactly
Last updated
Was this helpful?