Enhancements ➕➕
- Add delete flow run automation action by @zzstoatzz in #22018
- Add worker channel handshake and heartbeat by @desertaxle in #22004
- Add work-pool snapshot delivery to worker channel by @desertaxle in #22026
- Index triggers by expect pattern to avoid O(n) scan in
find_interested_triggersby @chuqCTC in #21977 - Cache variable reads within a single
resolve_variables()call by @devin-ai-integration[bot] in #22060 - Cache block document template resolution by @zzstoatzz in #22065
- Validate PEP 508 dependencies in
execute_bundle_in_subprocessby @theluckystrike in #21916
Bug Fixes 🐞
- Remove redundant
submitted_idsset inScheduledRunPollerby @J3r3myPerera in #21982 - Fix Apprise logger level normalization by @hemantmm in #21709
- Handle concurrent work-pool creation in worker REST fallback by @1fanwang in #21919
- Use stdlib
importlib.metadatainstead ofimportlib_metadatabackport by @devin-ai-integration[bot] in #22012 - Improve missing block reference error messages by @hemantmm in #21945
- Correctly check process liveness before adding to process map by @J3r3myPerera in #22006
- Fix Azure blob result storage to overwrite on rewrite by @wtfashwin in #22035
- Surface actionable error when UI static files fail due to insufficient disk space by @devin-ai-integration[bot] in #22057
- Route lease renewal failure log through run logger by @zzstoatzz in #22053
- Show clean CLI error for malformed TOML settings files by @devin-ai-integration[bot] in #22030
- Make
ZipBuilderstorage keys truly content-addressed by @devin-ai-integration[bot] in #22008 - Fix default result store existence checks by @desertaxle in #22058
- Fix worker-channel ready frame returning
worker_id=Noneby @devin-ai-integration[bot] in #22067
Development & Tidiness 🧹
- Make
test_flow_parameter_cachingdeterministic by @devin-ai-integration[bot] in #21973 - Widen suspension propagation window in external-suspension integration test by @devin-ai-integration[bot] in #21972
- Fix flaky
test_workerintegration test with event subscription race by @devin-ai-integration[bot] in #22010 - Make
test_read_flow_runs_filters_by_start_timedeterministic by @devin-ai-integration[bot] in #22024 - Speed up client test CI shards by @desertaxle in #22003
- Add import-performance guardrails by @devin-ai-integration[bot] in #22002
- Flip
clear_dbmarker from opt-out to opt-in by @desertaxle in #21918 - Measure true cold imports in CodSpeed benchmarks by @devin-ai-integration[bot] in #22019
- Fix low-risk import cycles by @devin-ai-integration[bot] in #22040
Documentation 📓
- Replace stale
prefect runCLI example withpythonby @devin-ai-integration[bot] in #22013 - Fix stale internal links on work-pools concept page by @devin-ai-integration[bot] in #22031
- Fix retired deployment-doc links in create-deployments page by @devin-ai-integration[bot] in #22061
- Update Airflow migration guide to use
prefect deploy+prefect.yamlby @devin-ai-integration[bot] in #22059 - Add delete-flow-run automation action to action types table by @github-actions[bot] in #22021
Full Changelog: 3.7.1...3.7.2