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 2 days ago
16 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
885 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.7.5.dev4...3.7.5.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.7.5.dev3...3.7.5.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 -->
event_resources(occurred) for vacuum performance by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22250None token in GitHubCredentials by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22270Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.5.dev2...3.7.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.7.5.dev1...3.7.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.7.4...3.7.5.dev1
Emit lifecycle events (created, updated, deleted) for all domain objects including variables, flows, block documents, block types, concurrency limits,
New Features 🎉
created, updated, deleted) for all domain objects including variables, flows, block documents, block types, concurrency limits, artifact collections, and automations by @chrisguidry in #22226Enhancements ➕➕
automations, sort, limit, offset) to read_automations client methods by @devin-ai-integration[bot] in #22191Bug Fixes 🐞
parse_obj_as() crash with StopIteration on empty dict by @devteamaegis in #22188prefect.yaml by @zzstoatzz in #22195PYTHONPATH to prevent subprocess CLI breakage by @devin-ai-integration[bot] in #22179Documentation 📓
flow_run_log_summary automation template variable by @mitchnielsen in #22192PREFECT_TASKS_* env vars in retries guide by @devin-ai-integration[bot] in #22235Development & Tidiness 🧹
reset_sys_modules by @zzstoatzz in #22194hold_timeout in test_wait_for_lock to prevent race condition by @devin-ai-integration[bot] in #22202automatic=True for cleanup reconciler perpetual service by @devin-ai-integration[bot] in #22225uv bytecode compilation to image builds by @zzstoatzz in #22227Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.3...3.7.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.7.4.dev3...3.7.4.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.7.4.dev2...3.7.4.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
read_automations by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22191Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.4.dev1...3.7.4.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.7.3...3.7.4.dev1
Bump starlette to 1.2.0 for CVE-2026-48710 by @zzstoatzz in #22145
Automatic dependency installation for pulled-code deployments is now opt-in. In 3.7.2, the runner would automatically prepare project dependencies when a deployment pulled code containing a pyproject.toml. This behavior is now disabled by default. Set PREFECT_RUNNER_AUTO_INSTALL_DEPENDENCIES=true (or runner.auto_install_dependencies = true in your profile) to re-enable it.
Enhancements ➕➕
prefect.server package exports for faster imports by @devin-ai-integration[bot] in #22122Bug Fixes 🐞
pydantic-settings lower bound to >=2.9.1 by @devin-ai-integration[bot] in #22075reconnect_delay exponent to prevent OverflowError by @devin-ai-integration[bot] in #22086ZeroDivisionError in RetryFailedTasks when retry_jitter_factor is set without retry_delay by @devteamaegis in #22071TaskRunRecorder upsert order by @desertaxle in #22112storage configure by @devin-ai-integration[bot] in #22144_resolve_flow_for_hooks by @devin-ai-integration[bot] in #22176Integrations & Dependencies 🤝
Development & Tidiness 🧹
temporary_settings by @zzstoatzz in #22120SettingAccessor and widen timing tolerance by @devin-ai-integration[bot] in #22133hosted_api_client fixture by @devin-ai-integration[bot] in #22130test_create_with_unsupported_type by @devin-ai-integration[bot] in #22153clear_db markers from isolated test modules by @devin-ai-integration[bot] in #22102Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.2...3.7.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.7.3.dev6...3.7.3.dev7
Bump starlette to 1.2.0 for CVE-2026-48710 by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/22145
<!-- Release notes generated using configuration in .github/release.yml at main -->
hosted_api_client fixture by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22130Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.3.dev5...3.7.3.dev6
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
temporary_settings by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/22120prefect-gcp==0.6.19 by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22123Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.3.dev4...3.7.3.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.7.3.dev3...3.7.3.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.7.3.dev2...3.7.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.7.3.dev1...3.7.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.7.2...3.7.3.dev1
Add delete flow run automation action by @zzstoatzz in #22018
Enhancements ➕➕
find_interested_triggers by @chuqCTC in #21977resolve_variables() call by @devin-ai-integration[bot] in #22060execute_bundle_in_subprocess by @theluckystrike in #21916Bug Fixes 🐞
submitted_ids set in ScheduledRunPoller by @J3r3myPerera in #21982importlib.metadata instead of importlib_metadata backport by @devin-ai-integration[bot] in #22012ZipBuilder storage keys truly content-addressed by @devin-ai-integration[bot] in #22008worker_id=None by @devin-ai-integration[bot] in #22067Development & Tidiness 🧹
test_flow_parameter_caching deterministic by @devin-ai-integration[bot] in #21973test_worker integration test with event subscription race by @devin-ai-integration[bot] in #22010test_read_flow_runs_filters_by_start_time deterministic by @devin-ai-integration[bot] in #22024clear_db marker from opt-out to opt-in by @desertaxle in #21918Documentation 📓
prefect run CLI example with python by @devin-ai-integration[bot] in #22013prefect deploy + prefect.yaml by @devin-ai-integration[bot] in #22059Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.1...3.7.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.7.2.dev4...3.7.2.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
test_read_flow_runs_filters_by_start_time deterministic by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22024Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.2.dev3...3.7.2.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
importlib.metadata instead of importlib_metadata backport by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22012test_worker integration test with event subscription race by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22010prefect run CLI example with python by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/22013Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.2.dev2...3.7.2.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
submitted_ids set in ScheduledRunPoller by @J3r3myPerera in https://github.com/PrefectHQ/prefect/pull/21982test_flow_parameter_caching deterministic by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21973Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.2.dev1...3.7.2.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect-ray==0.5.0 by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21990Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.1...3.7.2.dev1
Add deployment_name logging variable by @devin-ai-integration[bot] in #21804
Enhancements ➕➕
deployment_name logging variable by @devin-ai-integration[bot] in #21804tojson template filter by @devin-ai-integration[bot] in #21861cancelling_timeout_teardown.v1 cleanup handler by @desertaxle in #21911Bug Fixes 🐞
DateTime on Python >= 3.13 by @zzstoatzz in #21952flow_run_id by @devin-ai-integration[bot] in #21951now("UTC") for last_adhoc_pull timestamp in runner by @J3r3myPerera in #21961.get() calls on arbitrary State.data in result-data-loss rules by @devin-ai-integration[bot] in #21967Integrations & Dependencies 🤝
prefect-github extra floor to >=0.4.2 by @zzstoatzz in #21946Development & Tidiness 🧹
test_flow_run_execute_cancellation_runs_nested_subflow_hooks by @devin-ai-integration[bot] in #21866_internal (batch 1 of 3) by @devin-ai-integration[bot] in #21879_internal (batch 2) by @devin-ai-integration[bot] in #21881_result_records.py and utilities/_engine.py to _internal/ (batch 3) by @devin-ai-integration[bot] in #21880flow_run_slas test comments by @lphuc2250gma in #21943test_renew_concurrency_lease by @devin-ai-integration[bot] in #21965test_reschedule_flow_runs timeout under CI load by @devin-ai-integration[bot] in #21966Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.0...3.7.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.7.1.dev8...3.7.1.dev9
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
cancelling_timeout_teardown.v1 cleanup handler by @desertaxle in https://github.com/PrefectHQ/prefect/pull/21911Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.1.dev7...3.7.1.dev8
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
__exit__ if the task runner started it by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21921Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.1.dev6...3.7.1.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.7.1.dev5...3.7.1.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.7.1.dev4...3.7.1.dev5
docs: remove stale _ast/_git/_deprecated entries from utilities AGENTS.md by @github-actions[bot] in https://github.com/PrefectHQ/prefect/pull/21884
<!-- Release notes generated using configuration in .github/release.yml at main -->
_internal (batch 1 of 3) by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21879_internal (batch 2) by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21881_result_records.py and utilities/_engine.py to _internal/ (Batch 3) by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21880Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.1.dev3...3.7.1.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
test_flow_run_execute_cancellation_runs_nested_subflow_hooks by always running on_cancellation hooks in CancellationManager.cancel() by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21866Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.1.dev2...3.7.1.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.7.1.dev1...3.7.1.dev2
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect-aws==0.7.8, prefect-azure==0.4.10, prefect-gcp==0.6.18, prefect-docker==0.7.2, prefect-kubernetes==0.7.9 by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21839Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.7.0...3.7.1.dev1
Prefect 3.7.0 promotes infrastructure decorators and the plugin system to GA. Infrastructure decorators are now ready for defining reusable run infras
Prefect 3.7.0 promotes infrastructure decorators and the plugin system to GA. Infrastructure decorators are now ready for defining reusable run infrastructure directly in Python, and plugins now live in first-class settings with backward-compatible support for existing experimental configuration. Turns out they were just going through a phase.
New Features 🎉
Enhancements ➕➕
ui-v2 by @devin-ai-integration[bot] in #21793read_block_schemas by @VittoriaLanzo in #21754flow.generate_mermaid_graph() method for dependency-free flow visualization by @znicholasbrown in #21786uv by @desertaxle in #21801ThreadPoolTaskRunner submission would deadlock by @devin-ai-integration[bot] in #21800block_document references by @Lougarou in #21829Bug Fixes 🐞
now() helper instead of DateTime.now() in deployment CLI by @devin-ai-integration[bot] in #21769GitRepository.pull_code() with file-based locking by @devin-ai-integration[bot] in #21388record_bulk_task_run_events on IntegrityError by @devin-ai-integration[bot] in #21813mark_deployments_ready / mark_deployments_not_ready by @chuqCTC in #21792Development & Tidiness 🧹
run_coro_as_sync deadlock in wait futures test by @devin-ai-integration[bot] in #21766test_flow_run_lateness_when_scheduled by @devin-ai-integration[bot] in #21781test_timeout_concurrency_slot_released by @devin-ai-integration[bot] in #21788old-sqlite.Dockerfile by @devin-ai-integration[bot] in #21814pytest-timeout for test_timeout_stops_execution_at_next_task_for_sync_flows by @devin-ai-integration[bot] in #21819Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.29...3.7.0
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
record_bulk_task_run_events on IntegrityError by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21813ThreadPoolTaskRunner submission would deadlock by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21800flow.visualize output format for Mermaid by @znicholasbrown in https://github.com/PrefectHQ/prefect/pull/21786Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.30.dev3...3.6.30.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
GitRepository.pull_code() with file-based locking by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21388Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.30.dev2...3.6.30.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.30.dev1...3.6.30.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.29...3.6.30.dev1
Replace correlated EXISTS with JOIN fast-path in count_flow_runs by @VittoriaLanzo in #21707
Enhancements ➕➕
EXISTS with JOIN fast-path in count_flow_runs by @VittoriaLanzo in #21707TaskRunRecorder bulk upsert batches by task_run.id to prevent deadlocks by @chuqCTC in #21717Bug Fixes 🐞
BlockStorageAdapter destination before each pull by @devin-ai-integration[bot] in #21721LocalFileSystem by @devin-ai-integration[bot] in #21643Development & Tidiness 🧹
--ref main when dispatching cluster-deployment workflow by @devin-ai-integration[bot] in #21705pytest-timeout SIGALRM from interfering with flow timeout test by @devin-ai-integration[bot] in #21757Documentation 📓
UnknownSerializer graceful degradation for cross-environment result inspection by @github-actions[bot] in #21650Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.28...3.6.29
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect-dbt==0.7.24 by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21745Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.29.dev3...3.6.29.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.29.dev2...3.6.29.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.29.dev1...3.6.29.dev2
<!-- 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.11 by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21704--ref main when dispatching cluster-deployment workflow by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21705Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.28...3.6.29.dev1
🎵 And stops my mind from wandering 🎵
🎵 And stops my mind from wandering 🎵
Enhancements ➕➕
whenever API compat helpers and fix in_local_tz for naive datetimes by @vyagubov in #21640Bug Fixes 🐞
uv pip freeze in bundle creation when a non-uv launcher is set by @devin-ai-integration[bot] in #21607validate_restricted_url by @devin-ai-integration[bot] in #21591custom_headers Authorization with PREFECT_API_KEY in check_server_version by @vyagubov in #21621PrefectConcurrentFuture completion tracking when done callbacks raise by @desertaxle in #21686sys.modules entries in load_script_as_module by @zzstoatzz in #21692_UnpicklingFuture.add_done_callback swallowing deserialization errors by @saschwartz in #21612uv run commands by @devin-ai-integration[bot] in #21651Development & Tidiness 🧹
aiosqlite teardown race in legacy events/out test by @devin-ai-integration[bot] in #21619watch_flow_run timeout test by @devin-ai-integration[bot] in #21648on_cancellation hook markers in nested cancellation tests by @devin-ai-integration[bot] in #21660asyncio.sleep in test_delete_flow_run_deletes_logs by @devin-ai-integration[bot] in #21657asyncpg connection_timeout in unit test mode by @devin-ai-integration[bot] in #21614sanitize_subprocess_env in utilities AGENTS.md by @github-actions[bot] in #21604matchMedia mocking patterns by @github-actions[bot] in #21605uv pip freeze is skipped only for execution launcher overrides by @github-actions[bot] in #21613uv run --project for local integrations by @zzstoatzz in #21625useQuery exception for silently-hiding components in ui-v2 AGENTS.md by @github-actions[bot] in #21642loaderDeps pattern for UI-only search params in routes AGENTS.md by @github-actions[bot] in #21645propose_submitting=False caller by @github-actions[bot] in #21647UnknownSerializer tolerance contract in SDK AGENTS.md by @github-actions[bot] in #21649whenever compat helpers invariant in core SDK AGENTS.md by @github-actions[bot] in #21655Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.27...3.6.28
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
PrefectConcurrentFuture completion tracking when done callbacks raise by @desertaxle in https://github.com/PrefectHQ/prefect/pull/21686prefect-dbt docs into sibling pages by @desertaxle in https://github.com/PrefectHQ/prefect/pull/21671Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.28.dev5...3.6.28.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.28.dev4...3.6.28.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect-dbt==0.7.23 by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21663uv run commands by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21651plan() by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21653Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.28.dev3...3.6.28.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.28.dev2...3.6.28.dev3
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
uv pip freeze in bundle creation when a non-uv launcher is set by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21607validate_restricted_url by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21591prefect-kubernetes==0.7.8 by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21611Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.28.dev1...3.6.28.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.27...3.6.28.dev1
Remove causal ordering from task run recorder by @chuqCTC in #21458
Enhancements ➕➕
Bug Fixes 🐞
pydocket to >=0.19.0 and drop the fakeredis pin by @chrisguidry in #21512dict fallback path for git clone by @devin-ai-integration in #21540anyio.NoEventLoopError on older anyio versions by @devin-ai-integration in #21539serve not clearing work pool config on existing deployments by @vyagubov in #21528PydanticInvalidForJsonSchema in parameter schema generation by @devin-ai-integration in #21571Development & Tidiness 🧹
@prefecthq/prefect-design to version 2.16.4 by @marvin-robot in #21514AGENTS.md into per-subpackage intent nodes by @desertaxle in #21579AGENTS.md and docs auto-update workflows by @devin-ai-integration in #21592Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.26...3.6.27
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
PydanticInvalidForJsonSchema in parameter schema generation by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21571Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.27.dev4...3.6.27.dev5
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
prefect-dbt==0.7.21 by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21552Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.27.dev3...3.6.27.dev4
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
dict fallback path for git clone by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21540anyio.NoEventLoopError on older anyio versions by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21539Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.27.dev2...3.6.27.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.27.dev1...3.6.27.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.26...3.6.27.dev1
Add configurable bundle launchers for work pool storage by @desertaxle in #21478
Experimental 🔬
Bug Fixes 🐞
DTSTART on RRule schedules at write time by @zzstoatzz in #21436run_results lookups for weakref-able objects to prevent stale id() collisions by @zzstoatzz in #21443pendulum floor to 3.1.0 to fix pydantic-extra-types 2.11.2 compatibility by @zzstoatzz in #21480fakeredis < 2.35.0 to prevent ImportError in docket memory backend by @devin-ai-integration[bot] in #21506Development & Tidiness 🧹
retry_asserts for observer event propagation by @devin-ai-integration[bot] in #21417SubprocessASGIServer singleton cleanup and SQLite lock retry in tests by @devin-ai-integration[bot] in #21405Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.25...3.6.26
<!-- 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.26.dev5...3.6.26.dev6
<!-- Release notes generated using configuration in .github/release.yml at main -->
<!-- Release notes generated using configuration in .github/release.yml at main -->
pendulum floor to 3.1.0 to unbreak pydantic-extra-types 2.11.2 by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/21480Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.26.dev4...3.6.26.dev5
Your coding agent can read these notes before it upgrades. Set up the MCP server →