Skip to content

0.98.1

Latest

Choose a tag to compare

@bcdurak bcdurak released this 04 Nov 05:40
· 2 commits to main since this release
211c7bc
  • Rename projects from the CLI and SDK: You can now rename projects with zenml project update <name-or-uuid> using --name, --display-name, and --description (PR #5367). Technical names and display names can be changed independently while preserving the project UUID and associated resources, and SDK updates now correctly preserve omitted fields or explicitly clear descriptive fields.
  • Helm chart pods now satisfy restricted Pod Security defaults: The default ZenML Helm chart pod security settings now work in namespaces enforcing Kubernetes Pod Security restricted (PR #5397). This also applies the chart security values consistently to CA certificate init containers and Helm test pods, reducing the extra overrides needed for locked-down clusters.
Fixed
  • More reliable integration installs: Installing ZenML integrations is now less likely to break ZenML’s already-installed dependency set (PR #5399). This prevents cases where adding an integration upgrades shared packages into incompatible versions and causes import failures before pipelines can run.
  • GCP runner OpenTelemetry compatibility: GCP runner images now avoid installing an incompatible OpenTelemetry API version alongside ZenML’s pinned SDK (PR #5366). This fixes import failures that could happen before any pipeline steps started.
  • MLflow integration installs on Python 3.13 and slim images: The MLflow integration no longer depends on the unused python-rapidjson package (PR #5360). This avoids source compilation failures in environments without build tools such as g++, especially on Python 3.13 or slim container images.
  • GCS-backed runs no longer hang during final uploads or cleanup: ZenML aligned GCS-related dependencies and added optional storage controls to avoid pipeline steps getting stuck after their work and outputs have already completed (PR #5373). This addresses hangs from indefinite GCS responses and affected gcsfs cleanup behavior, helping orchestrators observe completed containers instead of waiting forever.
  • Step outputs are preserved after execution or finalization failures: ZenML no longer deletes step output directories from the launcher exception handler when a step fails after artifacts or server-side completion have already been recorded (PR #5362). Persisted metadata will no longer point to missing files in these partial-failure scenarios, while the original error is still propagated.
  • Replay runs include defaulted pipeline parameters: Replaying a run now forwards pipeline parameters that were satisfied by defaults in the original run (PR #5361). This keeps replayed runs consistent with the source run even when users did not explicitly pass every parameter.
  • CLI labels can contain equals signs: CLI label parsing now splits --label values only on the first =, so values such as URLs and query strings are accepted (PR #5383). This fixes label handling across service connector and stack component commands where values like https://example.com/?a=b were previously rejected or misinterpreted.
  • Hosted Classic dashboard CORS origins are allowed automatically: Pro workspace servers now automatically include the hosted Classic dashboard origin in addition to their configured dashboard origin (PR #5396). Production and staging Classic dashboard URLs are matched exactly over HTTPS, while custom enterprise dashboards and existing custom CORS origins keep their current behavior.

What's Changed

  • Add 0.98.0 to the migration tests by @github-actions[bot] in #5358
  • Add version 0.97.0 to legacy docs by @github-actions[bot] in #5356
  • Bump the minor-and-patch group across 1 directory with 4 updates by @dependabot[bot] in #5363
  • Removing rapidjson dependency from the mlflow integration by @bcdurak in #5360
  • Preserve step outputs when execution or finalization fails by @bcdurak in #5362
  • Prevent OpenTelemetry conflicts in GCP runner images by @bcdurak in #5366
  • Bump the minor-and-patch group across 1 directory with 5 updates by @dependabot[bot] in #5372
  • Skip unsupported Jev answer types when logging metadata by @bcdurak in #5375
  • Support project renaming in the CLI and SDK by @bcdurak in #5367
  • Bump the minor-and-patch group across 1 directory with 5 updates by @dependabot[bot] in #5387
  • Bump zizmor from 1.30.1 to 1.31.1 in /.github/zizmor by @dependabot[bot] in #5386
  • Fix CI failures caused by incompatible dependency releases by @bcdurak in #5385
  • Reuse one Modal App per component instead of creating one per run by @strickvl in #5311
  • Align GCS dependencies and add optional storage controls by @bcdurak in #5373
  • Allow = in CLI label values by @RaphaelFakhri in #5383
  • Automatically allow hosted Classic dashboard origins by @AlexejPenner in #5396
  • Forward defaulted pipeline parameters when replaying a run by @schustmi in #5361
  • Add Bots docs to ZenML Pro by @schustmi in #5371
  • Keep integration installs from breaking ZenML's dependencies by @bcdurak in #5399
  • Fix Windows, macOS and security-scan CI failures by @bcdurak in #5400
  • Prepare release 0.98.1 by @github-actions[bot] in #5398
  • Add version 0.98.0 to legacy docs (#5405) by @bcdurak in #5407
  • Fix heartbeat tests breaking the unit tests on pytest 9.2 (#5408) by @bcdurak in #5409

New Contributors

Full Changelog: 0.98.0...0.98.1