docs/v3/release-notes/oss/version-3-3.mdx
Released on April 28, 2025
Enhancements ➕➕
Bug Fixes 🐞
task-run ls CLI by @desertaxle in #17903human_friendly_diff when used with offset timezone by @zzstoatzz in #17927prefect-client and add smoke test by @desertaxle in #17920Development & Tidiness 🧹
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.3.6...3.3.7
Released on April 24, 2025
Direct submission of workflows to dynamic infrastructure is in beta!
We're pleased to announce the beta release of new infrastructure decorators enabling the submission of workflows directly to dynamic infrastructure.
This feature enables you to easily execute workflows on various infrastructure environments without the need for multiple deployments or managing persistent workers. This simplifies workflow definitions and enhances portability.
Here's a small example of the new @kubernetes decorator in action:
from prefect import flow
from prefect_kubernetes import kubernetes
@kubernetes(work_pool="olympic")
@flow(result_storage="s3-bucket/remote-result-storage")
def my_k8s_flow():
return "🏊♀️ Finished another lap!"
[@flow](https://github.com/flow)
def parent_flow():
return my_k8s_flow() # will run in a Kubernetes cluster via the 'olympic' work pool
print(my_k8s_flow()) # prints "🏊♀️ Finished another lap!"
Check out the docs for more information on using this new feature.
Feedback is very important for us to help refine this feature while it's in beta. Give it a try, and share your feedback with us by opening an issue!
Enhancements ➕➕
resolve_futures_to_results function by @Andrew-S-Rosen in #17869submit method to infrastructure-bound flows by @desertaxle in #17896prefect deploy by @kevingrismore in #17466@docker decorator by @desertaxle in #17878with_options implementation to InfrastructureBoundFlow by @desertaxle in #17900Bug Fixes 🐞
pydantic-settings version pin by @desertaxle in #17853Development & Tidiness 🧹
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.3.5...3.3.6
Released on April 17, 2025
Enhancements ➕➕
Bug Fixes 🐞
Runner command handling for Windows by @desertaxle in #17839Integrations & Dependencies 🤝
Scheduling case in Vertex worker by @kevingrismore in #17835Development & Tidiness 🧹
Documentation 📓
prefect:managed docs by @jakekaplan in #17808prefect-slack by @zzstoatzz in #17832Experimental 🧪
.submit method to BaseWorker by @desertaxle in #17828InfrastructureBoundFlow class and bind_flow_to_infrastructure function by @desertaxle in #17833Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.3.4...3.3.5
Released on April 11, 2025
Enhancements ➕➕
RecentDeploymentScheduler loop interval by @zzstoatzz in #17795Bug Fixes 🐞
Development & Tidiness 🧹
Experimental
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.3.3...3.3.4
Released on April 05, 2025
Includes a fix for a bug loading the flow run graph caused by an incorrect timezone-naive default.
Enhancements ➕➕
Bug Fixes 🐞
prefect-dask: fix string cluster_class instantiation by @zzstoatzz in #17737since value for flow run graph v2 endpoint by @desertaxle in #17747Integrations & Dependencies 🤝
Experimental
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.3.2...3.3.3
Released on April 03, 2025
Bug Fixes 🐞
Cron day_or default to match croniter default by @desertaxle in #17675prefect version by @zzstoatzz in #17692redis locking by @zzstoatzz in #17679Integrations & Dependencies 🤝
pydantic deprecation warnings by @zzstoatzz in #17698Development & Tidiness 🧹
uv lock pre-commit by @zzstoatzz in #17662self.model_fields -> type(self).model_fields by @zzstoatzz in #17681prefect-ray by @zzstoatzz in #17680Documentation 📓
Experimental
Deployment versioning info in flow run execution event by @chrisguidry in #17701DeploymentCreate and DeploymentUpdate by @zangell44 in #17711Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.3.1...3.3.2
Released on April 01, 2025
Alleviates a potential error ValueError: Must provide start_date as a datetime caused by changes to deprecation utils in #17577.
Enhancements ➕➕
Bug Fixes 🐞
DaskTaskRunner to lazily load the Dask client by @desertaxle in #17648targeted_retries=0 in run_dbt_cloud_job by @zzstoatzz in #17663str or datetime for generate_deprecation_message by @zzstoatzz in #17671Development & Tidiness 🧹
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.3.0...3.3.1
Released on March 31, 2025
We're excited to announce Python 3.13 support!
To accommodate Python 3.13, we've switched from pendulum to whenever for handling date/time functionality. This change currently applies only when installing prefect with Python 3.13; environments using Python 3.12 and below will continue using pendulum. We plan to fully transition to whenever for all Python versions in a future release.
Additionally, this release cleans up deprecated features whose deprecation periods have ended. For detailed information on removed functionalities, see #17632.
Enhancements ➕➕
Bug Fixes 🐞
getattr calls in visit_collection for pydantic objects by @zzstoatzz in #17636emit_event errors and log them by @cicdw in #17658Development & Tidiness 🧹
<14.0,>=11.0 to >=11.0,<15.0 by @dependabot in #17651Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.2.15...3.3.0