Commit 2ff665c
authored
chore(deps): bump the elt-common-dependencies group across 1 directory with 11 updates (#315)
Updates the requirements on
[dlt[parquet,s3]](https://github.com/dlt-hub/dlt),
[pyiceberg[pyiceberg-core]](https://github.com/apache/iceberg-python),
[click](https://github.com/pallets/click),
[sqlalchemy](https://github.com/sqlalchemy/sqlalchemy),
[pydantic-settings](https://github.com/pydantic/pydantic-settings),
[authlib](https://github.com/authlib/authlib),
[prek](https://github.com/j178/prek),
[pytest-httpx](https://github.com/Colin-b/pytest_httpx),
[requests](https://github.com/psf/requests),
[ruff](https://github.com/astral-sh/ruff) and
[setuptools](https://github.com/pypa/setuptools) to permit the latest
version.
Updates `dlt[parquet,s3]` to 1.26.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dlt-hub/dlt/releases">dlt[parquet,s3]'s
releases</a>.</em></p>
<blockquote>
<h2>1.26.0</h2>
<h2>dlt 1.26.0 Release Notes</h2>
<h2>Breaking Changes</h2>
<ol>
<li><strong>Incremental external scheduler now raises instead of
silently warning</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) —
Untyped/non-coercible cursor values now raise
<code>JoinSchedulerError</code>; missing intervals raise
<code>ExternalSchedulerNotAvailable</code>. Resources with
<code>allow_external_schedulers=True</code> that previously fell back to
dlt state will now fail. This is a bugfix that corrects previously
incorrect behavior.</li>
</ol>
<h2>Highlights</h2>
<ul>
<li><strong><code>dlt.Relation.join(...)</code></strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3590">#3590</a> <a
href="https://github.com/Travior"><code>@Travior</code></a>) — Adds a
<code>join()</code> method on <code>dlt.Relation</code> based on the
normalizer and table references, enabling fluent relational composition
over datasets.</li>
<li><strong>Extended Snowflake query tags</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3759">#3759</a> <a
href="https://github.com/Travior"><code>@Travior</code></a>) —
Snowflake query tagging is extended beyond load jobs to broader dlt
operations: storage setup, schema/state reads, schema updates, load
execution, load completion, and table drops. <code>TJobQueryTags</code>
is generalized to <code>TQueryTags</code> with a new
<code>operation</code> field (with a compatibility export).</li>
<li><strong>Time interval context for incrementals</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) — New
<code>dlt.current.interval()</code> returns the active <code>(start,
end)</code> interval or <code>None</code>, backed by an injectable
<code>TimeIntervalContext</code> with optional
<code>allow_external_schedulers</code> override and auto-detection from
env vars / Airflow.</li>
</ul>
<h2>Core Library</h2>
<ul>
<li><strong><code>dlt.Relation.join(...)</code></strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3590">#3590</a> <a
href="https://github.com/Travior"><code>@Travior</code></a>) — see
Highlights.</li>
<li><strong>Extended Snowflake query tags beyond load jobs</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3759">#3759</a> <a
href="https://github.com/Travior"><code>@Travior</code></a>) — see
Highlights.</li>
<li><strong>Time interval context for incrementals</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) — see
Highlights.</li>
<li><strong>Destination-aware incremental SQL filter</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) — New
<code>dlt/extract/incremental/sql.py</code>
(<code>to_sqlglot_filter</code>) honors
<code>timestamp_precision</code>,
<code>supports_tz_aware_datetime_in_cast</code>, and sqlite quirks;
works on bound and unbound incrementals.</li>
<li><strong><code>start_value</code> persisted in incremental
state</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) — Only
written when rows actually arrive, so it is no longer advanced silently
on empty runs.</li>
<li><strong><code>uuid_to_string</code> PyArrow fast path</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) —
Numpy-vectorized with a pure-Python fallback; pyarrow ≥ 24
<code>arrow.uuid</code> extension arrays are coerced to canonical
strings, and UUID columns under pyarrow < 24 also take the fast
path.</li>
<li><strong>Custom metrics emitted even when a resource produces no
data</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) —
<code>dlt.current.resource_metrics()</code> counters are no longer
dropped when every item is filtered out.</li>
<li><strong>TypedDict validator honors
<code>NotRequired[T]</code></strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) — Via
<code>__required_keys__</code>.</li>
<li><strong>sqlglot <code>"dremio"</code> dialect
literal</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) — Added
to <code>TSqlGlotDialect</code>.</li>
<li><strong>Opt-in naming-convention check in
<code>Schema.unify_schemas()</code></strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3898">#3898</a> <a
href="https://github.com/burnash"><code>@burnash</code></a>) — The
naming-convention check in <code>Schema.unify_schemas()</code> is now
opt-in; also drops the max_length tests workaround.</li>
<li><strong>Fix(clickhouse): correct metadata sort keys to avoid full
scans</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3851">#3851</a> <a
href="https://github.com/anuunchin"><code>@anuunchin</code></a>) —
Resolves <a
href="https://redirect.github.com/dlt-hub/dlt/issues/3806">#3806</a> by
correcting metadata sort keys so ClickHouse no longer performs full
scans.</li>
<li><strong>Fix(pyarrow): preserve string encoding for UUID columns
under pyarrow 24+</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3894">#3894</a> <a
href="https://github.com/burnash"><code>@burnash</code></a>) — Fixes <a
href="https://redirect.github.com/dlt-hub/dlt/issues/3893">#3893</a> so
UUID columns keep their string encoding under pyarrow 24+.</li>
<li><strong>Fix: clearer error from <code>dlt.attach()</code> when
pipeline cannot be restored</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3890">#3890</a> <a
href="https://github.com/bjoaquinc"><code>@bjoaquinc</code></a>) —
Rewrites <code>CannotRestorePipelineException</code> messages to name
required inputs, show a concrete <code>dlt.attach(...)</code> example,
and offer <code>dlt.dataset()</code> as a lighter alternative;
suppresses a redundant inner exception in tracebacks.</li>
<li><strong>Fix: closed-pipe race in <code>iter_std</code></strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>) — Reader
threads swallow <code>ValueError</code>/<code>OSError</code> and always
close the queue.</li>
<li><strong>Fix: active profile shown in
<code>ConfigFieldMissingException</code></strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a> <a
href="https://github.com/rudolfix"><code>@rudolfix</code></a>)</li>
</ul>
<h2>Docs</h2>
<ul>
<li><strong>Improved dashboard docs</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3484">#3484</a> <a
href="https://github.com/VioletM"><code>@VioletM</code></a>)</li>
<li><strong>Updated documentation for pg_replication</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3900">#3900</a> <a
href="https://github.com/dat-a-man"><code>@dat-a-man</code></a>) — Adds
an "Alternative: CDC with Debezium" section linking to the
Debezium + dlt demo.</li>
<li><strong>Snowflake marketplace listing link</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3888">#3888</a> <a
href="https://github.com/kaliole"><code>@kaliole</code></a>)</li>
<li><strong>Quality-checker fixes to <code>pipeline.md</code></strong>
(<a href="https://redirect.github.com/dlt-hub/dlt/issues/3885">#3885</a>
<a href="https://github.com/ShreyasGS"><code>@ShreyasGS</code></a>) —
Tense, contractions, and grammar cleanups via Harper + Vale Google
Developer Docs style.</li>
<li><strong>Remove playground page and associated CI</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3883">#3883</a> <a
href="https://github.com/zilto"><code>@zilto</code></a>) — Streamlines
the "Getting Started" section; interactive material remains on
Google Colab and marimo molab.</li>
<li><strong>Pydantic Logfire export example</strong> (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3882">#3882</a> <a
href="https://github.com/zilto"><code>@zilto</code></a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/bjoaquinc"><code>@bjoaquinc</code></a>
made their first contribution in <a
href="https://redirect.github.com/dlt-hub/dlt/issues/3890">#3890</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dlt-hub/dlt/commit/b3fc4a9e7c4152a76c6d29d035ddf9879609dc50"><code>b3fc4a9</code></a>
Merge pull request <a
href="https://redirect.github.com/dlt-hub/dlt/issues/3903">#3903</a>
from dlt-hub/devel</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/10c633236a51f731b1f3e91d561e89baca02200d"><code>10c6332</code></a>
Make the naming-convention check in <code>Schema.unify_schemas()</code>
opt-in (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3898">#3898</a>)</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/ce8422d4d5a3612c983afb7fa74879532f268923"><code>ce8422d</code></a>
(feat) workspace deployment (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3877">#3877</a>)</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/c9f11e2bb29eaf60fde84a7b699674c151e9d479"><code>c9f11e2</code></a>
Docs/improved dashboard docs (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3484">#3484</a>)</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/35baf9f1c56dafa39aa3ca17a9cde54696c7f065"><code>35baf9f</code></a>
fix(clickhouse): correct metadata sort keys to avoid full scans (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3851">#3851</a>)</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/ae7379a376eb4bd0fdb18579e7aa27c173a4b7c8"><code>ae7379a</code></a>
Updated documentation for pg pg_replication (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3900">#3900</a>)</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/1f4a059f12308c5e2de6604bcd7172b14b70f5ea"><code>1f4a059</code></a>
feat(snowflake): Extend Snowflake query tags beyond load jobs (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3759">#3759</a>)</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/5b290680a6e577e8a226d665ebda5a4d36d2486c"><code>5b29068</code></a>
fix(pyarrow): preserve string encoding for UUID columns under pyarrow
24+ (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3">#3</a>...</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/679e0e26953f4846679e63fb25c4c43d6f889b01"><code>679e0e2</code></a>
docs: add the link to the Snowflake marketplace listing (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3888">#3888</a>)</li>
<li><a
href="https://github.com/dlt-hub/dlt/commit/488bd3946fe912d43185b98e28638bc6d89cab80"><code>488bd39</code></a>
fix: clearer error from <code>dlt.attach()</code> when pipeline cannot
be restored (<a
href="https://redirect.github.com/dlt-hub/dlt/issues/3890">#3890</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dlt-hub/dlt/compare/1.20.0...1.26.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `pyiceberg[pyiceberg-core]` to 0.11.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/apache/iceberg-python/releases">pyiceberg[pyiceberg-core]'s
releases</a>.</em></p>
<blockquote>
<h2>pyiceberg-0.11.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Accept all valid http method for IRC's ConfigResponse by <a
href="https://github.com/sumanth-manchala"><code>@sumanth-manchala</code></a>
in <a
href="https://redirect.github.com/apache/iceberg-python/pull/3010">apache/iceberg-python#3010</a></li>
<li>fix: add Field alias for
SetPartitionStatisticsUpdate.partition_stati… by <a
href="https://github.com/shiwk"><code>@shiwk</code></a> in <a
href="https://redirect.github.com/apache/iceberg-python/pull/3035">apache/iceberg-python#3035</a></li>
<li>fix: Extract ADLS account_name from URI hostname in FsspecFileIO by
<a href="https://github.com/antonlin1"><code>@antonlin1</code></a> in
<a
href="https://redirect.github.com/apache/iceberg-python/pull/3005">apache/iceberg-python#3005</a></li>
<li>fix ssl deactivation from catalog properties <a
href="https://redirect.github.com/apache/iceberg-python/issues/2985">#2985</a>
by <a href="https://github.com/MenelikV"><code>@MenelikV</code></a> in
<a
href="https://redirect.github.com/apache/iceberg-python/pull/3012">apache/iceberg-python#3012</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/apache/iceberg-python/compare/pyiceberg-0.11.0...pyiceberg-0.11.1">https://github.com/apache/iceberg-python/compare/pyiceberg-0.11.0...pyiceberg-0.11.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/apache/iceberg-python/commit/8dee48a8e0218353f706133ed035334869a7ee12"><code>8dee48a</code></a>
Fix SSL deactivation using catalog properties (<a
href="https://redirect.github.com/apache/iceberg-python/issues/3012">#3012</a>)</li>
<li><a
href="https://github.com/apache/iceberg-python/commit/f718209daffc49dc366ed818a4916873d2e507d2"><code>f718209</code></a>
fix: Extract ADLS account_name from URI hostname in FsspecFileIO (<a
href="https://redirect.github.com/apache/iceberg-python/issues/3005">#3005</a>)</li>
<li><a
href="https://github.com/apache/iceberg-python/commit/97f2d4695faf997aae2e6d2b6df129bb50efa62f"><code>97f2d46</code></a>
bump to 0.11.1</li>
<li><a
href="https://github.com/apache/iceberg-python/commit/c1ac2315c138cebec6e8fefcf15475c51a31ab46"><code>c1ac231</code></a>
fix: add Field alias for SetPartitionStatisticsUpdate (<a
href="https://redirect.github.com/apache/iceberg-python/issues/3035">#3035</a>)</li>
<li><a
href="https://github.com/apache/iceberg-python/commit/62c909bdeefd2f86f143d611b167ace426489c53"><code>62c909b</code></a>
fix: Accept all valid http method for IRC's ConfigResponse (<a
href="https://redirect.github.com/apache/iceberg-python/issues/3010">#3010</a>)</li>
<li>See full diff in <a
href="https://github.com/apache/iceberg-python/compare/pyiceberg-0.11.0...pyiceberg-0.11.1">compare
view</a></li>
</ul>
</details>
<br />
Updates `click` from 8.3.1 to 8.3.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/click/releases">click's
releases</a>.</em></p>
<blockquote>
<h2>8.3.3</h2>
<p>This is the Click 8.3.3 fix release, which fixes bugs but does not
otherwise change behavior and should not result in breaking changes
compared to the latest feature release.</p>
<p>PyPI: <a
href="https://pypi.org/project/click/8.3.3/">https://pypi.org/project/click/8.3.3/</a>
Changes: <a
href="https://click.palletsprojects.com/page/changes/#version-8-3-3">https://click.palletsprojects.com/page/changes/#version-8-3-3</a>
Milestone: <a
href="https://github.com/pallets/click/milestone/30">https://github.com/pallets/click/milestone/30</a></p>
<ul>
<li>Use :func:<code>shlex.split</code> to split pager and editor
commands into <code>argv</code>
lists for :class:<code>subprocess.Popen</code>, removing
<code>shell=True</code>.
<a
href="https://redirect.github.com/pallets/click/issues/1026">#1026</a>
<a
href="https://redirect.github.com/pallets/click/issues/1477">#1477</a>
<a
href="https://redirect.github.com/pallets/click/issues/2775">#2775</a></li>
<li>Fix <code>TypeError</code> when rendering help for an option whose
default value is
an object that doesn't support equality comparison with strings, such as
<code>semver.Version</code>. <a
href="https://redirect.github.com/pallets/click/issues/3298">#3298</a>
<a
href="https://redirect.github.com/pallets/click/issues/3299">#3299</a></li>
<li>Fix pager test pollution under parallel execution by using pytest's
<code>tmp_path</code> fixture instead of a shared temporary file path.
<a
href="https://redirect.github.com/pallets/click/issues/3238">#3238</a></li>
<li>Treat <code>Sentinel.UNSET</code> values in a
<code>default_map</code> as absent, so they fall
through to the next default source instead of being used as the value.
<a
href="https://redirect.github.com/pallets/click/issues/3224">#3224</a>
<a
href="https://redirect.github.com/pallets/click/issues/3240">#3240</a></li>
<li>Patch <code>pdb.Pdb</code> in <code>CliRunner</code> isolation so
<code>pdb.set_trace()</code>,
<code>breakpoint()</code>, and debuggers subclassing
<code>pdb.Pdb</code> (ipdb, pdbpp) can
interact with the real terminal instead of the captured I/O streams.
<a href="https://redirect.github.com/pallets/click/issues/654">#654</a>
<a href="https://redirect.github.com/pallets/click/issues/824">#824</a>
<a href="https://redirect.github.com/pallets/click/issues/843">#843</a>
<a href="https://redirect.github.com/pallets/click/issues/951">#951</a>
<a
href="https://redirect.github.com/pallets/click/issues/3235">#3235</a></li>
<li>Add optional randomized parallel test execution using
<code>pytest-randomly</code> and
<code>pytest-xdist</code> to detect test pollution and race conditions.
<a
href="https://redirect.github.com/pallets/click/issues/3151">#3151</a></li>
<li>Add contributor documentation for running stress tests, randomized
parallel tests, and Flask smoke tests. <a
href="https://redirect.github.com/pallets/click/issues/3151">#3151</a>
<a
href="https://redirect.github.com/pallets/click/issues/3177">#3177</a></li>
<li>Show custom <code>show_default</code> string in prompts, matching
the existing
help text behavior. <a
href="https://redirect.github.com/pallets/click/issues/2836">#2836</a>
<a
href="https://redirect.github.com/pallets/click/issues/2837">#2837</a>
<a
href="https://redirect.github.com/pallets/click/issues/3165">#3165</a>
<a
href="https://redirect.github.com/pallets/click/issues/3262">#3262</a>
<a
href="https://redirect.github.com/pallets/click/issues/3280">#3280</a>
<a
href="https://redirect.github.com/pallets/click/issues/3328">#3328</a></li>
<li>Fix <code>default=True</code> with boolean <code>flag_value</code>
always returning the
<code>flag_value</code> instead of <code>True</code>. The
<code>default=True</code> to <code>flag_value</code>
substitution now only applies to non-boolean flags, where
<code>True</code> acts as a
sentinel meaning "activate this flag by default". For boolean
flags,
<code>default=True</code> is returned as a literal value. <a
href="https://redirect.github.com/pallets/click/issues/3111">#3111</a>
<a
href="https://redirect.github.com/pallets/click/issues/3239">#3239</a></li>
<li>Mark <code>make_default_short_help</code> as private API. <a
href="https://redirect.github.com/pallets/click/issues/3189">#3189</a>
<a
href="https://redirect.github.com/pallets/click/issues/3250">#3250</a></li>
<li><code>CliRunner</code>'s redirected streams now expose the original
file descriptor
via <code>fileno()</code>, so that <code>faulthandler</code>,
<code>subprocess</code>, and other
C-level consumers no longer crash with
<code>io.UnsupportedOperation</code>.
<a
href="https://redirect.github.com/pallets/click/issues/2865">#2865</a></li>
<li>Change :class:<code>ParameterSource</code> to an
:class:<code>~enum.IntEnum</code> and reorder
its members from most to least explicit, so values can be compared to
check whether a parameter was explicitly provided. <a
href="https://redirect.github.com/pallets/click/issues/2879">#2879</a>
<a
href="https://redirect.github.com/pallets/click/issues/3248">#3248</a></li>
</ul>
<h2>8.3.2</h2>
<p>This is the Click 8.3.2 fix release, which fixes bugs but does not
otherwise change behavior and should not result in breaking changes
compared to the latest feature release.</p>
<p>PyPI: <a
href="https://pypi.org/project/click/8.3.2/">https://pypi.org/project/click/8.3.2/</a>
Changes: <a
href="https://click.palletsprojects.com/page/changes/#version-8-3-2">https://click.palletsprojects.com/page/changes/#version-8-3-2</a>
Milestone: <a
href="https://github.com/pallets/click/milestone/29">https://github.com/pallets/click/milestone/29</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/click/blob/main/CHANGES.rst">click's
changelog</a>.</em></p>
<blockquote>
<h2>Version 8.3.3</h2>
<p>Released 2026-04-20</p>
<ul>
<li>Use :func:<code>shlex.split</code> to split pager and editor
commands into <code>argv</code>
lists for :class:<code>subprocess.Popen</code>, removing
<code>shell=True</code>.
:issue:<code>1026</code> :pr:<code>1477</code>
:pr:<code>2775</code></li>
<li>Fix <code>TypeError</code> when rendering help for an option whose
default value is
an object that doesn't support equality comparison with strings, such as
<code>semver.Version</code>. :issue:<code>3298</code>
:pr:<code>3299</code></li>
<li>Fix pager test pollution under parallel execution by using pytest's
<code>tmp_path</code> fixture instead of a shared temporary file path.
:pr:<code>3238</code></li>
<li>Treat <code>Sentinel.UNSET</code> values in a
<code>default_map</code> as absent, so they fall
through to the next default source instead of being used as the value.
:issue:<code>3224</code> :pr:<code>3240</code></li>
<li>Patch <code>pdb.Pdb</code> in <code>CliRunner</code> isolation so
<code>pdb.set_trace()</code>,
<code>breakpoint()</code>, and debuggers subclassing
<code>pdb.Pdb</code> (ipdb, pdbpp) can
interact with the real terminal instead of the captured I/O streams.
:issue:<code>654</code> :issue:<code>824</code> :issue:<code>843</code>
:pr:<code>951</code> :pr:<code>3235</code></li>
<li>Add optional randomized parallel test execution using
<code>pytest-randomly</code> and
<code>pytest-xdist</code> to detect test pollution and race conditions.
:pr:<code>3151</code></li>
<li>Add contributor documentation for running stress tests, randomized
parallel tests, and Flask smoke tests. :pr:<code>3151</code>
:pr:<code>3177</code></li>
<li>Show custom <code>show_default</code> string in prompts, matching
the existing
help text behavior. :issue:<code>2836</code> :pr:<code>2837</code>
:pr:<code>3165</code> :pr:<code>3262</code> :pr:<code>3280</code>
:pr:<code>3328</code></li>
<li>Fix <code>default=True</code> with boolean <code>flag_value</code>
always returning the
<code>flag_value</code> instead of <code>True</code>. The
<code>default=True</code> to <code>flag_value</code>
substitution now only applies to non-boolean flags, where
<code>True</code> acts as a
sentinel meaning "activate this flag by default". For boolean
flags,
<code>default=True</code> is returned as a literal value.
:issue:<code>3111</code> :pr:<code>3239</code></li>
<li>Mark <code>make_default_short_help</code> as private API.
:issue:<code>3189</code> :pr:<code>3250</code></li>
<li><code>CliRunner</code>'s redirected streams now expose the original
file descriptor
via <code>fileno()</code>, so that <code>faulthandler</code>,
<code>subprocess</code>, and other
C-level consumers no longer crash with
<code>io.UnsupportedOperation</code>.
:issue:<code>2865</code></li>
<li>Change :class:<code>ParameterSource</code> to an
:class:<code>~enum.IntEnum</code> and reorder
its members from most to least explicit, so values can be compared to
check whether a parameter was explicitly provided.
:issue:<code>2879</code> :pr:<code>3248</code></li>
</ul>
<h2>Version 8.3.2</h2>
<p>Released 2026-04-02</p>
<ul>
<li>Fix handling of <code>flag_value</code> when
<code>is_flag=False</code> to allow such options to be
used without an explicit value. :issue:<code>3084</code>
:pr:<code>3152</code></li>
<li>Hide <code>Sentinel.UNSET</code> values as <code>None</code> when
using <code>lookup_default()</code>.
:issue:<code>3136</code> :pr:<code>3199</code> :pr:<code>3202</code>
:pr:<code>3209</code> :pr:<code>3212</code> :pr:<code>3224</code></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pallets/click/commit/c06d2d0a6aee6bcc50bd8257be2a4a592f4e75d0"><code>c06d2d0</code></a>
Release 8.3.3</li>
<li><a
href="https://github.com/pallets/click/commit/f1f191ecd2c790b161187c78e7c88440e9524e5c"><code>f1f191e</code></a>
Apply format guidelines to commits since latest 8.3.2 release (<a
href="https://redirect.github.com/pallets/click/issues/3343">#3343</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/bb59ba0fd279ca085d1113f0499b6a602ca31081"><code>bb59ba0</code></a>
Apply format guidelines to commits since latest 8.3.2 release</li>
<li><a
href="https://github.com/pallets/click/commit/4a352253c9ff013e36d11e4a6820d36d00ff2cd4"><code>4a35225</code></a>
Reduce blast-radius of <code>UNSET</code> in <code>default_map</code>
(<a
href="https://redirect.github.com/pallets/click/issues/3240">#3240</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/c07bb936de43fd303f9cfbefe248ab23fd2199c8"><code>c07bb93</code></a>
Merge branch 'stable' into unset-in-default-map</li>
<li><a
href="https://github.com/pallets/click/commit/c7e1ba8448cbcb2cdd9c1c7f4a592e863dcc3995"><code>c7e1ba8</code></a>
Reorder <code>ParameterSource</code> (<a
href="https://redirect.github.com/pallets/click/issues/3248">#3248</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/76552ff1e8c85837f911fc34037e702ae4327eda"><code>76552ff</code></a>
Show default string in prompt (<a
href="https://redirect.github.com/pallets/click/issues/3328">#3328</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/ac5cec5fe54e5a691e7bac17f441ce9498e0744c"><code>ac5cec5</code></a>
Reorder ParameterSource from most to least explicit</li>
<li><a
href="https://github.com/pallets/click/commit/8c452e00e6772931b7071d9316b82b77e5b8f280"><code>8c452e0</code></a>
Merge branch 'stable' into show-default-string-in-prompt</li>
<li><a
href="https://github.com/pallets/click/commit/8c95c73bd5ef89eac638f85f1904a104ba4b1a32"><code>8c95c73</code></a>
Reconcile default value passing and default activation (<a
href="https://redirect.github.com/pallets/click/issues/3239">#3239</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/click/compare/8.3.1...8.3.3">compare
view</a></li>
</ul>
</details>
<br />
Updates `sqlalchemy` from 2.0.48 to 2.0.49
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sqlalchemy/sqlalchemy/releases">sqlalchemy's
releases</a>.</em></p>
<blockquote>
<h1>2.0.49</h1>
<p>Released: April 3, 2026</p>
<h2>orm</h2>
<ul>
<li>
<p><strong>[orm] [bug]</strong> Fixed issue where
<code>_orm.Session.get()</code> would bypass the identity map
and emit unnecessary SQL when <code>with_for_update=False</code> was
passed,
rather than treating it equivalently to the default of
<code>None</code>.
Pull request courtesy of Joshua Swanson.</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/13176">#13176</a></p>
</li>
<li>
<p><strong>[orm] [bug]</strong> Fixed issue where chained
<code>_orm.joinedload()</code> options would not be
applied correctly when the final relationship in the chain is declared
on a
base mapper and accessed through a subclass mapper in a
<code>_orm.with_polymorphic()</code> query. The path registry now
correctly
computes the natural path when a property declared on a base class is
accessed through a path containing a subclass mapper, ensuring the
loader
option can be located during query compilation.</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/13193">#13193</a></p>
</li>
<li>
<p><strong>[orm] [bug] [inheritance]</strong> Fixed issue where using
<code>_orm.Load.options()</code> to apply a chained loader
option such as <code>_orm.joinedload()</code> or
<code>_orm.selectinload()</code> with
<code>_orm.PropComparator.of_type()</code> for a polymorphic
relationship would
not generate the necessary clauses for the polymorphic subclasses. The
polymorphic loading strategy is now correctly propagated when using a
call
such as
<code>joinedload(A.b).options(joinedload(B.c.of_type(poly)))</code> to
match
the behavior of direct chaining e.g.
<code>joinedload(A.b).joinedload(B.c.of_type(poly))</code>.</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/13202">#13202</a></p>
</li>
<li>
<p><strong>[orm] [bug] [inheritance]</strong> Fixed issue where using
chained loader options such as
<code>_orm.selectinload()</code> after <code>_orm.joinedload()</code>
with
<code>_orm.PropComparator.of_type()</code> for a polymorphic
relationship would
not properly apply the chained loader option. The loader option is now
correctly applied when using a call such as
<code>joinedload(A.b.of_type(poly)).selectinload(poly.SubClass.c)</code>
to eagerly
load related objects.</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/13209">#13209</a></p>
</li>
</ul>
<h2>typing</h2>
<ul>
<li><strong>[typing] [bug]</strong> Fixed a typing issue where the typed
members of :data:<code>.func</code> would return
the appropriate class of the same name, however this creates an issue
for</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/sqlalchemy/sqlalchemy/commits">compare
view</a></li>
</ul>
</details>
<br />
Updates `pydantic-settings` from 2.13.1 to 2.14.1
<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.14.1</h2>
<h2>What's Changed</h2>
<ul>
<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/850">pydantic/pydantic-settings#850</a></li>
<li>Bump the python-packages group with 5 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/854">pydantic/pydantic-settings#854</a></li>
<li>Bump the github-actions group with 3 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/853">pydantic/pydantic-settings#853</a></li>
<li>Bump the python-packages group with 2 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/856">pydantic/pydantic-settings#856</a></li>
<li>Fix field named <code>cls</code> conflicting with classmethod
parameter by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/858">pydantic/pydantic-settings#858</a></li>
<li>Prepare release 2.14.1 by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/859">pydantic/pydantic-settings#859</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1">https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1</a></p>
<h2>v2.14.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix parsing env vars into Optional Strict types by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/792">pydantic/pydantic-settings#792</a></li>
<li>Fix RecursionError with mutually recursive models in CLI by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/794">pydantic/pydantic-settings#794</a></li>
<li>Fix env_file from model_config ignored in CliApp.run() (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/795">#795</a>)
by <a href="https://github.com/hramezani"><code>@hramezani</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/796">pydantic/pydantic-settings#796</a></li>
<li>Update dependencies by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/798">pydantic/pydantic-settings#798</a></li>
<li>Add Dependabot configuration by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/801">pydantic/pydantic-settings#801</a></li>
<li>Bump samuelcolvin/check-python-version from 4.1 to 5 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/802">pydantic/pydantic-settings#802</a></li>
<li>Bump actions/upload-artifact from 4 to 7 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/803">pydantic/pydantic-settings#803</a></li>
<li>Bump actions/checkout from 4 to 6 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/804">pydantic/pydantic-settings#804</a></li>
<li>Bump astral-sh/setup-uv from 5 to 7 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/805">pydantic/pydantic-settings#805</a></li>
<li>Bump actions/setup-python from 5 to 6 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/806">pydantic/pydantic-settings#806</a></li>
<li>Ignore chardet and group GitHub Actions in Dependabot by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/808">pydantic/pydantic-settings#808</a></li>
<li>Bump actions/download-artifact from 4 to 8 in the github-actions
group by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/809">pydantic/pydantic-settings#809</a></li>
<li>Bump the python-packages group with 2 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/810">pydantic/pydantic-settings#810</a></li>
<li>Support reading .env files from FIFOs (e.g. 1Password Environments)
by <a href="https://github.com/JacobHayes"><code>@JacobHayes</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/776">pydantic/pydantic-settings#776</a></li>
<li>Fix AliasChoices ignored when changing provider priority by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/813">pydantic/pydantic-settings#813</a></li>
<li>fix: resolve KeyError in run_subcommand for underscore field names
by <a
href="https://github.com/bradykieffer"><code>@bradykieffer</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/799">pydantic/pydantic-settings#799</a></li>
<li>Bump the python-packages group with 3 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/814">pydantic/pydantic-settings#814</a></li>
<li>Fix <code>Literal[numeric Enum]</code> coercion for CLI and env vars
by <a href="https://github.com/m9810223"><code>@m9810223</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/811">pydantic/pydantic-settings#811</a></li>
<li>Fix nested discriminated unions not discovered by env/CLI providers
by <a href="https://github.com/hramezani"><code>@hramezani</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/816">pydantic/pydantic-settings#816</a></li>
<li>Bump the python-packages group with 3 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/820">pydantic/pydantic-settings#820</a></li>
<li>CLI ensure env nested max split internally. by <a
href="https://github.com/kschwab"><code>@kschwab</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/821">pydantic/pydantic-settings#821</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/824">pydantic/pydantic-settings#824</a></li>
<li>Migrate <code>boto3-stubs</code> to <code>types-boto3</code> by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/831">pydantic/pydantic-settings#831</a></li>
<li>Fix CLI not recognizing field name with validate_by_name and
AliasChoices by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/826">pydantic/pydantic-settings#826</a></li>
<li>Allow customisation of the dotevn setting source to filter variables
by <a href="https://github.com/CaselIT"><code>@CaselIT</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/832">pydantic/pydantic-settings#832</a></li>
<li>Bump the python-packages group with 3 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/833">pydantic/pydantic-settings#833</a></li>
<li>Introduce yamlfmt by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/836">pydantic/pydantic-settings#836</a></li>
<li>Bump boto3 from 1.42.82 to 1.42.83 in the python-packages group by
<a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/837">pydantic/pydantic-settings#837</a></li>
<li>Introduce zizmor by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/838">pydantic/pydantic-settings#838</a></li>
<li>Fix CliPositionalArg[list[CustomType]] crash for custom types by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/839">pydantic/pydantic-settings#839</a></li>
<li>Add note about Mypy plugin for <code>BaseSettings.__init__()</code>
by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/842">pydantic/pydantic-settings#842</a></li>
<li>Fix <code>cli_ignore_unknown_args=True</code> not working on
subcommands by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/844">pydantic/pydantic-settings#844</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/847">pydantic/pydantic-settings#847</a></li>
<li>Fix CLI descriptions lost under <code>python -OO</code> by falling
back to <code>json_schema_extra</code> by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/843">pydantic/pydantic-settings#843</a></li>
<li>Prepare release 2.14.0 by <a
href="https://github.com/hramezani"><code>@hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/848">pydantic/pydantic-settings#848</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/e95c30bec8cfaee88ee275138c064aea97a25bdf"><code>e95c30b</code></a>
Prepare release 2.14.1 (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/859">#859</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/0c8734581b6cf70a995afad603ac456631d00621"><code>0c87345</code></a>
Fix field named <code>cls</code> conflicting with classmethod parameter
(<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/858">#858</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/7bd0072795a800065b42210b6dca90fc9b83daf7"><code>7bd0072</code></a>
Bump the python-packages group with 2 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/856">#856</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/b03e573d017ed48e1c2774a5e0b715db9766c76b"><code>b03e573</code></a>
Bump the github-actions group with 3 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/853">#853</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/eaa3b434938411ec8a3717ea646614561e713f51"><code>eaa3b43</code></a>
Bump the python-packages group with 5 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/854">#854</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/9f95615c24c6813c1d7d203576581a79cb6d9e8e"><code>9f95615</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/850">#850</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/8916beeecc6d0510e3d0532a0ed839937400ddc3"><code>8916bee</code></a>
Prepare release 2.14.0 (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/848">#848</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/39e551c0910c85505b608ff85a103b2c9f7396c5"><code>39e551c</code></a>
Fix CLI descriptions lost under <code>python -OO</code> by falling back
to `json_schema_...</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/9ed7f48ea2c90f436a03b01f721fe6656c869b14"><code>9ed7f48</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/847">#847</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/617c690fb16c95eb0fb98fc88c0d6d82b9af4fa9"><code>617c690</code></a>
Fix <code>cli_ignore_unknown_args=True</code> not working on subcommands
(<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/844">#844</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.13.1...v2.14.1">compare
view</a></li>
</ul>
</details>
<br />
Updates `authlib` from 1.6.9 to 1.7.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/authlib/authlib/releases">authlib's
releases</a>.</em></p>
<blockquote>
<h2>v1.7.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix the readme links by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/886">authlib/authlib#886</a></li>
<li>Allow non-recommended algorithms in ClientSecretJWT and PrivateKey
by <a href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/887">authlib/authlib#887</a></li>
<li>Validate BCP47 language tags with a regex by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/873">authlib/authlib#873</a></li>
<li>Fix RFC7523 signing with non RSA keys by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/884">authlib/authlib#884</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/authlib/authlib/compare/v1.7.1...v1.7.2">https://github.com/authlib/authlib/compare/v1.7.1...v1.7.2</a></p>
<h2>v1.7.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix authlib.jose deprecation warning poping from _joserfc_helpers by
<a href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/881">authlib/authlib#881</a></li>
<li>Fix redirecting to unvalidated <code>redirect_uri</code> on
<code>InvalidScopeError</code> in <code>OpenIDImplicitGrant</code> and
<code>OpenIDHybridGrant</code>.</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/authlib/authlib/compare/v1.7.0...v1.7.1">https://github.com/authlib/authlib/compare/v1.7.0...v1.7.1</a></p>
<h2>v1.7.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Authorization and token endpoints request empty scope parameter
management by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/847">authlib/authlib#847</a></li>
<li>Support from Python 3.10 to 3.14 by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/850">authlib/authlib#850</a></li>
<li>Allow composition of AuthorizationServerMetadata by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/853">authlib/authlib#853</a></li>
<li>Make require_oauth parenthesis optional by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/855">authlib/authlib#855</a></li>
<li>Fix <code>expires_at</code> behavior when its value is 0 by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/854">authlib/authlib#854</a></li>
<li>Migration to joserfc by <a
href="https://github.com/lepture"><code>@lepture</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/852">authlib/authlib#852</a></li>
<li>RP-initiated logout by <a
href="https://github.com/frohrlich"><code>@frohrlich</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/849">authlib/authlib#849</a></li>
<li>Fix <code>get_jwt_config</code> by <a
href="https://github.com/lepture"><code>@lepture</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/858">authlib/authlib#858</a></li>
<li>chore(ci): Update PyPy version from 3.10 to 3.11 by <a
href="https://github.com/cclauss"><code>@cclauss</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/863">authlib/authlib#863</a></li>
<li>fix: remove "none" from default authlib.jose.jwt
algorithms by <a
href="https://github.com/lepture"><code>@lepture</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/860">authlib/authlib#860</a></li>
<li>fix: normalize resolve_client_public_key method by <a
href="https://github.com/lepture"><code>@lepture</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/861">authlib/authlib#861</a></li>
<li>Implement rfc9700 PKCE downgrade countermeasure by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/864">authlib/authlib#864</a></li>
<li>Use correct syntax for tox.requires in tox.ini by <a
href="https://github.com/alex-ball"><code>@alex-ball</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/868">authlib/authlib#868</a></li>
<li>Set client session User-Agent when fetching server metadata and JWKs
by <a href="https://github.com/alex-ball"><code>@alex-ball</code></a>
in <a
href="https://redirect.github.com/authlib/authlib/pull/867">authlib/authlib#867</a></li>
<li>fix: use the real application object for Flask by <a
href="https://github.com/nblock"><code>@nblock</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/869">authlib/authlib#869</a></li>
<li>Accept the issuer URL as a valid audience by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/865">authlib/authlib#865</a></li>
<li>Don't nest InvalidTokenError extra attribute by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/872">authlib/authlib#872</a></li>
<li>Documentation overhaul by <a
href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/875">authlib/authlib#875</a></li>
<li>Update README.md docs.authlib.org/en/latest =>
docs.authlib.org/en/stable by <a
href="https://github.com/guillett"><code>@guillett</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/876">authlib/authlib#876</a></li>
<li>Merge release/1.6 branch by <a
href="https://github.com/lepture"><code>@lepture</code></a> in <a
href="https://redirect.github.com/authlib/authlib/pull/877">authlib/authlib#877</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/frohrlich"><code>@frohrlich</code></a>
made their first contribution in <a
href="https://redirect.github.com/authlib/authlib/pull/849">authlib/authlib#849</a></li>
<li><a href="https://github.com/cclauss"><code>@cclauss</code></a> made
their first contribution in <a
href="https://redirect.github.com/authlib/authlib/pull/863">authlib/authlib#863</a></li>
<li><a href="https://github.com/alex-ball"><code>@alex-ball</code></a>
made their first contribution in <a
href="https://redirect.github.com/authlib/authlib/pull/868">authlib/authlib#868</a></li>
<li><a href="https://github.com/nblock"><code>@nblock</code></a> made
their first contribution in <a
href="https://redirect.github.com/authlib/authlib/pull/869">authlib/authlib#869</a></li>
<li><a href="https://github.com/guillett"><code>@guillett</code></a>
made their first contribution in <a
href="https://redirect.github.com/authlib/authlib/pull/876">authlib/authlib#876</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/authlib/authlib/compare/v1.6.10...v1.7.0">https://github.com/authlib/authlib/compare/v1.6.10...v1.7.0</a></p>
<h2>v1.6.12</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/authlib/authlib/commit/a0b76fac3fa114d7759af2010546bfc332364b63"><code>a0b76fa</code></a>
chore: bump to 1.7.2</li>
<li><a
href="https://github.com/authlib/authlib/commit/c85c7f2b02faf2667f62b27aa60df042dbc9b4ab"><code>c85c7f2</code></a>
Merge pull request <a
href="https://redirect.github.com/authlib/authlib/issues/884">#884</a>
from azmeuk/852-rfc7523-key-import</li>
<li><a
href="https://github.com/authlib/authlib/commit/a3b2adda43b4452ba9f384d224f95848974b4eb4"><code>a3b2add</code></a>
Merge pull request <a
href="https://redirect.github.com/authlib/authlib/issues/873">#873</a>
from azmeuk/bcp47</li>
<li><a
href="https://github.com/authlib/authlib/commit/f2578eaa198aedbaaaf3bb00eccc451e15e45e3a"><code>f2578ea</code></a>
fix: Import RSAKey in auth.py for additional key support</li>
<li><a
href="https://github.com/authlib/authlib/commit/b57182cf46a53da19623208dd852270ddec8ebcc"><code>b57182c</code></a>
fix: fallback support RSAKey when client_secret is text</li>
<li><a
href="https://github.com/authlib/authlib/commit/4e7590292ca9f948a0766640b27025618750e6c1"><code>4e75902</code></a>
Merge branch 'main' into 852-rfc7523-key-import</li>
<li><a
href="https://github.com/authlib/authlib/commit/5eb4a860600ea2f3acc1a2a9c3e621a430da9d0f"><code>5eb4a86</code></a>
Merge pull request <a
href="https://redirect.github.com/authlib/authlib/issues/887">#887</a>
from azmeuk/883-alg</li>
<li><a
href="https://github.com/authlib/authlib/commit/5633f37c47bd8352b962f982cb916bc8b95bb5d5"><code>5633f37</code></a>
fix: allow non-recommended algorithms in ClientSecretJWT and
PrivateKeyJWT</li>
<li><a
href="https://github.com/authlib/authlib/commit/4c8e7b381aaef68f60e2323a25ba96cdb346f82f"><code>4c8e7b3</code></a>
Merge pull request <a
href="https://redirect.github.com/authlib/authlib/issues/886">#886</a>
from azmeuk/885-readme</li>
<li><a
href="https://github.com/authlib/authlib/commit/23b333e48a17ebf9f032a0e0f9eb3f990a06f97b"><code>23b333e</code></a>
docs: fix the readme links</li>
<li>Additional commits viewable in <a
href="https://github.com/authlib/authlib/compare/v1.6.9...v1.7.2">compare
view</a></li>
</ul>
</details>
<br />
Updates `prek` from 0.3.8 to 0.3.13
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/j178/prek/releases">prek's
releases</a>.</em></p>
<blockquote>
<h2>0.3.13</h2>
<h2>Release Notes</h2>
<p>Released on 2026-05-06.</p>
<h3>Bug fixes</h3>
<ul>
<li>Respect hook filters for message files (<a
href="https://redirect.github.com/j178/prek/pull/2049">#2049</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add Godot Engine to users in README (<a
href="https://redirect.github.com/j178/prek/pull/2047">#2047</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/j178"><code>@j178</code></a></li>
<li><a href="https://github.com/Calinou"><code>@Calinou</code></a></li>
</ul>
<h2>Install prek 0.3.13</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/j178/prek/releases/download/v0.3.13/prek-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm
https://github.com/j178/prek/releases/download/v0.3.13/prek-installer.ps1
| iex"
</code></pre>
<h3>Install prebuilt binaries via Homebrew</h3>
<pre lang="sh"><code>brew install prek
</code></pre>
<h2>Download prek 0.3.13</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-apple-darwin.tar.gz">prek-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-x86_64-apple-darwin.tar.gz">prek-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-pc-windows-msvc.zip">prek-aarch64-pc-windows-msvc.zip</a></td>
<td>ARM64 Windows</td>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-i686-pc-windows-msvc.zip">prek-i686-pc-windows-msvc.zip</a></td>
<td>x86 Windows</td>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-i686-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-x86_64-pc-windows-msvc.zip">prek-x86_64-pc-windows-msvc.zip</a></td>
<td>x64 Windows</td>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-unknown-linux-gnu.tar.gz">prek-aarch64-unknown-linux-gnu.tar.gz</a></td>
<td>ARM64 Linux</td>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-i686-unknown-linux-gnu.tar.gz">prek-i686-unknown-linux-gnu.tar.gz</a></td>
<td>x86 Linux</td>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-i686-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-riscv64gc-unknown-linux-gnu.tar.gz">prek-riscv64gc-unknown-linux-gnu.tar.gz</a></td>
<td>RISCV Linux</td>
<td><a
href="https://github.com/j178/prek/releases/download/v0.3.13/prek-riscv64gc-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/j178/prek/blob/master/CHANGELOG.md">prek's
changelog</a>.</em></p>
<blockquote>
<h2>0.3.13</h2>
<p>Released on 2026-05-06.</p>
<h3>Bug fixes</h3>
<ul>
<li>Respect hook filters for message files (<a
href="https://redirect.github.com/j178/prek/pull/2049">#2049</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add Godot Engine to users in README (<a
href="https://redirect.github.com/j178/prek/pull/2047">#2047</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/j178"><code>@j178</code></a></li>
<li><a href="https://github.com/Calinou"><code>@Calinou</code></a></li>
</ul>
<h2>0.3.12</h2>
<p>Released on 2026-05-05.</p>
<h3>Highlights</h3>
<p><code>auto_update.cooldown_days</code> is now available in both the
user-level global
config (<code>~/.config/prek/prek.toml</code> on Linux and macOS, or
<code>$XDG_CONFIG_HOME/prek/prek.toml</code> when set;
<code>%APPDATA%\prek\prek.toml</code> on
Windows) and project config. Set a user default for <code>prek
auto-update</code>, then
override it per project when a repository needs a different update
cadence.</p>
<pre lang="toml"><code>[auto_update]
cooldown_days = 7
</code></pre>
<h3>Enhancements</h3>
<ul>
<li>Add global auto-update cooldown config (<a
href="https://redirect.github.com/j178/prek/pull/2041">#2041</a>)</li>
<li>Add project auto-update cooldown config (<a
href="https://redirect.github.com/j178/prek/pull/2044">#2044</a>)</li>
<li>Support <code>language: dart</code> (<a
href="https://redirect.github.com/j178/prek/pull/1146">#1146</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Pass commit message file to workspace hooks (<a
href="https://redirect.github.com/j178/prek/pull/2043">#2043</a>)</li>
<li>Preserve non-UTF8 filenames from git (<a
href="https://redirect.github.com/j178/prek/pull/2023">#2023</a>)</li>
<li>ruby: put resolved Ruby's bin dir on <code>$PATH</code> for
<code>gem</code> invocations (<a
href="https://redirect.github.com/j178/prek/pull/2021">#2021</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Update docs with the new logo and icon (<a
href="https://redirect.github.com/j178/prek/pull/2025">#2025</a>)</li>
<li>Point schema docs to SchemaStore (<a
href="https://redirect.github.com/j178/prek/pull/2039">#2039</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/j178/prek/commit/81b290ef0630d1e130dc37ae1916da0e51b8a002"><code>81b290e</code></a>
Bump version to 0.3.13 (<a
href="https://redirect.github.com/j178/prek/issues/2050">#2050</a>)</li>
<li><a
href="https://github.com/j178/prek/commit/3f5e5c6e54bdd9b1640228cdd69a449e18ddf9f8"><code>3f5e5c6</code></a>
Respect hook filters for message files (<a
href="https://redirect.github.com/j178/prek/issues/2049">#2049</a>)</li>
<li><a
href="https://github.com/j178/prek/commit/1fab88775affde4fd0c75b2f9102a5df88195efc"><code>1fab887</code></a>
Add Godot Engine to users in README (<a
href="https://redirect.github.com/j178/prek/issues/2047">#2047</a>)</li>
<li><a
href="https://github.com/j178/prek/commit/93a71e0b730d30d2fa56f9e47f2a293beb007988"><code>93a71e0</code></a>
Remove deleted <code>dist/post/index.cjs</code> from publish prek
version workflow (<a
href="https://redirect.github.com/j178/prek/issues/2046">#2046</a>)</li>
<li><a
href="https://github.com/j178/prek/commit/56d6d0c13ef36a4ab6a705621fba41448f2b503d"><code>56d6d0c</code></a>
Bump version to 0.3.12 (<a
href="https://redirect.github.com/j178/prek/issues/2045">#2045</a>)</li>
<li><a
href="https://github.com/j178/prek/commit/5f94f6f8ea8e5df0fb6604b4b8ec63072e1dc8f3"><code>5f94f6f</code></a>
Add project auto-update cooldown config (<a
href="https://redirect.github.com/j178/prek/issues/2044">#2044</a>)</li>
<li><a
href="https://github.com/j178/prek/commit/c52833e9991584d03bcd7e2b6fc01fa43e1f0d09"><code>c52833e</code></a>
Add global auto-update cooldown</li>
<li><a
href="https://github.com/j178/prek/commit/8af3054dc690fd06fe91b2b0c0ca4fe8e4418051"><code>8af3054</code></a>
Pass commit message file to workspace hooks (<a
href="https://redirect.github.com/j178/prek/issues/2043">#2043</a>)</li>
<li><a
href="https://github.com/j178/prek/commit/1bf54f5fa9638ad66a7d0b160170da75de1eec81"><code>1bf54f5</code></a>
Update Rust crate serde-saphyr to 0.0.25 (<a
href="https://redirect.github.com/j178/prek/issues/2036">#2036</a>)</li>
<li><a
href="https://github.com/j178/prek/commit/8c9761a523bcb180ff35fcfcd8e85184f87eaceb"><code>8c9761a</code></a>
Bump rand to 0.9.4 (<a
href="https://redirect.github.com/j178/prek/issues/2040">#2040</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/j178/prek/compare/v0.3.8...v0.3.13">compare
view</a></li>
</ul>
</details>
<br />
Updates `pytest-httpx` from 0.36.0 to 0.36.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Colin-b/pytest_httpx/releases">pytest-httpx's
releases</a>.</em></p>
<blockquote>
<h2>0.36.2 (2026-04-09)</h2>
<h3>Fixed</h3>
<ul>
<li>Document how to ignore query parameters while matching on URL.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Colin-b/pytest_httpx/blob/develop/CHANGELOG.md">pytest-httpx's
changelog</a>.</em></p>
<blockquote>
<h2>[0.36.2] - 2026-04-09</h2>
<h3>Fixed</h3>
<ul>
<li>Document how to ignore query parameters while matching on URL.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/812116610f7006d33abb7136e01544751d3bc050"><code>8121166</code></a>
Re-release as 0.36.2</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/d5e42837cfbd3661f3d809a66d989211f3ae3c75"><code>d5e4283</code></a>
Bump version</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/66eeeb08706ca7b95a40edd0f6f10c1f97bf9a8a"><code>66eeeb0</code></a>
Release version 0.36.1</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/1be4693f114c4c5b1edea383ae7698c81c0ba22d"><code>1be4693</code></a>
Merge branch 'master' into develop</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/5acf97f71953a88af0ca2a86d66d376014f05c74"><code>5acf97f</code></a>
Release 0.36.1</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/71b9dd4c1ec052b8a2e97badc172988975796595"><code>71b9dd4</code></a>
Release 0.36.1</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/9714e5553ebdb9750df75f777dd9e8020493ac4d"><code>9714e55</code></a>
Cleanup project management</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/47e7e0228f9a933e9a2eabaa73c64942845e0749"><code>47e7e02</code></a>
Use commit sha as version</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/ede6a6d8f4e4406222b38b95ad2bb6957aac3f5a"><code>ede6a6d</code></a>
Update black to latest version</li>
<li><a
href="https://github.com/Colin-b/pytest_httpx/commit/7d8291ee3b34cc8339beef674529f66152197c1e"><code>7d8291e</code></a>
Use trusted publisher to publish to pypi</li>
<li>Additional commits viewable in <a
href="https://github.com/Colin-b/pytest_httpx/compare/v0.36.0...0.36.2">compare
view</a></li>
</ul>
</details>
<br />
Updates `requests` from 2.33.0 to 2.34.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/releases">requests's
releases</a>.</em></p>
<…1 parent fc10d20 commit 2ff665c
2 files changed
Lines changed: 132 additions & 119 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
| 21 | + | |
| 22 | + | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
| 37 | + | |
| 38 | + | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
0 commit comments