We're excited to unveil a major overhaul of Prefect's configuration system. At the heart of this release is a complete refactor of our settings architecture, now powered by `pydantic-settings` for enhanced organization and clarity. You can now define your settings in either a dedicated `prefect.toml` file or your existing `pyproject.toml` file, streamlining the configuration experience and making it more portable across environments.
To learn more about new settings capabilities, check out the updated [settings documentation](https://docs.prefect.io/3.0/develop/settings-and-profiles/) or watch zzstoatzz's [instructional demo on YouTube](https://www.youtube.com/watch?v=aeWCT_fqdEY).
New Features ๐
* Add support for defining settings via a `prefect.toml` file by desertaxle in https://github.com/PrefectHQ/prefect/pull/15788
* Add support for defining settings via a `pyproject.toml` file by desertaxle in https://github.com/PrefectHQ/prefect/pull/15875
Enhancements โโ
* Pass through kwargs for `run_shell_process` by zzstoatzz in https://github.com/PrefectHQ/prefect/pull/15817
* Remove `jit="off"` setting for Postgres DBs by desertaxle in https://github.com/PrefectHQ/prefect/pull/15854
* Add setting to allow turning off persistence for tasks globally by desertaxle in https://github.com/PrefectHQ/prefect/pull/15881
Bug Fixes ๐
* Don't cache on any key computation errors and log for visibility by cicdw in https://github.com/PrefectHQ/prefect/pull/15868
* Fix logging for FastAPI and Uvicorn by desertaxle in https://github.com/PrefectHQ/prefect/pull/15871
* Allow for unpersisted 2.x result payloads in states by cicdw in https://github.com/PrefectHQ/prefect/pull/15878
* Update `Settings.copy_with_update` to ignore sources when restoring default settings by desertaxle in https://github.com/PrefectHQ/prefect/pull/15884
* Don't reuse exception name in nested exception handling by cicdw in https://github.com/PrefectHQ/prefect/pull/15894
Integrations & Dependencies ๐ค
`prefect-dbt`
* Add `DbtCloudJob` block to top level import by cicdw in https://github.com/PrefectHQ/prefect/pull/15880
Dependencies
* Update croniter requirement from <4.0.0,>=1.0.12 to >=1.0.12,<5.0.0 by dependabot in https://github.com/PrefectHQ/prefect/pull/15839
* Update prefecthq/prefect-design to version 2.14.1 by marvin-robot in https://github.com/PrefectHQ/prefect/pull/15834
* Update prefecthq/prefect-ui-library to version 3.11.8 by marvin-robot in https://github.com/PrefectHQ/prefect/pull/15835
* Update prefecthq/prefect-design to version 2.14.2 by marvin-robot in https://github.com/PrefectHQ/prefect/pull/15837
* Bump vue-tsc from 2.1.6 to 2.1.8 in /ui by dependabot in https://github.com/PrefectHQ/prefect/pull/15819
* Bump vite from 5.4.9 to 5.4.10 in /ui by dependabot in https://github.com/PrefectHQ/prefect/pull/15820
* Update prefecthq/prefect-design to version 2.14.3 by marvin-robot in https://github.com/PrefectHQ/prefect/pull/15844
* Update prefecthq/prefect-ui-library to version 3.11.11 by marvin-robot in https://github.com/PrefectHQ/prefect/pull/15887
* Update prefecthq/prefect-design to version 2.14.4 by marvin-robot in https://github.com/PrefectHQ/prefect/pull/15852
* Update prefecthq/prefect-ui-library to version 3.11.12 by marvin-robot in https://github.com/PrefectHQ/prefect/pull/15891
* Add opentelementry requirements by bunchesofdonald in https://github.com/PrefectHQ/prefect/pull/15867
Development & Tidiness ๐งน
* Remove old GitHub Actions workflow by zzstoatzz in https://github.com/PrefectHQ/prefect/pull/15822
* Fix sorting of tags to determine nightly release version by desertaxle in https://github.com/PrefectHQ/prefect/pull/15825
* Add `prefect.toml` to `.gitignore` by zzstoatzz in https://github.com/PrefectHQ/prefect/pull/15846
* Fix non `soft_wrap` link in `prefect block register` by zzstoatzz in https://github.com/PrefectHQ/prefect/pull/15876
* Moves `experimental_warn` setting to `experiments` model and removes `async_fetch_state_result` by desertaxle in https://github.com/PrefectHQ/prefect/pull/15885
* Fix documentation link to task settings by jmbhughes in https://github.com/PrefectHQ/prefect/pull/15809
* Serve in container docs by zzstoatzz in https://github.com/PrefectHQ/prefect/pull/15814
* Update mermaid.js diagram styling in docs by discdiver in https://github.com/PrefectHQ/prefect/pull/15811
* Fixes broken image links in ACI worker guide by discdiver in https://github.com/PrefectHQ/prefect/pull/15831
* Add in a settings.experiments module by sam-phinizy in https://github.com/PrefectHQ/prefect/pull/15845
* Auto-generate settings reference documentation by desertaxle in https://github.com/PrefectHQ/prefect/pull/15830
* Update 'Configure settings and profiles' documentation to include `prefect.toml` support by desertaxle in https://github.com/PrefectHQ/prefect/pull/15847
* Adds in the ability for the client to get a remote_id from the server by sam-phinizy in https://github.com/PrefectHQ/prefect/pull/15849
* Adds in the worker_id to the LogCreate schema by sam-phinizy in https://github.com/PrefectHQ/prefect/pull/15851
* Fix errors in markdown and codspeed workflows by desertaxle in https://github.com/PrefectHQ/prefect/pull/15841
* Remove `max_active_runs` and `catchup` fields by zzstoatzz in https://github.com/PrefectHQ/prefect/pull/15810
* Use released version of `pytest-markdown-docs` by bunchesofdonald in https://github.com/PrefectHQ/prefect/pull/15808
* Update GitHub actions versions and formatting in CI/CD deploy docs page by discdiver in https://github.com/PrefectHQ/prefect/pull/15667
New Contributors
* jmbhughes made their first contribution in https://github.com/PrefectHQ/prefect/pull/15809
**Full Changelog**: https://github.com/PrefectHQ/prefect/compare/3.0.11...3.1.0