0.85.0
The 0.85.0 release delivers powerful pipeline execution enhancements and caching improvements that provide users with greater control over pipeline behavior.
⚠️ Breaking Changes
- Local Orchestrator Behavior: The local orchestrator will now continue executing steps after some steps fail (instead of stopping execution immediately)
- Docker Package Installer: Default Python package installer in Docker settings switched from
piptouv - Log Endpoint Format: Log endpoints return a different format - affects manual API access but not regular pipeline operations
- Fetching Runs with old Client: Using a client of a previous release (
<0.85.0) to fetch pipeline runs created by a client with version>=0.85.0can cause an error if the run is in
the newprovisioningstatus.
📢 Upcoming Breaking Change
Important Notice for Future Release: In the next release, the base zenml package will no longer include dependencies for running ZenML connected to a local database.. Users will only be able to connect to deployed ZenML servers with the base package.
To continue using ZenML locally with a SQLite database, install with the local extra: pip install 'zenml[local]'. If you're using ZenML with a local server, you're already installing zenml[server] and this change will not affect you.
🚀 New Features
Pipeline Execution Modes
- Flexible Failure Handling: Configure what happens to a pipeline run when any step fails, providing fine-grained control over pipeline execution behavior
Advanced Caching System
- Value-Based Caching: Materializers now support caching artifacts based on their actual content/value rather than just artifact ID, enabling more intelligent cache reuse
- Cache Policies: New cache policy system allows users to specify precisely when a step should be cached, providing granular control over caching behavior
Airflow 3.0 support
- Airflow 3.0 Compatibility: Support for Apache Airflow 3.0, ensuring compatibility with the latest Airflow features and improvements
What's Changed
- Add version 0.84.2 to legacy docs by @github-actions[bot] in #3910
- Made connection docs easier to read by @htahir1 in #3896
- Add Google ADK framework example and
DockerSettingsfor all examples by @strickvl in #3912 - Delete run if model version doesn't exist during creation by @schustmi in #3915
- Caching by value by @schustmi in #3900
- Add start time to step node metadata by @schustmi in #3921
- Prevent stopping runs without orchestrator run id by @schustmi in #3923
- Airflow 3 support by @schustmi in #3922
- fix: typo in core-concepts.md by @mhmunem in #3926
- Run template config improvements by @schustmi in #3918
- Add provisioning execution status by @schustmi in #3924
- Fix unnecessary code upload by @schustmi in #3932
- Allow cloudpickle>3.x by @strickvl in #3914
- Switch to uv as default package installer by @schustmi in #3935
- Fix unit test by @schustmi in #3945
- Efficient queries for execution mode changes by @bcdurak in #3942
- Different pipeline execution modes by @bcdurak in #3874
- Changes to the fetch logs endpoints by @bcdurak in #3845
- Adding verbosity levels to log messages in storage by @bcdurak in #3812
New Contributors
Full Changelog: 0.84.3...0.85.0