Releases: PrefectHQ/prefect
Weekly Release Candidate 3.0.0rc13
What's Changed
Development & Tidiness 🧹
Uncategorized
- Add
EventsPipeline
and testing utilities by @jakekaplan in #14765 - Some more updates to issue templates by @cicdw in #14768
- Add support for Snowflake private_key in prefect_dbt by @jongbinjung in #14767
- remove
TaskWorker
set state api call by @jakekaplan in #14769 - record events with ephemeral api by @jakekaplan in #14770
- Removes the orchestration rule and background task to timeout pending task runs by @chrisguidry in #14772
New Contributors
- @jongbinjung made their first contribution in #14767
Full Changelog: 3.0.0rc12...3.0.0rc13
Weekly Release Candidate 3.0.0rc12
What's Changed
Enhancements
- Add some space below Next Run heading. by @collincchoy in #14670
- Client Side Task Run Orchestration by @jakekaplan in #14661
- add start time tracking by @jakekaplan in #14673
- set
end_time
during client-side task orchestration by @jakekaplan in #14681 - client-side task orchestration -
IncrementRunTime
by @jakekaplan in #14683 - client-side task orchestration -
SetExpectedStartTime
by @jakekaplan in #14684 - Add
container_create_kwargs
to Docker worker by @kevingrismore in #14686 - Refactor transaction hook logging into task run engine by @collincchoy in #14662
- Expose enforce parameter schema flag on individual flow runs by @cicdw in #14718
- Fix authenticate bug and add unverified context by @sm-ghavami in #13428
Fixes
- Fix runtime load from entrypoint by @zzstoatzz in #14665
- Improve consistency of
sync_compatible
when running flows in remote environments by @desertaxle in #14660 - Fix flow run error message on the runs page by @pleek91 in #14691
Documentation
- Fix typo in upgrade guide regarding calling async tasks/flows from sync tasks/flows by @desertaxle in #14678
- Add missing imports to docs example by @taranlu-houzz in #14664
- Update results docs examples by @seanpwlms in #14724
- Add migration docs about final flow run state by @zzstoatzz in #14714
Uncategorized
- Bump vue from 3.4.31 to 3.4.32 in /ui by @dependabot in #14668
- Bump vite from 5.3.3 to 5.3.4 in /ui by @dependabot in #14666
- Update cron string for weekly release and release name by @desertaxle in #14659
- Updates de-normalized state fields during client-side orchestration by @chrisguidry in #14674
- Predictively updates the run IDs on
State.state_details
client-side by @chrisguidry in #14679 - Incrementing run counts during client-side task orchestration by @chrisguidry in #14680
- Bump tailwindcss from 3.4.4 to 3.4.6 in /ui by @dependabot in #14667
- Split tests into server and client tests and run client test only with Postgres by @desertaxle in #14685
- Bump vue from 3.4.32 to 3.4.33 in /ui by @dependabot in #14688
- Remove label check CI job by @cicdw in #14695
- Add workflow that auto populates labels based on linked issues by @cicdw in #14696
- Remove repo equality check by @cicdw in #14698
- Update issue labeling workflow by @cicdw in #14700
- Update codeowners to be individuals instead of teams by @cicdw in #14701
- Chore: add deprecation warning for artifacts created outside of runs by @dylanbhughes in #13688
- Update bug issue template by @cicdw in #14702
- Minimize PR template by @cicdw in #14705
- update task run counts on retry with client-side task orchestration by @jakekaplan in #14706
- Fix task key computation by @zzstoatzz in #14704
- Fix typing of schedules argument in Flow.to_deployment by @peterbygrave in #14711
- Remove DataDog from CI by @cicdw in #14719
- Fix broken npm package update github action by @pleek91 in #14720
- Update croniter requirement from <3.0.0,>=1.0.12 to >=1.0.12,<4.0.0 by @dependabot in #14723
- let
TaskRunRecorder
process events into task runs/task run states by @jakekaplan in #14729 - Update dependabot given recent OSS changes by @cicdw in #14726
- Remove unused function in results.py by @seanpwlms in #14744
- Always pass failed state to retry handlers and support async by @cicdw in #14746
- Update @prefecthq/prefect-ui-library to version 3.5.5 by @marvin-robot in #14757
- Remove stale settings by @cicdw in #14748
- Bump typescript from 5.5.3 to 5.5.4 in /ui by @dependabot in #14736
- Bump @vitejs/plugin-vue from 5.0.5 to 5.1.0 in /ui by @dependabot in #14739
- Bump vue-tsc from 2.0.26 to 2.0.29 in /ui by @dependabot in #14759
- Bump vite from 5.3.4 to 5.3.5 in /ui by @dependabot in #14761
- Bump vue from 3.4.33 to 3.4.34 in /ui by @dependabot in #14760
New Contributors
- @taranlu-houzz made their first contribution in #14664
- @peterbygrave made their first contribution in #14711
- @sm-ghavami made their first contribution in #13428
Full Changelog: 3.0.0rc11...3.0.0rc12
2.19.9: Sync or Swim
This PR continues Prefect's 2.0 lineage as we prepare for a major 3.0 release. This release is particularly special with respect to 3.0 as it adds warnings to APIs or interfaces that will need updating in 3.0.
There are many internal APIs in Prefect that can be run both synchronously and asynchronously depending on the runtime context in which they are called. If you've ever encountered the error AttributeError: 'coroutine' object has no attribute
when loading a Block
then you know what I'm referring to. In 3.0 we have updated the internal logic for switching between synchronous/asynchronous modes in an attempt to provide clearer guidelines and improved performance.
If you ever encounter such an error, you can now use the special _sync
keyword argument to explicitly enforce the mode of execution you'd prefer:
my_block = Block.load("example/block", _sync=True)
my_block = await Block.load("example/block", _sync=False)
When this kwarg is not provided, Prefect makes an educated guess as to whether a coroutine should be returned to await or whether to run the logic synchronously on your behalf.
New Features 🎉
- Add
container_create_kwargs
to Docker worker by @kevingrismore in #14693 - Expose schema validation flag on deployment flow run create by @cicdw in #14715
- Backport _sync kwarg to 2.x by @cicdw in #14725
- Removal 3 warnings by @WillRaphaelson in #14675
Bug Fixes 🐞
- fix task key comp for 2.x by @zzstoatzz in #14707
- Migrates to Kubernetes_asyncio for prefect 2.X by @jeanluciano in #14570
- Fix runtime case for
load_flow_from_entrypoint
in 2.x by @zzstoatzz in #14669
Development & Tidiness 🧹
- Remove spurious UI change in release notes. by @bunchesofdonald in #14566
- Update github auto-release notes template by @cicdw in #14762
- silence
PrefectDeprecationWarning
in tests by @zzstoatzz in #14708
Full Changelog: 2.19.8...2.19.9
Weekly Release Candidate 3.0.0rc11
What's Changed
Exciting New Features 🎉
- Adds
wait
utility forPrefectFutures
by @jeanluciano in #14608 - port task worker api by @zzstoatzz in #14536
Enhancements
- Allow loading flows from an entrypoint when dependencies are missing by @bunchesofdonald in #14530
- Consolidate issue templates by @jlowin in #14539
- include integration info in
prefect version
by @zzstoatzz in #14557 - Migrates to Kubernetes_asyncio for asynchronous support by @jeanluciano in #13910
- Move loop creation into
BaseWorker
class by @desertaxle in #14568 - Enhancement: Cloud CTA dark mode button by @znicholasbrown in #14589
- Info logging around transaction hooks by @collincchoy in #14591
- Add root flow run id to runtime by @50Bytes-dev in #13165
- Refactors event causal ordering to be reusable by multiple consumers by @chrisguidry in #14616
- retry
git_clone
pull step by @zzstoatzz in #14612 - Remove cancellation from workers by @desertaxle in #14611
- Adds more detail to task run state change events, including the full task run by @chrisguidry in #14626
- scaffolding for client task run orchestration by @jakekaplan in #14627
- Enhancement: Duplicate Deployment Page by @dylanbhughes in #14613
- Run flow hooks in flow run context by @zzstoatzz in #14654
Fixes
- Fix docker worker volumes by @zzstoatzz in #14516
- respect
--ui
/--no-ui
flag onprefect server start
by @zzstoatzz in #14519 - Type hint Fix by @ZhipengXue97 in #14567
- syncify
serve
by @zzstoatzz in #14563 - Fix excessive memory usage in flows with many tasks by @desertaxle in #14651
Documentation
- Update code examples to that reference Prefect v2 to v3 by @discdiver in #14496
- Adds overview page for Automate section and updates content for v3 by @discdiver in #14491
- [docs] fixed a grammatical error in quickstart.mdx by @tonykipkemboi in #14502
- Adds an overview page for the Develop section and minor other docs changes by @discdiver in #14488
- Add Resources and Cloud and server overview section and reorganize Cloud overview by @discdiver in #14495
- Simplify Sidebar titles by @billpalombi in #14503
- Fixes broken links by @discdiver in #14508
- Remove redundant file and upate mint.json by @discdiver in #14507
- Corrected "feild" typos in "Write and run flows" doc by @ravi77o in #14512
- simplify-welcome-page by @billpalombi in #14510
- Update index.mdx so builds by @discdiver in #14514
- resolve hanging words by @billpalombi in #14521
- Updates language around Prefect server and Cloud in the docs by @discdiver in #14511
- Improves IA of the API ref section by @discdiver in #14523
- Style changes and updates so that the main docs pages pass Vale linting with no warnings or errors by @discdiver in #14544
- Fix title formatting of code sample scripts in serve docs by @discdiver in #14594
- Add retries to Write tasks page by @discdiver in #14601
- Fix spelling typos by @discdiver in #14622
- Remove unused rest-api directory pages by @discdiver in #14628
- Update Write flows page by @discdiver in #14610
- Check for spelling typos in docs as part of CI/CD by @discdiver in #14624
Integrations
- Use correct paths in
GcsBucket.put/get_directory
by @rooperuu in #14432 - Depend on Cloud Run Execution state for timeout enforcement by @kevingrismore in #14497
- Made Azure ACI infra names consistent regardless of flow name length by @bjorhn in #14333
New Contributors
- @rooperuu made their first contribution in #14432
- @tonykipkemboi made their first contribution in #14502
- @ravi77o made their first contribution in #14512
- @ZhipengXue97 made their first contribution in #14567
- @bjorhn made their first contribution in #14333
- @50Bytes-dev made their first contribution in #13165
Full Changelog: 3.0.0rc10...3.0.0rc11
Release 2.19.8
Release 2.19.8
Enhancements
- Allow loading flows from an entrypoint when dependencies are missing — #14548
Fixes
- Handle join edge case in
ParameterTypeError.from_validation_error
— #14420 - Respect
--ui/--no-ui
flag onprefect server start
— #14520 - Append task run futures only when entering task run engine from flow run context — #14439
Integrations
- Depend on Cloud Run Execution state for timeout enforcement 2.x — #14554
- Handle case where
AwsClientParameters
is adict
— #14438 - Added
print_func
forrun_namespaced_job
— #14463 - Use correct paths in
GcsBucket.put/get_directory
— #14537 - Cache Kubernetes client — #14535
New Contributors
- @oaustegard made their first contribution in #14505
Release 3.0.0rc10
What's Changed
Enhancements
- Prompt user to set
PREFECT_API_URL
when starting server if not set — #14294 - Emit task run urls when creating/submitting background tasks — #14407
- Support nested tasks in flow run graph — #14271
- Infer task result persistence from other settings — #14336
- Improve cancellation of submitted task runs in interactive flow runs — #14383
Fixes
- Remove terminal warning when deploying with triggers with
prefect deploy
— #14307 - Fix
prefect deploy
breaks using a trigger withwithin
— #14338 - Allow passing custom timeout exception type to disambiguate — #14352
- Fix flow run timeline event dots not being interactive — #14357
- Fix error when returning from task and flows with
cache_result_in_memory=False
— #14359 - Handle multi-line dynamic flow names — #14380
- Change default for BitBucketCredentials URL field — #13302
- Fixes bug where assignments inside functions are evaluated when running
prefect deploy
— #14405 - Handle join edge case in
ParameterTypeError.from_validation_error
— #14419 - Fix error in
flow-run
CLI log printing and escape special characters — #14469 - Save absolute paths with no block IDs by default — #14355
- Resolve two log injection security alerts — #14373
- Remove unnecessary fields on result schemas — #14362
- Correct our Cloud UI URL inference for Prefect development environments — #14367
- Fix clicking "parent flow run" from a flow run with a grandparent navigates to the grandparent — #14471
Documentation
- Improve formatting of output and update links — #14335
- Fix broken links and removes extra divs — #14342
- Update button in docs to Enterprise from Custom — #14344
- Update workspaces docs — #14350
- Fix indentation and invalid trigger spec. — #14351
- Update screenshots for Cloud docs other than workspaces — #14354
- Point to
main
for migration script in upgrade doc — #14365 - Refactor and reorganize the 3.0 docs in the Deploy section — #14313
- Add more direct recommendations to worker upgrade guide — #14395
- Minor edits to "upgrade to Prefect 3" doc — #14411
- Update import path for for run_deployment in docs code examples — #14424
- Refresh
Deployment
overview and add note onrun_deployment
sdk use — #14425 - Add vale style guide for manual linting and updates docs to remove style guide errors — #14421
- Update deferred tasks example — #14436
- Update result documentation — #14394
- Add more docs style improvements from Vale — #14454
- Update Prefect 3 upgrade page to include database migration — #14468
- Update validator usage for pydantic 2 in
RunInput
examples — #14473 - Add upgrade to Prefect 3 Guide — #14237
- Remove unnecessary code group from upgrade guide — #14314
- Simplify schedules page — #14315
- Finalize results doc — #14460
- Cleanup contribution docs — #14398
- Cleanup audit logs page — #14372
- Improve manage accounts documentation titles — #14381
- Update README — #14326
- Improve landing page documentation — #14316
- Update logged example flow to use wait on future not on task — #14317
- Update configuring profiles and settings documentation — #14339
UI
- Fix logs not displaying property when the message includes html like text — PrefectHQ/prefect-ui-library#2569
- Fix the flow run popover text wrap and allow breaking words — PrefectHQ/prefect-ui-library#2570
- Fix "This run didn't generate logs" being displayed when logs exist — PrefectHQ/prefect-ui-library#2571
- Fix run deployment form state shared by row index — PrefectHQ/prefect-ui-library#2573
- Remove global pause/resume from deployments list — PrefectHQ/prefect-ui-library#2579
All changes: 3.0.0rc9...3.0.0rc10
Release 2.19.7
Fixes
- Fix bug where assignments inside functions are evaluated when running
prefect deploy
- #14403 - Allow
uvicorn>0.29.0
- #14370
Documentation
- Add Prefect 3 announcement bar to 2.x docs - #14248
- Update Prefect intro in 2.19.x docs - #14376
- Update docs edit pencil icon link to route to
2.x
branch in GitHub - #14378
All changes: 2.19.6...2.19.7
Release 3.0.0rc9
What's Changed
Fixes
- Use prefect extras when adhoc installing integrations by @desertaxle in #14242
- Get
parameters
from flow definition if none are given otherwise by @bunchesofdonald in #14220 - Fix sync_compatible typing by @abrookins in #14226
- Adds check to ensure only known view paths can be passed by @desertaxle in #14277
- Turn off result persistence by default by @desertaxle in #14300
Documentation
- remove broken line highlights by @seanpwlms in #14235
- Update Cloud plan language by @discdiver in #14244
- Use "nested flow" in place of "subflow" in the docs by @discdiver in #14122
- Fixing broken links by @discdiver in #14264
- Move 2.19 partial docs by @discdiver in #14270
- Flows page clarifications by @billpalombi in #14273
- Update the v3 docs homepage by @djsauble in #14238
- Update blocks section by @discdiver in #14280
- SDK docs build by @discdiver in #14292
- Fix typo in results.mdx by @zhen0 in #14305
- Split the "work pools and workers" page into two pages by @djsauble in #14298
- Remove notifications section by @discdiver in #14311
- Remove unnecessary screen shot by @discdiver in #14312
Uncategorized
- add-footer-socials by @billpalombi in #14246
- Update API Ref by @billpalombi in #14247
- install-tweaks by @billpalombi in #14252
- quickstart-tweaks by @billpalombi in #14256
- Added print_func to run_namespaced_job flow by @netanel246 in #14103
- returning cursor result from ex/exmany by @WillRaphaelson in #14259
- Add
kubernetes-cluster
configto
collection_blocks_data.json` by @desertaxle in #14266 - write-flows-refactor by @billpalombi in #14257
- Log transaction hook errors for better UX by @cicdw in #14268
- Add extra info to pydantic error to help users recover by @jlowin in #14275
- Add short doc on transactions by @cicdw in #14258
- Removes our declaration of a dependency on
requests
forprefect-docker
by @chrisguidry in #14276 - Enhancement: Docs codeblock styling by @znicholasbrown in #14288
- Code of conduct styling by @billpalombi in #14283
- chore: adding notifications warning by @WillRaphaelson in #14291
- Widen integration page by @billpalombi in #14289
- Simplify landing page by @billpalombi in #14293
- Change metadata to data by @billpalombi in #14295
- Add more to caching docs and make them top level by @cicdw in #14290
- adding move warning to moved_in_v3 for get_client by @WillRaphaelson in #14299
- rename-manipulate-to-manage by @billpalombi in #14301
- overview-page-formatting by @billpalombi in #14303
- Fix variables formatting by @billpalombi in #14308
New Contributors
- @netanel246 made their first contribution in #14103
Full Changelog: 3.0.0rc8...3.0.0rc9
Release 2.19.6
Enhancements
- Enable deploying from local paths with
Flow.deploy
- #13981
Fixes
- Fix resolution of block documents in
job_variables
in aprefect.yaml
before saving server-side - #14156
Documentation
- Fix typo in Cloud Run V2 worker navigation link - #14170
Full Changelog: 2.19.5...2.19.6
Nightly Release Candidate 3.0.0rc8
What's Changed
Enhancements
- Port LocalStorage implementation to main by @masonmenges in #14186
- Add ability to wait on or get results of groups of futures by @desertaxle in #14234
Fixes
- Fix typing for
.submit
and.map
by @desertaxle in #14222
Documentation
- Update install instructions for remaining integration libraries by @discdiver in #14215
Uncategorized
- Suggest flow.deploy() to replace use of
Deployment
interface by @zangell44 in #14199 - Prune old settings by @aaazzam in #14205
- Retries retrieval of persisted results from storage by @chrisguidry in #14198
- Removes stray print by @chrisguidry in #14221
- Move selfish imports off package init.py by @aaazzam in #14190
- Backfill all of the preceding events, in smaller batches and a limited time by @chrisguidry in #14233
- Update CODEOWNERS for top level imports. by @aaazzam in #14231
- Update persistence setting to mirror internal logic by @cicdw in #14166
- Add fix for bad result references from the API by @cicdw in #14239
Full Changelog: 3.0.0rc7...3.0.0rc8