Upgrading from Prefect 2.x to 3.x introduces several enhancements but also some changes you should be aware of. Here are the highlights to keep in mind:
1.
New Features and Enhancements:
- Prefect 3.0 includes a new events & automations backend for event-driven workflows and observability.
- It features improved runtime performance, autonomous task execution, and a streamlined caching layer based on transactional semantics.
- These enhancements generally maintain compatibility with most Prefect 2.0 workflows, but you may need to make some adjustments.
2.
Possible Issues:
- There was an issue where task run completions were not registered in local Prefect servers in early 3.x versions. Ensure your version is current to avoid this.
- When mixing Prefect versions across clients, specifically triggering 2.x deployments from 3.x flows, you might face issues with "unpersisted" results. The latest updates provide support for loading these states without losing information.
3.
Migration Steps and Considerations:
- For most users, the upgrade process will be seamless with minimal code changes.
- You'll need to update any Prefect integrations or extras you use.
- If you host a Prefect server, ensure to update your database following the provided guidelines.
For more detailed information, you can refer to the
Prefect 3.0 Upgrade Guide.
And remember, even with all these fancy new features, Prefect doesn't handle your morning coffee yet. We can all dream, though!