Description
<p align="center"><img src="https://github.com/PrefectHQ/prefect/assets/3407835/c654cbc6-63e8-4ada-a92a-efd2f8f24b85" width=1000></p> <p align="center"> <a href="https://pypi.org/project/prefect/" alt="PyPI version"> <img alt="PyPI" src="https://img.shields.io/pypi/v/prefect?color=0052FF&labelColor=090422" /> </a> <a href="https://pypi.org/project/prefect/" alt="PyPI downloads/month"> <img alt="Downloads" src="https://img.shields.io/pypi/dm/prefect?color=0052FF&labelColor=090422" /> </a> <a href="https://github.com/prefecthq/prefect/" alt="Stars"> <img src="https://img.shields.io/github/stars/prefecthq/prefect?color=0052FF&labelColor=090422" /> </a> <a href="https://github.com/prefecthq/prefect/pulse" alt="Activity"> <img src="https://img.shields.io/github/commit-activity/m/prefecthq/prefect?color=0052FF&labelColor=090422" /> </a> <br> <a href="https://prefect.io/slack" alt="Slack"> <img src="https://img.shields.io/badge/slack-join_community-red.svg?color=0052FF&labelColor=090422&logo=slack" /> </a> <a href="https://www.youtube.com/c/PrefectIO/" alt="YouTube"> <img src="https://img.shields.io/badge/youtube-watch_videos-red.svg?color=0052FF&labelColor=090422&logo=youtube" /> </a> </p> <p align="center"> <a href="https://docs.prefect.io/v3/get-started/index?utm_source=oss&utm_medium=oss&utm_campaign=oss_gh_repo&utm_term=none&utm_content=none"> Installation </a> ยท <a href="https://docs.prefect.io/v3/get-started/quickstart?utm_source=oss&utm_medium=oss&utm_campaign=oss_gh_repo&utm_term=none&utm_content=none"> Quickstart </a> ยท <a href="https://docs.prefect.io/v3/how-to-guides/workflows/write-and-run?utm_source=oss&utm_medium=oss&utm_campaign=oss_gh_repo&utm_term=none&utm_content=none"> Build workflows </a> ยท <a href="https://docs.prefect.io/v3/concepts/deployments?utm_source=oss&utm_medium=oss&utm_campaign=oss_gh_repo&utm_term=none&utm_content=none"> Deploy workflows </a> ยท <a href="https://app.prefect.cloud/?utm_source=oss&utm_medium=oss&utm_campaign=oss_gh_repo&utm_term=none&utm_content=none"> Prefect Cloud </a> </p> # Prefect Prefect is a workflow orchestration framework for building data pipelines in Python. It's the simplest way to elevate a script into a production workflow. With Prefect, you can build resilient, dynamic data pipelines that react to the world around them and recover from unexpected changes. With just a few lines of code, data teams can confidently automate any data process with features such as scheduling, caching, retries, and event-based automations. Workflow activity is tracked and can be monitored with a self-hosted [Prefect server](https://docs.prefect.io/latest/manage/self-host/?utm_source=oss&utm_medium=oss&utm_campaign=oss_gh_repo&utm_term=none&utm_content=none) instance or managed [Prefect Cloud](https://www.prefect.io/cloud-vs-oss?utm_source=oss&utm_medium=oss&utm_campaign=oss_gh_repo&utm_term=none&utm_content=none) dashboard. > [!TIP] > Prefect flows can handle retries, dependencies, and even complex branching logic > > [Check our docs](https://docs.prefect.io/v3/get-started/index?utm_source=oss&utm_medium=oss&utm_campaign=oss_gh_repo&utm_term=none&utm_content=none) or see the example below to learn more! ## Getting started Prefect requires Python 3.10+. To [install the latest version of Prefect](https://docs.prefect.io/v3/get-started/install), run one of the following commands: ```bash pip install -U prefect ``` ```bash uv add prefect ``` Then create and run a Python file that uses Prefect `flow` and `task` decorators to orchestrate and observe your workflow - in this case, a simple script that fetches the number of GitHub stars from a repository: ```python from prefect import flow, task import httpx @task(log_prints=True) def get_stars(repo: str): url = f"https://api.github.com/repos/{repo}" count = httpx.get(url).json()["stargazers_count"] print(f"{repo} has {count} stars!") @flow(name="GitHub Stars") def github_stars(repos: list[str]): for repo in repos: get_stars(repo) # run the flow! if __name__ == "__main__": github_stars(["PrefectHQ/prefect"]) ``` Fire up a Prefect server and open the UI at http://localhost:4200 to see what happened: ```bash prefect server start ``` To run your workflow on a schedule, turn it into a deployment and schedule it to run every minute by changing the last line of your script to the following: ```python if __name__ == "__main__": github_stars.serve( name="first-deployment", cron="* * * * *", parameters={"repos": ["PrefectHQ/prefect"]} ) ``` You now have a process running locally that is looking for scheduled deployments! Additionally you can run your workflow manually from the UI or CLI. You can even run deployments in response to [events](https://docs.prefect.io/lat
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 3.6.27 | Imported from PyPI (3.6.27) | Low | 4/21/2026 |
| 3.6.28.dev3 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * Don't overwrite custom_headers Authorization with PREFECT_API_KEY in check_server_version by @vyagubov in https://github.com/PrefectHQ/prefect/pull/21621 ### Uncategorized * Document uv run --project for local integrations by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/21625 * docs: document useQuery exception for silently-hiding components in ui-v2 AGENTS.md by @ | High | 4/21/2026 |
| 3.6.28.dev2 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * Skip `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/21607 * Fix DNS rebinding TOCTOU bypass in `validate_restricted_url` by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21591 ### Development & Tidiness ๐งน * fix(tests): prevent aiosqlite teardown race in lega | High | 4/21/2026 |
| 3.6.28.dev1 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * fix(prefect-shell): kill whole process tree on ShellOperation cleanup by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/21586 ### Uncategorized * docs: document SIGTERM bridge and sanitize_subprocess_env in utilities AGENTS.md by @github-actions[bot] in https://github.com/PrefectHQ/prefect/pull/21604 * docs: document JSDOM CSS custom property and matchMedia mocking p | High | 4/20/2026 |
| 3.6.27.dev5 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * fix: add validation for malformed block document placeholder format by @kuishou68 in https://github.com/PrefectHQ/prefect/pull/21501 * Handle `PydanticInvalidForJsonSchema` in parameter schema generation by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21571 ### Development & Tidiness ๐งน * Propagate contextvars to the flow heartbeat thread by @devin- | High | 4/16/2026 |
| 3.6.27.dev4 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Enable cascading cancellation for in-process subflows by @desertaxle in https://github.com/PrefectHQ/prefect/pull/21477 ### Bug Fixes ๐ * Fix serve not clearing work pool config on existing deployments by @vyagubov in https://github.com/PrefectHQ/prefect/pull/21528 ### Documentation ๐ * docs: Add release notes for `prefect-dbt==0.7.21` by @devin-ai-integration[bot] in ht | High | 4/16/2026 |
| 3.6.27.dev3 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * URL-encode credentials in `dict` fallback path for `git clone` by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21540 * Handle missing `anyio.NoEventLoopError` on older `anyio` versions by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21539 * Register test harness server under default singleton key by @devin-ai-integration[b | High | 4/15/2026 |
| 3.6.27.dev2 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * Bump pydocket to >=0.19.0 and drop the fakeredis pin by @chrisguidry in https://github.com/PrefectHQ/prefect/pull/21512 ### Development & Tidiness ๐งน * chore(deps): bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21522 * Dispatch integration test worker image update on release by @desertaxle in https://github.com/P | Medium | 4/14/2026 |
| 3.6.27.dev1 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * docs: document database vacuum service in database maintenance guide by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21503 * feat(server): remove causal ordering from task run recorder by @chuqCTC in https://github.com/PrefectHQ/prefect/pull/21458 ### Development & Tidiness ๐งน * Update @prefecthq/prefect-design to version 2.16.4 by @marvin-robot | Medium | 4/11/2026 |
| 3.6.26 | **Experimental ๐ฌ** * Add configurable bundle launchers for work pool storage by [@desertaxle](https://github.com/desertaxle) in [#21478](https://github.com/PrefectHQ/prefect/pull/21478) **Bug Fixes ๐** * Persist explicit `DTSTART` on `RRule` schedules at write time by [@zzstoatzz](https://github.com/zzstoatzz) in [#21436](https://github.com/PrefectHQ/prefect/pull/21436) * Identity-verify `run_results` lookups for weakref-able objects to prevent stale `id()` collisions by [@zzstoatzz] | Medium | 4/10/2026 |
| 3.6.26.dev6 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Development & Tidiness ๐งน * chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21481 * chore(deps): bump the python-dependencies group with 2 updates by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21483 ### Documentation ๐ * docs(prefect-ray): add deployment topology guide by @zzstoatzz in https://github.c | Medium | 4/10/2026 |
| 3.6.26.dev5 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * bump `pendulum` floor to 3.1.0 to unbreak `pydantic-extra-types` 2.11.2 by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/21480 ### Uncategorized * Update AGENTS.md files for a6344b2 by @github-actions[bot] in https://github.com/PrefectHQ/prefect/pull/21459 * Update AGENTS.md files for 0939cd0 by @github-actions[bot] in https://github.com/PrefectHQ/prefect/pull/21467 | Medium | 4/9/2026 |
| 3.6.26.dev4 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * fix(schedules): persist explicit DTSTART on RRule schedules at write time by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/21436 ### Development & Tidiness ๐งน * Fix flaky test: use retry_asserts for observer event propagation by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21417 ### Uncategorized * Update AGENTS.md files for 96c99bc by @gi | Medium | 4/8/2026 |
| 3.6.26.dev3 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Development & Tidiness ๐งน * chore(deps): bump extractions/setup-just from 3 to 4 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21431 ### Documentation ๐ * docs: Add release notes for `prefect-kubernetes==0.7.7` by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21434 ### Uncategorized * chore(deps-dev): bump vite from 7.2.7 to 7.3.2 in /ui by @dep | Medium | 4/7/2026 |
| 3.6.26.dev2 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Documentation ๐ * Add docs content engagement tracking by @aaazzam in https://github.com/PrefectHQ/prefect/pull/21426 ### Uncategorized * chore(deps): bump defu from 6.1.4 to 6.1.6 in /ui by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21422 **Full Changelog**: https://github.com/PrefectHQ/prefect/compare/3.6.26.dev1...3.6.26.dev2 | Medium | 4/5/2026 |
| 3.6.26.dev1 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Documentation ๐ * docs: Add release notes for `prefect-redis==0.2.10` by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21416 ### Uncategorized * Fix flaky tests: SubprocessASGIServer singleton cleanup and SQLite lock retry by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21405 * Update docs for 5d6c8b4 by @github-actions[bot] in https://g | Medium | 4/4/2026 |
| 3.6.25 | **Enhancements โโ** * Separate `raise_on_lease_renewal_failure` from `strict` in `concurrency()` by [@zionts](https://github.com/zionts) in [#20951](https://github.com/PrefectHQ/prefect/pull/20951) * Add configurable parameter size limit for flow runs and deployments by [@devin-ai-integration](https://github.com/devin-ai-integration)[bot] in [#21350](https://github.com/PrefectHQ/prefect/pull/21350) **Bug Fixes ๐** * Fix `examples` for list fields in notification blocks to show JSON ar | Medium | 4/3/2026 |
| 3.6.25.dev7 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Fix double-client bug in `flow-run execute` cancellation hooks by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21406 ### Bug Fixes ๐ * Fix #21401: Handle missing _subprocess_message_processor_factories in ProcessPoolTaskRunner.duplicate() by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21403 ### Development & Tidiness | Medium | 4/3/2026 |
| 3.6.25.dev6 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * Ensure logging is configured on remote task workers by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21379 * Pin prefect version during package installation to prevent self-overwrite by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21386 ### Uncategorized * Update AGENTS.md files for 9391d23 by @github-actions[bot] in https: | Medium | 4/2/2026 |
| 3.6.25.dev5 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * feat(prefect-redis): add url field to RedisMessagingSettings by @solidnerd in https://github.com/PrefectHQ/prefect/pull/21210 ### Bug Fixes ๐ * Fix #21359: Correct Docket repository link in self-hosted docs by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21363 * Add `apt-get upgrade` to all Dockerfile stages to patch CVEs by @devin-ai-integratio | Medium | 4/1/2026 |
| 3.6.25.dev4 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Add exponential backoff retries for ECS task definition registration by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21354 ### Bug Fixes ๐ * Fix `parameters_to_args_kwargs` greedily assigning kwargs as positional args by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21332 ### Development & Tidiness ๐งน * chore(deps): bum | Medium | 3/31/2026 |
| 3.6.25.dev3 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Uncategorized * chore(deps-dev): bump lodash from 4.17.21 to 4.17.23 in /ui by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/20334 **Full Changelog**: https://github.com/PrefectHQ/prefect/compare/3.6.25.dev2...3.6.25.dev3 | Medium | 3/30/2026 |
| 3.6.25.dev2 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * feat(prefect-aws): Log ECS task ARN after task creation by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21342 ### Uncategorized * Fix api title duplication by @Rodooodles in https://github.com/PrefectHQ/prefect/pull/21339 ## New Contributors * @Rodooodles made their first contribution in https://github.com/PrefectHQ/prefect/pull/21339 **Full Ch | Medium | 3/29/2026 |
| 3.6.25.dev1 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Separate raise_on_lease_renewal_failure from strict in concurrency() by @zionts in https://github.com/PrefectHQ/prefect/pull/20951 ### Bug Fixes ๐ * Fix `examples` for list fields in notification blocks to show JSON array format by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21340 ### Development & Tidiness ๐งน * chore(deps): bump deepdiff from | Medium | 3/28/2026 |
| 3.6.24 | Note: unwatched flows also never boil **New Features ๐** * Add `flow-run watch` command to watch any flow run until it reaches a terminal state by [@devin-ai-integration](https://github.com/devin-ai-integration)[bot] in [#21260](https://github.com/PrefectHQ/prefect/pull/21260) * Add `with_context()` for propagating Prefect run context into user-spawned subprocesses by [@desertaxle](https://github.com/desertaxle) in [#21304](https://github.com/PrefectHQ/prefect/pull/21304) **Enhancemen | Medium | 3/27/2026 |
| 3.6.24.dev5 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * Fix #21297: Inline orphan condition into batch delete to prevent vacuum timeout by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21298 * fix: default missing Content-Type to application/json for old client โฆ by @chuqCTC in https://github.com/PrefectHQ/prefect/pull/21302 * chore(docs): Update callout for deploy CLI options with multiple targets by @bd | Medium | 3/27/2026 |
| 3.6.24.dev4 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * Fix UnicodeDecodeError when subprocess outputs non-UTF-8 bytes by @Krishnachaitanyakc in https://github.com/PrefectHQ/prefect/pull/21267 * Fix ValueError when deploying flows whose source is outside cwd by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21281 ### Development & Tidiness ๐งน * chore(deps): bump requests from 2.32.5 to 2.33.0 by @dependabo | Medium | 3/26/2026 |
| 3.6.24.dev3 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * docs: expand testing how-to with harness internals and troubleshooting by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21249 ### Bug Fixes ๐ * fix(docs): correct pip install command for dev dependencies by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21255 * Preserve casing of Kubernetes label keys by @devin-ai-integra | Medium | 3/25/2026 |
| 3.6.24.dev2 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * Fix Jinja template parameter type coercion in RunDeployment actions by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21231 ### Development & Tidiness ๐งน * chore(deps): bump orjson from 3.11.5 to 3.11.6 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21235 * chore(deps): bump packaging from 25.0 to 26.0 by @dependabot[bot] in https:// | Medium | 3/24/2026 |
| 3.6.24.dev1 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * docs: note that dbt Core users must install their own adapter by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21192 ### Bug Fixes ๐ * Fix ambiguous Kopf jobs selector by scoping resource selector to batch/v1 by @bdalpe in https://github.com/PrefectHQ/prefect/pull/21209 * Fix `PrefectFutureList.result()` raising `AttributeError` after flow resolu | Low | 3/21/2026 |
| 3.6.23 | **Enhancements โโ** * Skip no-op SQL filters for empty values to speed up deployment pagination by [@devin-ai-integration](https://github.com/devin-ai-integration)[bot] in [#21115](https://github.com/PrefectHQ/prefect/pull/21115) * Add `--no-create-pool-if-not-found` flag to `worker start` by [@VittoriaLanzo](https://github.com/VittoriaLanzo) in [#21004](https://github.com/PrefectHQ/prefect/pull/21004) * Emit events for deployment create, update, and delete operations by [@devin-ai-integration] | Low | 3/19/2026 |
| 3.6.23.dev4 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * feat(server): #21109 support glob patterns in events matching by @clifflau1120 in https://github.com/PrefectHQ/prefect/pull/21110 * feat: support module path entrypoints in prefect.yaml deployments by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21152 * feat(docker): add stream_progress_to parameter to DockerImage by @zzstoatzz in https://github. | Low | 3/19/2026 |
| 3.6.23.dev3 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Emit events for deployment create, update, and delete operations by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21139 ### Bug Fixes ๐ * Log exception before sending message to DLQ in Redis messaging by @HemantDhaker12 in https://github.com/PrefectHQ/prefect/pull/21142 * Fix asyncpg multihost parsing in postgres listener by @zzstoatzz in https:/ | Low | 3/18/2026 |
| 3.6.23.dev2 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * feat(worker): add --no-create-pool-if-not-found flag to worker start by @VittoriaLanzo in https://github.com/PrefectHQ/prefect/pull/21004 ### Bug Fixes ๐ * fix: ProcessPoolTaskRunner now checks upstream task states in wait_for dependencies by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21122 ### Documentation ๐ * docs: Add release notes for `p | Low | 3/17/2026 |
| 3.6.23.dev1 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * fix: skip no-op SQL filters for empty values to speed up deployment pagination by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21115 ### Development & Tidiness ๐งน * chore(deps): bump dorny/paths-filter from 3 to 4 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21107 * chore(deps-dev): bump ruff from 0.15.5 to 0.15.6 by @dependab | Low | 3/14/2026 |
| 3.6.22 | **New Features ๐** * Add `Submitting` and `InfrastructurePending` states and emit from `BaseWorker` by [@desertaxle](https://github.com/desertaxle) in [#20964](https://github.com/PrefectHQ/prefect/pull/20964) * Add OS-level resource metric collection to flow run subprocesses by [@desertaxle](https://github.com/desertaxle) in [#21071](https://github.com/PrefectHQ/prefect/pull/21071) **Enhancements โโ** * Add `end_time` filter support for flow and task runs by [@jellyfish0316](https://github.c | Low | 3/12/2026 |
| 3.6.22.dev8 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * Fix CANCEL_NEW strategy not cancelling late runs when limit is full by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21086 * Reconcile automations when Postgres notifications are unavailable by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/21089 ### Development & Tidiness ๐งน * Speed up CI checkout across all workflows by @desertaxle in http | Low | 3/12/2026 |
| 3.6.22.dev7 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Use hmac.compare_digest for auth token comparisons by @bunchesofdonald in https://github.com/PrefectHQ/prefect/pull/21072 ### Bug Fixes ๐ * fix(prefect-shell): preserve sync stream output logs in API by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/21056 * Fix postgres_listener `ssl` query param causing `CantChangeRuntimeParamError` by @devin-ai-integration[bot] | Low | 3/11/2026 |
| 3.6.22.dev6 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Add end_time filter support for flow & task runs by @jellyfish0316 in https://github.com/PrefectHQ/prefect/pull/21013 ### Bug Fixes ๐ * Handle `FlowRunCancellingObserver` subscriber connection failure gracefully by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21039 ### Development & Tidiness ๐งน * Fix flaky `test_two_subscriptions_get_all_events` | Low | 3/10/2026 |
| 3.6.22.dev5 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Development & Tidiness ๐งน * chore(deps-dev): bump codespell from 2.4.1 to 2.4.2 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21001 ### Uncategorized * use cyclopts native lazy loading for CLI commands by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/21017 * Add Submitting and InfrastructurePending states and emit from BaseWorker by @desertaxle in https://github | Low | 3/9/2026 |
| 3.6.22.dev4 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Development & Tidiness ๐งน * chore(deps): bump continuumio/miniconda3 from v25.11.1 to 26.1.1 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21024 **Full Changelog**: https://github.com/PrefectHQ/prefect/compare/3.6.22.dev3...3.6.22.dev4 | Low | 3/9/2026 |
| 3.6.22.dev3 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Uncategorized * Bump packaging upper bound from <25.1 to <26.1 by @purificant in https://github.com/PrefectHQ/prefect/pull/21015 * Fix inaccurate AGENTS.md contracts for task engine state and event schemas by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/21016 ## New Contributors * @purificant made their first contribution in https://github.com/PrefectHQ/prefect/p | Low | 3/8/2026 |
| 3.6.22.dev2 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Development & Tidiness ๐งน * chore(deps): bump docker/metadata-action from 5 to 6 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/21000 * chore(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/20999 * chore(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in https://github.com/PrefectHQ/pr | Low | 3/7/2026 |
| 3.6.22.dev1 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Documentation ๐ * docs: Add release notes for `prefect-dbt==0.7.20` by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20994 ### Uncategorized * feat(prefect-dbt): pool dbt adapter connections across PER_NODE invocations by @desertaxle in https://github.com/PrefectHQ/prefect/pull/20968 * Add prefect-azure and prefect-gcp Docker image builds to release workflow by @d | Low | 3/6/2026 |
| 3.6.21 | **Enhancements โโ** * Add `--output json` support to `flow ls` command by [@Br1an67](https://github.com/Br1an67) in [#20907](https://github.com/PrefectHQ/prefect/pull/20907) * Fix `match_related` type hints and add Python examples for `DeploymentEventTrigger` by [@devin-ai-integration](https://github.com/devin-ai-integration)[bot] in [#20902](https://github.com/PrefectHQ/prefect/pull/20902) * Support multihost Postgres connection strings in LISTEN/NOTIFY listener by [@devin-ai-integration](http | Low | 3/5/2026 |
| 3.6.21.dev5 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Move event trimming from `EventPersister` to docket-based db_vacuum service by @tom21100227 in https://github.com/PrefectHQ/prefect/pull/20811 * Add --output json to task-run ls, work-pool ls, and concurrency-limit ls by @zzstoatzz in https://github.com/PrefectHQ/prefect/pull/20967 ### Bug Fixes ๐ * fix: mark followers as seen and clean up lost follower Redis keys by @dev | Low | 3/5/2026 |
| 3.6.21.dev4 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * docs: add pull_with_block YAML example to Bitbucket integration docs by @toroleapinc in https://github.com/PrefectHQ/prefect/pull/20935 * Support multihost Postgres connection strings in LISTEN/NOTIFY listener by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20926 ### Bug Fixes ๐ * Fix broken link in PrefectHTTPStatusError message by @devin-ai-in | Low | 3/4/2026 |
| 3.6.21.dev3 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * feat(cli): add `--output json` support to `flow ls` command by @Br1an67 in https://github.com/PrefectHQ/prefect/pull/20907 * Fix `match_related` type hints and add Python examples for `DeploymentEventTrigger` by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20902 ### Bug Fixes ๐ * fix: correct return type annotation for dbt_runner_freshness_succe | Low | 3/3/2026 |
| 3.6.21.dev2 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes ๐ * fix(docs): added missing PREFECT_API_URL env var in the self-hosted docker compose file by @Kiskadee-dev in https://github.com/PrefectHQ/prefect/pull/20897 ### Development & Tidiness ๐งน * chore(deps-dev): bump ruff from 0.15.2 to 0.15.4 by @dependabot[bot] in https://github.com/PrefectHQ/prefect/pull/20881 ### Uncategorized * Improve dbt PER_NODE performance, client API check | Low | 3/1/2026 |
| 3.6.21.dev1 | <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Enhancements โโ * Add standard app.kubernetes.io labels to Kubernetes worker jobs by @priya-gitTest in https://github.com/PrefectHQ/prefect/pull/20896 ### Bug Fixes ๐ * Fix postgres_listener to preserve Kerberos/GSSAPI and TLS connection params by @devin-ai-integration[bot] in https://github.com/PrefectHQ/prefect/pull/20890 * Fix non-deterministic flow scanning in prefect deploy by @ashwan | Low | 2/28/2026 |
