NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1445 most downloaded on PyPI
Workflow orchestration and management.
Last release 2 days ago
02 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
8 years old
894 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 -->
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.18.dev3...3.6.18.dev4
One column per quarter.
<!-- 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.6.18.dev2...3.6.18.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
SessionStart hook to symlink AGENTS.md files to CLAUDE.md files by @desertaxle in https://github.com/PrefectHQ/prefect/pull/20667opaque annotation to prevent recursive traversal of resolved task inputs by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20650Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.18.dev1...3.6.18.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.6.17...3.6.18.dev1
Remove deprecated GitHub Action reference by @seanpwlms in #20610
New Features 🎉
prefect server status command by @devin-ai-integration[bot] in #20619Enhancements ➕➕
PrefectFutureList.result() fail-fast using as_completed by @desertaxle in #20592replaces field for renaming schedule slugs by @desertaxle in #20460Bug Fixes 🐞
AwaitingRetry state by @vyagubov in #20318prefect transfer automations by @devin-ai-integration[bot] in #20639prefect deploy stripping {{ ctx.flow.* }} templates from job variables by @desertaxle in #20611ResumeFlowRun action to automation events by @lordsoffallen in #20604print_as_log so log formatters report the caller's location by @devin-ai-integration[bot] in #20618Development & Tidiness 🧹
test_error_handling_on_cache_policies by increasing random range by @devin-ai-integration[bot] in #20566test_docker_deploy: add retry logic for transient Docker registry errors by @devin-ai-integration[bot] in #20580config, profile, version to cyclopts (wave 1) by @zzstoatzz in #20585CycloptsCliRunner for in-process CLI testing by @zzstoatzz in #20609EXCLUDE_FROM_CLEAR_DB_AUTO_MARK by @devin-ai-integration[bot] in #20578UI_COMPONENTS_CONTENTS_PRS_RW with GITHUB_TOKEN in nightly release workflow by @jamiezieziula in #20602busy_timeout for better test concurrency by @devin-ai-integration[bot] in #20553Documentation 📓
caplog example by @rcash in #20570docs/AGENTS.md and write-docs skill for AI agent guidance by @desertaxle in #20606concurrency_options key in debouncing guide by @desertaxle in #20633schema.json paths by @devin-ai-integration[bot] in #20620Experimental 🧪
include_files support to @ecs decorator for bundling non-Python files by @desertaxle in #20551Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.16...3.6.17
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
print_as_log so log formatters report the caller's location by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20618prefect server status command by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20619prefect transfer automations by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20639Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.17.dev5...3.6.17.dev6
<!-- 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.6.17.dev4...3.6.17.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
docs/AGENTS.md and write-docs skill for AI agent guidance when writing docs by @desertaxle in https://github.com/PrefectHQ/prefect/pull/20606Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.17.dev3...3.6.17.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
include_files support to @ecs decorator for bundling non-Python files by @desertaxle in https://github.com/PrefectHQ/prefect/pull/20551Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.16...3.6.17.dev1
Add prefect cloud asset list and delete commands by @zzstoatzz in #20524
New Features 🎉
prefect cloud asset list and delete commands by @zzstoatzz in #20524Enhancements ➕➕
flow and flow_run by @Rodrigorm33 in #20358max_scheduled_runs, parameters, and slug fields to deployment schedule methods by @devin-ai-integration[bot] in #20556Bug Fixes 🐞
visit_collection to handle NamedTuples by @chuqCTC in #20517JsonFormatter for logging by @devin-ai-integration[bot] in #20482deploy --all console output by @devin-ai-integration[bot] in #20511prefect by @desertaxle in #20514TaskRunContext leaking into Pending event related resources by @bunchesofdonald in #20536Development & Tidiness 🧹
clear_db auto-mark by @devin-ai-integration[bot] in #20487EXCLUDE_FROM_CLEAR_DB_AUTO_MARK by @devin-ai-integration[bot] in #20490clear_db exclusion list by @devin-ai-integration[bot] in #20491test_flow_runs.py and telemetry/ to clear_db exclusion list by @devin-ai-integration[bot] in #20492input/, deployment/, experimental/ to clear_db exclusion list by @devin-ai-integration[bot] in #20493tests/results to clear_db exclusion list by @devin-ai-integration[bot] in #20495EXCLUDE_FROM_CLEAR_DB_AUTO_MARK by @devin-ai-integration[bot] in #20504tests/events/client to clear_db exclusion list by @devin-ai-integration[bot] in #20506tests/infrastructure to clear_db exclusion list by @devin-ai-integration[bot] in #20507tests/blocks/ to EXCLUDE_FROM_CLEAR_DB_AUTO_MARK by @devin-ai-integration[bot] in #20512tests/test_task_runners.py and tests/test_variables.py to clear_db exclusion list by @devin-ai-integration[bot] in #20530tests/test_futures.py and tests/test_logging.py to clear_db exclusion list by @devin-ai-integration[bot] in #20531Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.15...3.6.16
<!-- 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.6.16.dev6...3.6.16.dev7
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect cloud asset list and delete commands by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/20524Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.16.dev5...3.6.16.dev6
<!-- 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.6.16.dev4...3.6.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.6.16.dev3...3.6.16.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
clear_db auto-mark by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20487EXCLUDE_FROM_CLEAR_DB_AUTO_MARK by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20490Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.16.dev2...3.6.16.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.6.16.dev1...3.6.16.dev2
Fix PrefectCloudEventsClient auth handshake breaking Cloud connections by @desertaxle in #20472
Bug Fixes 🐞
PrefectCloudEventsClient auth handshake breaking Cloud connections by @desertaxle in #20472retry-after to prevent excessive delays from burst traffic by @bunchesofdonald in #20470Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.14...3.6.15
Support parsing TOML 1.0 on Python 3.11+ by @zed in #20398
Enhancements ➕➕
prefect server start by @zzstoatzz in #20361/api/events/in WebSocket endpoint by @devin-ai-integration[bot] in #20372Bug Fixes 🐞
PrefectFlowRunFuture.wait_async by @devin-ai-integration[bot] in #20406end_time by @devin-ai-integration[bot] in #20369flow_run.id returning string "None" instead of None by @bnaul in #20425Integrations & Dependencies 🤝
pydocket minimum version to 0.17.2 by @chrisguidry in #20405Development & Tidiness 🧹
skipif(sys.platform != 'win32') with @pytest.mark.windows and remove skipif(sys.platform == 'win32') by @devin-ai-integration[bot] in #20327pytest.approx for date_diff_seconds timing assertions by @devin-ai-integration[bot] in #20354deployments/runner.py from @sync_compatible to @async_dispatch by @zzstoatzz in #20359test_timeout_concurrency_slot_released tests by @devin-ai-integration[bot] in #20364Task.serve() from @sync_compatible to @async_dispatch by @zzstoatzz in #20374Flow.deploy() from @sync_compatible to @async_dispatch by @zzstoatzz in #20380Runner methods from @sync_compatible to @async_dispatch by @zzstoatzz in #20382TestClient as context manager for proper lifespan cleanup by @devin-ai-integration[bot] in #20426Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.13...3.6.14
<!-- 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.6.14.dev6...3.6.14.dev7
<!-- 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.6.14.dev5...3.6.14.dev6
<!-- 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.6.14.dev4...3.6.14.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
PrefectFlowRunFuture.wait_async by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20406Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.14.dev3...3.6.14.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.6.14.dev2...3.6.14.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect server start by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/20361Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.14.dev1...3.6.14.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
skipif(sys.platform != 'win32') with @pytest.mark.windows and remove skipif(sys.platform == 'win32') by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20327Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.13...3.6.14.dev1
Add FlowRunFilterCreatedBy by @zzstoatzz in #20256
Enhancements ➕➕
FlowRunFilterCreatedBy by @zzstoatzz in #20256PrefectEventsClient.__aenter__() initial connection by @devin-ai-integration[bot] in #20328Bug Fixes 🐞
AttributeError in event clients by @devin-ai-integration[bot] in #20323strip_auth_from_url into prefect._internal.urls by @zzstoatzz in #20331slot_decay_per_second None value causing 422 error in upsert_global_concurrency_limit_by_name by @devin-ai-integration[bot] in #20320hosted_api_server fixture by @devin-ai-integration[bot] in #20322Development & Tidiness 🧹
ignore_errors in rmtree for SQLite race condition by @devin-ai-integration[bot] in #20326sys.path isolation fixture for importtools tests by @devin-ai-integration[bot] in #20347task_worker.py from @sync_compatible to @async_dispatch by @zzstoatzz in #20259@sync_compatible to @async_dispatch by @zzstoatzz in #20313ResultStore from @sync_compatible to @async_dispatch by @zzstoatzz in #20314Flow.visualize from @sync_compatible to @async_dispatch by @zzstoatzz in #20353Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.12...3.6.13
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
slot_decay_per_second None value causing 422 error in upsert_global_concurrency_limit_by_name by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20320hosted_api_server fixture by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20322Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.13.dev1...3.6.13.dev2
Add httpx.ConnectError to client retry exceptions by @joshuastagner in #20276
Enhancements ➕➕
Bug Fixes 🐞
work-pool create command by @devin-ai-integration[bot] in #20277PrefectEventSubscriber.__aenter__() for initial connections by @devin-ai-integration[bot] in #20295Development & Tidiness 🧹
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.11...3.6.12
This release introduces prefect sdk generate a new CLI command that generates fully-typed, custom Python SDKs from the deployments in your workspace o
Released on January 15, 2026
This release introduces prefect sdk generate a new CLI command that generates fully-typed, custom Python SDKs from the deployments in your workspace or self-hosted server, making it easy to trigger your deployments from other workflows with confidence.
To see how it works, check out the Prefect docs. This functionality is currently in beta, so try it out and open a GitHub issue if you have feedback!
New Features 🎉
prefect sdk generate CLI command for generating custom deployment SDKs from existing deployments by @desertaxle in #20150, #20158, #20167, #20172, #20173Enhancements ➕➕
prefect variable ls CLI command by @xeniumcode in #20192prefect global-concurrency-limit ls CLI command by @xeniumcode in #20194prefect artifact CLI commands by @xeniumcode in #20193prefect block ls CLI command by @xeniumcode in #20195prefect block type ls CLI command by @xeniumcode in #20196prefect deployment schedule CLI commands by @xeniumcode in #20197prefect deployment CLI commands by @xeniumcode in #20198pause, suspend, resume, and run_input from @sync_compatible to @async_dispatch by @devin-ai-integration[bot] in #20178force parameter to ChangeFlowRunState and flow_run_id Jinja filter by @zzstoatzz in #20112automation.action.* events to automation.triggered event by @chrisguidry in #20227DISABLED to client DeploymentStatus enum for Cloud compatibility by @chrisguidry in #20244Bug Fixes 🐞
prefect.yaml by @zzstoatzz in #20238updated column value of deployments when marking them as ready by @vkrot-innio in #19936Development & Tidiness 🧹
arun_deployment and replace @sync_compatible with @async_dispatch by @desertaxle in #20160test_concurrency_respects_timeout by @devin-ai-integration[bot] in #20185slot_decay_per_second to prevent race condition by @devin-ai-integration[bot] in #20208concurrency/v1 from @sync_compatible to @async_dispatch by @zzstoatzz in #20225blocks/core.py from @sync_compatible to @async_dispatch by @devin-ai-integration[bot] in #20226plans/ directory by @zzstoatzz in #20183plans/ by @desertaxle in #20207Documentation 📓
prefect sdk generate CLI by @desertaxle in #20241Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.10...3.6.11
Add prefect automation update CLI command by @devin-ai-integration[bot] in #20118
Released on January 08, 2026
Enhancements ➕➕
prefect automation update CLI command by @devin-ai-integration[bot] in #20118Bug Fixes 🐞
AttributeError in Consumer.cleanup() for non-memory brokers by @devin-ai-integration[bot] in #20089exception_to_crashed_state_sync failing without async backend by @zzstoatzz in #20139MockValSer serialization error with StateDetails by @zzstoatzz in #20127AttributeError for functools.partial hooks in Runner by @devin-ai-integration[bot] in #20136Development & Tidiness 🧹
UISettings model for /ui-settings endpoint by @desertaxle in #20103test_concurrency_respects_timeout test by @devin-ai-integration[bot] in #20138@prefecthq/prefect-ui-library to version 3.14.8 by @marvin-robot in #20147Documentation 📓
job_configuration by @zzstoatzz in #20133Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.9...3.6.10
*Released on December 31, 2025*
Released on December 31, 2025
New Features 🎉
Enhancements ➕➕
prefect.yaml files by @zzstoatzz in #19996Bug Fixes 🐞
get_directory instead of following them by @majiayu000 in #19993GitRepository name parameter preservation in pull step conversion by @devin-ai-integration[bot] in #20004ruamel.yaml.clib dependency to fix Docker builds by @zzstoatzz in #20068Development & Tidiness 🧹
@prefecthq/prefect-ui-library to version 3.14.5 by @marvin-robot in #20003Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.8...3.6.9
*Released on December 24, 2025*
Released on December 24, 2025
New Features 🎉
prefect flow-run retry command by @desertaxle in #19858Enhancements ➕➕
url property to server-side ReceivedEvent for automation templates by @devin-ai-integration[bot] in #19851Bug Fixes 🐞
preprocess_schema by @zzstoatzz in #19946form_data in CustomWebhookNotificationBlock by @zzstoatzz in #19953pydocket version and remove background worker shutdown timeout by @desertaxle in #19969TASK_SOURCE cache policy for remote execution with cloudpickle by @desertaxle in #19926Development & Tidiness 🧹
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.7...3.6.8
<!-- 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.6.8.dev2...3.6.8.dev3
*Released on December 18, 2025*
Released on December 18, 2025
Enhancements ➕➕
Variable.get method by @devin-ai-integration[bot] in #19764late_runs service to Docket perpetual function by @zzstoatzz in #19722repossessor service to Docket perpetual function by @zzstoatzz in #19739foreman service to Docket perpetual function by @zzstoatzz in #19741telemetry service to Docket perpetual function by @zzstoatzz in #19754LoopService by @zzstoatzz in #19756Bug Fixes 🐞
docket.worker logger by @devin-ai-integration[bot] in #19772grace_period_seconds from deployment concurrency_options by @zzstoatzz in #19784docket_url setting path to server.docket.url by @zzstoatzz in #19791Development & Tidiness 🧹
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.6...3.6.7
<!-- 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.6.7.dev2...3.6.7.dev3
*Released on December 08, 2025*
Released on December 08, 2025
Enhancements ➕➕
search_path support via settings by @devin-ai-integration[bot] in #19620cancellation_cleanup to perpetual Docket task by @zzstoatzz in #19715pause_expirations service to perpetual Docket task by @zzstoatzz in #19719Bug Fixes 🐞
result_storage usage with @task and @flow decorators by @devin-ai-integration[bot] in #19671DEFAULT cache policy from triggering automatic persist_result by @devin-ai-integration[bot] in #19673history_interval_seconds as parameter name in OpenAPI schema by @desertaxle in #19659Development & Tidiness 🧹
prefect.input.actions from sync_compatible to async_dispatch by @zzstoatzz in #19632Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.5...3.6.6
Update sucrase to remove vulnerable glob dependency by @zzstoatzz in #19599
Released on December 04, 2025
Enhancements ➕➕
Path objects in result_storage parameter by @zzstoatzz in #19533xreadgroup batch size in consumer and add EventPersister service setting by @saschwartz in #19545xautoclaim batch size by @saschwartz in #19557TaskRunRecorder and Trigger service message read batch size by @saschwartz in #19559SlackWebhook block by @devin-ai-integration[bot] in #19565job_variables in workers by @devin-ai-integration[bot] in #19619Bug Fixes 🐞
username:password auth for self-hosted BitBucket instances by @zzstoatzz in #19516/api/task_runs/count endpoint performance by @naaa760 in #19548fastapi==0.123.7 by @desertaxle in #19626launchType for capacity providers by @zzstoatzz in #19630Integrations & Dependencies 🤝
Development & Tidiness 🧹
pytest-asyncio to fix 3.10 client tests by @desertaxle in #19609TestReadTaskRunCountsByState::test_returns_all_state_types by @desertaxle in #19612Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.4...3.6.5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect-redis==0.2.7 by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/19561Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.5.dev3...3.6.5.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.6.5.dev2...3.6.5.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.6.5.dev1...3.6.5.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.6.4...3.6.5.dev1
fix: preserve event template parameters in deployment triggers by @zzstoatzz in #19504
Bug Fixes 🐞
Integrations & Dependencies 🤝
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.3...3.6.4
<!-- 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.6.3...3.6.4.dev1
Add -o json output option to prefect flow-run ls command by @devin-ai-integration[bot] in #19484
Enhancements ➕➕
-o json output option to prefect flow-run ls command by @devin-ai-integration[bot] in #19484Bug Fixes 🐞
Development & Tidiness 🧹
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.2...3.6.3
<!-- 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.6.3.dev2...3.6.3.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.6.3.dev1...3.6.3.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.6.2...3.6.3.dev1
Add causal link from automation action events to triggering events by @zzstoatzz in #19426
Enhancements ➕
Bug Fixes 🐞
Development & Tidiness 🧹
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.1...3.6.2
<!-- 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.6.1...3.6.2.dev1
Add client methods for querying events via REST API by @zzstoatzz in #19382
Enhancements ➕
Bug Fixes 🐞
Integrations & Dependencies 🤝
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.0...3.6.1
<!-- 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.6.0...3.6.1.dev1
This release adds `pydocket`, a background task system, to replace FastAPI's background_tasks. Background tasks now include automatic retries and can
This release adds pydocket, a background task system, to replace FastAPI's background_tasks. Background tasks now include automatic retries and can optionally use Redis as a backing layer for enhanced durable execution.
Released on November 07, 2025
Enhancements ➕➕
background_task usage with pydocket by @desertaxle in #19377Bug Fixes 🐞
deployment.parameters in subprocess flows by @zzstoatzz in #19331pyright error when calling async task with wrong argument types by @zzstoatzz in #19327EventsWorker singleton leak in prefect_test_harness by @zzstoatzz in #19343run_deployment execution graph display when called from tasks by @desertaxle in #19361Integrations & Dependencies 🤝
prefect-ui-library to latest version by @znicholasbrown in #19350Development & Tidiness 🧹
RedisStorageContainer from sync_compatible to async_dispatch by @devin-ai-integration[bot] in #19363Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.5.0...3.6.0
<!-- 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.5.1.dev3...3.5.1.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
run_deployment execution graph display when called from tasks by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19361Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.5.1.dev2...3.5.1.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
run_task API Call by @desertaxle in https://github.com/PrefectHQ/prefect/pull/19335Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.5.1.dev1...3.5.1.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.5.0...3.5.1.dev1
…functionality and system Blocks. Check the Breaking Changes section below for details.
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 ➕➕
on_running hook support for tasks by @zzstoatzz in #19277PREFECT_SERVER_UI_SHOW_PROMOTIONAL_CONTENT setting by @zzstoatzz in #19299Breaking Changes ⚠️
Runner functionality and system Blocks by @desertaxle in #19307Bug Fixes 🐞
ValidatedFunction by @desertaxle in #19289datetime parameter serialization in run_deployment by @zzstoatzz in #19278prefect_test_harness on Linux by @zzstoatzz in #19116Development & Tidiness 🧹
typer minimum to 0.16.0 for click>=8.2 compatibility by @zzstoatzz in #19269just recipes to use 3.10 for lowest python by @zzstoatzz in #19297generate_deprecation_message by @desertaxle in #19314RRuleSchedule test flakiness from DST-dependent date by @zzstoatzz in #19305Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.25...3.5.0
<!-- 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.26.dev5...3.4.26.dev6
<!-- 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.26.dev4...3.4.26.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
PREFECT_SERVER_UI_SHOW_PROMOTIONAL_CONTENT setting by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/19299Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.4.26.dev3...3.4.26.dev4
Your coding agent can read these notes before it upgrades. Set up the MCP server →