docs/v3/release-notes/oss/version-3-6.mdx
Released on May 01, 2026
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
sys.modules entries get inReleased on April 24, 2026
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
Released on April 17, 2026
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
Released on April 10, 2026
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
Released on April 03, 2026
Enhancements ➕➕
raise_on_lease_renewal_failure from strict in concurrency() by @zionts in #20951Bug Fixes 🐞
examples for list fields in notification blocks to show JSON array format by @devin-ai-integration[bot] in #21340parameters_to_args_kwargs greedily assigning kwargs as positional args by @devin-ai-integration[bot] in #21332PermissionError when UI static directory creation fails by @Br1an67 in #21035subprocess_message_processor_factories in ProcessPoolTaskRunner.duplicate() by @devin-ai-integration[bot] in #21403flow-run execute cancellation hooks by @devin-ai-integration[bot] in #21406filter_files to include parent directories for .prefectignore negation patterns by @devin-ai-integration[bot] in #21352GitRepository pull steps by @devin-ai-integration[bot] in #21384Submitting state proposal in prefect flow-run execute CLI path by @devin-ai-integration[bot] in #21411Development & Tidiness 🧹
apt-get upgrade to all Dockerfile stages to patch CVEs by @devin-ai-integration[bot] in #21370Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.24...3.6.25
Released on March 27, 2026
New Features 🎉
flow-run watch command to watch any flow run until it reaches a terminal state by @devin-ai-integration[bot] in #21260with_context() for propagating Prefect run context into user-spawned subprocesses by @desertaxle in #21304Enhancements ➕➕
QueueService to prevent OOM during server outages by @zionts in #21033position to block schema properties for UI field ordering by @devin-ai-integration[bot] in #21307python-on-whales by @devin-ai-integration[bot] in #21286suspend_flow_run by @devin-ai-integration[bot] in #21285PREFECT_CLIENT_CUSTOM_HEADERS in standalone version check by @devin-ai-integration[bot] in #21262Bug Fixes 🐞
PrefectFutureList.result() raising AttributeError after flow resolution by @devin-ai-integration[bot] in #21221RunDeployment actions by @devin-ai-integration[bot] in #21231prefect deploy --all to respect default work pool settings by @bdalpe in #21258UnicodeDecodeError when subprocess outputs non-UTF-8 bytes by @Krishnachaitanyakc in #21267ValueError when deploying flows whose source is outside cwd by @devin-ai-integration[bot] in #21281Content-Type to application/json for old client compatibility by @chuqCTC in #21302allow_failure() not working with mapped tasks in wait_for by @devin-ai-integration[bot] in #21305PREFECT_SERVER_ANALYTICS_ENABLED env var in CLI by @devin-ai-integration[bot] in #21315include_secrets by @devin-ai-integration[bot] in #21306dotenv_values when .env is not a regular file by @devin-ai-integration[bot] in #21320EventsWorker class variable mutation and add _on_item_dropped for queue cleanup by @devin-ai-integration[bot] in #21273Development & Tidiness 🧹
CancelledError during sync concurrency slot release by @devin-ai-integration[bot] in #21212except: with explicit Exception/BaseException branches in run_flow() by @devin-ai-integration[bot] in #21228uv lock succeeds by @devin-ai-integration[bot] in #21230default-tag above integration floors by @devin-ai-integration[bot] in #21234Runner usage from bundle execution and CLI paths by @desertaxle in #21252Documentation 📓
quote/opaque annotations by @devin-ai-integration[bot] in #21214prefect-slurm to the integrations catalog by @desertaxle in #21229Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.23...3.6.24
Released on March 19, 2026
Enhancements ➕➕
--no-create-pool-if-not-found flag to worker start by @VittoriaLanzo in #21004prefect.yaml deployments by @devin-ai-integration[bot] in #21152stream_progress_to parameter to DockerImage by @zzstoatzz in #21175active_slots field to work pool and work queue API responses by @desertaxle in #21149include_files support to remaining infrastructure decorators by @devin-ai-integration[bot] in #21178Bug Fixes 🐞
ProcessPoolTaskRunner to check upstream task states in wait_for dependencies by @devin-ai-integration[bot] in #21122run_shell_script for pipe and redirect support by @ihabshea in #21130run_shell_script by @devin-ai-integration[bot] in #21163run_shell_script for built-in command support by @devin-ai-integration[bot] in #21167Development & Tidiness 🧹
just unreleased-integrations command by @devin-ai-integration[bot] in #21136Documentation 📓
.submit() and .submit_to_work_pool() for infrastructure-bound flows by @devin-ai-integration[bot] in #21180include_files on infrastructure decorators by @devin-ai-integration[bot] in #21186Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.22...3.6.23
Released on March 12, 2026
New Features 🎉
Submitting and InfrastructurePending states and emit from BaseWorker by @desertaxle in #20964Enhancements ➕➕
end_time filter support for flow and task runs by @jellyfish0316 in #21013hmac.compare_digest for auth token comparisons by @bunchesofdonald in #21072flow_run_logger to accept a bare flow_run_id UUID by @devin-ai-integration[bot] in #21019None to 180s by @bunchesofdonald in #21058Bug Fixes 🐞
FlowRunCancellingObserver subscriber connection failure gracefully by @devin-ai-integration[bot] in #21039postgres_listener ssl query param causing CantChangeRuntimeParamError by @devin-ai-integration[bot] in #21040CANCEL_NEW strategy not cancelling late runs when limit is full by @devin-ai-integration[bot] in #21086endswith() health check path exemption by @bunchesofdonald in #21063Integrations & Dependencies 🤝
packaging upper bound from <25.1 to <26.1 by @purificant in #21015Development & Tidiness 🧹
test_two_subscriptions_get_all_events by handling None heartbeats by @devin-ai-integration[bot] in #21037test_cache_expiration_expires by using advance_time fixture by @devin-ai-integration[bot] in #21070Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.21...3.6.22
{"cli": { "speaks_json": true } }Released on March 05, 2026
Enhancements ➕➕
--output json support to flow ls command by @Br1an67 in #20907match_related type hints and add Python examples for DeploymentEventTrigger by @devin-ai-integration[bot] in #20902EventPersister to docket-based db_vacuum service by @tom21100227 in #20811--output json to task-run ls, work-pool ls, and concurrency-limit ls by @zzstoatzz in #20967--output json support to block inspect and block type inspect by @zzstoatzz in #20981--output json support to flow-run logs and task-run logs by @zzstoatzz in #20982--output json support to server services ls by @jellyfish0316 in #20983--output json support to cloud workspace and webhook commands by @zzstoatzz in #20984--output json support to work-queue ls and preview by @zzstoatzz in #20985--output json support to work-pool preview by @zzstoatzz in #20986--output json support to profile ls and config view by @zzstoatzz in #20987task_run(state_type, start_time) by @desertaxle in #20940task command by @zzstoatzz in #20925PREFECT_CLIENT_SERVER_VERSION_CHECK_ENABLED setting by @devin-ai-integration[bot] in #20973ProcessPoolTaskRunner.submit() by @devin-ai-integration[bot] in #20972Bug Fixes 🐞
postgres_listener to preserve Kerberos/GSSAPI and TLS connection params by @devin-ai-integration[bot] in #20890prefect deploy by @ashwanth0110 in #20874work-pool create sample code output by @Br1an67 in #20906PrefectHTTPStatusError message by @devin-ai-integration[bot] in #20938state_id references by @devin-ai-integration[bot] in #20941ResultStore._read/_aread by @devin-ai-integration[bot] in #20988Development & Tidiness 🧹
git_clone in pip_install_reqs test by @devin-ai-integration[bot] in #20949Documentation 📓
pull_with_block YAML example to Bitbucket integration docs by @toroleapinc in #20935PREFECT_API_URL env var in the self-hosted Docker Compose file by @Kiskadee-dev in #20897Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.20...3.6.21
Released on February 27, 2026
Enhancements ➕➕
typer to cyclopts, remove toggle and delegation machinery by @zzstoatzz in #20821ProcessPoolTaskRunner subprocess events and logs through a single parent queue, improving per-task performance by ~28% in log-heavy workloads by @desertaxle in #20864ProcessPoolTaskRunner for custom event/log handling in the parent forwarder by @desertaxle in #20869Bug Fixes 🐞
None asset descriptions in events by @devin-ai-integration[bot] in #20840batch_size from 1000 to 200 to prevent query timeouts on Postgres by @zzstoatzz in #20857ProcessPoolTaskRunner when task completes before async event forwarding by @devin-ai-integration[bot] in #20876Development & Tidiness 🧹
_cyclopts/ to src/prefect/cli/, remove typer dependency by @zzstoatzz in #20838nvm from clobbering setup-node in pre-commit CI by @zzstoatzz in #20854Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.19...3.6.20
Released on February 24, 2026
This release introduces an optional database vacuum service that periodically deletes old flow runs and orphaned resources (logs, artifacts, artifact collections) to keep your database lean. It's disabled by default — enable it with PREFECT_SERVER_SERVICES_DB_VACUUM_ENABLED=true. Once enabled, it runs hourly and removes terminal top-level flow runs older than 90 days. Both the retention period and frequency are configurable via PREFECT_SERVER_SERVICES_DB_VACUUM_RETENTION_PERIOD (in seconds, minimum 1 hour) and PREFECT_SERVER_SERVICES_DB_VACUUM_LOOP_SECONDS.
Enhancements ➕➕
prefect-gcp and prefect-azure by @devin-ai-integration[bot] in #20771Bug Fixes 🐞
CustomWebhookNotificationBlock by @devin-ai-integration[bot] in #20781Development & Tidiness 🧹
Documentation 📓
ImportString section to form-building guide by @zzstoatzz in #20768Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.18...3.6.19
Released on February 19, 2026
Enhancements ➕➕
opaque annotation to prevent recursive traversal of resolved task inputs by @devin-ai-integration[bot] in #20650PREFECT_WORKER_DEBUG_MODE for worker-only debug logging by @devin-ai-integration[bot] in #20653DateTimeDelta as interval option in IntervalSchedule by @devin-ai-integration[bot] in #20692Bug Fixes 🐞
TaskRunResponse by @vyagubov in #20664replaces handling by @chrisguidry in #20669uq_task_run__flow_run_id_task_key_dynamic_key constraint violation with multiple background workers by @devin-ai-integration[bot] in #20697Integrations & Dependencies 🤝
pydocket minimum version to 0.17.7 by @devin-ai-integration[bot] in #20731Development & Tidiness 🧹
server, worker, shell CLI commands to cyclopts by @zzstoatzz in #20603SessionStart hook to symlink AGENTS.md files to CLAUDE.md files by @desertaxle in #20667flow CLI command to cyclopts by @zzstoatzz in #20672flow-run CLI command to cyclopts by @zzstoatzz in #20673deployment CLI command to cyclopts by @zzstoatzz in #20721dashboard, task, sdk CLI commands to cyclopts by @zzstoatzz in #20723concurrency-limit, events, experimental CLI commands to cyclopts by @zzstoatzz in #20724variable, artifact, task-run, api CLI commands to cyclopts by @zzstoatzz in #20740dev, global-concurrency-limit CLI commands to cyclopts by @zzstoatzz in #20745block CLI command to cyclopts and add command aliases by @zzstoatzz in #20749work-queue CLI command to cyclopts by @zzstoatzz in #20763Documentation 📓
analytics module from API reference docs by @devin-ai-integration[bot] in #20722wait_for_input types generate a value field for programmatic resume by @desertaxle in #20741Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.17...3.6.18
Released on February 12, 2026
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
Released on February 05, 2026
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
Released on January 30, 2026
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
Released on January 29, 2026
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
Released on January 23, 2026
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
Released on January 20, 2026
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
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
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
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
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
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
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
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
Released on November 21, 2025
Bug Fixes 🐞
Integrations & Dependencies 🤝
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.3...3.6.4
Released on November 19, 2025
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
Released on November 13, 2025
Enhancements ➕
Bug Fixes 🐞
Development & Tidiness 🧹
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.1...3.6.2
Released on November 10, 2025
Enhancements ➕
Bug Fixes 🐞
Integrations & Dependencies 🤝
Documentation 📓
Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.6.0...3.6.1
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