Files
bracket/backend
dependabot[bot] 538deee504 Bump pydantic-settings from 2.14.2 to 2.15.0 in /backend (#1818)
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings)
from 2.14.2 to 2.15.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic-settings/releases">pydantic-settings's
releases</a>.</em></p>
<blockquote>
<h2>v2.15.0</h2>
<h2>Highlights</h2>
<h3>Behavior changes</h3>
<ul>
<li><strong><code>case_sensitive</code> now applies to init kwargs and
config-file sources</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/900">#900</a>).
<code>InitSettingsSource</code> and the JSON/TOML/YAML config sources
previously ignored <code>case_sensitive</code>. Since it defaults to
<code>False</code>, <strong>case-insensitive matching is now the
default</strong> for these sources — e.g.
<code>Settings(TeSt=...)</code> now populates a <code>test</code> field
where it previously did not. Nested keys are still matched
case-sensitively.</li>
<li><strong>Fields with unresolved forward references now emit a
warning</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/901">#901</a>).
Settings sources can silently fail to resolve such fields; they now
raise <code>IncompleteFieldDefinitionWarning</code> telling you to call
<code>model_rebuild()</code>. If you have <code>filterwarnings =
error</code> configured, this may surface as a new failure.</li>
<li><strong>Non-JSON env values for strict fields now raise
<code>ValidationError</code></strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/926">#926</a>)
instead of a less specific error.</li>
</ul>
<h3>New features</h3>
<ul>
<li><strong>Show environment variable names in CLI help</strong> via
<code>cli_show_env_vars=True</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/860">#860</a>),
so generated <code>--help</code> output doubles as configuration
documentation.</li>
<li><strong><code>PYDANTIC_SETTINGS_DEBUG</code> for debugging settings
resolution</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/906">#906</a>,
<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/913">#913</a>).
Set it to a truthy value with <code>DEBUG</code> logging enabled to see
each source's contribution in priority order, which source won for each
value, and which <code>env_file</code>/secret files were probed, loaded,
or skipped — the long-standing &quot;why isn't my <code>.env</code>
being picked up?&quot; question.</li>
<li><strong><code>toml_table_header</code> for regular TOML
files</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/882">#882</a>,
<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/886">#886</a>,
<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/887">#887</a>),
letting you root settings at a nested table in any TOML file, not just
<code>pyproject.toml</code>.</li>
<li><strong><code>Traversable</code> support for JSON/TOML/YAML file
sources</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/902">#902</a>),
so you can load config packaged inside a distribution — including files
inside a zip or wheel — via <code>importlib.resources.files(...)</code>
without casting to <code>Path</code>.</li>
<li><strong>GCP: <code>project_id</code> can come from an earlier
settings source</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/878">#878</a>),
rather than only from the constructor or
<code>GOOGLE_CLOUD_PROJECT</code>.</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix env vars not loading on Windows with
<code>case_sensitive=True</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/894">#894</a>).
Windows upper-cases <code>os.environ</code> keys, so fields raised
<code>Field required</code> instead of picking up their values.</li>
<li>Read secret files as UTF-8 instead of the platform locale encoding
(<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/917">#917</a>).
On Windows code pages such as cp1252 this silently corrupted non-ASCII
secrets.</li>
<li>Fix <code>AliasPath</code> on nested model fields not JSON-decoding
env values (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/898">#898</a>).</li>
<li>Fix case-insensitive matching for <strong>optional</strong> nested
models (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/905">#905</a>).</li>
<li>Fix dotenv extras being wrongly claimed by a complex field sharing a
name prefix (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/912">#912</a>)
— e.g. <code>dbx_token</code> being swallowed by a <code>db: dict</code>
field.</li>
<li>Fix <code>nested_model_default_partial_update=True</code> corrupting
discriminated unions (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/876">#876</a>).</li>
<li>Fix <code>Secret</code> subclasses crashing when loaded from the
environment (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/920">#920</a>).</li>
<li>Fix enum names not parsing through nested annotations such as
<code>Optional[Annotated[MyEnum, ...]]</code> with
<code>env_parse_enums=True</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/910">#910</a>).</li>
<li>An empty <code>yaml_config_section</code> now falls back to defaults
instead of raising <code>AttributeError: 'NoneType' object has no
attribute 'keys'</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/914">#914</a>).</li>
<li><code>NestedSecretsSettingsSource</code> no longer follows symlinks
pointing outside <code>secrets_dir</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/889">#889</a>).</li>
<li>GCP: skip the <code>list_secrets</code> call when
<code>case_sensitive=True</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/862">#862</a>),
lowering the required IAM permissions to just
<code>roles/secretmanager.secretAccessor</code>.</li>
<li>AWS: <code>types-boto3[secretsmanager]</code> is no longer required
at runtime (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/880">#880</a>).</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document JSON parsing of complex env values, plus a
comma-separated-values recipe (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/919">#919</a>).</li>
<li>Recommend an async settings loading pattern (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/908">#908</a>).</li>
<li>Clarify behavior when an unprefixed value is present in a dotenv
file (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/895">#895</a>).</li>
<li>Clarify environment variable helper descriptions (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/867">#867</a>)
and fix assorted typos (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/904">#904</a>).</li>
</ul>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update documentation link for Pydantic settings by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/863">pydantic/pydantic-settings#863</a></li>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/865">pydantic/pydantic-settings#865</a></li>
<li>docs: clarify environment variable helper descriptions by <a
href="https://github.com/vip892766gma"><code>@​vip892766gma</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/867">pydantic/pydantic-settings#867</a></li>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/870">pydantic/pydantic-settings#870</a></li>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/875">pydantic/pydantic-settings#875</a></li>
<li>Skip list_secrets call when case_sensitive=True by <a
href="https://github.com/ecerulm"><code>@​ecerulm</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/862">pydantic/pydantic-settings#862</a></li>
<li>GoogleSecretManagerSettingsSource: read project_id from previous
sources by <a
href="https://github.com/ecerulm"><code>@​ecerulm</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/878">pydantic/pydantic-settings#878</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/f725ca187bee4212e9ef799eefa3cb25be788462"><code>f725ca1</code></a>
Prepare release 2.15.0 (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/930">#930</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/28f35c25fac5d61210d532c31a300d49c0b684a4"><code>28f35c2</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/929">#929</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/9056db049560897229f2603493753bae27b6479f"><code>9056db0</code></a>
test: move function-local imports to the top of test modules (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/927">#927</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/f077e3ab3d9492838c7ef9275a88c95134688095"><code>f077e3a</code></a>
fix: raise ValidationError for non-JSON env values on strict fields (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/926">#926</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/ae25d703c458b57f5a9a425f6ec9a28ad868f980"><code>ae25d70</code></a>
fix: treat Secret subclasses as non-complex fields (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/716">#716</a>)
(<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/920">#920</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/798dcea2a23b08a3e9b37994014e036224f6dd18"><code>798dcea</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/924">#924</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/a190041d353bda2d432ea1908de4c499ae89ee0a"><code>a190041</code></a>
Bump the github-actions group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/925">#925</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/5d9333282b5c85d65a457c45e4476369b9949726"><code>5d93332</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/921">#921</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/d2fdeda91157140d2ff0c05404f32a9b1218115a"><code>d2fdeda</code></a>
fix: read secret files as UTF-8 instead of the locale encoding (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/917">#917</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/2256a4e60f83f2da81e7654252562fc4841aa5d4"><code>2256a4e</code></a>
Bump the python-packages group with 3 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/915">#915</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.14.2...v2.15.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pydantic-settings&package-manager=uv&previous-version=2.14.2&new-version=2.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-08 04:13:38 +00:00
..
…
…
…