Releases: PrefectHQ/prefect
3.5.0 - 🎃 The Exorcism of Python 3.9 👻
Released on October 31, 2025
With the removal of Python 3.9 support, Prefect now requires Python 3.10 or later. This means you can finally say goodbye to from __future__ import annotations in your workflow code—native type annotations are now standard! This release also removes several long-deprecated features, including Runner functionality and system Blocks. Check the Breaking Changes section below for details.
Enhancements ➕➕
- Add
on_runninghook support for tasks by @zzstoatzz in #19277 - Allow using Field descriptions directly in Flow parameters (#13912) by @jmesterh in #19281
- Add
PREFECT_SERVER_UI_SHOW_PROMOTIONAL_CONTENTsetting by @zzstoatzz in #19299
Breaking Changes
- Remove Python 3.9 support by @desertaxle in #19273
- Remove deprecated
Runnerfunctionality and system Blocks by @desertaxle in #19307
Bug Fixes 🐞
- Fix forward reference resolution in
ValidatedFunctionby @desertaxle in #19289 - Fix
datetimeparameter serialization inrun_deploymentby @zzstoatzz in #19278 - Fix time zone normalization bug in interval schedules by @zzstoatzz in #19301
- Fix multiprocessing deadlock after using
prefect_test_harnesson Linux by @zzstoatzz in #19116
Development & Tidiness 🧹
- Update
typerminimum to0.16.0forclick>=8.2compatibility by @zzstoatzz in #19269 - Remove weird language by @zzstoatzz in #19271
- Update
justrecipes to use 3.10 for lowest python by @zzstoatzz in #19297 - Fix duration in
generate_deprecation_messageby @desertaxle in #19314 - Fix
RRuleScheduletest flakiness from DST-dependent date by @zzstoatzz in #19305 - Add debug log for fork handler registration failure by @zzstoatzz in #19311
Documentation 📓
- Add global concurrency limits concept doc and refactor how-to guide by @desertaxle in #19231
Full Changelog: 3.4.25...3.5.0
3.4.26.dev6: Nightly Development Release
What's Changed
Bug Fixes 🐞
- Fix multiprocessing deadlock after using prefect_test_harness on Linux by @zzstoatzz in #19116
Uncategorized
Full Changelog: 3.4.26.dev5...3.4.26.dev6
3.4.26.dev5: Nightly Development Release
What's Changed
Enhancements ➕➕
Bug Fixes 🐞
- Fix time zone normalization bug in interval schedules by @zzstoatzz in #19301
- fix: RRuleSchedule test flakiness from DST-dependent date by @zzstoatzz in #19305
Uncategorized
- Auto-update documentation by @github-actions[bot] in #19303
- add option to disable the Kubernetes worker observer and pod event replication by @levzem in #19282
New Contributors
Full Changelog: 3.4.26.dev4...3.4.26.dev5
3.4.26.dev4: Nightly Development Release
What's Changed
Development & Tidiness 🧹
- update just recipes to use 3.10 for lowest python by @zzstoatzz in #19297
Uncategorized
- Add
PREFECT_SERVER_UI_SHOW_PROMOTIONAL_CONTENTsetting by @zzstoatzz in #19299 - Auto-update documentation by @github-actions[bot] in #19300
Full Changelog: 3.4.26.dev3...3.4.26.dev4
3.4.26.dev3: Nightly Development Release
What's Changed
Enhancements ➕➕
- Add on_running hook support for tasks by @zzstoatzz in #19277
Bug Fixes 🐞
- Fix forward reference resolution in
ValidatedFunctionby @desertaxle in #19289 - Fix datetime parameter serialization in run_deployment by @zzstoatzz in #19278
Documentation 📓
- Remove Python 3.9 support by @desertaxle in #19273
Uncategorized
- Auto-update documentation by @github-actions[bot] in #19291
Full Changelog: 3.4.26.dev2...3.4.26.dev3
3.4.26.dev2: Nightly Development Release
What's Changed
Development & Tidiness 🧹
- rm weird language by @zzstoatzz in #19271
Uncategorized
- Auto-update documentation by @github-actions[bot] in #19272
- chore(cicd): Update Dockerhub token for
prefect-awsimage builds by @jamiezieziula in #19274
Full Changelog: 3.4.26.dev1...3.4.26.dev2
3.4.26.dev1: Nightly Development Release
What's Changed
Development & Tidiness 🧹
- update typer minimum to 0.16.0 for click 8.2+ compatibility by @zzstoatzz in #19269
Full Changelog: 3.4.25...3.4.26.dev1
3.4.25 - A slice of π-thon
Released on October 23, 2025
Enhancements ➕➕
- Add Python 3.14 support by @desertaxle in #19119
- Unify sync and async client methods by @hanhwanglim in #19217
Bug Fixes 🐞
- Upgrade Docker image SQLite to 3.50.4 to address CVE-2025-6965 by @desertaxle in #19214
- Fix GitLab credentials for self-hosted instances and deploy tokens by @zzstoatzz in #19227
- Make
MemoryLockManagerserializable withcloudpickleby @desertaxle in #19246 - Suppress noisy concurrency warnings for automatic tag-based checks by @desertaxle in #19254
- Fix work pool env vars being overwritten by variable defaults by @desertaxle in #19258
Development & Tidiness 🧹
- Fix non-deterministic test flake in PREFECT_EXPERIMENTS_PLUGINS_ALLOW tests by @zzstoatzz in #19203
- Add
generate-cli-docstojustfileby @desertaxle in #19245 - Add
uvandghas allowed tools for Claude in GitHub Actions by @desertaxle in #19210 - Refactor git credential formatting to fix leaky abstraction by @zzstoatzz in #19236
Documentation 📓
- Correct worker
--limitargument documentation by @desertaxle in #19244 - Add
pydantic-aidata analyst example by @desertaxle in #19209 - Update Prefect MCP status in docs by @zzstoatzz in #19213
- Correct Modal dashboard link by @jesse-c in #19240
- Fix repository name capitalization in README example by @gowtham1412-p in #19260
Full Changelog: 3.4.24...3.4.25
3.4.25.dev5: Nightly Development Release
What's Changed
Enhancements ➕➕
- Correct worker
--limitargument documentation by @desertaxle in #19244
Bug Fixes 🐞
- Make
MemoryLockManagerserializable withcloudpickleby @desertaxle in #19246
Development & Tidiness 🧹
- Add
generate-cli-docstojustfileby @desertaxle in #19245
Documentation 📓
Uncategorized
- Auto-update documentation by @github-actions[bot] in #19234
- Auto-update documentation by @github-actions[bot] in #19251
Full Changelog: 3.4.25.dev4...3.4.25.dev5
3.4.25.dev4: Nightly Development Release
What's Changed
Enhancements ➕➕
- Kubernetes: allow opt-out of rescheduling on SIGTERM by setting PREFECT_FLOW_RUN_EXECUTE_SIGTERM_BEHAVIOR by @svatopluk-sperka in #19223
- Unify sync and async client methods by @hanhwanglim in #19217
- Upgrade Docker image SQLite to 3.50.4 to address CVE-2025-6965 by @desertaxle in #19214
Bug Fixes 🐞
- Fix GCS bundle upload/download to use filename methods by @desertaxle in #19224
- fix gitlab credentials for self-hosted instances and deploy tokens by @zzstoatzz in #19227
Uncategorized
- Auto-update documentation by @github-actions[bot] in #19228
New Contributors
- @svatopluk-sperka made their first contribution in #19223
Full Changelog: 3.4.25.dev3...3.4.25.dev4