Prefect 3.9.2 - Itβs okay to let go of a lock that already let go of you
Prefect 3.9.2 reduces deployment writes during queue polling and includes various bug fixes for artifact rendering, timezone handling, and CLI output formatting.
Also onPaydays(Pay schedule)
Prefect 3.9.2 reduces deployment writes during queue polling and includes various bug fixes for artifact rendering, timezone handling, and CLI output formatting.
Prefect 3.9.1 adds custom state discovery, flow run actions, and various bug fixes for task orchestration.
Prefect 2.20.27 includes dependency updates and security improvements for Docker images.
3.9.0 - Pendulum's last swing Released on October 21, 2026 Breaking Changes β οΈ Drop Python 3.10 support Remove deprecated Runner execution paths Deprecate Pendulum datetime behavior on Python 3.11β3.12 New Features π Add Python 3.15 support Enhancements ββ Add opt-in clearing for empty deployment schedules Cut CPU spent delivering events and API logs Open...
This is the last release that will support Python 3.10 , future releases will require Python 3.11 or later. Bug Fixes π Fix get_call_parameters to unwrap FieldInfo defaults for flow runs Page through all runs in cancellation cleanup and pause expiration monitors Fix UnboundLocalError in observer _get_k8s_jobs when the Kubernetes client can't be created...
3.8.7 - There's no place like local Released on September 25, 2026 New Features π Add browser-local pinned deployments to the React UI Enhancements ββ Format deployment Created/Updated timestamps in ui-v2 metadata Show tag names inline and make tag overflow focusable in ui-v2 Set browser tab titles on entity and index pages in ui-v2 Add...
Enhancements ββ Reduce task run recorder INSERT compilation CPU Allow transitioning to cancelling from paused Allow cancelling a blocking paused flow run after its pause timeout elapses Bug Fixes π Fix Docker work pool editing and block/env serialization in UI v2 Treat ERROR_ACCESS_DENIED as alive in Windows _is_pid_alive Rebuild invalid...
Enhancements ββ Suggest existing deployment tags in the V2 deployments filter Use current settings for resource label validation Add parameter overrides to the deployment schedule dialog Use indexed flow run cleanup with separate orphan reconciliation Add id fields and matching filters to automation count and filter models Reduce event persister INSERT...
Integrations & Dependencies π€ chore(deps): update click requirement from =8.0 to >=8.0, =21.3 to >=21.3, =0.12.0 to >=0.12.0,!=0.12.2, =1.0.4 to >=1.0.4, =0.12.0 to >=0.12.0,!=0.12.2, =2021.1 to >=2021.1, =1.0.12 to >=1.0.12,<7.0.0 Fix 2.x compatibility with current dependencies Development & Tidiness π§Ή Migrate 2.x PyPI publishing to OIDC Uncategorized...
Enhancements ββ Add time selection to the interval schedule anchor date Add a configurable base directory for included files Add an index on flow_run.deployment_id Open a parameters dialog when a quick run needs required parameters Bug Fixes π Prevent runners from overwriting handled flow-run outcomes Fix ProcessWorker auto-uv after pull steps Honor a...
A top-level Artifacts page in the sidebar and command palette, with redesigned collection and detail views, support for every SDK artifact type, and inline version rendering.
Enhancements ββ Stop fragmenting task run recorder bulk upserts Engage the auto-uv run launcher for process workers Show elapsed time for running flow runs in the V2 UI flow run header Block submission when a required array parameter is emptied in the V2 UI Bug Fixes π Preserve a statement cache size of 0 Reject option-like Git branch values Stop leaking...
Enhancements ββ Add removable chips for multi-select enum array fields Send a Prefect User-Agent on WebSocket handshakes Virtualize the timezone select option list Bug Fixes π Show all timezones in the timezone select Propagate array item edits and link deployments from the flow page Preserve an empty array when clearing list parameter selections Open the...
Enhancements ββ Show tooltips for flow run state tabs in the V2 UI Bug Fixes π Make ConcurrencyContext exit cleanup best-effort Keep worker startup alive when the Prefect API is unreachable Make PrefectFutureList.result timeout message reachable Render ANSI color escape codes in flow run logs in the V2 UI Confirm the exact suspension transition reported by...
Enhancements ββ Add deployment filters to flow run triggers Make the V2 UI the default for self-hosted servers Copy additional options when using "Copy to new run" in the V2 UI Add "Copy to new run" to the flow run menu in the V2 UI Make URLs in run logs clickable in the V2 UI Allow year/month selection and manual typing in date inputs in the V2 UI Add...
Find any object in your workspace by ID or search term, view and filter results on a dedicated page, and jump to any page or run common actions from a command palette.
Enhancements ββ Format server-side validation errors for concurrency slot acquisition Bug Fixes π Keep TaskRunRecorder periodic flush alive when events are dropped Fix Windows permission error on git pull in runner storage Fix RRULE schedule anchor computed in UTC but interpreted as local time Reconnect events client from time-based checkpoint when...
Enhancements ββ Accept a single step mapping in prefect.yaml action sections Bug Fixes π Fix set_working_directory relative path resolution in workspace resolver Run pull steps for module-path entrypoints when loading flow from flow run Fix UI version redirect leaking internal host behind reverse proxy Reconcile stale work-pool snapshots on worker...
Bug Fixes π Return PrefectFutureList from Task.map when deferred=True Fix race condition in UI static directory creation with multiple workers Raise clear error when FlowRun/TaskRun passed as task argument Prevent duplicate Late state transitions in MarkLateRuns Quote -q and -p args separately in work-queue create output Development & Tidiness π§Ή Widen...
Enhancements ββ Add cancelling timeout cleanup producer Add backend observability for worker channel and cleanup queue Bug Fixes π Fix pending task runs in flow run graph Add index on event_resources(occurred) for vacuum performance Fix FastAPI 0.137 compatibility , skip route deletion when router is referenced Degrade events WebSocket on transient...
New Features π Emit lifecycle events (created, updated, deleted) for all domain objects including variables, flows, block documents, block types, concurrency limits, artifact collections, and automations Enhancements ββ Add Redis-backed cleanup queue backend with optimistic transactions and cross-process wakeups Add cleanup reconciler for worker channel...
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.
Enhancements ββ Add delete flow run automation action Add worker channel handshake and heartbeat Add work-pool snapshot delivery to worker channel Index triggers by expect pattern to avoid O(n) scan in find_interested_triggers Cache variable reads within a single resolve_variables() call Cache block document template resolution Validate PEP 508 dependencies...
Enhancements ββ - Add deployment_name logging variable - Infer logs page size from API response in CLI - Add default result storage CLI - Add Pydantic-aware tojson template filter - Add worker channel protocol contract - Add worker channel client with REST fallback - Add worker cleanup executor - Add worker work-pool snapshot handling - Add...
Prefect Cloud's spring launch week brought first-class dbt orchestration, infrastructure debugging in the run page, managed automations, config plugins, and per-workspace rate limits.
Two of our most-requested experimental surfaces graduate to general availability, flows can render their own dependency graphs, and prepared workspaces now run with uv.
Enhancements ββ Replace correlated EXISTS with JOIN fast-path in count_flow_runs Sort TaskRunRecorder bulk upsert batches by task_run.id to prevent deadlocks Bug Fixes π Clear BlockStorageAdapter destination before each pull Fix task run recorder conflict handling Always enforce basepath containment in LocalFileSystem Development & Tidiness π§Ή Explicitly...
π΅ And stops my mind from wandering π΅ Enhancements ββ - Refactor whenever API compat helpers and fix in_local_tz for naive datetimes - Handle unknown serializers during dispatch Bug Fixes π - Skip uv pip freeze in bundle creation when a non-uv launcher is set - Fix DNS rebinding TOCTOU bypass in validate_restricted_url - Don't overwrite custom_headers...
Enhancements ββ - Remove causal ordering from task run recorder - Enable cascading cancellation for in-process subflows - Relax work-pool storage CLI to allow ambient cloud credentials Bug Fixes π - Bump pydocket to >=0.19.0 and drop the fakeredis pin - URL-encode credentials in dict fallback path for git clone - Handle missing anyio.NoEventLoopError on...
Experimental π¬ - Add configurable bundle launchers for work pool storage Bug Fixes π - Persist explicit DTSTART on RRule schedules at write time - Identity-verify run_results lookups for weakref-able objects to prevent stale id() collisions - Bump pendulum floor to 3.1.0 to fix pydantic-extra-types 2.11.2 compatibility - Pin fakeredis < 2.35.0 to prevent...
Enhancements ββ - Separate raise_on_lease_renewal_failure from strict in concurrency() - Add configurable parameter size limit for flow runs and deployments Bug Fixes π - Fix examples for list fields in notification blocks to show JSON array format - Fix parameters_to_args_kwargs greedily assigning kwargs as positional args - Degrade gracefully when events...
Note: unwatched flows also never boil New Features π - Add flow-run watch command to watch any flow run until it reaches a terminal state - Add with_context() for propagating Prefect run context into user-spawned subprocesses Enhancements ββ - Add bounded queue support to QueueService to prevent OOM during server outages - Add time-based checkpoint to...
Enhancements ββ Skip no-op SQL filters for empty values to speed up deployment pagination Add --no-create-pool-if-not-found flag to worker start Emit events for deployment create, update, and delete operations Support glob patterns in events matching Support module path entrypoints in prefect.yaml deployments Add stream_progress_to parameter to DockerImage...
New Features π Add Submitting and InfrastructurePending states and emit from BaseWorker Add OS-level resource metric collection to flow run subprocesses Enhancements ββ Add end_time filter support for flow and task runs Use hmac.compare_digest for auth token comparisons Use cyclopts native lazy loading for CLI commands Extend flow_run_logger to accept a...
Enhancements ββ Add --output json support to flow ls command Fix match_related type hints and add Python examples for DeploymentEventTrigger Support multihost Postgres connection strings in LISTEN/NOTIFY listener Move event trimming from EventPersister to docket-based db_vacuum service Add --output json to task-run ls, work-pool ls, and concurrency-limit ls...
Enhancements ββ Migrate CLI from typer to cyclopts, remove toggle and delegation machinery Route ProcessPoolTaskRunner subprocess events and logs through a single parent queue, improving per-task performance by ~28% in log-heavy workloads Add configurable subprocess message processors to ProcessPoolTaskRunner for custom event/log handling in the parent...
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.
Enhancements ββ Add opaque annotation to prevent recursive traversal of resolved task inputs Add PREFECT_WORKER_DEBUG_MODE for worker-only debug logging Support DateTimeDelta as interval option in IntervalSchedule Bug Fixes π Include duration fields in TaskRunResponse Skip lease renewal and release when no concurrency limits exist Fix order-dependent slug...
New Features π Add prefect server status command Enhancements ββ Make PrefectFutureList.result() fail-fast using as_completed Improve CLI connection message for self-hosted server Add replaces field for renaming schedule slugs Add attribution headers to SDK API requests Bug Fixes π Fix flow timeout not retrying when retries are enabled Fix the flow run...
New Features π Add prefect cloud asset list and delete commands Add bulk operation endpoints for flow runs, deployments, and flows Add SDK instrumentation module Enhancements ββ Allow infra name templating with flow and flow_run Add max_scheduled_runs, parameters, and slug fields to deployment schedule methods Bug Fixes π Fix visit_collection to handle...
Bug Fixes π Fix PrefectCloudEventsClient auth handshake breaking Cloud connections Cap concurrency limit retry-after to prevent excessive delays from burst traffic
Enhancements ββ - Support parsing TOML 1.0 on Python 3.11+ - Make runner cancellation observing critical to runner health - Reload root settings after running plugins to enable environment variable updates to take effect - Support IPv6 addresses in prefect server start - Add authentication to /api/events/in WebSocket endpoint Bug Fixes π - Add polling...
Enhancements ββ - Add FlowRunFilterCreatedBy - Add retry logic for PrefectEventsClient.__aenter__() initial connection Bug Fixes π - Move flow run heartbeat event emission to flow run engine - Fix websocket cleanup AttributeError in event clients - Add warning when sync task with timeout runs in worker thread - Prevent GitHub token leakage in git error...
What's Included Enhancements ββ Add httpx.ConnectError to client retry exceptions Bug Fixes π Add build=False documentation to flow.deploy guide fix: display error details nicely in work-pool create command fix: remove CANCELLED from EnforceCancellingToCancelledTransition to allow retrying cancelled flows Add retry logic to...
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.
3.6.10 - Five Bugs Walked Into A Bar And None Of Them Left Released on January 08, 2026 Enhancements ββ Add prefect automation update CLI command Add upserting global concurrency limit decay Bug Fixes π Fix AttributeError in Consumer.cleanup() for non-memory brokers Fix exception_to_crashed_state_sync failing without async backend Fix MockValSer...
3.6.9 - Auld Lang Sync Released on December 31, 2025 New Features π Add worker-side cancellation for pending flow runs Enhancements ββ Add JSON schema for prefect.yaml files Send entrypoint pip install errors to Prefect logs Run read and count queries concurrently in paginate endpoints Bug Fixes π Preserve symlinks in get_directory instead of following...
3.6.8 - On Exception! On Timeout! On Error and Failure! π¦ Released on December 24, 2025 New Features π Add prefect flow-run retry command Enhancements ββ Add url property to server-side ReceivedEvent for automation templates Bug Fixes π Add timeout to Docket worker shutdown Prevent dictionary mutation during iteration in preprocess_schema Allow string...
3.6.7 - LoopService #OpenToWork: 3+ Years Experience Looping Released on December 18, 2025 Enhancements ββ Add support for AWS IAM authentication for PostgreSQL database Add generic typing support for Variable.get method Convert late_runs service to Docket perpetual function Convert repossessor service to Docket perpetual function Convert foreman service to...
3.6.6 - The Eternal Docket of the Spotless Server Released on December 08, 2025 Enhancements ββ Add client-side configuration for deployment concurrency grace period Add PostgreSQL search_path support via settings Add memory safeguards to event persister service Add perpetual services infrastructure and convert cancellation_cleanup to perpetual Docket task...
Bug Fixes π - fix: update 2-latest Docker tag on all 2.x releases Integrations & Dependencies π€ - chore(deps): update asyncpg requirement from =0.23 to >=0.23,<0.32.0
3.6.5 - Batch Me If You Can Released on December 04, 2025 Enhancements ββ Raise if event is too big Support Path objects in result_storage parameter Hide "Join the Community" in air-gapped deployments Parametrize xreadgroup batch size in consumer and add EventPersister service setting Parametrize xautoclaim batch size Parametrize TaskRunRecorder and Trigger...
- fix: use Pydantic v1 compatible worker metadata for Prefect 2.x
Bug Fixes π - fix: preserve event template parameters in deployment triggers - Fix truncating log behavior Integrations & Dependencies π€ - Chore: Bump ui library Documentation π - docs: Add migration note about unmapped mutable objects
Enhancements ββ - Add -o json output option to prefect flow-run ls command - fix: allow pause_flow_run() to pause parent flow when called from task Bug Fixes π - Use acquisition service pattern for lease-based concurrency slots - fix: respect subflow attributes (log_prints, result_storage) when running inside task - fix: defer forward reference resolution...
Enhancements β - Add causal link from automation action events to triggering events Bug Fixes π - cap retry-after for concurrency limits to prevent excessive delays - accept numeric values for PREFECT_API_SERVICES_LATE_RUNS_AFTER_SECONDS - add work_queue_id to DeploymentResponse Development & Tidiness π§Ή - correct GitHub Actions conditional syntax in...
Enhancements β - Add client methods for querying events via REST API Bug Fixes π - Fix interactive deploy CLI selecting wrong flow when opting out - Fix deployment.parameters in nested flows using ContextVars - Add logfire sampling configuration and fix boolean env var handling Integrations & Dependencies π€ - Upgrade pydocket to stable 0.13.0 release
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 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!
Released on October 23, 2025 Enhancements ββ - Add Python 3.14 support - Unify sync and async client methods Bug Fixes π - Upgrade Docker image SQLite to 3.50.4 to address CVE-2025-6965 - Fix GitLab credentials for self-hosted instances and deploy tokens - Make MemoryLockManager serializable with cloudpickle - Suppress noisy concurrency warnings for...
| Release-notes page | Site | Feed |
|---|---|---|
| 3.1 docs.prefect.io | docs.prefect.io | None |
| 3.4 docs.prefect.io | docs.prefect.io | None |
| 3.6 docs.prefect.io | docs.prefect.io | None |
| 3.7 docs.prefect.io | docs.prefect.io | None |
| Changelog prefect.io | prefect.io | None |
| Prefect 3.8 prefect.io | prefect.io | None |
| Release Notes docs.prefect.io | docs.prefect.io | None |