Commit 02427fa
authored
deps(python): bump the python-minor group with 7 updates (#3823)
Bumps the python-minor group with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [alembic](https://github.com/sqlalchemy/alembic) | `1.17.2` | `1.18.0`
|
| [numpy](https://github.com/numpy/numpy) | `2.4.0` | `2.4.1` |
| [scipy](https://github.com/scipy/scipy) | `1.16.3` | `1.17.0` |
| [pillow](https://github.com/python-pillow/Pillow) | `12.0.0` |
`12.1.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.14.11` |
| [plotly](https://github.com/plotly/plotly.py) | `6.5.0` | `6.5.1` |
| [bokeh](https://github.com/bokeh/bokeh) | `3.8.1` | `3.8.2` |
Updates `alembic` from 1.17.2 to 1.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sqlalchemy/alembic/releases">alembic's
releases</a>.</em></p>
<blockquote>
<h1>1.18.0</h1>
<p>Released: January 9, 2026</p>
<h2>feature</h2>
<ul>
<li>
<p><strong>[feature] [operations]</strong> When alembic is run in
"verbose" mode, alembic now logs a message to
indicate from which file is used to load the configuration.</p>
<p>References: <a
href="https://redirect.github.com/sqlalchemy/alembic/issues/1737">#1737</a></p>
</li>
<li>
<p><strong>[feature] [autogenerate]</strong> Autogenerate reflection
sweeps now use the "bulk" inspector methods
introduced in SQLAlchemy 2.0, which for selected dialects including
PostgreSQL and Oracle use batched queries to reflect whole collections
of
tables using O(1) queries rather than O(N).</p>
<p>References: <a
href="https://redirect.github.com/sqlalchemy/alembic/issues/1771">#1771</a></p>
</li>
<li>
<p><strong>[feature] [autogenerate]</strong> Release 1.18.0 introduces a
plugin system that allows for automatic
loading of third-party extensions as well as configurable autogenerate
compare functionality on a per-environment basis.</p>
<p>The <code>Plugin</code> class provides a common interface for
extensions that
register handlers among Alembic's existing extension points such as
<code>Operations.register_operation()</code> and
<code>Operations.implementation_for()</code>. A new interface for
registering
autogenerate comparison handlers,
<code>Plugin.add_autogenerate_comparator()</code>, provides for
autogenerate
compare functionality that may be custom-configured on a per-environment
basis using the new
<code>EnvironmentContext.configure.autogenerate_plugins</code>
parameter.</p>
<p>The change does not impact well known Alembic add-ons such as
<code>alembic-utils</code>, which continue to work as before; however,
such add-ons
have the option to provide plugin entrypoints going forward.</p>
<p>As part of this change, Alembic's autogenerate compare functionality
is
reorganized into a series of internal plugins under the
<code>alembic.autogenerate</code> namespace, which may be individually
or
collectively identified for inclusion and/or exclusion within the
<code>EnvironmentContext.configure()</code> call using a new parameter
<code>EnvironmentContext.configure.autogenerate_plugins</code>. This
parameter is also where third party comparison plugins may also be
indicated.</p>
<p>See <code>alembic.plugins.toplevel</code> for complete documentation
on
the new <code>Plugin</code> class as well as autogenerate-specific usage
instructions.</p>
</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/alembic/commits">compare
view</a></li>
</ul>
</details>
<br />
Updates `numpy` from 2.4.0 to 2.4.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/numpy/numpy/releases">numpy's
releases</a>.</em></p>
<blockquote>
<h2>2.4.1 (Jan 10, 2026)</h2>
<h1>NumPy 2.4.1 Release Notes</h1>
<p>The NumPy 2.4.1 is a patch release that fixes bugs discoved after the
2.4.0 release. In particular, the typo <code>SeedlessSequence</code> is
preserved to
enable wheels using the random Cython API and built against NumPy <
2.4.0
to run without errors.</p>
<p>This release supports Python versions 3.11-3.14</p>
<h2>Contributors</h2>
<p>A total of 9 people contributed to this release. People with a
"+" by their
names contributed a patch for the first time.</p>
<ul>
<li>Alexander Shadchin</li>
<li>Bill Tompkins +</li>
<li>Charles Harris</li>
<li>Joren Hammudoglu</li>
<li>Marten van Kerkwijk</li>
<li>Nathan Goldbaum</li>
<li>Raghuveer Devulapalli</li>
<li>Ralf Gommers</li>
<li>Sebastian Berg</li>
</ul>
<h2>Pull requests merged</h2>
<p>A total of 15 pull requests were merged for this release.</p>
<ul>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30490">#30490</a>:
MAINT: Prepare 2.4.x for further development</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30503">#30503</a>:
DOC: <code>numpy.select</code>: fix <code>default</code> parameter
docstring...</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30504">#30504</a>:
REV: Revert part of <a
href="https://redirect.github.com/numpy/numpy/issues/30164">#30164</a>
(<a
href="https://redirect.github.com/numpy/numpy/issues/30500">#30500</a>)</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30506">#30506</a>:
TYP: <code>numpy.select</code>: allow passing array-like
<code>default</code>...</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30507">#30507</a>:
MNT: use if constexpr for compile-time branch selection</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30513">#30513</a>:
BUG: Fix leak in flat assignment iterator</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30516">#30516</a>:
BUG: fix heap overflow in fixed-width string multiply (<a
href="https://redirect.github.com/numpy/numpy/issues/30511">#30511</a>)</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30523">#30523</a>:
BUG: Ensure summed weights returned by np.average always are...</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30527">#30527</a>:
TYP: Fix return type of histogram2d</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30594">#30594</a>:
MAINT: avoid passing ints to random functions that take double...</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30595">#30595</a>:
BLD: Avoiding conflict with pygit2 for static build</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30596">#30596</a>:
MAINT: Fix msvccompiler missing error on FreeBSD</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30608">#30608</a>:
BLD: update vendored Meson to 1.9.2</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30620">#30620</a>:
ENH: use more fine-grained critical sections in array coercion...</li>
<li><a
href="https://redirect.github.com/numpy/numpy/pull/30623">#30623</a>:
BUG: Undo result type change of quantile/percentile but keep...</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst">numpy's
changelog</a>.</em></p>
<blockquote>
<p>This is a walkthrough of the NumPy 2.4.0 release on Linux, which will
be the
first feature release using the <code>numpy/numpy-release
<https://github.com/numpy/numpy-release></code>__ repository.</p>
<p>The commands can be copied into the command line, but be sure to
replace 2.4.0
with the correct version. This should be read together with the
:ref:<code>general release guide <prepare_release></code>.</p>
<h1>Facility preparation</h1>
<p>Before beginning to make a release, use the
<code>requirements/*_requirements.txt</code> files to
ensure that you have the needed software. Most software can be installed
with
pip, but some will require apt-get, dnf, or whatever your system uses
for
software. You will also need a GitHub personal access token (PAT) to
push the
documentation. There are a few ways to streamline things:</p>
<ul>
<li>Git can be set up to use a keyring to store your GitHub personal
access token.
Search online for the details.</li>
<li>You can use the <code>keyring</code> app to store the PyPI password
for twine. See the
online twine documentation for details.</li>
</ul>
<h1>Prior to release</h1>
<h2>Add/drop Python versions</h2>
<p>When adding or dropping Python versions, multiple config and CI files
need to
be edited in addition to changing the minimum version in
<code>pyproject.toml</code>.
Make these changes in an ordinary PR against main and backport if
necessary.
We currently release wheels for new Python versions after the first
Python RC
once manylinux and cibuildwheel support that new Python version.</p>
<h2>Backport pull requests</h2>
<p>Changes that have been marked for this release must be backported to
the
maintenance/2.4.x branch.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/numpy/numpy/commit/d24bb7f48d3b0e3471c68f1309c130d0b65ee72a"><code>d24bb7f</code></a>
Merge pull request <a
href="https://redirect.github.com/numpy/numpy/issues/30624">#30624</a>
from charris/prepare-for-2.4.1</li>
<li><a
href="https://github.com/numpy/numpy/commit/d3bfd6d61d8b5a9429aebe2b58070381a289aeac"><code>d3bfd6d</code></a>
REL: Prepare for the NumPy 2.4.1 release</li>
<li><a
href="https://github.com/numpy/numpy/commit/abe3d863a1e945183f173cf29428699965c10b1c"><code>abe3d86</code></a>
Merge pull request <a
href="https://redirect.github.com/numpy/numpy/issues/30623">#30623</a>
from charris/backport-30601</li>
<li><a
href="https://github.com/numpy/numpy/commit/5d8907855c225864d7d741254d48448119b41a84"><code>5d89078</code></a>
TST: Add test showing that q promotes (for "interpolating
ones")</li>
<li><a
href="https://github.com/numpy/numpy/commit/16890cea47e717ae3d7cea546797f1e4a1959c75"><code>16890ce</code></a>
BUG: Fix result type change and make weak q safe</li>
<li><a
href="https://github.com/numpy/numpy/commit/bf7ef0be8532985cd5d05424e0f7747a4750f7cc"><code>bf7ef0b</code></a>
Merge pull request <a
href="https://redirect.github.com/numpy/numpy/issues/30620">#30620</a>
from charris/backport-30514</li>
<li><a
href="https://github.com/numpy/numpy/commit/3d3af25fe7830f66fbf903aebd765999404376c4"><code>3d3af25</code></a>
ENH: use more fine-grained critical sections in array coercion internals
(<a
href="https://redirect.github.com/numpy/numpy/issues/30">#30</a>...</li>
<li><a
href="https://github.com/numpy/numpy/commit/8b7f19798e654c572d1a918da35f73933b6d6047"><code>8b7f197</code></a>
Merge pull request <a
href="https://redirect.github.com/numpy/numpy/issues/30608">#30608</a>
from charris/update-vendored-meson</li>
<li><a
href="https://github.com/numpy/numpy/commit/30999f623181dc4b8c71cf359463484b9aab4157"><code>30999f6</code></a>
BLD: update vendored Meson to 1.9.2</li>
<li><a
href="https://github.com/numpy/numpy/commit/e6bea65b639820b5672a5dced69a231ed5f01176"><code>e6bea65</code></a>
Merge pull request <a
href="https://redirect.github.com/numpy/numpy/issues/30596">#30596</a>
from charris/remove-msvccompiler-check</li>
<li>Additional commits viewable in <a
href="https://github.com/numpy/numpy/compare/v2.4.0...v2.4.1">compare
view</a></li>
</ul>
</details>
<br />
Updates `scipy` from 1.16.3 to 1.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/scipy/scipy/releases">scipy's
releases</a>.</em></p>
<blockquote>
<h1>SciPy 1.17.0 Release Notes</h1>
<p>SciPy <code>1.17.0</code> is the culmination of 6 months of hard
work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with <code>python -Wd</code> and check for
<code>DeprecationWarning</code> s).
Our development attention will now shift to bug-fix releases on the
<code>1.17.x</code> branch, and on adding new features on the main
branch.</p>
<p>This release requires Python <code>3.11</code>-<code>3.14</code> and
NumPy <code>1.26.4</code> or greater.</p>
<h1>Highlights of this release</h1>
<ul>
<li>Many SciPy functions have gained native support for batching of
N-dimensional
array input and additional support for the array API standard. An
overall
summary of the latter is now available in a <a
href="https://scipy.github.io/devdocs/dev/api-dev/array_api.html#api-coverage">set
of tables</a>.</li>
<li>In <code>scipy.sparse</code>, <code>coo_array</code> now supports
indexing. This includes integers,
slices, arrays, <code>np.newaxis</code>, <code>Ellipsis</code>, in 1D,
2D and the relatively
new nD. In <code>scipy.sparse.linalg</code>, ARPACK and PROPACK rewrites
from Fortran77
to C now empower the use of external pseudorandom number generators,
e.g.
from numpy.</li>
<li>In <code>scipy.spatial</code>, <code>transform.Rotation</code> and
<code>transform.RigidTransform</code>
have been extended to support N-D arrays. <code>geometric_slerp</code>
now has support
for extrapolation.</li>
<li><code>scipy.stats</code> has gained the matrix t and logistic
distributions and many
performance and accuracy improvements.</li>
<li>Initial support for 64-bit integer (ILP64) BLAS and LAPACK libraries
has
been added, including for MKL and Apple Accelerate. Please report any
issues with
ILP64 you encounter.</li>
</ul>
<h1>New features</h1>
<h1><code>scipy.integrate</code> improvements</h1>
<ul>
<li>The integration routines <code>dopri5</code>, <code>dopri853</code>,
<code>LSODA</code>, <code>vode</code>, and
<code>zvode</code> have been ported from Fortran77 to C.</li>
<li><code>scipy.integrate.quad</code> now has a fast path for returning
0 when the integration
interval is empty.</li>
<li>The <code>BDF</code>, <code>DOP853</code>, <code>RK23</code>,
<code>RK45</code>, <code>OdeSolver</code>, <code>DenseOutput</code>,
<code>ode</code>, and <code>complex_ode</code> classes now support
subscription, making them
generic types, for compatibility with <code>scipy-stubs</code>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/scipy/scipy/commit/8c75ae75176236f233824e9a0483c26a69e6dfec"><code>8c75ae7</code></a>
REL: 1.17.0 "final" release commit [wheel build]</li>
<li><a
href="https://github.com/scipy/scipy/commit/9d7f110540b5f054cfd99820b5eb02b56a7f2aab"><code>9d7f110</code></a>
Merge pull request <a
href="https://redirect.github.com/scipy/scipy/issues/24298">#24298</a>
from tylerjereddy/treddy_prep_1.17.0_final</li>
<li><a
href="https://github.com/scipy/scipy/commit/94373b602e384cf613e1287b209609a7908c6f5e"><code>94373b6</code></a>
MAINT: test wheels [wheel build]</li>
<li><a
href="https://github.com/scipy/scipy/commit/723f4e2f83214c237d6afa8a9761f4ef1e00c1fe"><code>723f4e2</code></a>
DOC: update 1.17.0 relnotes</li>
<li><a
href="https://github.com/scipy/scipy/commit/bf042f043f1f59a1856827c249453d899abc12fc"><code>bf042f0</code></a>
CI: ensure we use pinned scipy-openblas version also in ILP64 job</li>
<li><a
href="https://github.com/scipy/scipy/commit/3e00a04941ca2e7cacf6130fd9c28a8aeeefcad8"><code>3e00a04</code></a>
CI: fix issue with ILP64 job; point to fixed numpy/meson commit</li>
<li><a
href="https://github.com/scipy/scipy/commit/39bceab6f85ae717595c2291f6efe0ca29c53ee0"><code>39bceab</code></a>
BUG: stats: fix va_args memory corruption bug</li>
<li><a
href="https://github.com/scipy/scipy/commit/8f563872fa61c891fede2b547c02190413ec9858"><code>8f56387</code></a>
DOC: update 1.17.0 release notes</li>
<li><a
href="https://github.com/scipy/scipy/commit/c50e9c03eafec0bb7703acafffc948deb78a567c"><code>c50e9c0</code></a>
Merge pull request <a
href="https://redirect.github.com/scipy/scipy/issues/24304">#24304</a>
from ev-br/edit_relnotes_for_ILP64</li>
<li><a
href="https://github.com/scipy/scipy/commit/b204495c6122f3670c67000ae29963676024be87"><code>b204495</code></a>
DOC: clarify ILP64 support caveats in the release notes, remove mentions
of O...</li>
<li>Additional commits viewable in <a
href="https://github.com/scipy/scipy/compare/v1.16.3...v1.17.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `pillow` from 12.0.0 to 12.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-pillow/Pillow/releases">pillow's
releases</a>.</em></p>
<blockquote>
<h2>12.1.0</h2>
<p><a
href="https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html">https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html</a></p>
<h2>Deprecations</h2>
<ul>
<li>Deprecate getdata(), in favour of new get_flattened_data() <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9292">#9292</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
</ul>
<h2>Documentation</h2>
<ul>
<li>Specify APNG duration type when opening <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9368">#9368</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Added release notes for <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9350">#9350</a>
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9366">#9366</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Update ImageMorph documentation <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9349">#9349</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Docs: update major bump cadence <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9334">#9334</a>
[<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li>
<li>Add release notes for <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9070">#9070</a>
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9320">#9320</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Updated Ubuntu version <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9306">#9306</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Update macOS tested Pillow versions <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9265">#9265</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
</ul>
<h2>Dependencies</h2>
<ul>
<li>Update harfbuzz to 12.3.0 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9355">#9355</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Update xz to 5.8.2 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9343">#9343</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Updated libjpeg-turbo to 3.1.3 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9333">#9333</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Updated zlib-ng to 2.3.2 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9324">#9324</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Updated libpng to 1.6.53 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9325">#9325</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Update actions/checkout action to v6 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9323">#9323</a>
[@<a href="https://github.com/apps/renovate">renovate[bot]</a>]</li>
<li>Update dependency mypy to v1.19.0 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9322">#9322</a>
[@<a href="https://github.com/apps/renovate">renovate[bot]</a>]</li>
<li>Updated libpng to 1.6.51 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9305">#9305</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Updated brotli to 1.2.0 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9284">#9284</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Update libimagequant to 4.4.1 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9301">#9301</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Update zlib-ng to 2.3.1, except on manylinux2014 aarch64 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9312">#9312</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Updated harfbuzz to 12.2.0 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9289">#9289</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Update github-actions <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9277">#9277</a>
[@<a href="https://github.com/apps/renovate">renovate[bot]</a>]</li>
</ul>
<h2>Testing</h2>
<ul>
<li>Replace pre-commit with prek <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9360">#9360</a>
[<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li>
<li>Test PyQt6 on Python 3.14 on Windows <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9353">#9353</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Test 32-bit Windows on Windows Server 2022 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9345">#9345</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Correct variable type <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9335">#9335</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Fix <code>ResourceWarning</code>s in <code>selftest.py</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9332">#9332</a>
[<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li>
<li>Fix testing good P mode BMP images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9319">#9319</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Test Python 3.15 pre-release <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9331">#9331</a>
[<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li>
<li>Test ImageFont.ImageFont, in case freetype2 is not supported <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9287">#9287</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Add Fedora 43 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9290">#9290</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Remove Fedora 41 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9260">#9260</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
</ul>
<h2>Type hints</h2>
<ul>
<li>Add ImageFile context manager <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9367">#9367</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
<li>Assert fp is not None <a
href="https://redirect.github.com/python-pillow/Pillow/issues/8617">#8617</a>
[<a
href="https://github.com/radarhere"><code>@radarhere</code></a>]</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-pillow/Pillow/commit/46f45f674d47b5d8bc54230dda8fe9e214598b87"><code>46f45f6</code></a>
12.1.0 version bump</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/c9ac097edb5594f63c40acd9afe6802547200379"><code>c9ac097</code></a>
Simplify band splitting (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9291">#9291</a>)</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/3baedf264804d199bc19458d11bcff02ce7598eb"><code>3baedf2</code></a>
Deprecate getdata(), in favour of new get_flattened_data() (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9292">#9292</a>)</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/b51a0366852c1d519d108dfec8fc2d738cd8080f"><code>b51a036</code></a>
Specify APNG duration type when opening (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9368">#9368</a>)</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/8d08e31533065b623399a54bc92b39a756599ad4"><code>8d08e31</code></a>
Add release notes for <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9348">#9348</a>
(<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9369">#9369</a>)</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/432707ea810ae619e2a9e4a9737c169cacaa8eda"><code>432707e</code></a>
Added release notes for <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9348">#9348</a></li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/2d589107fb3a4aba8389932a65ff771bf9b4deb1"><code>2d58910</code></a>
Specify APNG duration type when opening</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/8dee8dd5ba4e592409db1a7fc11a61a51ba30f04"><code>8dee8dd</code></a>
Add ImageFile context manager (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9367">#9367</a>)</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/b2d9bc3c766a9743d23a296a503ea2712cdc6745"><code>b2d9bc3</code></a>
Support saving APNG float durations (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9365">#9365</a>)</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/f130c10a9c07bc4a4fe793dc3dabb3fe8bd8a1bd"><code>f130c10</code></a>
Allow 1 mode images in MorphOp (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9348">#9348</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python-pillow/Pillow/compare/12.0.0...12.1.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.14.10 to 0.14.11
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.14.11</h2>
<h2>Release Notes</h2>
<p>Released on 2026-01-08.</p>
<h3>Preview features</h3>
<ul>
<li>Consolidate diagnostics for matched disable/enable suppression
comments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22099">#22099</a>)</li>
<li>Report diagnostics for invalid/unmatched range suppression comments
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/21908">#21908</a>)</li>
<li>[<code>airflow</code>] Passing positional argument into
<code>airflow.lineage.hook.HookLineageCollector.create_asset</code> is
not allowed (<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22046">#22046</a>)</li>
<li>[<code>refurb</code>] Mark <code>FURB192</code> fix as always unsafe
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/22210">#22210</a>)</li>
<li>[<code>ruff</code>] Add <code>non-empty-init-module</code>
(<code>RUF067</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22143">#22143</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix GitHub format for multi-line diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22108">#22108</a>)</li>
<li>[<code>flake8-unused-arguments</code>] Mark <code>**kwargs</code> in
<code>TypeVar</code> as used (<code>ARG001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22214">#22214</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Add <code>help:</code> subdiagnostics for several Ruff rules that
can sometimes appear to disagree with <code>ty</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22331">#22331</a>)</li>
<li>[<code>pylint</code>] Demote <code>PLW1510</code> fix to
display-only (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22318">#22318</a>)</li>
<li>[<code>pylint</code>] Ignore identical members
(<code>PLR1714</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22220">#22220</a>)</li>
<li>[<code>pylint</code>] Improve diagnostic range for
<code>PLC0206</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22312">#22312</a>)</li>
<li>[<code>ruff</code>] Improve fix title for <code>RUF102</code>
invalid rule code (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22100">#22100</a>)</li>
<li>[<code>flake8-simplify</code>]: Avoid unnecessary builtins import
for <code>SIM105</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22358">#22358</a>)</li>
</ul>
<h3>Configuration</h3>
<ul>
<li>Allow Python 3.15 as valid <code>target-version</code> value in
preview (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22419">#22419</a>)</li>
<li>Check <code>required-version</code> before parsing rules (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22410">#22410</a>)</li>
<li>Include configured <code>src</code> directories when resolving
graphs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22451">#22451</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Update <code>T201</code> suggestion to not use root logger to
satisfy <code>LOG015</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22059">#22059</a>)</li>
<li>Fix <code>iter</code> example in unsafe fixes doc (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22118">#22118</a>)</li>
<li>[<code>flake8_print</code>] better suggestion for
<code>basicConfig</code> in <code>T201</code> docs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22101">#22101</a>)</li>
<li>[<code>pylint</code>] Restore the fix safety docs for
<code>PLW0133</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22211">#22211</a>)</li>
<li>Fix Jupyter notebook discovery info for editors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22447">#22447</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li>
<li><a
href="https://github.com/cenviity"><code>@cenviity</code></a></li>
<li><a href="https://github.com/njhearp"><code>@njhearp</code></a></li>
<li><a
href="https://github.com/cbachhuber"><code>@cbachhuber</code></a></li>
<li><a
href="https://github.com/jelle-openai"><code>@jelle-openai</code></a></li>
<li><a
href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.14.11</h2>
<p>Released on 2026-01-08.</p>
<h3>Preview features</h3>
<ul>
<li>Consolidate diagnostics for matched disable/enable suppression
comments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22099">#22099</a>)</li>
<li>Report diagnostics for invalid/unmatched range suppression comments
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/21908">#21908</a>)</li>
<li>[<code>airflow</code>] Passing positional argument into
<code>airflow.lineage.hook.HookLineageCollector.create_asset</code> is
not allowed (<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22046">#22046</a>)</li>
<li>[<code>refurb</code>] Mark <code>FURB192</code> fix as always unsafe
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/22210">#22210</a>)</li>
<li>[<code>ruff</code>] Add <code>non-empty-init-module</code>
(<code>RUF067</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22143">#22143</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix GitHub format for multi-line diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22108">#22108</a>)</li>
<li>[<code>flake8-unused-arguments</code>] Mark <code>**kwargs</code> in
<code>TypeVar</code> as used (<code>ARG001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22214">#22214</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Add <code>help:</code> subdiagnostics for several Ruff rules that
can sometimes appear to disagree with <code>ty</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22331">#22331</a>)</li>
<li>[<code>pylint</code>] Demote <code>PLW1510</code> fix to
display-only (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22318">#22318</a>)</li>
<li>[<code>pylint</code>] Ignore identical members
(<code>PLR1714</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22220">#22220</a>)</li>
<li>[<code>pylint</code>] Improve diagnostic range for
<code>PLC0206</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22312">#22312</a>)</li>
<li>[<code>ruff</code>] Improve fix title for <code>RUF102</code>
invalid rule code (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22100">#22100</a>)</li>
<li>[<code>flake8-simplify</code>]: Avoid unnecessary builtins import
for <code>SIM105</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22358">#22358</a>)</li>
</ul>
<h3>Configuration</h3>
<ul>
<li>Allow Python 3.15 as valid <code>target-version</code> value in
preview (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22419">#22419</a>)</li>
<li>Check <code>required-version</code> before parsing rules (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22410">#22410</a>)</li>
<li>Include configured <code>src</code> directories when resolving
graphs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22451">#22451</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Update <code>T201</code> suggestion to not use root logger to
satisfy <code>LOG015</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22059">#22059</a>)</li>
<li>Fix <code>iter</code> example in unsafe fixes doc (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22118">#22118</a>)</li>
<li>[<code>flake8_print</code>] better suggestion for
<code>basicConfig</code> in <code>T201</code> docs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22101">#22101</a>)</li>
<li>[<code>pylint</code>] Restore the fix safety docs for
<code>PLW0133</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22211">#22211</a>)</li>
<li>Fix Jupyter notebook discovery info for editors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22447">#22447</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li>
<li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li>
<li><a
href="https://github.com/cenviity"><code>@cenviity</code></a></li>
<li><a href="https://github.com/njhearp"><code>@njhearp</code></a></li>
<li><a
href="https://github.com/cbachhuber"><code>@cbachhuber</code></a></li>
<li><a
href="https://github.com/jelle-openai"><code>@jelle-openai</code></a></li>
<li><a
href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li>
<li><a
href="https://github.com/ValdonVitija"><code>@ValdonVitija</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/c920cf8cdb247a9fd8e15a4c9d2efa838f7a78a3"><code>c920cf8</code></a>
Bump 0.14.11 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22462">#22462</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/bb757b5a79888f28264f629b5667a0514071f7d6"><code>bb757b5</code></a>
[ty] Don't show diagnostics for excluded files (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22455">#22455</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/1f49e8ef518b75207e155595aba57acd48205078"><code>1f49e8e</code></a>
Include configured <code>src</code> directories when resolving graphs
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/22451">#22451</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/701f5134ab7c1a860145dccc8abb3716a3f89fe7"><code>701f513</code></a>
[ty] Only consider fully static pivots when deriving transitive
constraints (...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/eea9ad83528a7f492662f6427cdbb6fc2f655bb5"><code>eea9ad8</code></a>
Pin maturin version (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22454">#22454</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/eeac2bd3eed2f4b8f4a71e0c945721481b25efc0"><code>eeac2bd</code></a>
[ty] Optimize union building for unions with many enum-literal members
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/22363">#22363</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/7319c37f4eb063e9590e1f09c8e92d7dabc63403"><code>7319c37</code></a>
docs: fix jupyter notebook discovery info for editors (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22447">#22447</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/805503c19a6b74c5803e10123077997e29a0da37"><code>805503c</code></a>
[<code>ruff</code>] Improve fix title for <code>RUF102</code> invalid
rule code (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22100">#22100</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/68a2f6c57d70052d0805b46b0e3a2538598b856f"><code>68a2f6c</code></a>
[ty] Fix <code>super()</code> with TypeVar-annotated <code>self</code>
and <code>cls</code> parameter (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22208">#22208</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/abaa735e1d027cf458a2ab83d8a422d74111580c"><code>abaa735</code></a>
[ty] Improve <code>UnionBuilder</code> performance by changing
<code>Type::is_subtype_of</code> cal...</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.14.10...0.14.11">compare
view</a></li>
</ul>
</details>
<br />
Updates `plotly` from 6.5.0 to 6.5.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/plotly/plotly.py/releases">plotly's
releases</a>.</em></p>
<blockquote>
<h2>v6.5.1</h2>
<h3>Fixed</h3>
<ul>
<li>Fix issue where Plotly Express ignored trace-specific color
sequences defined in templates via
<code>template.data.<trace_type></code> [<a
href="https://redirect.github.com/plotly/plotly.py/pull/5437">#5437</a>],
with thanks to <a
href="https://github.com/antonymilne"><code>@antonymilne</code></a> for
the contribution!</li>
</ul>
<h3>Updated</h3>
<ul>
<li>Speed up <code>validate_gantt</code> function [<a
href="https://redirect.github.com/plotly/plotly.py/pull/5386">#5386</a>],
with thanks to <a
href="https://github.com/misrasaurabh1"><code>@misrasaurabh1</code></a>
for the contribution!</li>
<li>Update plotly.js from version 3.3.0 to version 3.3.1. See the
plotly.js <a
href="https://github.com/plotly/plotly.js/releases/tag/v3.3.1">release
notes</a> for more information. [<a
href="https://redirect.github.com/plotly/plotly.py/pull/5456">#5456</a>].
Notable changes include:
<ul>
<li>Add support for arrays for the pie properties
<code>showlegend</code> and <code>legend</code>, so that these can be
configured per slice. [<a
href="https://redirect.github.com/plotly/plotly.js/pull/7580">#7580</a>]</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md">plotly's
changelog</a>.</em></p>
<blockquote>
<h2>[6.5.1] - 2025-11-17</h2>
<h3>Fixed</h3>
<ul>
<li>Fix issue where Plotly Express ignored trace-specific color
sequences defined in templates via
<code>template.data.<trace_type></code> [<a
href="https://redirect.github.com/plotly/plotly.py/pull/5437">#5437</a>],
with thanks to <a
href="https://github.com/antonymilne"><code>@antonymilne</code></a> for
the contribution!</li>
</ul>
<h3>Updated</h3>
<ul>
<li>Speed up <code>validate_gantt</code> function [<a
href="https://redirect.github.com/plotly/plotly.py/pull/5386">#5386</a>],
with thanks to <a
href="https://github.com/misrasaurabh1"><code>@misrasaurabh1</code></a>
for the contribution!</li>
<li>Update plotly.js from version 3.3.0 to version 3.3.1. See the
plotly.js <a
href="https://github.com/plotly/plotly.js/releases/tag/v3.3.1">release
notes</a> for more information. [<a
href="https://redirect.github.com/plotly/plotly.py/pull/5456">#5456</a>].
Notable changes include:
<ul>
<li>Add support for arrays for the pie properties
<code>showlegend</code> and <code>legend</code>, so that these can be
configured per slice. [<a
href="https://redirect.github.com/plotly/plotly.js/pull/7580">#7580</a>]</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/plotly/plotly.py/commit/d2aa0449456de3a94e5bcbcbc1b89db266c7723a"><code>d2aa044</code></a>
Version changes for v6.5.1</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/f4236c224d4d17c626d63bdce5e84d38be848a60"><code>f4236c2</code></a>
Merge pull request <a
href="https://redirect.github.com/plotly/plotly.py/issues/5456">#5456</a>
from plotly/cam/update-plotly.js-v3.3.1</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/ca6e55e651cce8689d4310b1763bd404952e1ab1"><code>ca6e55e</code></a>
Update Jupyter support files</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/6f13fb057846dd19b413672966dc0eb897d19049"><code>6f13fb0</code></a>
Add missing lock file</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/6f94d9c0faa72a7a705a0fe65c7f3b8cd581f841"><code>6f94d9c</code></a>
Update plotly.js to v3.3.1 and associated files</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/f265d9bbfc30e34a8741eda6b8336336e1e9005e"><code>f265d9b</code></a>
Merge pull request <a
href="https://redirect.github.com/plotly/plotly.py/issues/5448">#5448</a>
from palmerusaf/update-contrib-docs</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/27b5bba440b357452a1436fbb8df36ffa03f6ac5"><code>27b5bba</code></a>
Update editable installs ref in CONTRIBUTING doc</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/fa4db1deccee6f363e016dca5c5fa506fb3ba96e"><code>fa4db1d</code></a>
Merge pull request <a
href="https://redirect.github.com/plotly/plotly.py/issues/5442">#5442</a>
from plotly/fix-docs-build-bug-2</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/a5f469a91aadd6f40f1cca1662fe661932f6abc9"><code>a5f469a</code></a>
update call to color_discrete_sequence with new call signature</li>
<li><a
href="https://github.com/plotly/plotly.py/commit/adfdfcda31473709c10797cba7238ee73c3976aa"><code>adfdfcd</code></a>
Merge pull request <a
href="https://redirect.github.com/plotly/plotly.py/issues/5437">#5437</a>
from antonymilne/main</li>
<li>Additional commits viewable in <a
href="https://github.com/plotly/plotly.py/compare/v6.5.0...v6.5.1">compare
view</a></li>
</ul>
</details>
<br />
Updates `bokeh` from 3.8.1 to 3.8.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/bokeh/bokeh/blob/3.8.2/docs/CHANGELOG">bokeh's
changelog</a>.</em></p>
<blockquote>
<h2>2026-01-06 3.8.2:</h2>
<ul>
<li>
<p>bugfixes:</p>
<ul>
<li><a
href="https://redirect.github.com/bokeh/bokeh/issues/14768">#14768</a>
[component: server] Incomplete Origin Validation in WebSockets in Bokeh
server applications</li>
</ul>
</li>
<li>
<p>tasks:</p>
<ul>
<li><a
href="https://redirect.github.com/bokeh/bokeh/issues/14767">#14767</a>
Backports for 3.8.2</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/bokeh/bokeh/commit/e5ce879c388a990e2977d126be14db5f642cf540"><code>e5ce879</code></a>
Deployment updates for release 3.8.2</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/2b3ee1081a7622d49daefea3214f1c6b07ad602c"><code>2b3ee10</code></a>
Don't validate npm credentials due to OICD limitations in npm (<a
href="https://redirect.github.com/bokeh/bokeh/issues/14769">#14769</a>)</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/756e3aef85e95330c49f997d6936bf0bd522393e"><code>756e3ae</code></a>
Migrate from NPM tokens to trusted providers for publishing in CI (<a
href="https://redirect.github.com/bokeh/bokeh/issues/14766">#14766</a>)</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/2f225a1dbbc8ae74425b4e5acedf56aedc3f9d1d"><code>2f225a1</code></a>
Update dependencies in build environment (<a
href="https://redirect.github.com/bokeh/bokeh/issues/14758">#14758</a>)</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/69d197c318da7dd1a67d7f2a101f21fcdd0065f0"><code>69d197c</code></a>
update switcher.json</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/d915c8b9f42c67a90ac52f4a8d21be5e14e1e0af"><code>d915c8b</code></a>
update to latest ruff (<a
href="https://redirect.github.com/bokeh/bokeh/issues/14661">#14661</a>)</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/5f9f7b66bdd09cfac086da212d134a7654dfdab2"><code>5f9f7b6</code></a>
update release notes</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/cedd113b0e271b439dce768671685cf5f861812e"><code>cedd113</code></a>
handle wildcard host with port correctly</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/a961ab7aad2a7d5d0350e861368e3d4294732caa"><code>a961ab7</code></a>
small CI fixes for advisory fork merge</li>
<li><a
href="https://github.com/bokeh/bokeh/commit/d62939a6f9515d86010cf564ef6e256b62636725"><code>d62939a</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/bokeh/bokeh/compare/3.8.1...3.8.2">compare
view</a></li>
</ul>
</details>
<br />
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>1 parent 93d7107 commit 02427fa
1 file changed
Lines changed: 206 additions & 206 deletions
0 commit comments