ZenML Release Notes

Follow

119 release notes curated from 2 sources by the Releasebot Team. Last updated: Sep 26, 2026

Get this feed:
  • Sep 23, 2026
    • Date parsed from source:
      Sep 23, 2026
    • First seen by Releasebot:
      Sep 26, 2026
    ZenML logo

    ZenML

    Resource pools now run on the ZenML Pro Resource Manager

    ZenML rebuilds resource pools on the new ZenML Pro Resource Manager, adding allocation-based scheduling for dynamic steps and Kubernetes support for CPU, memory, and GPU pod requests and limits. It also keeps running steps alive with heartbeats and removes the old resource pool system.

    Resource pools have been rebuilt on the new ZenML Pro Resource Manager, which now decides scheduling, allocation, and eviction. Eligible dynamic steps request resources through it and wait for an allocation before they start, and Kubernetes is the first backend to apply the allocated CPU, memory, and GPU capacity as pod requests and limits. Running steps keep their allocation alive through step heartbeats and are cancelled gracefully if their resources are reclaimed.

    Breaking: the previous resource pool implementation has been removed together with its data — existing pools, policies, and resource requests are not migrated and need to be set up again.

    Original source
  • Sep 23, 2026
    • Date parsed from source:
      Sep 23, 2026
    • First seen by Releasebot:
      Sep 26, 2026
    ZenML logo

    ZenML

    Prune unused pipeline snapshots

    ZenML adds snapshot pruning and atomic creation to clean up unused pipeline snapshots and avoid partial leftovers.

    Unnamed pipeline snapshots left behind by deleted runs, deployments, and schedules can now be cleaned up. Run zenml pipeline snapshot prune --older-than-days 90 (also available as zenml prune snapshots) to delete snapshots that nothing references anymore, or add --dry-run to see how many would go first. Replacing a named snapshot with replace=True now deletes the old one when it is unused, and snapshot creation is atomic, so a failed attempt no longer leaves a partial snapshot behind.

    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
  • Sep 23, 2026
    • Date parsed from source:
      Sep 23, 2026
    • First seen by Releasebot:
      Sep 26, 2026
    ZenML logo

    ZenML

    Paginated, filterable logs for external log stores

    ZenML adds paginated external log reading with filters and a revamped Datadog log store to reduce rate-limit pressure.

    Reading logs from external log stores no longer means one huge query or hitting the backend's rate limits. A new GET /api/v1/logs/{logs_id}/entries endpoint returns logs in pages with cursors and supports search, level, since, and until filters, and the Datadog log store has been rewritten on top of it. If you maintain a custom log store, update it to the new BaseLogStore.fetch() signature and import LogEntry from zenml.models. For Datadog, the existing run and step log endpoints now return the newest 1,000 entries instead of up to 50,000.

    Original source
  • Sep 23, 2026
    • Date parsed from source:
      Sep 23, 2026
    • First seen by Releasebot:
      Sep 26, 2026
    ZenML logo

    ZenML

    Pipeline reliability fixes

    ZenML fixes pipeline graph rendering, retry backoff crashes, JSON key handling, and large API response caching.

    Dynamic pipeline graphs now render correctly even when step records come back out of dependency order, and long-running retry loops no longer crash with an OverflowError after reaching the maximum backoff delay. Dictionaries with non-string keys are no longer stored as JSON, so a step returning {1: 1} now hands {1: 1} to the next step instead of {"1": 1}. Large API responses are also cached correctly now, which avoids unnecessary retries after a client timeout.

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

    ZenML

    0.97.0

    ZenML releases 0.97.0 with a major Resource Pools v2 overhaul, better log pagination, safer JSON materialization, stronger retry handling, and improved database cleanup. It also fixes dynamic pipeline DAG loading and expands API transaction caching.

    Breaking Changes

    Resource pools have been reworked to use ZenML Pro Resource Manager v2, and the old OSS resource-pool control-plane objects and related API/CLI/RBAC behavior have been removed. If you used legacy resource pool management in OSS or automation built on those endpoints/commands, you will need to migrate to the new resource request model and update any scripts or integrations accordingly. PR #4977

    ZenML now requires Click >=8.3.3,<=8.5.0. If your environment, plugin, or custom CLI extension pins an older Click version or depends on older Click behavior, update those dependencies to a compatible version before upgrading ZenML. PR #5145

    Dictionary outputs with non-string keys are no longer materialized through the JSON path. If you relied on reading such artifacts back as JSON-compatible data with keys converted to strings, update your code to preserve original key types or change outputs to use string keys for JSON interoperability. PR #5124

    Log retrieval now uses a paginated/filterable entries API instead of assuming a single full log blob, especially for external log stores. If you consume ZenML log APIs directly or built tooling around the previous response shape, update it to use the new log entries endpoint and pagination/filter parameters. PR #5158

    Reduced database growth from unused pipeline snapshots: ZenML now cleans up anonymous pipeline snapshots that are no longer referenced by runs, deployments, schedules, or templates. Snapshot creation is also atomic, so failed or interrupted creation attempts no longer leave partial snapshot records behind, and replacing named snapshots no longer keeps unused superseded snapshots around. This helps long-running ZenML deployments keep database size under control with less manual maintenance. PR #5166

    Fixed

    Dynamic pipeline DAG loading: Dynamic pipeline run DAGs now load correctly even when step records are returned out of dependency order. This fixes cases where the UI or API could fail to render a dynamic run graph despite the underlying run data being valid. PR #5263

    Larger cached API transactions: API transaction results are now validated against the compressed storage format instead of the uncompressed Base64 JSON representation. This allows large but highly compressible responses to be cached correctly, reducing unnecessary retries when an original request completes after the client timeout. PR #5262

    Capped exponential backoff overflow: Retry loops using capped exponential backoff no longer keep calculating ever-growing delay values after the maximum delay has been reached. This prevents OverflowError failures in very long-running retry scenarios while preserving the configured maximum delay behavior. PR #5265

    What's Changed

    Add 0.96.4 to the migration tests by @github-actions[bot] in #5233

    Add version 0.96.3 to legacy docs by @github-actions[bot] in #5231

    Bump the minor-and-patch group across 1 directory with 5 updates by @dependabot[bot] in #5242

    Software factory example by @schustmi in #5246

    Fix lint failures introduced by the software factory example by @safoinme in #5251

    Fix the c465032f0ec0 DB migration script to be idempotent by @stefannica in #5252

    Support for resource pools v2 by @stefannica in #4977

    Bump the minor-and-patch group across 1 directory with 3 updates by @dependabot[bot] in #5259

    Enable otel instrumentation for DB migration job by @amitvikramraj in #5228

    Prevent overflow in capped exponential backoff by @stefannica in #5265

    Upgrading the click dependency by @bcdurak in #5145

    Fixes around JSON materialization by @bcdurak in #5124

    Document step_pod_service_account_name for Kubernetes step pods by @strickvl in #5266

    Fix dynamic pipeline DAG ordering by @schustmi in #5263

    Bump anthropics/claude-code-action from 1.0.213 to 1.0.219 in the minor-and-patch group across 1 directory by @dependabot[bot] in #5275

    Add Red Hat OpenShift version to workspace Helm deployment prerequisites by @devin-ai-integration[bot] in #5267

    Consistent session, component and run id labels across sandboxes by @schustmi in #5273

    Fix BentoML doc links failing link check CI by @strickvl in #5279

    Update README branding by @strickvl in #5282

    [DB growth initiative #2] Clean up unreachable snapshots and make creation atomic by @safoinme in #5166

    docs: replace the README header with the rebranded ZenML banner by @znegrin in #5283

    Swap the docs card covers and the Pro hero for the new brand by @znegrin in #5277

    Update SDK docs typography by @strickvl in #5286

    docs: rebrand the README video thumbnail and the Helm chart icon by @znegrin in #5285

    Fix develop CI: scikit-learn build on Windows 3.14, MLflow registry example, LightGBM on 3.14, bentoml link 429 by @htahir1 in #5225

    Clarify agent task boundaries and verification guidance by @strickvl in #5249

    Fix the LlamaIndex agent example dependency by @strickvl in #5288

    Pagination/filtering for external log stores by @bcdurak in #5158

    Allow larger API transactions by @stefannica in #5262

    Bump the minor-and-patch group across 1 directory with 7 updates by @dependabot[bot] in #5296

    Bump zizmor from 1.30.0 to 1.30.1 in /.github/zizmor by @dependabot[bot] in #5295

    Fixing the dashboard installation by @bcdurak in #5298

    Prepare release 0.97.0 by @github-actions[bot] in #5292

    Full Changelog: 0.96.4...0.97.0

    Original source
  • Similar to ZenML with recent updates:

  • Sep 7, 2026
    • Date parsed from source:
      Sep 7, 2026
    • First seen by Releasebot:
      Sep 6, 2026
    • Modified by Releasebot:
      Sep 8, 2026
    ZenML logo

    ZenML

    0.96.4

    ZenML ships webhook-driven automation, adding project-scoped webhook triggers for pipeline snapshots plus built-in ClickUp and Slack webhook providers. It also brings AWS RDS IAM auth for MySQL stores, faster pipeline startup with reused build checksums, stronger token safeguards, and dynamic pipeline failure fixes.

    Webhook-driven automation

    Webhook triggers for pipeline snapshots: ZenML now supports first-class webhook-driven automation for secure, project-scoped integrations with GitHub or custom systems PR #5169. You can attach webhook triggers to pipeline snapshots and launch them when matching external events arrive, including typed GitHub filters for merged pull requests, completed workflow runs, pushes, and published releases.

    ClickUp webhook provider: ZenML now includes a built-in ClickUp webhook provider for triggering automation from ClickUp task and list events PR #5216. The provider authenticates deliveries with ClickUp’s raw hex HMAC signature and supports string-based filters, so teams can connect ClickUp activity directly to ZenML workflows.

    Slack webhook provider: ZenML Pro now supports inbound Slack Events API callbacks as a first-class webhook provider PR #5221. Slack apps can authenticate events such as mentions, messages, reactions, and other automation-focused activity to trigger pipeline snapshots or related workflows; this is separate from the existing Slack alerter that sends notifications to Slack.

    AWS RDS IAM authentication for MySQL stores: The MySQL ZenML store now supports AWS RDS IAM database authentication while preserving the existing password-based behavior PR #5113. ZenML generates fresh IAM tokens for database connections and enforces TLS hostname and certificate verification in IAM mode, giving AWS users a passwordless database authentication option aligned with RDS security best practices.

    Faster pipeline startup with reused build checksums: ZenML now precalculates and reuses Docker build checksums while resolving pipeline builds PR #5154. This avoids repeated build-configuration work during startup, especially for large pipelines with many steps, and also helps when skip_build=True because ZenML no longer repeats unnecessary build preparation checks.

    Safer workload-scoped tokens: Workload-scoped API tokens can no longer be exchanged for persistent, unscoped API tokens PR #5152. This keeps credentials bound to the pipeline run, schedule, or deployment that created them, so workload permissions expire with the workload authorization instead of being escalated into longer-lived generic API access.

    Production/stable package metadata: Future ZenML releases are now marked as Development Status :: 5 - Production/Stable on PyPI instead of beta PR #5186. This aligns the published package metadata with ZenML’s current maturity and makes the package classification clearer for users and automated tooling.

    Fixed

    Failed dynamic pipelines now report failure correctly: Dynamic pipelines running with ExecutionMode.STOP_ON_FAILURE no longer complete successfully when an isolated step fails PR #5182. ZenML now propagates the failed step state correctly so the overall pipeline run status matches the actual execution outcome.

    What's Changed

    • Add version 0.96.2 to legacy docs by @github-actions[bot] in #5147
    • Fail agent examples on provider errors by @strickvl in #5144
    • Fix AWS Strands GPT-5 temperature by @strickvl in #5151
    • Pin setup-python and extend Dependabot to composite actions by @strickvl in #5118
    • Escape $ in generated Docker Compose files by @kounelisagis in #5087
    • Bump actions/stale from 10.4.0 to 11.0.0 by @dependabot[bot] in #5134
    • Reframe Kitaru docs around executions and replay; fix unshipped API samples by @htahir1 in #5099
    • Treat infer_artifact=False as the documented default in add_tags/remove_tags by @chuenchen309 in #5097
    • Refresh the Kitaru SDK reference by @strickvl in #5156
    • Fix dead Kitaru example links in docs/book/user-guide by @strickvl in #5161
    • Fix completed pipeline with failed steps bug by @Json-Andriopoulos in #5182
    • Update Kitaru documentation for current architecture by @AlexejPenner in #5184
    • Add RDS IAM database authentication by @safoinme in #5113
    • Fix Qwen-Agent example dependency installation by @strickvl in #5181
    • Mark ZenML as production/stable on PyPI by @strickvl in #5186
    • Expand custom flavor docs with remote instructions by @stefannica in #5183
    • Better dependency handling for the Databricks orchestrator / step operator by @bcdurak in #5146
    • Prevent exchanging scoped workload tokens for unscoped ones by @stefannica in #5152
    • Precalculate and reuse build checksums by @stefannica in #5154
    • Bump the minor-and-patch group across 1 directory with 8 updates by @dependabot[bot] in #5150
    • Fix breaking cases of dynamic pipelines by @Json-Andriopoulos in #5187
    • Run the Kubernetes release quickstart inside staging by @safoinme in #5189
    • Mention Kitaru in the evals, tracing and agent-example docs by @strickvl in #5208
    • Bump cardinalby/schema-validator-action from 77eb17b070f282db4680215551cae4d9c379f2f4 to 95ce895b6846cc7d931785fcaa46c84816753612 by @dependabot[bot] in #5211
    • Bump the minor-and-patch group with 5 updates by @dependabot[bot] in #5210
    • Bump astral-sh/setup-uv from 9.0.0 to 10.0.1 by @dependabot[bot] in #5212
    • Update the security policy by @stefannica in #5214
    • Dispatch staging workspace runtime builds by @safoinme in #5185
    • Clear standing CI reds: bump mkdocs-material, pin zizmor, skip Docker tests for Dependabot by @strickvl in #5213
    • Feature/webhook triggers by @Json-Andriopoulos in #5169
    • Feature/webhook followup features by @Json-Andriopoulos in #5217
    • Sanitize the chart version in the version label by @safoinme in #5222
    • Add ClickUp webhook provider by @bcdurak in #5216
    • Slack webhook provider by @stefannica in #5221
    • Return Kubernetes release quickstart to GitHub-hosted runners by @safoinme in #5229
    • Raw event storage and downstream access by @Json-Andriopoulos in #5227
    • Prepare release 0.96.4 by @github-actions[bot] in #5230

    Full Changelog: 0.96.3...0.96.4

    Original source
  • Sep 4, 2026
    • Date parsed from source:
      Sep 4, 2026
    • First seen by Releasebot:
      Sep 5, 2026
    ZenML logo

    ZenML

    Webhook-driven pipeline automation

    ZenML adds webhook triggers for launching pipeline snapshots from GitHub, Slack, ClickUp, and custom events.

    ZenML now supports first-class webhook triggers, so an external event can launch a pipeline snapshot. Attach a trigger to a snapshot and filter on typed GitHub events — merged pull requests, completed workflow runs, pushes, and published releases — or use the new built-in Slack and ClickUp providers to start runs from team activity. Custom webhook providers are supported for everything else, and every integration is project-scoped and signature-authenticated.

    Original source
  • Sep 4, 2026
    • Date parsed from source:
      Sep 4, 2026
    • First seen by Releasebot:
      Sep 5, 2026
    ZenML logo

    ZenML

    Faster and more reliable pipeline execution

    ZenML improves pipeline reliability and startup speed, propagating failed step states and reusing Docker build checksums.

    Pipeline runs are now more dependable and start faster. Dynamic pipelines running with ExecutionMode.STOP_ON_FAILURE no longer report success when an isolated step fails — the failed step state now propagates to the overall run status. ZenML also precalculates and reuses Docker build checksums while resolving builds instead of recomputing them, cutting startup overhead for pipelines with many steps.

    Original source
  • Sep 4, 2026
    • Date parsed from source:
      Sep 4, 2026
    • First seen by Releasebot:
      Sep 5, 2026
    ZenML logo

    ZenML

    AWS RDS IAM authentication for MySQL stores

    ZenML adds IAM database authentication for the MySQL store on AWS RDS, offering passwordless access with TLS verification.

    The MySQL ZenML store can now authenticate to AWS RDS with IAM database authentication instead of a static password. ZenML generates a fresh IAM token for each database connection and enforces TLS hostname and certificate verification in IAM mode, giving self-hosted AWS deployments a passwordless option that matches RDS security best practices. Existing password-based setups keep working unchanged.

    Original source
  • Sep 4, 2026
    • Date parsed from source:
      Sep 4, 2026
    • First seen by Releasebot:
      Sep 5, 2026
    ZenML logo

    ZenML

    Workload tokens can no longer be escalated

    ZenML tightens API token security by keeping workload-scoped credentials bound to their runs, schedules, or deployments.

    Workload-scoped API tokens can no longer be exchanged for persistent, unscoped API tokens. Credentials issued to a pipeline run, schedule, or deployment now stay bound to that workload and expire with it, instead of being traded up for longer-lived generic API access.

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

    ZenML

    Generic Cloud API tokens removed

    ZenML removes generic Cloud API tokens and recommends personal access tokens, service-account keys, or device-code login.

    Generic ZenML Cloud API tokens are no longer supported: GET /auth/api_token and the GENERIC_TOKEN grant type have been removed, and previously issued generic tokens now fail immediately. These tokens turned a session into a standalone bearer token that outlived the credential it came from. Use personal access tokens, organization service-account API keys, or device-code login instead. The workspace-server endpoint GET /api/v1/api_token is not affected.

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

    ZenML

    Release versions managed through the API

    ZenML moves supported and default release versions into the database and adds release management endpoints for Pro admins.

    Supported and default ZenML and Kitaru release versions now live in the database instead of static Cloud API configuration, so they can change without a new Cloud API deployment. Anyone can list supported releases and the current default with GET /releases?release_service=<zenml|kitaru>. Superusers on self-hosted ZenML Pro can add, change, and remove versions through the new release management endpoints.

    Original source
  • Aug 18, 2026
    • Date parsed from source:
      Aug 18, 2026
    • First seen by Releasebot:
      Aug 18, 2026
    ZenML logo

    ZenML

    Filter workspaces by type in the API

    ZenML adds a workspace_type filter to workspace lists and the Python client for ZenML or Kitaru workspaces.

    Workspace list endpoints and the Python client now accept a workspace_type filter, so you can request only ZenML or only Kitaru workspaces. Useful when building admin tooling or automation against organizations that run both.

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

    ZenML

    ZenML 0.96.3 available for Pro workspaces

    ZenML updates managed Pro workspaces with 0.96.3, bringing multi-pod command steps, the local Docker sandbox and stack selection at login.

    Managed ZenML Pro workspaces can now be deployed or upgraded to ZenML 0.96.3.

    Upgrading brings the latest platform improvements to your workspace, including multi-pod command steps on Kubernetes, the local Docker sandbox, and stack selection at login.

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

    ZenML

    Run command steps across multiple Kubernetes pods

    ZenML adds multi-pod Kubernetes step execution for easier distributed workloads like torchrun training.

    Command steps can now run across multiple pods with the Kubernetes step operator. Set pod_count in KubernetesStepOperatorSettings to launch the step as an indexed Kubernetes job, and ZenML injects coordination environment variables into each pod making it easier to distribute workloads like torchrun-based training across pods.

    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.