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. Set PREFECT_RUNNER_AUTO_INSTALL_DEPENDENCIES=true (or runner.auto_install_dependencies = true in your profile) to re-enable it.
Enhancements ➕➕
- Expose WebSocket ping interval/timeout settings for uvicorn by @chuqCTC in #22091
- Activate scheduler partial index for faster scheduling queries by @zzstoatzz in #22111
- Lazify
prefect.serverpackage exports for faster imports by @devin-ai-integration[bot] in #22122
Bug Fixes 🐞
- Raise
pydantic-settingslower bound to>=2.9.1by @devin-ai-integration[bot] in #22075 - Cap
reconnect_delayexponent to preventOverflowErrorby @devin-ai-integration[bot] in #22086 - Guard
ZeroDivisionErrorinRetryFailedTaskswhenretry_jitter_factoris set withoutretry_delayby @devteamaegis in #22071 - Redact API URL userinfo in client errors by @devin-ai-integration[bot] in #22098
- Execute local deployment paths in place by @devin-ai-integration[bot] in #22100
- Preserve persisted result metadata by @desertaxle in #22110
- Make runner dependency installation opt-in by @desertaxle in #22116
- Preserve
TaskRunRecorderupsert order by @desertaxle in #22112 - Lowercase work pool name in block document names for
storage configureby @devin-ai-integration[bot] in #22144 - Remove double client injection in
_resolve_flow_for_hooksby @devin-ai-integration[bot] in #22176
Integrations & Dependencies 🤝
- Bump starlette to 1.2.0 for CVE-2026-48710 by @zzstoatzz in #22145
Development & Tidiness 🧹
- Add server-side cleanup queue storage for worker communication by @desertaxle in #22041
- Don't copy file-derived labels from linked issues by @zzstoatzz in #22115
- Support string keys in
temporary_settingsby @zzstoatzz in #22120 - Clean up WebSocket ping settings surface and tests by @devin-ai-integration[bot] in #22117
- Fix flaky tests on main — regenerate
SettingAccessorand widen timing tolerance by @devin-ai-integration[bot] in #22133 - Add timeout and transport retries to
hosted_api_clientfixture by @devin-ai-integration[bot] in #22130 - Use direct API calls in suspension integration test by @devin-ai-integration[bot] in #22157
- Use direct API calls in suspension integration test by @devin-ai-integration[bot] in #22152
- Pin local worker registry in
test_create_with_unsupported_typeby @devin-ai-integration[bot] in #22153 - Remove unneeded
clear_dbmarkers from isolated test modules by @devin-ai-integration[bot] in #22102 - Update CODEOWNERS to remove obsolete entries by @desertaxle in #22178
Documentation 📓
- Fix work-pool concurrency command examples by @devin-ai-integration[bot] in #22093
- Clarify non-interactive Prefect Cloud login requirements by @devin-ai-integration[bot] in #22095
- Fix multi-worker server docs Redis requirements by @devin-ai-integration[bot] in #22107
Full Changelog: 3.7.2...3.7.3