[ { "id": 75, "slug": "dynamic-pipelines-are-more-flexible", "title": "Dynamic pipelines are more flexible", "description": "Dynamic pipelines gained more control and predictability: you can define start ordering between steps, continue execution more gracefully in some failure scenarios, and better handle implicit dependencies and raw values passed between steps. Replay and deployment parameter handling were also cleaned up so runs use the values you expect without confusing or stale configuration showing up.", "published_at": "2026-07-17T11:21:15Z", "published": true, "audience": "oss", "labels": [ "improvement" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/dynamic_pipelines" }, { "id": 74, "slug": "digitalocean-integration", "title": "New integration: DigitalOcean", "description": "ZenML now ships a first-class DigitalOcean integration with support for DigitalOcean Spaces artifact stores and DigitalOcean Container Registry stack components. Spaces support builds on the existing S3-compatible implementation while handling DigitalOcean regions and endpoint generation for you.", "published_at": "2026-07-17T11:21:15Z", "published": true, "audience": "oss", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/stacks/stack-components/artifact-stores/digitalocean" }, { "id": 73, "slug": "more-deployment-and-platform-capabilities", "title": "More deployment and platform capabilities", "description": "This release adds server-side artifact data deletion, configurable logging and OpenTelemetry support in the Helm chart, and support for storing arbitrary project metadata. Together, these updates make ZenML easier to operate across environments and give teams more control over observability, data lifecycle management, and project organization.", "published_at": "2026-07-17T11:21:15Z", "published": true, "audience": "oss", "labels": [ "improvement" ] }, { "id": 72, "slug": "faster-safer-and-more-reliable-operations", "title": "Faster, safer, and more reliable operations", "description": "ZenML now reduces unnecessary server calls, improves DAG performance, streams large cross-filesystem copies to avoid memory spikes, and fixes race conditions and orchestrator/container edge cases that could break runs. Security and platform reliability also improved with token invalidation after password or API key changes, corrected API key rotation behavior, updated FastAPI/OpenTelemetry dependencies, and more robust Docker build and registry credential handling.", "published_at": "2026-07-17T11:21:15Z", "published": true, "audience": "oss", "labels": [ "bugfix", "improvement" ] }, { "id": 71, "slug": "stronger-access-security", "title": "Stronger access security", "description": "ZenML Pro now better protects account and workspace access by invalidating outdated sessions after password changes or API key rotation. Codespaces also use dedicated authentication, improving isolation and reducing the risk of credential reuse across environments.", "published_at": "2026-07-09T15:10:29Z", "published": true, "audience": "pro", "labels": [ "bugfix", "improvement" ] }, { "id": 70, "slug": "run-pipelines-over-ssh", "title": "Run pipelines over SSH", "description": "You can now orchestrate pipelines and execute steps on remote infrastructure over SSH. This makes it easier to use existing machines or self-managed environments for pipeline runs without needing a more complex deployment setup.", "published_at": "2026-07-02T20:38:13Z", "published": true, "audience": "oss", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/stacks/stack-components/orchestrators/ssh" }, { "id": 69, "slug": "new-integrations-trackio-backblaze-baseten-oauth2", "title": "New integrations: Trackio, Backblaze B2, Baseten, and OAuth2", "description": "ZenML adds four new ways to connect your stack: a **Trackio** experiment tracker for logging trials through Trackio's API, a **Backblaze B2** artifact store as another S3-compatible storage option, a **Baseten** step operator for running GPU and multi-node distributed training jobs, and a generic **OAuth2 service connector** for authenticating external services via static token, client credentials, or a client ID with refresh token.", "published_at": "2026-07-02T12:52:05Z", "published": true, "audience": "oss", "labels": [ "feature", "improvement" ] }, { "id": 68, "slug": "kubernetes-retries-and-sandbox-cleanup", "title": "More control over Kubernetes and sandbox runs", "description": "Two operational controls for teams running ZenML at scale: Kubernetes-based deployments can now configure retry behavior for Kubernetes API calls, adding resilience against transient failures or throttling, and sandbox sessions can optionally destroy the sandbox automatically when the session exits. The sandbox cleanup option defaults to off, so existing behavior is unchanged unless you opt in.", "published_at": "2026-07-02T12:52:05Z", "published": true, "audience": "oss", "labels": [ "improvement" ] }, { "id": 67, "slug": "trigger-cycle-protection", "title": "Trigger cycle protection", "description": "ZenML now detects execution loops in Platform Event Trigger chains at the pipeline level. Cyclic trigger dispatches are skipped with a new `SKIPPED_TRIGGER_CYCLE` status, while unrelated downstream dispatches continue normally, and you can inspect the affected cycle through the SDK.", "published_at": "2026-07-02T12:52:05Z", "published": true, "audience": "pro", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/pro/core-concepts/triggers" }, { "id": 66, "slug": "faster-smoother-pipeline-operations", "title": "Faster, smoother pipeline operations", "description": "This release improves day-to-day performance and ergonomics across the platform. Pipeline and run queries are faster, server memory usage is reduced for artifact-store-backed operations, replaying runs is more flexible with step-wide input overrides, expired API transaction cleanup is more resilient, and the dashboard includes small usability improvements like better filtering.", "published_at": "2026-07-02T12:52:05Z", "published": true, "audience": "oss", "labels": [ "improvement" ] }, { "id": 65, "slug": "safer-defaults-and-platform-fixes", "title": "Safer defaults and platform fixes", "description": "Several fixes strengthen security and reliability, including tighter admin checks for sensitive endpoints and service account management, safer custom flavor loading, and corrected Docker credential handling for image builds and pushes. Azure integration dependencies were also updated, including completion of the **azureml-core** deprecation work.", "published_at": "2026-07-02T12:52:05Z", "published": true, "audience": "oss", "labels": [ "bugfix", "deprecation", "improvement" ] }, { "id": 64, "slug": "clearer-command-step-visibility", "title": "Clearer command step visibility", "description": "Command-based steps are now easier to understand in the UI, with the actual command shown instead of underlying step code. This makes it faster to inspect runs and verify what executed at a glance.", "published_at": "2026-06-18T15:04:53Z", "published": true, "audience": "pro", "labels": [ "improvement" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/command_steps", "should_highlight": false }, { "id": 63, "slug": "new-snapshot-event-automation", "title": "New snapshot event automation", "description": "You can now trigger workflows from **Snapshot** platform events, making it easier to automate follow-up actions when snapshots are created or updated. This expands your options for building event-driven processes in ZenML Pro.", "published_at": "2026-06-18T15:04:53Z", "published": true, "audience": "pro", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/concepts/snapshots", "should_highlight": false }, { "id": 62, "slug": "more-reliable-pipeline-execution", "title": "More reliable pipeline execution", "description": "Dynamic pipelines are now more resilient when running steps with step operators, reducing failures in cases where image resolution previously broke down. Logging shutdown has also been stabilized to avoid deadlocks in affected setups, improving reliability during and after runs.", "published_at": "2026-06-18T12:24:26Z", "published": true, "audience": "oss", "labels": [ "bugfix", "improvement" ], "should_highlight": false }, { "id": 61, "slug": "faster-run-and-step-queries", "title": "Faster run and step queries", "description": "Pipeline run and step run queries have been optimized to improve database performance for common views and operations. Users should see more efficient behavior, especially in environments with larger amounts of run metadata.", "published_at": "2026-06-18T12:24:26Z", "published": true, "audience": "oss", "labels": [ "improvement" ], "should_highlight": false }, { "id": 60, "slug": "async-steps-and-hooks", "title": "Async steps and reworked hooks", "description": "You can now define steps and hooks with `async def`, and ZenML runs them on a dedicated event loop in both standard and dynamic pipelines. Step and pipeline hooks have been reworked into a lifecycle-based system with persisted hook invocation records, and deployments can now be invoked asynchronously \u2014 submitting a run and returning immediately instead of blocking until it finishes.", "published_at": "2026-06-17T15:08:22Z", "published": true, "audience": "oss", "labels": [ "feature", "improvement", "deprecation" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/hooks", "should_highlight": true }, { "id": 59, "slug": "sandboxes-and-modal-execution", "title": "Sandboxes and Modal execution", "description": "Run untrusted or generated code in isolated sessions with the new `Sandbox` stack component, available with built-in `local` and `kubernetes` flavors \u2014 each Kubernetes session runs in its own pod with streamed command execution and support for re-attaching to running sessions. A Modal sandbox flavor and a new Modal orchestrator let you run entire ZenML pipelines on Modal's cloud infrastructure.", "published_at": "2026-06-17T15:08:22Z", "published": true, "audience": "oss", "labels": [ "feature", "deprecation" ], "docs_url": "https://docs.zenml.io/stacks/stack-components/sandboxes", "should_highlight": true }, { "id": 58, "slug": "command-steps", "title": "Run arbitrary commands as steps", "description": "You can now run arbitrary commands as pipeline steps with `CommandStep` \u2014 including non-Python commands and Python callables that don't require ZenML in the execution environment. This makes it easy to wrap existing scripts, CLIs, or shell commands as first-class steps in your pipelines.", "published_at": "2026-06-17T15:08:22Z", "published": true, "audience": "oss", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/command_steps", "should_highlight": false }, { "id": 57, "slug": "better-compatibility-and-performance", "title": "Better compatibility and performance", "description": "This release improves compatibility with newer tooling and runtimes, including **Python 3.14**, updated observability dependencies, improved MLflow interoperability, and Databricks OAuth M2M support. It also delivers faster and more predictable listing and database behavior through sorting fixes, advanced filters, new indexes, and request handling improvements.", "published_at": "2026-06-17T15:08:22Z", "published": true, "audience": "oss", "labels": [ "bugfix", "deprecation", "improvement" ], "docs_url": "https://docs.zenml.io/getting-started/installation", "should_highlight": false }, { "id": 56, "slug": "stronger-security-and-reliability", "title": "Stronger security and reliability", "description": "ZenML tightens access control and validation across API keys, secrets, tags, stack deployments, and rate limiting, helping protect multi-user and proxied deployments. The release also fixes several correctness issues in dynamic pipelines, Kubernetes deployment settings, step input handling, and GCP connector endpoint selection.", "published_at": "2026-06-17T15:08:22Z", "published": true, "audience": "oss", "labels": [ "bugfix", "deprecation", "improvement" ], "should_highlight": false }, { "id": 55, "slug": "improved-gcp-service-connector-for-private-gke-clusters", "title": "Improved GCP Service Connector for Private GKE Clusters", "description": "Fixed connectivity issues when using GCP service connectors with private GKE clusters that have DNS-based control plane endpoints. ZenML now properly connects to these clusters using the same DNS endpoint method as `gcloud`, ensuring seamless access to private Kubernetes environments.", "published_at": "2026-06-02T10:57:18Z", "published": true, "audience": "oss", "labels": [ "bugfix" ] }, { "id": 54, "slug": "skip-docker-builds-without-a-container-engine", "title": "Skip Docker Builds Without a Container Engine", "description": "Resolved an issue where Docker build checksum computation would fail when no container engine was available, even with `skip_build=True` set in your DockerSettings. The build step now respects the skip_build flag, so pipelines can run in environments where Docker isn't installed.", "published_at": "2026-06-02T10:57:18Z", "published": true, "audience": "oss", "labels": [ "bugfix" ] }, { "id": 53, "slug": "streamlined-organization-invitations-with-sso", "title": "Streamlined organization invitations with SSO", "description": "Organization admins can now invite existing ZenML users directly to their organization when SSO is enabled, bypassing the traditional email invitation flow. Members with existing accounts are added immediately with proper roles and permissions, making team onboarding faster and more seamless.", "published_at": "2026-06-01T09:40:24Z", "published": true, "audience": "pro", "labels": [ "feature", "improvement" ], "docs_url": "https://docs.zenml.io/pro/core-concepts/organization" }, { "id": 52, "slug": "ui-improvements-and-bug-fixes", "title": "UI improvements and bug fixes", "description": "Fixed several UI issues including tag overflow in columns, improved error messaging for step logs when permissions are missing, corrected artifact version status display, and resolved organization access permission handling. Additionally fixed a bug where mixed-case email addresses could block invitation acceptance.", "published_at": "2026-06-01T09:40:24Z", "published": true, "audience": "pro", "labels": [ "bugfix", "improvement" ] }, { "id": 51, "slug": "live-event-streaming-for-pipeline-runs", "title": "Live Event Streaming for Pipeline Runs", "description": "You can now stream custom events in real time from running pipelines. Call `zenml.streaming.publish()` from inside any step or dynamic pipeline to push events that consumers can read via Server-Sent Events (SSE). Enable it by setting `stream_broker_implementation_source` in your server configuration; the initial implementation includes a Redis-based broker with automatic catch-up, gap signaling, and idle cleanup.", "published_at": "2026-05-29T10:10:53Z", "published": true, "audience": "oss", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/streaming_events" }, { "id": 50, "slug": "pipeline-run-statistics-endpoint", "title": "Pipeline Run Statistics Endpoint", "description": "A new `POST /api/v1/runs/statistics` endpoint lets you query aggregated metrics across your pipeline runs. Group by status, pipeline, stack, user, time buckets (hour/day/week/month), metadata values, and tags, and calculate averages, sums, and min/max over run duration, step counts, cached steps, output artifacts, or custom numeric metadata\u2014ideal for building dashboards and analytics.", "published_at": "2026-05-29T10:10:53Z", "published": true, "audience": "oss", "labels": [ "feature" ] }, { "id": 49, "slug": "richer-weights-and-biases-integration", "title": "Richer Weights & Biases Integration", "description": "The Weights & Biases experiment tracker now automatically attaches ZenML pipeline and step metadata to your W&B runs, groups runs by pipeline execution, and records W&B identifiers back into ZenML step metadata. You can also configure custom groups, job types, run configs, explicit or deterministic run IDs, resume behavior, and pass through additional `wandb.init` keyword arguments.", "published_at": "2026-05-29T10:10:53Z", "published": true, "audience": "oss", "labels": [ "improvement" ], "docs_url": "https://docs.zenml.io/stacks/stack-components/experiment-trackers/wandb" }, { "id": 48, "slug": "structured-logging-and-opentelemetry-support", "title": "Structured Logging and OpenTelemetry Support", "description": "The ZenML server now supports structured logging with OpenTelemetry instrumentation. Configure console output with the new `ZENML_CONSOLE_LOGGING_FORMAT` environment variable, choosing between `console`, `json`, or `text` formats. Server logs use a clean structured layout with timestamps, levels, logger context, and optional JSON fields.", "published_at": "2026-05-29T10:10:53Z", "published": true, "audience": "oss", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/stacks/stack-components/log-stores/otel" }, { "id": 47, "slug": "developer-experience-and-reliability-improvements", "title": "Developer Experience and Reliability Improvements", "description": "A collection of quality-of-life and reliability improvements: step and pipeline definitions now support string type annotations (including `from __future__ import annotations`); Docker image builds can mount a build cache for faster package installs; interactive wait-condition inputs accept raw strings without requiring JSON quotes; and console logging gained step-name prefixes and clearer formatting. On the reliability side, pipeline runs now fail cleanly when the pipeline function can't be imported instead of hanging indefinitely, keyboard interrupts during wait conditions are handled gracefully, an admin API bug that blocked activating or deactivating user accounts is fixed, and the dashboard's pipeline timeline scrolling is smoother.", "published_at": "2026-05-29T10:10:53Z", "published": true, "audience": "oss", "labels": [ "bugfix", "improvement" ] }, { "id": 46, "slug": "enhanced-organization-management-and-user-discovery", "title": "Enhanced organization management and user discovery", "description": "Organizations can now configure trusted email domains to streamline teammate discovery and invitations. The organizations list now properly loads all entries with pagination support, ensuring large deployments can access every organization. Personal account settings are now consistently accessible regardless of navigation context.", "published_at": "2026-05-13T07:56:45Z", "published": true, "audience": "pro", "labels": [ "feature", "improvement" ], "docs_url": "https://docs.zenml.io/pro/core-concepts/organization" }, { "id": 45, "slug": "improved-service-connector-sharing", "title": "Improved service connector sharing", "description": "Sharing a service connector with Read or Edit access now correctly grants permission to use it for authentication, not just view its metadata\u2014matching the behavior already available for secrets. The access list now accurately reflects who can actually use each connector.", "published_at": "2026-05-13T07:56:45Z", "published": true, "audience": "pro", "labels": [ "bugfix" ] }, { "id": 44, "slug": "new-databricks-step-operator", "title": "New Databricks Step Operator", "description": "You can now run individual pipeline steps on Databricks with the new Databricks step operator. This is useful when you want specific steps to execute in the Databricks runtime while the rest of your pipeline uses a different orchestrator. The Databricks orchestrator also supports optional tag settings to label jobs and cluster resources for cost tracking, ownership, and governance.", "published_at": "2026-05-12T15:13:19Z", "published": true, "audience": "oss", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/stacks/stack-components/step-operators/databricks" }, { "id": 43, "slug": "nested-dynamic-pipelines", "title": "Nested Dynamic Pipelines", "description": "Dynamic pipelines can now be nested, allowing you to call one dynamic pipeline from within another. This enables more modular and reusable pipeline designs, letting you compose complex workflows from smaller dynamic building blocks.", "published_at": "2026-05-12T15:13:19Z", "published": true, "audience": "oss", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/dynamic_pipelines" }, { "id": 42, "slug": "enhanced-run-ai-training-workload-configuration", "title": "Enhanced Run:AI Training Workload Configuration", "description": "The Run:AI step operator now supports advanced training workload settings, including multiple mount types (PVC, ConfigMap, Secret, NFS, S3, HostPath), workload templates, security context settings (UID/GID, non-root execution, seccomp, capabilities), port declarations and external URL exposure, and training workload parallelism and completions.", "published_at": "2026-05-12T15:13:19Z", "published": true, "audience": "oss", "labels": [ "improvement" ], "docs_url": "https://docs.zenml.io/stacks/stack-components/step-operators/runai" }, { "id": 41, "slug": "increased-secret-size-limit", "title": "Increased Secret Size Limit", "description": "The maximum allowed size for ZenML secrets stored in the SQL secrets store has been increased to 64KB, enabling larger configuration storage. The limit applies to the combined size of all keys and values in a secret object.", "published_at": "2026-05-12T15:13:19Z", "published": true, "audience": "oss", "labels": [ "improvement" ], "docs_url": "https://docs.zenml.io/concepts/secrets" }, { "id": 40, "slug": "enhanced-kubernetes-and-orchestrator-reliability", "title": "Enhanced Kubernetes and Orchestrator Reliability", "description": "Improved Kubernetes orchestration with better label sanitization for easier run navigation, fixed orchestrator setting resolution for step pods, and enhanced signal handling during step execution to prevent errors when pipelines are interrupted. Also added richer error information when Kubernetes kills jobs due to resource constraints like OOM.", "published_at": "2026-05-12T15:13:19Z", "published": true, "audience": "oss", "labels": [ "bugfix", "improvement" ] }, { "id": 39, "slug": "improved-helm-deployment-security-and-flexibility", "title": "Improved Helm deployment security and flexibility", "description": "ZenML Helm charts now support loading sensitive credentials (admin passwords and OAuth SSO settings) from existing Kubernetes secrets, following security best practices. Additionally, workspace filtering has been fixed to correctly handle managed workspace queries for all users.", "published_at": "2026-05-12T08:41:10Z", "published": true, "audience": "pro", "labels": [ "bugfix", "feature" ] }, { "id": 38, "slug": "secret-sharing-permissions-fixed", "title": "Secret Sharing Permissions Fixed", "description": "When you share a workspace secret with read or edit access, collaborators can now properly view the secret's key/value content as expected. Previously, users with read access could see the secret existed but couldn't access its actual values.", "published_at": "2026-04-27T12:38:58Z", "published": true, "audience": "pro", "labels": [ "bugfix" ] }, { "id": 37, "slug": "advanced-pipeline-orchestration-and-automation", "title": "Advanced Pipeline Orchestration and Automation", "description": "ZenML now supports **event-based triggers** that automatically execute pipelines when platform events occur (like pipeline run completion), **server-side pipeline replays** with step skipping and artifact override capabilities, and **max-runs stopping criteria** for schedules. These features enable sophisticated automation workflows and give you fine-grained control over pipeline execution patterns.", "published_at": "2026-04-24T13:55:54Z", "published": true, "audience": "all", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/pro/core-concepts/triggers" }, { "id": 36, "slug": "enhanced-stack-flexibility-and-infrastructure-support", "title": "Enhanced Stack Flexibility and Infrastructure Support", "description": "You can now register **multiple components of the same type** (alerters, step operators, experiment trackers) within a single stack, use **Podman as an alternative container engine** to Docker, and expose ZenML servers via **Kubernetes Gateway API** in addition to Ingress. Resource pools are now available for managing compute resources across your infrastructure.", "published_at": "2026-04-24T13:55:54Z", "published": true, "audience": "all", "labels": [ "feature", "improvement" ], "docs_url": "https://docs.zenml.io/pro/core-concepts/resource-pools" }, { "id": 35, "slug": "bug-fixes-and-performance-improvements", "title": "Bug Fixes and Performance Improvements", "description": "Fixed issues with making secrets public via CLI/client, resolved run status update conditions for failed Kubernetes pods, removed blocking behavior when waiting for concurrent step inputs in dynamic pipelines, eliminated unique constraint conflicts on log entries during pipeline restarts, and improved performance in air-gapped environments by avoiding unnecessary PyPI version checks.", "published_at": "2026-04-24T13:55:54Z", "published": true, "audience": "all", "labels": [ "bugfix", "improvement" ] }, { "id": 34, "slug": "dashboard-enhancements-and-run-visualization", "title": "Dashboard Enhancements and Run Visualization", "description": "The dashboard now includes a new run summary view and auto-resizing timeline rows, making it easier to visualize and understand pipeline execution details at a glance. These improvements provide a more intuitive and responsive interface for monitoring your ML workflows.", "published_at": "2026-04-08T15:00:24Z", "published": true, "audience": "oss", "labels": [ "feature", "improvement" ], "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/run-summary-view.avif" }, { "id": 33, "slug": "pipeline-execution-and-artifact-handling-fixes", "title": "Pipeline Execution and Artifact Handling Fixes", "description": "Fixed several issues affecting pipeline reliability: artifact name substitutions now work correctly in dynamic pipelines, single-item lists are properly distinguished from scalar inputs, and HTTP 414 errors are automatically handled by reducing chunk sizes. Additionally, archived schedules can now be deleted by ID prefix and their names can be reused.", "published_at": "2026-04-08T15:00:24Z", "published": true, "audience": "oss", "labels": [ "bugfix", "improvement" ] }, { "id": 32, "slug": "trigger-configuration-and-deployer-stability", "title": "Trigger Configuration and Deployer Stability", "description": "Triggered runs now support customizable configuration objects, giving you better control over pipeline execution parameters when using triggers. The deployer dashboard is also more resilient to template loading issues in Kubernetes environments, preventing server startup failures caused by Jinja2/Starlette version mismatches.", "published_at": "2026-04-08T15:00:24Z", "published": true, "audience": "oss", "labels": [ "improvement", "bugfix" ] }, { "id": 31, "slug": "performance-improvements-for-workspace-operations", "title": "Performance improvements for workspace operations", "description": "Internal optimizations have been implemented to significantly improve the performance of workspace-related operations, including authentication and permission checks. These enhancements reduce latency and provide a smoother experience when interacting with the ZenML Pro platform.", "published_at": "2026-03-26T17:11:47Z", "published": true, "audience": "pro", "labels": [ "improvement" ] }, { "id": 30, "slug": "dynamic-pipeline-enhancements-and-pause-resume-support", "title": "Dynamic Pipeline Enhancements and Pause/Resume Support", "description": "ZenML now supports pausing and resuming pipeline runs with `zenml.wait()` for external inputs, automatically freeing resources during pauses and resuming when ready. Dynamic pipelines also gained better error handling with correct exception propagation for isolated steps, the ability to override step inputs during replays, and improved parameter handling from config templates.", "published_at": "2026-03-19T17:11:55Z", "published": true, "audience": "all", "labels": [ "bugfix", "improvement" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/wait_resume", "should_highlight": true }, { "id": 29, "slug": "infrastructure-and-deployment-improvements", "title": "Infrastructure and Deployment Improvements", "description": "Helm deployments now support secret environment variables injection without committing secrets to values.yaml, and allow custom environment variables to override computed settings. Kubernetes orchestrator timeout handling was fixed, and Docker builds now properly support build arguments with ARG instructions.", "published_at": "2026-03-19T17:11:55Z", "published": true, "audience": "all", "labels": [ "improvement" ] }, { "id": 28, "slug": "bug-fixes-and-core-enhancements", "title": "Bug Fixes and Core Enhancements", "description": "Fixed GCP credentials refresh for more reliable authentication, resolved client-server compatibility issues with logging, and eliminated race conditions in dynamic pipeline monitoring. Added built-in materializer for JSON-serializable dataclasses and included a new LakeFS data versioning example demonstrating efficient handling of terabyte-scale datasets.", "published_at": "2026-03-19T17:11:55Z", "published": true, "audience": "all", "labels": [ "bugfix", "improvement" ] }, { "id": 27, "slug": "enhanced-json-visualization", "title": "Enhanced JSON Visualization", "description": "The JSON visualizer now supports collapsing and expanding items, making it easier to navigate and explore complex JSON data structures in your pipeline artifacts.", "published_at": "2026-03-20T09:37:57Z", "published": true, "audience": "pro", "labels": [ "improvement" ] }, { "id": 26, "slug": "step-and-pipeline-replays", "title": "Step and Pipeline Replays", "description": "You can now replay existing step or pipeline runs with the same inputs and configuration. When replaying a pipeline run, specify which steps to skip and reuse outputs from the original run. A debug mode is also available to run replays on your active stack with a local orchestrator. Note: this release removes old endpoints for legacy triggers, actions, and event sources, and custom step operator flavors must now implement `submit_step` and `get_step_status` methods to work with dynamic pipelines.", "published_at": "2026-03-04T18:22:00Z", "published": true, "audience": "all", "labels": [ "feature", "deprecation" ], "should_highlight": true }, { "id": 25, "slug": "new-run-ai-integration-and-skypilot-update", "title": "New Run:AI Integration and SkyPilot Update", "description": "Added a new Run:AI step operator integration enabling fractional GPU allocation for individual pipeline steps on Run:AI clusters. Updated SkyPilot integration to support version 0.11.x with async API improvements for better orchestration performance.", "published_at": "2026-03-04T18:22:00Z", "published": true, "audience": "all", "labels": [ "feature", "improvement" ] }, { "id": 24, "slug": "bug-fixes-and-stability-improvements", "title": "Bug Fixes and Stability Improvements", "description": "Fixed Azure integration dependencies to ensure compatibility with latest releases, resolved variadic keyword argument handling in pipeline functions, improved Kubernetes client retry configuration with configurable timeouts, and addressed issues with external artifacts and URI length limits. Also fixed git submodule file inclusion in code archives.", "published_at": "2026-03-04T18:22:00Z", "published": true, "audience": "all", "labels": [ "bugfix" ] }, { "id": 23, "slug": "triggers-and-native-schedules", "title": "Triggers and Native Schedules", "description": "Introducing the Trigger concept for automated pipeline execution. The first supported trigger type is Schedules, offering full lifecycle management, automatic synchronization with orchestrators, and centralized schedule management across stacks.", "published_at": "2026-03-05T15:55:12Z", "published": true, "audience": "pro", "labels": [ "feature" ], "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/triggers-schedules.avif", "docs_url": "https://docs.zenml.io/pro/core-concepts/triggers", "should_highlight": true }, { "id": 22, "slug": "enhanced-organization-customization", "title": "Enhanced Organization Customization", "description": "Organizations can now be configured with custom external links that appear on the dashboard, making it easier to navigate to relevant resources. Additionally, customizable documentation buttons can be added to the header for quick access to important information.", "published_at": "2026-02-20T08:51:54Z", "published": true, "audience": "pro", "labels": [ "feature" ], "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/org-custom-links.avif", "should_highlight": true }, { "id": 21, "slug": "improved-artifact-visibility", "title": "Improved Artifact Visibility", "description": "Artifact version tags are now displayed directly in the Artifact Version Panel within both the DAG and timeline views, providing better visibility into artifact metadata without additional navigation.", "published_at": "2026-02-20T08:51:54Z", "published": true, "audience": "pro", "labels": [ "improvement" ], "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/artifact-tags.avif" }, { "id": 20, "slug": "critical-bug-fixes-and-stability-improvements", "title": "Critical Bug Fixes and Stability Improvements", "description": "This release addresses several critical issues including a data corruption bug in artifact downloads for files larger than 8KB, proper credential refresh for long-running Kubernetes jobs, and improved handling of authentication cookies when migrating from ZenML OSS to ZenML Pro. Additionally, pipeline runs now gracefully fall back to `uv pip freeze` in environments where pip is not installed.", "published_at": "2026-02-19T09:59:12Z", "published": true, "audience": "all", "labels": [ "bugfix" ] }, { "id": 19, "slug": "enhanced-performance-and-scalability", "title": "Enhanced Performance and Scalability", "description": "Significant improvements to database query efficiency and API transaction management make ZenML more performant at scale. Filtering queries have been rewritten to eliminate unnecessary operations, and transaction handling now better manages large payloads such as pipeline snapshots with many steps.", "published_at": "2026-02-19T09:59:12Z", "published": true, "audience": "all", "labels": [ "improvement" ] }, { "id": 18, "slug": "logging-system-enhancements", "title": "Logging System Enhancements", "description": "The logging system now includes new create and update endpoints, support for UUIDs in step and pipeline run requests, workspace metadata in pipeline run logs, and better error event tracking. The dashboard also displays elapsed time for steps in the DAG visualization.", "published_at": "2026-02-19T09:59:12Z", "published": true, "audience": "all", "labels": [ "improvement" ] }, { "id": 17, "slug": "flexible-authentication-options-for-seamless-sso-migration", "title": "Flexible Authentication Options for Seamless SSO Migration", "description": "ZenML Pro now supports configuring both password-based and SSO authentication methods simultaneously, enabling a smooth transition path for organizations migrating to SSO. The login interface dynamically displays available authentication options based on your deployment configuration, ensuring users can authenticate using their preferred method during the migration period.", "published_at": "2026-02-10T09:17:29Z", "published": true, "audience": "pro", "labels": [ "feature", "improvement" ], "docs_url": "https://docs.zenml.io/pro/manage/sso" }, { "id": 16, "slug": "self-hosted-workspace-enrollment-support", "title": "Self-Hosted Workspace Enrollment Support", "description": "You can now enroll external self-hosted ZenML servers as Pro workspaces directly from the UI. The new enrollment toggle in the workspace creation form allows you to seamlessly integrate your existing self-hosted infrastructure with ZenML Pro's management capabilities.", "published_at": "2026-02-10T09:17:29Z", "published": true, "audience": "pro", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/pro/deployments/deploy-details/workspace-server/enroll-workspace" }, { "id": 15, "slug": "advanced-user-management-and-authentication", "title": "Advanced User Management and Authentication", "description": "User onboarding is now more flexible with the ability to assign roles and teams directly to invitations, which are automatically transferred when accepted. For on-premise deployments, ZenML Pro now supports generic OAuth2/OIDC integration, allowing seamless authentication with any identity provider including Google, GitHub, Azure AD, and Keycloak.", "published_at": "2026-01-30T11:07:52Z", "audience": "pro", "labels": [ "feature" ] }, { "id": 14, "slug": "enhanced-dashboard-experience-with-code-downloads-and-labels", "title": "Enhanced Dashboard Experience with Code Downloads and Labels", "description": "The ZenML dashboard now supports downloading pipeline code directly from the UI, making it easier to inspect and share the exact code used in your runs. Additionally, stack and component labels are now displayed in the dashboard, and exception information for failed dynamic pipelines is shown for better debugging.", "published_at": "2026-01-29T22:30:18Z", "published": true, "audience": "all", "labels": [ "improvement" ] }, { "id": 13, "slug": "improved-dynamic-pipeline-support", "title": "Improved Dynamic Pipeline Support", "description": "Dynamic pipelines now benefit from better environment handling and enhanced error tracking. These improvements make it easier to work with complex, dynamically-generated workflows.", "published_at": "2026-01-29T22:30:18Z", "published": true, "audience": "all", "labels": [ "improvement" ] }, { "id": 12, "slug": "performance-and-scalability-improvements", "title": "Performance and Scalability Improvements", "description": "Database query performance has been significantly improved through optimized filtering queries and the addition of missing indexes. These changes enhance ZenML's scalability, especially for deployments with large numbers of pipelines and runs.", "published_at": "2026-01-29T22:30:18Z", "published": true, "audience": "all", "labels": [ "improvement" ] }, { "id": 11, "slug": "unified-artifact-version-view", "title": "Unified Artifact Version View", "description": "The artifact version view has been completely redesigned with a new unified 3-panel layout. The left panel shows a searchable, paginated list of versions; the center panel features dedicated visualizations with improved error handling; and the right panel displays details, data, code, and collapsible metadata. Navigation to artifact versions is now more reliable with canonical routing and backwards-compatible redirects for existing links.", "published_at": "2026-01-14T15:50:48Z", "published": true, "audience": "pro", "labels": [ "feature", "improvement" ], "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/unified-artifact-version-view.avif", "should_highlight": true }, { "id": 10, "slug": "enhanced-pipeline-scheduling-and-stack-management", "title": "Enhanced Pipeline Scheduling and Stack Management", "description": "You can now pause and resume schedules directly from the CLI for Kubernetes orchestrators, and archive schedules to preserve historical references while deactivating them. The dashboard introduces a new stack update page, allowing you to modify existing stacks without recreating them, plus improved step cache expiration management with manual invalidation support.", "published_at": "2026-01-14T09:20:00Z", "published": true, "audience": "all", "labels": [ "improvement" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/scheduling#activate-and-deactivate-a-schedule" }, { "id": 9, "slug": "improved-logs-viewing-and-dynamic-pipeline-support", "title": "Improved Logs Viewing and Dynamic Pipeline Support", "description": "A new dedicated logs page in the dashboard provides virtualized rendering, search, and filtering capabilities with a sidebar for navigating between run-level and step logs. Dynamic pipelines are now supported on AzureML, and the Kubernetes orchestrator includes performance improvements for caching efficiency and reliability.", "published_at": "2026-01-14T09:20:00Z", "published": true, "audience": "all", "labels": [ "improvement" ], "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/enhanced-logs.avif", "should_highlight": true }, { "id": 8, "slug": "bug-fixes-and-reliability-improvements", "title": "Bug Fixes and Reliability Improvements", "description": "Fixed several issues including database migration handling for pipelines with zero runs, proper application of per-step compute settings, correct working directory usage in pipeline containers, and improved error handling during source validation. Additional enhancements include support for image templates in Kubernetes init containers and faster database backup/restore operations.", "published_at": "2026-01-14T09:20:00Z", "published": true, "audience": "all", "labels": [ "bugfix", "improvement" ] }, { "id": 7, "slug": "enhanced-pipeline-orchestration-and-deployment-capabilities", "title": "Enhanced Pipeline Orchestration and Deployment Capabilities", "description": "ZenML now supports dynamic pipelines across local Docker and deployment scenarios, enabling more flexible workflow execution. The Kubernetes orchestrator includes graceful stopping for unhealthy steps via heartbeat monitoring, while the AzureML orchestrator and step operator now allow shared memory size configuration for better resource control.", "published_at": "2025-12-16T09:19:32Z", "published": true, "audience": "all", "labels": [ "improvement" ], "learn_more_url": "https://docs.zenml.io/concepts/steps_and_pipelines/advanced_features#step-heartbeat", "should_highlight": false }, { "id": 6, "slug": "improved-logging-infrastructure-and-integrations", "title": "Improved Logging Infrastructure and Integrations", "description": "A comprehensive overhaul of the logging system introduces a new log store abstraction with support for multiple backends including OTEL-compatible endpoints and Datadog with pagination. The MLflow experiment tracker now gracefully handles non-existent runs instead of crashing, and deployment invocations no longer block waiting for logs to flush.", "published_at": "2025-12-16T09:19:32Z", "published": true, "audience": "all", "labels": [ "improvement" ], "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/otel-logs-backend.png", "docs_url": "https://docs.zenml.io/stacks/stack-components/log-stores", "should_highlight": false }, { "id": 5, "slug": "cli-enhancements-and-platform-improvements", "title": "CLI Enhancements and Platform Improvements", "description": "The CLI now features improved table rendering with pipeable output formats (JSON/YAML/CSV/TSV), better column sizing, and cleaner command implementations. Additional improvements include pipeline run indexing for better tracking, Alibaba Cloud storage support, and fixes for Kubernetes service connector compatibility issues.", "published_at": "2025-12-16T09:19:32Z", "published": true, "audience": "all", "labels": [ "improvement" ], "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/cli-columns.png", "docs_url": "https://docs.zenml.io/user-guides/best-practices/quick-wins#id-15-export-cli-data-in-multiple-formats", "learn_more_url": "https://docs.zenml.io/stacks/stack-components/artifact-stores/alibaba-oss", "should_highlight": false }, { "id": 4, "slug": "dynamic-pipelines", "title": "Dynamic pipelines are now available", "description": "Introduced Dynamic Pipelines as an experimental feature, allowing you to generate DAG structures at runtime using native Python control flow (loops, conditionals). Key capabilities include dynamic parallelization, Map/Reduce patterns over collections, and granular runtime configuration (inline vs. isolated). Supported on local, Kubernetes, AWS Sagemaker, and Google Cloud Vertex orchestrators. Dynamic pipelines can be run from snapshots with configurable parameters, and include improvements to Kubernetes orchestrator handling and step mapping operations that return future objects with an `unpack()` method for better control flow.", "published_at": "2025-12-05T06:42:19Z", "published": true, "audience": "all", "labels": [ "feature" ], "docs_url": "https://docs.zenml.io/concepts/steps_and_pipelines/dynamic_pipelines", "should_highlight": true }, { "id": 3, "slug": "panels-are-now-resizable", "title": "Panels are now resizable", "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/resizable-panels.gif", "description": "You can now resize the panels in the dashboard to see more or less content at once. This is useful for when you want to see more or less information about a run or a pipeline.", "published": true, "published_at": "2025-10-23T00:00:00Z", "should_highlight": false, "audience": "all", "labels": [ "feature" ] }, { "id": 2, "slug": "introducing-pipeline-deployments", "title": "Introducing Pipeline Deployments", "description": "Pipeline Deployments turn pipelines into persistent HTTP services with warm state, reducing cold start latency by 10-100x while maintaining full traceability. Learn more in our blog post.", "video_url": "https://www.youtube-nocookie.com/embed/whQytRE7kC8", "learn_more_url": "https://www.zenml.io/blog/why-pipelines-are-the-right-abstraction-for-real-time-ai-agents-included", "published": true, "published_at": "2025-10-02T00:00:00Z", "should_highlight": false, "audience": "all", "labels": [ "feature" ] }, { "id": 1, "slug": "new-timeline-view-for-runs", "title": "New Timeline View for Runs", "description": "We've added a new timeline view for runs to help you visualize the execution of your pipelines.", "feature_image_url": "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/new_feature_timeline.png", "docs_url": "https://docs.zenml.io/concepts/dashboard-features#timeline-view", "published": true, "published_at": "2025-09-12T00:00:00Z", "should_highlight": false, "audience": "all", "labels": [ "feature" ] } ]