3.2.15 - Tempus Fugit
Released on March 28, 2025 Stay tuned, our next release will include Python 3.13 support! Enhancements ➕➕- delete all deployments cli by @zzstoatzz in #17568
- Improve ad-hoc infrastructure submission error handling by @desertaxle in #17564
- Adds
prefect-client
images to the release and pre-release builds by @chrisguidry in #17600 - Log ignored template variables when a task definition arn is supplied to the ECS worker by @kevingrismore in #17565
- Fix
[@classmethod](https://github.com/classmethod)
and[@staticmethod](https://github.com/staticmethod)
flows and tasks for Python 3.13 by @desertaxle in #17583
- bump
typing-extensions
lower bound by @zzstoatzz in #17581 - Gate on concurrency prior to entering a Running state by @cicdw in #17597
- respect default namespace for docker
prefect.yaml
steps by @zzstoatzz in #17607 - Stable cache keys for pandas by @cicdw in #17611
- Fix
mark_flow_run_as_cancelled
in worker still gets error by @lelouvincx in #17629
- Various typing improvements by @desertaxle in #17569
- Docker build for a
prefect-client
-only image by @chrisguidry in #17596 - Includes more (and more current) files in the nightly release detection by @chrisguidry in #17605
- Includes the .github workflows in the nightly release detection by @chrisguidry in #17606
- Chooses the right Dockerfile for building
prefect-client
by @chrisguidry in #17608 - Uses the right format for prefect-client pre-release tags by @chrisguidry in #17610
- Add new deployment version table by @cicdw in #17532
- Include
pytz
in theprefect-client
dependencies by @chrisguidry in #17595
- fix: cli login command in modal docs by @Ben-Epstein in #17582
- Move settings ref to reference section by @cicdw in #17590
- migrate mintlify to docs.json + light bikeshedding by @aaazzam in #17591
- Fix syntax in schedules example by @zhen0 in #17614
3.2.14 - When Modules Pop Off: The Untold Story
Released on March 21, 2025 Enhancements ➕➕- Adds new setting
PREFECT_TASKS_DEFAULT_NO_CACHE
to not cache by default by @cicdw in #17488 - increase cloud run worker timeout by @jeremy-thomas-roc in #17540
- Add
prefect-docker
’sDockerRegistryCredentials
as accepted type for ACI job configuration’simage_registry
by @kevingrismore in #17543 - Add debug logging of ECS task definition differences when equality comparison fails by @kevingrismore in #17544
- Only log at INFO level for final state by @cicdw in #17454
- Bugfix: Paginated task runs route + client-side fix by @znicholasbrown in #17407
- Fix docker build with context arg when already set by @thdtt in #17535
- Avoid inheriting
NullFilesystem
for transaction metadata storage by @zzstoatzz in #17541 - fix(flow-run): ensure state is consistent when cancelling by @lelouvincx in #17537
- Don’t pop the loader module by @cicdw in #17524
- Convert strings to timezone-aware datetimes in the flow run graph API by @cicdw in #17552
- Update ACI worker base job template with current docker registry block by @kevingrismore in #17549
- Account for
_resolve_path
returningNone
by @cicdw in #17551 - fix kubernetes job variables merge logic by @zzstoatzz in #17512
- Update CODEOWNERS by @zzstoatzz in #17510
- Update CODEOWNERS for docs by @aaazzam in #17516
- rm pendulum from integrations by @zzstoatzz in #17509
- Get
pyright
check passing forprefect.runner
submodules by @desertaxle in #17502 - update
Field
examples
kwargs for gcp and databricks by @zzstoatzz in #17526 - Adds back telemetry service to all servers when enabled by @cicdw in #17528
- Update @prefecthq/prefect-ui-library to version 3.11.51 by @marvin-robot in #17539
- fix broken slack link in docs by @aaazzam in #17491
- add “API Reference” to docs by @aaazzam in #17515
- chore(docs): link to new ECS worker Terraform module by @mitchnielsen in #17523
- schema changes for work pool storage config by @zzstoatzz in #17527
- Add experimental CLI for configuring work pool storage by @desertaxle in #17548
- Persist work pool and job variables for submitted ad-hoc flow runs by @desertaxle in #17530
3.2.13 - Labels: Not Just for Jars
Released on March 14, 2025 Enhancements ➕➕- Update workers to include work pool and worker labels by @desertaxle in #17420
- Disables run tracer with
PREFECT_CLOUD_ENABLE_ORCHESTRATION_TELEMETRY
by @jeanluciano in #17417 - Fix
disable_run_logger
context manager by @desertaxle in #17443 - Fix
serve
deployment name truncation by @zzstoatzz in #17447 - Fix race condition in Kubernetes worker by @desertaxle in #17462
- Ensure base
prefect.yaml
template is included in built package by @desertaxle in #17472 - Add caching to
create_api_app
to fix errors when using server-side orchestration client by @desertaxle in #17474
- Remove unused yaml files and refs by @cicdw in #17470
- Add overloads for
run_task
by @zzstoatzz in #17448
- Update ray url by @hongbo-miao in #17440
- Move Modal tutorial to the Dynamic infrastructure examples section by @daniel-prefect in #17464
- Create a new section for self-hosted server examples (CLI, Docker, Helm) by @daniel-prefect in #17468
- Remove dangling tutorial references by @daniel-prefect in #17469
- Add example using the Terraform provider by @parkedwards in #17479
- Fix pep8 in README.md by @sobolevn in #17453
3.2.12 - Some Parameters Like It Cold
Released on March 10, 2025 This release contains a couple bug fixes (e.g. https://github.com/PrefectHQ/prefect/issues/17409, https://github.com/PrefectHQ/prefect/issues/17431, https://github.com/PrefectHQ/prefect/issues/17434) and adds a newfreeze
annotation to make certain deployment parameters read-only in the UI when creating a new flow run (see #17374 for an example).
Enhancements ➕➕
- add
freeze
annotation by @zzstoatzz in #17374 - Improve eviction handling for flow runs started by the Kubernetes worker by @desertaxle in #17412
- Fix improper
await
ofRunnerDeployment
by @zzstoatzz in #17436 - Do not target abstract class for Pydantic validation by @thoec in #17356
- Remove unnecessary prompt condition by @cicdw in #17410
- Update optional dependencies in integration packages to use
[project.optional-dependencies]
by @desertaxle in #17435
- Add Prefect Server and Worker Helm Tutorial by @prefectcboyd in #17362
- Add inline arcades by @biancaines in #17393
- chore(docs): Minor updates and fixes on the Helm deployment tutorial by @jamiezieziula in #17411
- Allow specifying the key for an existing Kubernetes worker API key secret by @desertaxle in #17390
- [UI] Update packages by @pleek91 in #17426
- add k8s integration test harness by @zzstoatzz in #17385
3.2.11 - OTEL me it’s not true!
Released on March 05, 2025 This release includes a bug fix where import fromprefect.deployments.flow_runs
were failing without the otel
extra installed.
Bug Fixes 🐞
- Add handling for extra install in
prefect.deployments.flow_runs
by @desertaxle in #17392
- Tidy up the Modal tutorial by @daniel-prefect in #17367
3.2.10 - Entomologists HATE This One Weird Trick
Released on March 05, 2025 Enhancements ➕➕- Add sigterm handling for
prefect flow-run execute
by @desertaxle in #17352 - Add debugging variables to Vertex AI Worker by @jbrache in #17335
- fix
git_clone
where branch name has forward-slash by @zzstoatzz in #17359 - feat: ensure ui files are writeable by @happysalada in #17336
- warn if
RunnerDeployment
with awork_pool_name
given toserve
by @zzstoatzz in #17349 - Cancel runs if the deployment was deleted by @cicdw in #17313
- Respect custom cert files in events client by @cicdw in #17364
- Always use a new tmpdir when executing with the process worker by @cicdw in #17370
- Fix bug causing duplicate flow run heartbeats with a process worker by @desertaxle in #17375
- Improve
Runner
exception handling by @desertaxle in #17376 - Print correct API URL when setting base path by @cicdw in #17386
- Check if status.container_status[0] is not None by @mcuelenaere in #17333
- Propagate trace context from user app to
run_deployment
by @fatih-acar in #16812
- bump
prefect-kubernetes
’s dependency onprefect
by @zzstoatzz in #17347
- fix 3.9 specific issues with BackgroundTasks by @zzstoatzz in #17326
- Update
ruff
settings inpyproject.toml
by @desertaxle in #17382
- docs(prefect-ray): change to Ray support for Python 3.13 is experimental by @hongbo-miao in #17339
- Add New MLB Pipeline Tutorial Series by @biancaines in #17321
- feat: Prefect on Modal tutorial documentation by @Ben-Epstein in #17345
- chore(docs): remove Helm reference on ECS page by @mitchnielsen in #17363
3.2.9 - Free Range Runners
Released on February 28, 2025 This release contains a fix for bug a where the defaultRunner
limit would propagate to the ProcessWorker
. The fix restores the default behavior for the ProcessWorker
before the 3.2.8 release.
Bug Fixes 🐞
- Lift limit on
Runner
used byProcessWorker
by @desertaxle in #17325 - Fallback to system
uv
if Python interface isn’t available by @desertaxle in #17320 - Remove extra example from Vertex AI worker by @desertaxle in #17324
- Add instructions for running a Prefect server in a Docker container by @zzstoatzz in #17306
- Airflow migration guide by @olearycrew in #17285
3.2.8 - “Runners Took My Job” - Process Workers, Probably
Released on February 28, 2025 Enhancements ➕➕- Add handling to propagate dependencies for submitted flow runs by @desertaxle in #17250
- Subscribe to state changes in wait_for_flow_run by @bnaul in #17243
- Updates
ProcessWorker
to delegate flow run execution to aRunner
by @desertaxle in #17295 - Add option to log warning when placeholder values is missing when templating by @desertaxle in #17261
- fix go back to acct for
prefect cloud login
andprefect cloud workspace set
by @zzstoatzz in #17296 - Refresh session when deleting schedules off a deployment by @cicdw in #17278
- fix
profile use
switching by @zzstoatzz in #17300
- dev group for all integrations by @zzstoatzz in #17273
- chore(deps-dev): bump vue-tsc from 2.1.10 to 2.2.4 in /ui by @dependabot in #17254
- Upgrade websockets to v15 by @sam-phinizy in #17274
- Update @prefecthq/prefect-ui-library to version 3.11.43 by @marvin-robot in #17309
- Fix dependency installation for flow submission by @desertaxle in #17289
- Expose
KubernetesClusterConfig
at the top level ofprefect-kubernetes
by @desertaxle in #17268
- Remove broken link and add redirect for terraform provider by @discdiver in #17263
- explain slugs in schedules docs by @zzstoatzz in #17029
- Fix dbt docs typo by @kevingrismore in #17288
- enhance mapping docs by @zzstoatzz in #17269
- chore(API docs): link to related docs pages by @mitchnielsen in #17276
- Add
KuberenetesWorker.submit
for ad-hoc submission to a Kubernetes work pool by @desertaxle in #17218 - Add
@kubernetes
decorator by @desertaxle in #17248 - remove unused experimental
bundles.types
file inprefect-aws
by @zzstoatzz in #17241 - Add
PrefectFuture
implementation for flow runs by @desertaxle in #17234
3.2.7 - Background Services and Where to Find Them
Released on February 21, 2025 This release fixes a bug where theEventPersister
was not running by default.
Enhancements ➕➕
- Add warning of potential client/server incompatibilities by @desertaxle in #17210
- Set
cache_ok
flag to true for UUIDList by @cicdw in #17232 - Adds more database tuning settings for PostgreSQL by @cicdw in #17236
- Surfaces pull step errors as independent log messages by @chrisguidry in #17214
- improved
cancelled_flow_query
by @zzstoatzz in #17095 - respect aliases when loading custom
logging.yaml
by @zzstoatzz in #17162 - Adds
PREFECT_SERVER_API_BASE_PATH
setting by @cicdw in #16967 - Brings back
EventPersister
in discovery of background services by @chrisguidry in #17240
- experimental
prefect-aws
bundle steps by @zzstoatzz in #17201
- Add
types-dateparser
to dev deps by @sobolevn in #17212 - cleaning unnecessary files from repo root by @zzstoatzz in #17235
- use
just
instead ofmake
command runner and use uv by @zzstoatzz in #17149 - remove Makefile by @zzstoatzz in #17233
- [Docs] Tweak timeline dates in Prefect History section by @daniel-prefect in #17199
- standardize names of step action slugs in docs by @zzstoatzz in #17223
3.2.6 - Ouroboros No More
Released on February 19, 2025 This release includes a fix for https://github.com/PrefectHQ/prefect/issues/17197, wherepoetry
users encountered errors when installing prefect
due to a self-referential dependency.
Bug Fixes 🐞
- #16397 - Fix quotes in DB migration by @thomas-dresselhaus in #17193
- Removes
client
extras and moves them to top-level dependencies by @desertaxle in #17202
- Add links to CLI, API, Terraform, and Helm docs by @mitchnielsen in #17142
- Rename links to examples and add ‘uv run’ instructions by @daniel-prefect in #17145
- Add utilities for creating and executing flow bundles by @desertaxle in #17178
- Add bundle execution capabilities to
Runner
by @desertaxle in #17192
3.2.5 - Honey, I Shrunk the Dependencies
Released on February 19, 2025 This release includes a fix for https://github.com/PrefectHQ/prefect/issues/17182, wherepull
steps were not correctly updated upon changes to a given deployment.
Bug Fixes 🐞
Development & Tidiness 🧹
- fix paths in GHAs by @zzstoatzz in #17183
- rm croniter dep by @zzstoatzz in #17187
- vendor croniter by @zzstoatzz in #17165
3.2.4 - Every time we have a good release name, something goes wrong so here’s a bad release name
Released on February 18, 2025 fixes issue with3.2.3
There was a packaging bug with 3.2.3 where the UI was not included in the published wheel due to project configuration changes, which this release resolves.
- Remove “Pod … has started.” log from
KubernetesWorker
by @kevingrismore in #17174 - add
server/ui
to wheel by @zzstoatzz in #17176
3.2.3 - The Config is Coming From Inside the pyproject.toml
Released on February 18, 2025 Development & Tidiness 🧹- Migrate to
pyproject.toml
by @zzstoatzz in #17116 - consolidate use of
pendulum
intests/
: part 1 by @zzstoatzz in #17106
- Fix link to dbt programmatic invocation by @kevingrismore in #17131
- Update SDK docs links by @seanpwlms in #17138
- Adds AWS PrivateLink documentation by @prefectcboyd in #17076
3.2.2 - Time is a flat circle
Released on February 13, 2025 Notably, includes a fix for multiple schedules with the same interval and different parameters. Bug Fixes 🐞- update idempotency key for scheduled runs to disambiguate schedules by @zzstoatzz in #17123
- fix sed command in integration release CI by @zzstoatzz in #17083
prefect-snowflake
- Bump snowflake dependency by @seanpwlms in #17098
- consolidate use of
pendulum
inprefect.cli
by @zzstoatzz in #17078 - pendulum consolidation in
prefect.client
by @zzstoatzz in #17099 - pendulum consolidation in
prefect.concurrency
by @zzstoatzz in #17102 - pendulum consolidation in several modules by @zzstoatzz in #17103
- Add
PrefectDbtRunner
docs by @kevingrismore in #17055 - Update
prefect-dbt
prerelease install command with-U
by @kevingrismore in #17088 - Update formatting of Prefect History timeline by @discdiver in #17114
- Remove link in ECS Guide by @discdiver in #17119
- Docs: Update GCP integration docs by @seanpwlms in #17097
- change docs sidebar items by @aaazzam in #17128
- Fix printing
flow_run_id
in Abort case of engine by @peterbygrave in #17087 - consolidate
pendulum
use inprefect._internal
by @zzstoatzz in #17072 - Add missing
load_function_and_convert_to_flow
by @jakekaplan in #17086 - Fix bug where schedules without a slug or active raise a 500 by @desertaxle in #17091
- Migrate some
pendulum
usage to internal shim by @desertaxle in #17074 - Consolidate
pendulum
usage inprefect.server.services
by @desertaxle in #17100 - Consolidate
pendulum
usage inprefect.server
by @desertaxle in #17104
3.2.1 - Everything flows and nothing abides
Released on February 10, 2025 Enhancements ➕➕- Automatically convert non-flows into flows by @jakekaplan in #17024
- Infer
PREFECT_PROFILES_PATH
fromPREFECT_HOME
by @zzstoatzz in #17070 - Fix bug where a flow’s parameter schema is not included in deployment create/update requests when using
prefect deploy
by @desertaxle in #17079
- Bump ruff from 0.9.4 to 0.9.5 by @dependabot in #17035
- Use newer
npm
version in Docker UI build by @desertaxle in #17064
3.2.0 - Param-a-lama-ding-dong
Released on February 08, 2025 This release contains a lot! In particular, users can now specify parameters on a per-schedule basis. This is useful for flows with multiple schedules, for example:- Update deployments PATCH endpoint to make more targeted updates with slugs by @desertaxle in #17027
- Update deployment SDK to use slugs by @desertaxle in #17043
- Update the SDK to use
PATCH /deployments/{id}
endpoint for existing deployments by @desertaxle in #17050 - Add database migration that adds parameter fields to deployment schedules by @cicdw in #16947
- Add non-public implementation of parametrized schedules by @cicdw in #16951
- Allow definition of per-schedule parameter overrides via
prefect.yaml
by @desertaxle in #16963 - Allow definition of per-schedule parameters via
.serve
and.deploy
by @desertaxle in #16965 - Use retry logic of underlying prefect client properly by @cicdw in #16992
- Remove some log noise in pause and abort handling by @cicdw in #17014
- Allow for updating a deployment’s parameter openapi schema by @cicdw in #17016
- Allow for pull step updates on deployments by @cicdw in #17045
- Remove unused function by @cicdw in #16923
- fix
create_markdown_artifact
usage inprefect-dbt
by @zzstoatzz in #16926 - Add fix for creating profile with default name conflict by @cicdw in #16932
- Fix: Event cleaning without timeouts by @NobisIndustries in #16921
- fix handling for bad
host
withprefect server start
by @zzstoatzz in #16960 - Add suggestion to pause schedules prior to upgrading by @cicdw in #16970
- Target
wait
warning to more specific circumstances by @cicdw in #16969 - support anonymous volumes in
docker
work pool by @zzstoatzz in #17022 - pin core above
3.1.15
forprefect-dbt
by @zzstoatzz in #17010 - Refactor
to_state_create
by @cicdw in #17033 - Reject task run state change if the cache key is too large by @bunchesofdonald in #16914
- Bumps to
ruff==0.9.2
andmypy==1.14.1
by @chrisguidry in #16916 - Add dbt profiles utilities by @kevingrismore in #16889
- Update pytz requirement from
<2025,>=2021.1
to>=2021.1,<2026
by @dependabot in #16936 - Bump ruff from 0.9.2 to 0.9.4 by @dependabot in #16935
- Add
PrefectDbtRunner
by @kevingrismore in #16971 - fix: include region_name when creating aws clients by @obendidi in #16811
- more pendulum consolidation by @zzstoatzz in #16911
- fix
emit_event
docstring by @zzstoatzz in #16918 - Update @prefecthq/prefect-ui-library to version 3.11.39 by @marvin-robot in #16919
- Fix
prefect-dask
test suite by @desertaxle in #16920 - refactor work pool client methods by @aaazzam in #16661
- Update @prefecthq/prefect-ui-library to version 3.11.40 by @marvin-robot in #16929
- Update @prefecthq/prefect-ui-library to version 3.11.41 by @marvin-robot in #16930
- more pendulum consolidation by @zzstoatzz in #16922
- Unifies background service running between the web server and CLI by @chrisguidry in #16927
- rm
pendulum
use inschedules.py
by @zzstoatzz in #16943 - Add file exclusion to codeowners by @cicdw in #16957
- Update a few more small things for labeler and review tags by @cicdw in #16958
- Remove switching logic within settings config by @cicdw in #16961
- Remove failure flag by @cicdw in #16974
- Use nvm in pre-commit hooks by @cicdw in #16975
- Fix labeler to remove unnecessary labels by @cicdw in #17009
- Remove full team from schema json updates by @cicdw in #17008
- Fix migration downgrades on deployment schedule table by @cicdw in #17044
- Refactor results and result records to improve circular import situation by @cicdw in #17031
- Update @prefecthq/prefect-ui-library to version 3.11.42 by @marvin-robot in #17046
- Consolidates discovery of Prefect server
Service
s to the base class by @chrisguidry in #16913 - Enhancement: Add New SLA Types by @dylanbhughes in #16902
- add notes on
TASK_SOURCE
behavior by @zzstoatzz in #16928 - fix(docs): small quickstart fixes by @mitchnielsen in #16931
- Chore: Add
/reference
redirects by @znicholasbrown in #16980 - chore: Add additional
reference
redirects by @jimid27 in #16993 - Update a few more links to the SDK reference by @daniel-prefect in #16997
- add docs on per-schedule parameters by @zzstoatzz in #17000
- add cli docs by @aaazzam in #17037