ZenML Release Notes

55 release notes curated from 2 sources by the Releasebot Team. Last updated: May 12, 2026

Get this feed:
  • May 13, 2026
    • Date parsed from source:
      May 13, 2026
    • First seen by Releasebot:
      May 12, 2026
    • Modified by Releasebot:
      May 13, 2026
    ZenML logo

    ZenML

    0.94.4

    ZenML releases broader pipeline and Kubernetes improvements, including a new Databricks step operator, nested dynamic pipelines, advanced Run:AI workload settings, richer failure diagnostics, better label handling, a larger secret size limit, and dashboard run parent display.

    New Databricks Step Operator

    You can now run individual pipeline steps on Databricks using the new Databricks step operator PR #4648. 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 now supports optional tag settings to label jobs and cluster resources for cost tracking, ownership, and governance.

    Nested Dynamic Pipelines

    Dynamic pipelines can now be nested, allowing you to call one dynamic pipeline from within another PR #4775. This enables more modular and reusable pipeline designs.

    Enhanced Run:AI Training Workload Configuration

    The Run:AI step operator now supports advanced training workload settings PR #4780, including:

    • Multiple mount types (PVC, ConfigMap, Secret, NFS, S3, HostPath)
    • Workload templates via workload_template_id
    • Security context settings (UID/GID, non-root execution, seccomp, capabilities)
    • Port declarations and external URL exposure
    • Training workload parallelism and completions

    Improved Kubernetes Job Failure Diagnostics

    When dynamic pipeline jobs fail due to system issues (such as OOM kills), ZenML now provides richer diagnostic information PR #4800. This makes it easier to understand why Kubernetes terminated your pods.

    Better Kubernetes Label Handling

    Kubernetes string handling has been improved with separate sanitization for DNS-style names/keys and looser label-value rules for metadata like run, pipeline, and step IDs PR #4756. This makes it easier to navigate through runs in Kubernetes.

    Increased Secret Size Limit

    The maximum allowed size for ZenML secrets stored in the SQL secrets store has been increased to 64KB PR #4769. The limit applies to the combined size of all keys and values in a secret object.

    Dashboard: Parent Run Display

    The dashboard now displays parent run information in the run details view when available PR #1050.

    Fixed

    Signal handling during step execution: Signal handlers are now properly unregistered after step execution, preventing strange errors when running many sync steps or interrupting pipelines PR #4784. Dynamic pipeline steps running in isolated environments or step operators are no longer affected by signal handling from the orchestrator.

    RBAC performance: Fixed redundant RBAC permission checks during response model dehydration PR #4797. Previously, when permissions were already prefetched and denied, additional RBAC requests were sent unnecessarily for each sub-model.

    Keyword-only arguments in steps: Step functions can now use keyword-only arguments without causing failures PR #4798.

    Kubernetes orchestrator settings: Fixed step pod configuration by replacing legacy hardcoded orchestrator.kubernetes lookups with proper orchestrator.get_settings(...) calls PR #4803. Step pods now correctly apply orchestrator settings from canonical component keys while maintaining backward compatibility.

    What's Changed

    • Add version 0.94.2 to legacy docs by @github-actions[bot] in #4766
    • Add 0.94.3 to the migration tests by @github-actions[bot] in #4768
    • Revise Run:AI service account setup and troubleshooting by @safoinme in #4772
    • Update dynamic pipelines docs by @schustmi in #4776
    • Misc release-testing fixes by @schustmi in #4770
    • Increase the max size of zenml secrets stored in the SQL secrets store by @stefannica in #4769
    • Create run metadata for isolated steps (dynamic) by @Json-Andriopoulos in #4785
    • Better signal handling during step execution by @schustmi in #4784
    • Bump the minor-and-patch group across 1 directory with 9 updates by @dependabot[bot] in #4795
    • Fix O(N) global scan in artifact-version delete by @joaquinhuigomez in #4686
    • Fix multiple RBAC calls during dehydration by @schustmi in #4797
    • Clarify that DynamicPipelineRunner.wait() timeout is a soft timeout by @shaun0927 in #4741
    • Fix typo in step creation error message by @shaun0927 in #4736
    • Allow keyword only args in step function by @schustmi in #4798
    • Kubernetes label sanitization by @bcdurak in #4756
    • Allow non module-level definitions of steps and dynamic pipelines by @schustmi in #4799
    • Added ability to get help with flavor specific configurations by @AlexejPenner in #4662
    • Extract projects-backend release dispatch into dedicated workflow by @safoinme in #4720
    • Fixing orchestrator setting resolution by @bcdurak in #4803
    • Fix notify projects backend zizmor scan by @strickvl in #4808
    • Fix Check Links workflow failures (runai.md + dangling preemption refs + Slack 403) by @strickvl in #4807
    • Fix nightly PyPI trusted publishing by @strickvl in #4806
    • Add uv.lock to .gitignore by @strickvl in #4811
    • Nested dynamic pipelines by @schustmi in #4775
    • Refresh agent guidance docs by @strickvl in #4817
    • Fix MLflow deployment healthcheck method by @strickvl in #4816
    • Update docs for recent feature drift by @strickvl in #4818
    • Add advanced Run:AI training workload settings by @safoinme in #4780
    • Fix deployment invocation request fields by @schustmi in #4809
    • Extra info on kubernetes-killed jobs by @Json-Andriopoulos in #4800
    • Introduce new Databricks step-operator and fix tags and custom-tags by @safoinme in #4648
    • Fix PydanticAI agent example dependencies by @strickvl in #4823
    • Refactor Databricks test cases to use temporary path for wheel directory by @safoinme in #4824
    • Prepare release 0.94.4 by @github-actions[bot] in #4821

    New Contributors

    • @joaquinhuigomez made their first contribution in #4686
    • @shaun0927 made their first contribution in #4741

    Full Changelog: 0.94.3...0.94.4

    Original source
  • Apr 27, 2026
    • Date parsed from source:
      Apr 27, 2026
    • First seen by Releasebot:
      Apr 28, 2026
    ZenML logo

    ZenML

    Secret Sharing Permissions Fixed

    ZenML fixes workspace secret sharing so collaborators can view secret key/value content with read or edit access.

    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.

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from ZenML and hundreds of other software products.

    Create account
  • Apr 24, 2026
    • Date parsed from source:
      Apr 24, 2026
    • First seen by Releasebot:
      Apr 28, 2026
    ZenML logo

    ZenML

    Advanced Pipeline Orchestration and Automation

    ZenML adds event-based triggers, server-side pipeline replays, and max-runs stopping criteria for smarter pipeline automation.

    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.

    Original source
  • Apr 24, 2026
    • Date parsed from source:
      Apr 24, 2026
    • First seen by Releasebot:
      Apr 28, 2026
    ZenML logo

    ZenML

    Enhanced Stack Flexibility and Infrastructure Support

    ZenML adds multiple same-type stack components, Podman support, Kubernetes Gateway API exposure, and resource pools.

    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.

    Original source
  • Apr 24, 2026
    • Date parsed from source:
      Apr 24, 2026
    • First seen by Releasebot:
      Apr 28, 2026
    ZenML logo

    ZenML

    Bug Fixes and Performance Improvements

    ZenML fixes secret, pipeline, and log issues while improving air-gapped performance and dynamic pipeline input handling.

    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.

    Original source
  • Apr 24, 2026
    • Date parsed from source:
      Apr 24, 2026
    • First seen by Releasebot:
      Apr 25, 2026
    ZenML logo

    ZenML

    0.94.3

    ZenML releases broader pipeline and deployment upgrades, adding container engine abstraction with Podman support, resource pools, feature and event triggers, server-side replays, k8s gateway support, a memory_call step type, and max-runs stop criteria, alongside multiple fixes and doc updates.

    What's Changed

    • Add version 0.94.1 to legacy docs by @github-actions[bot] in #4701
    • Bump the minor-and-patch group with 2 updates by @dependabot[bot] in #4705
    • Fix zizmor SHA/version mismatch and add zizmor to lint.sh by @strickvl in #4703
    • Fix broken docs header - triggers by @Json-Andriopoulos in #4707
    • Misc kitaru extensions by @schustmi in #4715
    • Introduce a container engine abstraction and add podman support by @stefannica in #4651
    • Include wait condition resolved at in DAG response by @schustmi in #4717
    • Replace darglint with pydoclint for docstring linting by @strickvl in #4721
    • Bump the minor-and-patch group with 4 updates by @dependabot[bot] in #4725
    • Fix empty PR number in Claude Code review workflow by @strickvl in #4735
    • Resource pools by @schustmi in #4465
    • Feature/event triggers by @Json-Andriopoulos in #4692
    • Helper endpoint: Trigger SourceType supported events by @Json-Andriopoulos in #4745
    • Don't resolve zenml pypi version on flavor model generation by @stefannica in #4744
    • Document Kubernetes permissions for various roles in running k8s pipelines by @stefannica in #4746
    • Add docs for on-prem deployment of optional Pro features by @stefannica in #4751
    • Remove the unique constraint from the LogsSchema by @bcdurak in #4729
    • Add memory_call step type by @strickvl in #4724
    • Add acknowledgeable trigger dispatch status and improve CLI commands by @stefannica in #4743
    • Support for max-runs stop criteria by @Json-Andriopoulos in #4752
    • Fix making a secret public using CLI/client by @schustmi in #4755
    • Feature/add k8s gateway support by @safoinme in #4726
    • Fix run status update condition by @schustmi in #4747
    • Fix broken tests by @Json-Andriopoulos in #4758
    • Fix StrEnum import breaking 3.10 by @Json-Andriopoulos in #4763
    • Don't block while waiting for concurrent step inputs by @schustmi in #4699
    • Fix python package fetching by @schustmi in #4762
    • Allowing multiple components of the same type for a stack by @bcdurak in #4671
    • Server-side replays by @schustmi in #4716
    • Fix pydantic materializer double encoding by @schustmi in #4760
    • Prepare release 0.94.3 by @github-actions[bot] in #4765

    Full Changelog: 0.94.2...0.94.3

    Original source
  • Apr 10, 2026
    • Date parsed from source:
      Apr 10, 2026
    • First seen by Releasebot:
      Apr 9, 2026
    • Modified by Releasebot:
      Apr 25, 2026
    ZenML logo

    ZenML

    0.94.2

    ZenML ships dashboard enhancements, pipeline and trigger improvements, and key fixes for schedules, artifacts, HTTP fetching, and dashboard deployment stability. It also renames the Helm chart top-level key to server with backwards compatibility and deprecates zenml for future removal.

    🎨 Dashboard Enhancements

    The ZenML dashboard now includes a Run Summary View that provides a comprehensive overview of your pipeline runs at a glance PR #1029. Timeline rows now automatically resize for better visualization of your pipeline execution history PR #1028.

    🔧 Pipeline & Trigger Improvements

    Artifact Name Substitutions for Dynamic Pipelines: You can now use artifact name substitutions in dynamic pipelines, making it easier to reference and manage artifacts programmatically PR #4668.

    Enhanced Trigger Configuration: Triggered runs now follow a cleaner snapshot.source pattern. You can provide a configuration object to customize parameters for all triggered runs in an attachment, giving you more control over automated pipeline executions PR #4610.

    ⚠️ Deprecation Notice

    Helm Chart Configuration Update: The top-level zenml: values key in the ZenML Helm chart has been renamed to server: PR #4637. Your existing values files will continue to work — the chart automatically merges both keys for backwards compatibility. If both keys are present, zenml: takes precedence for overlapping fields. The zenml: key is deprecated and will be removed in a future release; we recommend migrating to server: in your Helm configurations.

    Fixed

    Schedule Management: Fixed issues where deletion by ID prefix wasn't working for archived schedules, and reusing an archived schedule name was incorrectly blocked. Documentation has been updated to clarify schedule behavior post-deletion, including archived schedule renaming, hard deletion guidelines, and discovery of archived objects PR #4641.

    Input Artifact Handling: Resolved a bug where a list of input artifacts containing a single item was incorrectly treated as a scalar input artifact, causing materializer type incompatibility errors PR #4679.

    HTTP Request Optimization: The system now dynamically reduces chunk size when fetching many steps to avoid HTTP 414 (URI Too Long) errors PR #4553.

    Dashboard Deployment Stability: Fixed a template loading issue in the FastAPI deployment app's dashboard that could cause TypeError: unhashable type: 'dict' on certain environments (e.g., Kubernetes with newer Jinja2 versions), preventing the server from starting when the dashboard was enabled PR #4649.

    What's Changed

    • Add version 0.94.0 to legacy docs by @github-actions[bot] in #4630
    • Add 0.94.1 to the migration tests by @github-actions[bot] in #4632
    • Optuna Hyperparameter Tuning with ZenML by @amitvikramraj in #4545
    • Renamed helm chart top-level key from zenml to server, maintains backwards compatibility by @amitvikramraj in #4637
    • Hydra Config Management with ZenML by @amitvikramraj in #4544
    • Bugfix/archived schedule issues by @Json-Andriopoulos in #4641
    • Follow snapshot.source pattern for triggered runs by @Json-Andriopoulos in #4610
    • Only group minor/patch dependabot action updates by @strickvl in #4653
    • Bump core GitHub Actions to latest major versions by @strickvl in #4655
    • Bump minor/patch GitHub Action versions by @strickvl in #4654
    • Dynamically reduce chunk size if running into 414 error by @schustmi in #4553
    • Bump cloud provider GitHub Actions to latest major versions by @strickvl in #4656
    • Bump third-party GitHub Actions to latest major versions by @strickvl in #4657
    • Bump the all-actions group across 1 directory with 7 updates by @dependabot[bot] in #4666
    • Fix incorrect version comments on SHA-pinned GitHub Actions by @strickvl in #4667
    • Configurable dashboard files directory by @schustmi in #4660
    • Add extra analytics coverage by @strickvl in #4677
    • Add Kitaru mention to README by @strickvl in #4688
    • Allow artifact name substitutions for dynamic pipelines by @schustmi in #4668
    • Fix duplicate 'the the' typos in docstrings and log messages by @strickvl in #4681
    • Fix broken filter snapshots by trigger by @Json-Andriopoulos in #4693
    • Differentiate scalar input artifacts against single item lists by @schustmi in #4679
    • Fix deployer dashboard HTML when Jinja2/Starlette template loading breaks by @stefannica in #4649
    • Add supply chain security cooldowns for Dependabot and uv by @strickvl in #4659
    • Prepare release 0.94.2 by @github-actions[bot] in #4696

    New Contributors

    @amitvikramraj made their first contribution in #4545

    Full Changelog: 0.94.1...0.94.2

    Original source
  • Apr 8, 2026
    • Date parsed from source:
      Apr 8, 2026
    • First seen by Releasebot:
      Apr 11, 2026
    ZenML logo

    ZenML

    Dashboard Enhancements and Run Visualization

    ZenML adds a new run summary view and auto-resizing timeline rows to make pipeline monitoring clearer and faster.

    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.

    Original source
  • Apr 8, 2026
    • Date parsed from source:
      Apr 8, 2026
    • First seen by Releasebot:
      Apr 11, 2026
    ZenML logo

    ZenML

    Pipeline Execution and Artifact Handling Fixes

    ZenML fixes pipeline reliability with dynamic artifact substitutions, list handling, HTTP 414 recovery, and archived schedule cleanup.

    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.

    Original source
  • Apr 8, 2026
    • Date parsed from source:
      Apr 8, 2026
    • First seen by Releasebot:
      Apr 11, 2026
    ZenML logo

    ZenML

    Trigger Configuration and Deployer Stability

    ZenML adds customizable configuration objects for triggered runs and improves deployer dashboard resilience in Kubernetes.

    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.

    Original source
  • Mar 26, 2026
    • Date parsed from source:
      Mar 26, 2026
    • First seen by Releasebot:
      Apr 11, 2026
    ZenML logo

    ZenML

    Performance improvements for workspace operations

    ZenML improves workspace performance with faster authentication and permission checks for a smoother ZenML Pro experience.

    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.

    Original source
  • Mar 20, 2026
    • Date parsed from source:
      Mar 20, 2026
    • First seen by Releasebot:
      Mar 21, 2026
    ZenML logo

    ZenML

    Enhanced JSON Visualization

    ZenML adds a JSON visualizer with collapse and expand controls for easier navigation of complex pipeline artifact data.

    The JSON visualizer now supports collapsing and expanding items, making it easier to navigate and explore complex JSON data structures in your pipeline artifacts.

    Original source
  • Mar 19, 2026
    • Date parsed from source:
      Mar 19, 2026
    • First seen by Releasebot:
      Mar 21, 2026
    ZenML logo

    ZenML

    Dynamic Pipeline Enhancements and Pause/Resume Support

    ZenML adds pause and resume support for pipeline runs with zenml.wait() plus stronger dynamic pipeline replay and error handling.

    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.

    Original source
  • Mar 19, 2026
    • Date parsed from source:
      Mar 19, 2026
    • First seen by Releasebot:
      Mar 21, 2026
    ZenML logo

    ZenML

    Infrastructure and Deployment Improvements

    ZenML adds secret env injection for Helm deployments, improves env overrides, and fixes Kubernetes timeout and Docker build args.

    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.

    Original source
  • Mar 19, 2026
    • Date parsed from source:
      Mar 19, 2026
    • First seen by Releasebot:
      Mar 21, 2026
    ZenML logo

    ZenML

    Bug Fixes and Core Enhancements

    ZenML fixes GCP auth, logging compatibility, and pipeline monitoring, plus adds a JSON dataclass materializer and LakeFS example.

    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.

    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.

Similar to ZenML with recent updates: