NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1250 most downloaded on PyPI
Workflow orchestration and management.
Last release today
19 Sep 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
7 years old
887 releases · first in 2019
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
pydantic-ai data analyst example by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19209uv and gh as allowed tools for Claude in GitHub Actions by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19210Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.25.dev1...3.4.25.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect-azure==0.4.6 by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19202prefect-redis==0.2.6 release by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19204Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.24...3.4.25.dev1
One column per quarter.
Add flow run watching with interleaved events and logs by @chrisguidry in #19158
Released on October 16, 2025
Enhancements ➕➕
--all flag to prefect automation delete by @zzstoatzz in #19164Experimental 🧪
Bug Fixes 🐞
ProcessPoolTaskRunner when submitting with wait_for by @desertaxle in #19172from_storage and afrom_storage by @zzstoatzz in #19179RunInput.with_initial_data to preserve type annotations by @zzstoatzz in #19176Development & Tidiness 🧹
websocket_connect import in proxy test script by @zzstoatzz in #19161prefect.states exception handlers to async_dispatch by @zzstoatzz in #19170Documentation 📓
build_docker_image accepts all Docker SDK kwargs by @zzstoatzz in #19194Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.23...3.4.24
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.24.dev4...3.4.24.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
ProcessPoolTaskRunner when submitting with wait_for by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19172prefect-aws==0.6.0 by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19168RunInput.with_initial_data to preserve type annotations by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/19176Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.24.dev3...3.4.24.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.24.dev2...3.4.24.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.24.dev1...3.4.24.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.23...3.4.24.dev1
feat(client): allow using custom SSL contexts by @fatih-acar in #19106
Released on October 09, 2025
Enhancements ➕➕
prefect api command for direct API access by @chrisguidry in #19131Bug Fixes 🐞
timeout_async context manager by @desertaxle in #19101Development & Tidiness 🧹
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.22...3.4.23
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.23.dev2...3.4.23.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.23.dev1...3.4.23.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
timeout_async context manager by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19101Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.22...3.4.23.dev1
Fix startup errors when installed with pydantic 2.10 and Python 3.9 and 3.10 by @desertaxle in #19095
Bug Fixes 🐞
pydantic 2.10 and Python 3.9 and 3.10 by @desertaxle in #19095Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.21...3.4.22
Add automatic local dependency discovery for flow bundles by @desertaxle in #19043
Released on October 02, 2025
Enhancements ➕➕
Bug Fixes 🐞
KeyError when running deployment without parameter schema by @zzstoatzz in #19055PREFECT_CLIENT_CUSTOM_HEADERS JSON string parsing by @zzstoatzz in #19052TTLCache for memory-based CausalOrdering to prevent memory leaks by @desertaxle in #19061application_name setting by @zzstoatzz in #19081Development & Tidiness 🧹
graphviz, bump typer, update lockfile by @zzstoatzz in #19051server.concurrency.initial_lease_timeout to server.concurrency.initial_deployment_lease_duration by @desertaxle in #19085parameter_openapi_schema to valid OpenAPI format by @zzstoatzz in #19072DeploymentCreate.parameter_openapi_schema field Optional by @zzstoatzz in #19089Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.20...3.4.21
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.21.dev4...3.4.21.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
PREFECT_CLIENT_CUSTOM_HEADERS JSON string parsing by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/19052Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.21.dev3...3.4.21.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
graphviz, bump typer, update lockfile by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/19051Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.21.dev2...3.4.21.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.21.dev1...3.4.21.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.20...3.4.21.dev1
*Released on September 25, 2025*
Released on September 25, 2025
Enhancements ➕➕
Bug Fixes 🐞
FlowRunCancellingObserver by @desertaxle in #19017pydantic-settings 2.11+ compatibility warnings by @zzstoatzz in #19029Development & Tidiness 🧹
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.19...3.4.20
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
FlowRunCancellingObserver by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19017Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.20.dev1...3.4.20.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.19...3.4.20.dev1
*Released on September 19, 2025*
Released on September 19, 2025
Enhancements ➕➕
deploy.py into a module by @zzstoatzz in #18925read_active_lease_ids by @zzstoatzz in #18973list_holders_for_limit to ConcurrencyLeaseStorage protocol by @zzstoatzz in #18970Bug Fixes 🐞
set_working_directory to return absolute path by @desertaxle in #18932wait() to monitor all futures concurrently with timeout by @zzstoatzz in #18960Development & Tidiness 🧹
prefect.yaml files by @desertaxle in #18941mdxify explicitly in CI by @desertaxle in #18954Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.18...3.4.19
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.19.dev4...3.4.19.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
workflow_dispatch trigger to docs auto-generation workflow for testing by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18966prefect-kubernetes==0.6.5 by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18975list_holders_for_limit to ConcurrencyLeaseStorage protocol by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/18970read_active_lease_ids by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/18973Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.19.dev3...3.4.19.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
wait() to monitor all futures concurrently with timeout by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/18960Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.19.dev2...3.4.19.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
set_working_directory to return absolute path by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18932prefect.yaml files by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18941mdxify explicitly in CI by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18954Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.19.dev1...3.4.19.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
deploy.py into a module by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/18925Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.18...3.4.19.dev1
Add bulk pause/resume commands for deployment schedules by @zzstoatzz in #18860
Enhancements ➕➕
Bug Fixes 🐞
FileExistsError in runner temp directory creation by @zzstoatzz in #18864Development & Tidiness 🧹
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.17...3.4.18
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
FileExistsError in runner temp directory creation by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/18864Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.18.dev4...3.4.18.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.18.dev3...3.4.18.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.18.dev2...3.4.18.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.18.dev1...3.4.18.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
CausalOrdering implementation by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18870Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.17...3.4.18.dev1
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Distributor and LogDistributor in Prefect API servers by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18868--ref flag to trigger OSS testbed image update by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18863Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.16...3.4.17
Wait until determining deployment create or update to add deployment schedules by @kevingrismore in #18823
Enhancements ➕➕
write_path method in RemoteFileSystem to handle SMB UNC paths. by @tom21100227 in #18824Bug Fixes 🐞
.delay() serialization issue by @zzstoatzz in #18849result_async race condition using final state from waiter by @zzstoatzz in #18850git clone fails by @desertaxle in #18845Development & Tidiness 🧹
--refresh-package from mdxify use in api ref gen by @zzstoatzz in #18851Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.15...3.4.16
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
.delay() serialization issue by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/18849result_async race condition using final state from waiter by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/18850--refresh-package from mdxify use in api ref gen by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/18851Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.16.dev5...3.4.16.dev6
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
git clone fails by @desertaxle in https://github.com/PrefectHQ/prefect/pull/18845write_path method in RemoteFileSystem to handle SMB UNC paths. by @tom21100227 in https://github.com/PrefectHQ/prefect/pull/18824Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.16.dev4...3.4.16.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.16.dev3...3.4.16.dev4
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →