diff --git a/.circleci/config.yml b/.circleci/config.yml
index e7348b868d4b..40ba933cf0d9 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -98,7 +98,7 @@ commands:
parameters:
numpy_version:
type: string
- default: "~=2.0.0"
+ default: ""
steps:
- run:
name: Install Python dependencies
diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml
index b1e5204ab12a..79d770d0c8f4 100644
--- a/.github/workflows/cibuildwheel.yml
+++ b/.github/workflows/cibuildwheel.yml
@@ -34,7 +34,7 @@ jobs:
'CI: Run cibuildwheel')
)
name: Build sdist
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-latest
outputs:
SDIST_NAME: ${{ steps.sdist.outputs.SDIST_NAME }}
@@ -115,13 +115,12 @@ jobs:
CIBW_TEST_COMMAND: >-
python {package}/ci/check_version_number.py
MACOSX_DEPLOYMENT_TARGET: "10.12"
- MPL_DISABLE_FH4: "yes"
strategy:
matrix:
include:
- - os: ubuntu-20.04
+ - os: ubuntu-latest
cibw_archs: "x86_64"
- - os: ubuntu-20.04
+ - os: ubuntu-24.04-arm
cibw_archs: "aarch64"
- os: windows-latest
cibw_archs: "auto64"
@@ -131,12 +130,6 @@ jobs:
cibw_archs: "arm64"
steps:
- - name: Set up QEMU
- if: matrix.cibw_archs == 'aarch64'
- uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- with:
- platforms: arm64
-
- name: Download sdist
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
@@ -149,16 +142,9 @@ jobs:
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
env:
CIBW_BUILD: "cp313-* cp313t-*"
- CIBW_BUILD_FRONTEND:
- "pip; args: --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
- CIBW_FREE_THREADED_SUPPORT: true
+ CIBW_ENABLE: cpython-freethreading
# No free-threading wheels available for aarch64 on Pillow.
CIBW_TEST_SKIP: "cp313t-manylinux_aarch64"
- # We need pre-releases to get the nightly wheels.
- CIBW_BEFORE_TEST: >-
- pip install --pre
- --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
- contourpy numpy pillow
CIBW_ARCHS: ${{ matrix.cibw_archs }}
- name: Build wheels for CPython 3.12
@@ -192,14 +178,7 @@ jobs:
env:
CIBW_BUILD: "pp310-*"
CIBW_ARCHS: ${{ matrix.cibw_archs }}
- # Work around for https://github.com/pypa/setuptools/issues/4571
- # This can be removed once kiwisolver has wheels for PyPy 3.10
- # https://github.com/nucleic/kiwi/pull/182
- CIBW_BEFORE_TEST: >-
- export PIP_CONSTRAINT=pypy-constraint.txt &&
- echo "setuptools!=72.2.0" > $PIP_CONSTRAINT &&
- pip install kiwisolver &&
- unset PIP_CONSTRAINT
+ CIBW_ENABLE: pypy
if: matrix.cibw_archs != 'aarch64' && matrix.os != 'windows-latest'
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 4bf3e680f7b0..089b15700f1b 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -31,7 +31,7 @@ jobs:
persist-credentials: false
- name: Initialize CodeQL
- uses: github/codeql-action/init@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
+ uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
with:
languages: ${{ matrix.language }}
@@ -42,4 +42,4 @@ jobs:
pip install --user -v .
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
+ uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 27aab4b392ee..d42ac6ea00a2 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -155,6 +155,7 @@ jobs:
libffi-dev \
libgeos-dev \
libgirepository1.0-dev \
+ libnotify4 \
libsdl2-2.0-0 \
libxkbcommon-x11-0 \
libxcb-cursor0 \
@@ -178,8 +179,7 @@ jobs:
if [[ "${{ matrix.os }}" = ubuntu-20.04 ]]; then
sudo apt-get install -yy --no-install-recommends libopengl0
else # ubuntu-22.04
- sudo apt-get install -yy --no-install-recommends \
- gir1.2-gtk-4.0 libnotify4
+ sudo apt-get install -yy --no-install-recommends gir1.2-gtk-4.0
fi
;;
macOS)
diff --git a/doc/_static/zenodo_cache/14464227.svg b/doc/_static/zenodo_cache/14464227.svg
new file mode 100644
index 000000000000..7126d239d6a5
--- /dev/null
+++ b/doc/_static/zenodo_cache/14464227.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst
index 6afdad4e768e..06893dd95c57 100644
--- a/doc/api/axes_api.rst
+++ b/doc/api/axes_api.rst
@@ -262,6 +262,7 @@ Property cycle
Axes.set_prop_cycle
+.. _axes-api-axis:
Axis / limits
=============
@@ -269,11 +270,16 @@ Axis / limits
.. For families of methods of the form {get,set}_{x,y}foo, try to list them in
the order set_xfoo, get_xfoo, set_yfoo, get_yfoo
+Axis access
+-----------
+
.. autosummary::
:toctree: _as_gen
:template: autosummary.rst
:nosignatures:
+ Axes.xaxis
+ Axes.yaxis
Axes.get_xaxis
Axes.get_yaxis
@@ -616,5 +622,6 @@ Other
Axes.get_transformed_clip_path_and_affine
Axes.has_data
Axes.set
+ Axes.remove
.. autoclass:: matplotlib.axes.Axes.ArtistList
diff --git a/doc/api/prev_api_changes/api_changes_3.10.0.rst b/doc/api/prev_api_changes/api_changes_3.10.0.rst
index 83bde66213f3..ac4e4e981b21 100644
--- a/doc/api/prev_api_changes/api_changes_3.10.0.rst
+++ b/doc/api/prev_api_changes/api_changes_3.10.0.rst
@@ -5,7 +5,7 @@ API Changes for 3.10.0
:local:
:depth: 1
-.. include:: /api/prev_api_changes/api_changes_3.10.0/behaviour.rst
+.. include:: /api/prev_api_changes/api_changes_3.10.0/behavior.rst
.. include:: /api/prev_api_changes/api_changes_3.10.0/deprecations.rst
diff --git a/doc/api/prev_api_changes/api_changes_3.10.0/behavior.rst b/doc/api/prev_api_changes/api_changes_3.10.0/behavior.rst
index 87da6568a860..ae50371fa7aa 100644
--- a/doc/api/prev_api_changes/api_changes_3.10.0/behavior.rst
+++ b/doc/api/prev_api_changes/api_changes_3.10.0/behavior.rst
@@ -1,3 +1,7 @@
+Behavior Changes
+----------------
+
+
onselect argument to selector widgets made optional
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/api/prev_api_changes/api_changes_3.10.0/deprecations.rst b/doc/api/prev_api_changes/api_changes_3.10.0/deprecations.rst
index ad344b37d069..383c19f3c811 100644
--- a/doc/api/prev_api_changes/api_changes_3.10.0/deprecations.rst
+++ b/doc/api/prev_api_changes/api_changes_3.10.0/deprecations.rst
@@ -1,3 +1,7 @@
+Deprecations
+------------
+
+
Positional parameters in plotting functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -5,6 +9,7 @@ Many plotting functions will restrict positional arguments to the first few para
in the future. All further configuration parameters will have to be passed as keyword
arguments. This is to enforce better code and and allow for future changes with reduced
risk of breaking existing code.
+
Changing ``Figure.number``
~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/api/prev_api_changes/api_changes_3.10.0/development.rst b/doc/api/prev_api_changes/api_changes_3.10.0/development.rst
index 58ece9877912..329256b466b5 100644
--- a/doc/api/prev_api_changes/api_changes_3.10.0/development.rst
+++ b/doc/api/prev_api_changes/api_changes_3.10.0/development.rst
@@ -1,3 +1,6 @@
+Development changes
+-------------------
+
Documentation-specific custom Sphinx roles are now semi-public
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/api/prev_api_changes/api_changes_3.10.0/removals.rst b/doc/api/prev_api_changes/api_changes_3.10.0/removals.rst
index e535123c7016..7ed06e7446ef 100644
--- a/doc/api/prev_api_changes/api_changes_3.10.0/removals.rst
+++ b/doc/api/prev_api_changes/api_changes_3.10.0/removals.rst
@@ -1,3 +1,7 @@
+Removals
+--------
+
+
ttconv removed
~~~~~~~~~~~~~~
diff --git a/doc/api/prev_api_changes/api_changes_3.10.1.rst b/doc/api/prev_api_changes/api_changes_3.10.1.rst
new file mode 100644
index 000000000000..26d43ddf8b17
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.10.1.rst
@@ -0,0 +1,14 @@
+API Changes for 3.10.1
+======================
+
+Behaviour
+---------
+
+*alpha* parameter handling on images
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When passing and array to ``imshow(..., alpha=...)``, the parameter was silently ignored
+if the image data was a RGB or RBGA image or if :rc:`interpolation_state`
+resolved to "rbga".
+
+This is now fixed, and the alpha array overwrites any previous transparency information.
diff --git a/doc/api/scale_api.rst b/doc/api/scale_api.rst
index 1eb890dcfb48..623fbdd0392f 100644
--- a/doc/api/scale_api.rst
+++ b/doc/api/scale_api.rst
@@ -6,3 +6,4 @@
:members:
:undoc-members:
:show-inheritance:
+ :member-order: bysource
diff --git a/doc/devel/min_dep_policy.rst b/doc/devel/min_dep_policy.rst
index 6ff083ca6dc1..e9e18ed391dc 100644
--- a/doc/devel/min_dep_policy.rst
+++ b/doc/devel/min_dep_policy.rst
@@ -115,6 +115,7 @@ specification of the dependencies.
========== ======== ======
Matplotlib Python NumPy
========== ======== ======
+`3.10`_ 3.10 1.23.0
`3.9`_ 3.9 1.23.0
`3.8`_ 3.9 1.21.0
`3.7`_ 3.8 1.20.0
@@ -136,6 +137,7 @@ Matplotlib Python NumPy
1.0 2.4 1.1
========== ======== ======
+.. _`3.10`: https://matplotlib.org/3.10.0/devel/dependencies.html
.. _`3.9`: https://matplotlib.org/3.9.0/devel/dependencies.html
.. _`3.8`: https://matplotlib.org/3.8.0/devel/dependencies.html
.. _`3.7`: https://matplotlib.org/3.7.0/devel/dependencies.html
diff --git a/doc/install/dependencies.rst b/doc/install/dependencies.rst
index b8f54f346186..3034a64a3361 100644
--- a/doc/install/dependencies.rst
+++ b/doc/install/dependencies.rst
@@ -256,7 +256,7 @@ source files.
.. tab-item:: Linux
On some Linux systems, you can install a meta-build package. For example,
- on Ubuntu ``apt install build-essential``
+ on Ubuntu ``apt install build-essential`` with elevated privileges.
Otherwise, use the system distribution's package manager to install
:ref:`gcc `.
diff --git a/doc/project/citing.rst b/doc/project/citing.rst
index be58473a26e4..2cd317906bb5 100644
--- a/doc/project/citing.rst
+++ b/doc/project/citing.rst
@@ -32,6 +32,9 @@ By version
.. START OF AUTOGENERATED
+v3.10.0
+ .. image:: ../_static/zenodo_cache/14464227.svg
+ :target: https://doi.org/10.5281/zenodo.14464227
v3.9.4
.. image:: ../_static/zenodo_cache/14436121.svg
:target: https://doi.org/10.5281/zenodo.14436121
diff --git a/doc/sphinxext/gallery_order.py b/doc/sphinxext/gallery_order.py
index 378cb394d37b..99b90062a42a 100644
--- a/doc/sphinxext/gallery_order.py
+++ b/doc/sphinxext/gallery_order.py
@@ -86,6 +86,8 @@ def __call__(self, item):
"color_demo",
# pies
"pie_features", "pie_demo2",
+ # scales
+ "scales", # Scales overview
# **Plot Types
# Basic
diff --git a/doc/users/github_stats.rst b/doc/users/github_stats.rst
index c12a983aa6a8..de1f85004f09 100644
--- a/doc/users/github_stats.rst
+++ b/doc/users/github_stats.rst
@@ -1,590 +1,174 @@
.. _github-stats:
-GitHub statistics for 3.10.0 (Dec 13, 2024)
+GitHub statistics for 3.10.1 (Feb 27, 2025)
===========================================
-GitHub statistics for 2024/05/15 (tag: v3.9.0) - 2024/12/13
+GitHub statistics for 2024/12/14 (tag: v3.10.0) - 2025/02/27
These lists are automatically generated, and may be incomplete or contain duplicates.
-We closed 100 issues and merged 337 pull requests.
-The full list can be seen `on GitHub `__
+We closed 14 issues and merged 107 pull requests.
+The full list can be seen `on GitHub `__
-The following 128 authors contributed 1932 commits.
+The following 28 authors contributed 241 commits.
-* abhi-jha
-* Adam J. Stewart
-* Aditi Gautam
-* Aditya Vidyadhar Kamath
-* Aishling Cooke
-* Alan
-* Alan Sosa
-* Alice
-* Aman Nijjar
-* Ammar Qazi
-* Ancheng
-* anpaulan
-* Anson0028
-* Anthony Lee
-* anTon
+* Anselm Hahn
* Antony Lee
-* Ayoub Gouasmi
-* Brigitta Sipőcz
-* Caitlin Hathaway
-* cesar
-* Charlie LeWarne
-* Christian Mattsson
-* ClarkeAC
-* Clemens Brunner
-* Clement Gilli
-* cmp0xff
-* Costa Paraskevopoulos
-* dale
-* Dani Pinyol
-* Daniel Weiss
-* Danny
-* David Bakaj
-* David Lowry-Duda
-* David Meyer
-* David Stansby
-* dbakaj
+* Ben Greiner
+* Chaoyi Hu
+* Christine P. Chai
* dependabot[bot]
-* Diogo Cardoso
-* Doron Behar
-* Edgar Andrés Margffoy Tuay
* Elliott Sales de Andrade
-* Eytan Adler
-* farquh
-* Felipe Cybis Pereira
-* Filippo Balzaretti
-* FMasson
-* Francisco Cardozo
-* Gavin S
+* G.D. McBain
* Greg Lucas
-* haaris
* hannah
-* Ian Thomas
-* Illviljan
-* James Addison
-* James Spencer
-* Jody Klymak
-* john
-* Jonas Eschle
-* Jouni K. Seppänen
-* juanis2112
-* Juanita Gomez
-* Justin Hendrick
-* K900
-* Kaustbh
-* Kaustubh
-* Kherim Willems
+* hu-xiaonan
+* Khushi_29
+* Khushikela29
+* KIU Shueng Chuan
+* Kyle Martin
* Kyle Sunden
-* Kyra Cho
-* Larry Bradley
-* litchi
-* Lorenzo
-* Lucx33
* Lumberbot (aka Jack)
-* MadPhysicist
-* malhar2460
-* Martino Sorbaro
-* Mathias Hauser
-* Matthew Feickert
-* Matthew Petroff
-* Melissa Weber Mendonça
-* Michael
-* Michael Droettboom
-* Michael Hinton
-* MischaMegens2
-* Moritz Wolter
-* muchojp
-* Nabil
-* nakamura yuki
-* odile
-* OdileVidrine
+* Manthan Nagvekar
+* musvaage
+* Nathan G. Wiseman
* Oscar Gustafsson
-* Panicks28
-* Paul An
-* Pedro Barão
-* PedroBittarBarao
-* Peter Talley
-* Pierre-antoine Comby
-* Pranav
-* Pranav Raghu
-* pre-commit-ci[bot]
-* proximalf
-* r3kste
-* Randolf Scholz
-* Refael Ackermann
-* RickyP24
-* rnhmjoj
+* Owl
* Ruth Comer
-* Ryan May
-* Sai Chaitanya, Sanivada
-* saranti
-* scaccol
+* saikarna913
* Scott Shambaugh
-* Sean Smith
-* Simon May
-* simond07
-* smcgrawDotNet
-* Takumasa N
-* Takumasa N.
-* Takumasa Nakamura
-* thiagoluisbecker
* Thomas A Caswell
-* Tiago Lubiana
* Tim Hoffmann
-* trananso
* Trygve Magnus Ræder
-* Victor Liu
-* vittoboa
-* Xeniya Shoiko
GitHub issues and pull requests:
-Pull Requests (337):
+Pull Requests (107):
-* :ghpull:`29299`: Merge v3.9.x into v3.10.x
-* :ghpull:`29296`: Backport PR #29295 on branch v3.10.x (BLD: Pin meson-python to <0.17.0)
-* :ghpull:`29290`: Backport PR #29254 on branch v3.10.x (DOC: Add note to align_labels())
-* :ghpull:`29289`: Backport PR #29260 on branch v3.10.x (DOC: Better explanation of rcParams "patch.edgecolor" and "patch.force_edgecolor")
-* :ghpull:`29288`: Backport PR #29285 on branch v3.10.x (Retarget PR#29175 to main)
-* :ghpull:`29254`: DOC: Add note to align_labels()
-* :ghpull:`29260`: DOC: Better explanation of rcParams "patch.edgecolor" and "patch.force_edgecolor"
-* :ghpull:`29285`: Retarget PR#29175 to main
-* :ghpull:`29286`: Backport PR #29274 on branch v3.10.x (Bump the actions group across 1 directory with 2 updates)
-* :ghpull:`29274`: Bump the actions group across 1 directory with 2 updates
-* :ghpull:`29283`: Backport PR #29272 on branch v3.10.x (DOC: Add section on translating between Axes and pyplot interface)
-* :ghpull:`29272`: DOC: Add section on translating between Axes and pyplot interface
-* :ghpull:`29279`: Backport PR #29265 on branch v3.10.x (DOC: Slightly improve the LineCollection docstring)
-* :ghpull:`29276`: Backport PR #29247 on branch v3.10.x (Fix building freetype 2.6.1 on macOS clang 18)
-* :ghpull:`29244`: Switch to a 3d rotation trackball implementation with path independence
-* :ghpull:`29265`: DOC: Slightly improve the LineCollection docstring
-* :ghpull:`29247`: Fix building freetype 2.6.1 on macOS clang 18
-* :ghpull:`29268`: Bump the actions group with 2 updates
-* :ghpull:`29266`: Backport PR #29251 on branch v3.10.x (Zizmor audit)
-* :ghpull:`29269`: Backport PR #29267 on branch v3.10.x (Exclude pylab from mypy checks)
-* :ghpull:`29267`: Exclude pylab from mypy checks
-* :ghpull:`29251`: Zizmor audit
-* :ghpull:`29255`: Backport PR #29249 on branch v3.10.x ([Bug Fix] Fix reverse mapping for _translate_tick_params)
-* :ghpull:`29249`: [Bug Fix] Fix reverse mapping for _translate_tick_params
-* :ghpull:`29250`: Backport PR #29243 on branch v3.10.x (Add quotes around [dev] in environment.yml)
-* :ghpull:`29243`: Add quotes around [dev] in environment.yml
-* :ghpull:`29246`: Backport PR #29240 on branch v3.10.x (DOC: Add plt.show() to introductory pyplot example)
-* :ghpull:`29240`: DOC: Add plt.show() to introductory pyplot example
-* :ghpull:`29239`: Backport PR #29236 on branch v3.10.x (ANI: Reduce Pillow frames to RGB when opaque)
-* :ghpull:`29238`: Backport PR #29167 on branch v3.10.x (BUGFIX: use axes unit information in ConnectionPatch )
-* :ghpull:`29236`: ANI: Reduce Pillow frames to RGB when opaque
-* :ghpull:`29167`: BUGFIX: use axes unit information in ConnectionPatch
-* :ghpull:`29232`: Merge branch v3.9.x into v3.10.x
-* :ghpull:`29230`: Backport PR #29188 on branch v3.10.x (Bump pypa/cibuildwheel from 2.21.3 to 2.22.0 in the actions group)
-* :ghpull:`29188`: Bump pypa/cibuildwheel from 2.21.3 to 2.22.0 in the actions group
-* :ghpull:`29225`: Backport PR #29213 on branch v3.10.x (avoid-unnecessary-warning-in-_pcolorargs-function)
-* :ghpull:`29211`: Backport PR #29133 on branch v3.10.x (Creating_parse_bar_color_args to unify color handling in plt.bar with precedence and sequence support for facecolor and edgecolor)
-* :ghpull:`29177`: Backport PR #29148 on branch v3.10.x (Don't fail on equal-but-differently-named cmaps in qt figureoptions.)
-* :ghpull:`29226`: Backport PR #29206 on branch v3.10.x (Skip more tests on pure-Wayland systems)
-* :ghpull:`29206`: Skip more tests on pure-Wayland systems
-* :ghpull:`29213`: avoid-unnecessary-warning-in-_pcolorargs-function
-* :ghpull:`29210`: Backport PR #29209 on branch v3.10.x (FIX: pcolormesh with no x y args and nearest interp)
-* :ghpull:`29133`: Creating_parse_bar_color_args to unify color handling in plt.bar with precedence and sequence support for facecolor and edgecolor
-* :ghpull:`29209`: FIX: pcolormesh with no x y args and nearest interp
-* :ghpull:`29200`: Backport PR #29182 on branch v3.10.x (Update backend_qt.py: parent not passed to __init__ on subplottool)
-* :ghpull:`29207`: Backport PR #29169 on branch v3.10.x (Minor fixes to text intro explainer)
-* :ghpull:`29169`: Minor fixes to text intro explainer
-* :ghpull:`29159`: Pending warning for deprecated parameter 'vert' of box and violin on 3.10
-* :ghpull:`29196`: Backport PR #29191 on branch v3.10.x (ci: Simplify 3.13t test setup)
-* :ghpull:`29182`: Update backend_qt.py: parent not passed to __init__ on subplottool
-* :ghpull:`29189`: Backport PR #28934 on branch v3.10.x (ci: Unpin micromamba again)
-* :ghpull:`29186`: Backport PR #28335 on branch v3.10.x (DOC: do not posting LLM output as your own work)
-* :ghpull:`28934`: ci: Unpin micromamba again
-* :ghpull:`28335`: DOC: do not posting LLM output as your own work
-* :ghpull:`29178`: Backport PR #29163 on branch v3.9.x (ci: Remove outdated pkg-config package on macOS)
-* :ghpull:`29170`: Backport PR #29154 on branch v3.10.x (Relax conditions for warning on updating converters)
-* :ghpull:`29154`: Relax conditions for warning on updating converters
-* :ghpull:`29166`: Backport PR #29153 on branch v3.10.x (Bump codecov/codecov-action from 4 to 5 in the actions group)
-* :ghpull:`29164`: Backport PR #29163 on branch v3.10.x (ci: Remove outdated pkg-config package on macOS)
-* :ghpull:`29168`: Backport PR #29073 on branch v3.10.x (Update secondary_axis tutorial)
-* :ghpull:`29073`: Update secondary_axis tutorial
-* :ghpull:`29163`: ci: Remove outdated pkg-config package on macOS
-* :ghpull:`29145`: Backport PR #29144 on branch v3.10.x (Use both TCL_SETVAR and TCL_SETVAR2 for tcl 9 support)
-* :ghpull:`29144`: Use both TCL_SETVAR and TCL_SETVAR2 for tcl 9 support
-* :ghpull:`29140`: Backport PR #29080 on branch v3.10.x (Updates the ``galleries/tutorials/artists.py`` file in response to issue #28920)
-* :ghpull:`29080`: Updates the ``galleries/tutorials/artists.py`` file in response to issue #28920
-* :ghpull:`29138`: Backport PR #29134 on branch v3.10.x (MNT: Temporarily skip failing test to unbreak CI)
-* :ghpull:`29134`: MNT: Temporarily skip failing test to unbreak CI
-* :ghpull:`29132`: Backport PR #29128 on branch v3.10.x (Tweak AutoMinorLocator docstring.)
-* :ghpull:`29128`: Tweak AutoMinorLocator docstring.
-* :ghpull:`29123`: Bump the actions group with 2 updates
-* :ghpull:`29122`: Backport PR #29120 on branch v3.10.x (DOC: Switch nested pie example from cmaps to color_sequences)
-* :ghpull:`29100`: Backport PR #29099 on branch v3.10.x (MNT: remove _ttconv.pyi)
-* :ghpull:`29099`: MNT: remove _ttconv.pyi
-* :ghpull:`29098`: Backport PR #29097 on branch v3.10.x (ENH: add back/forward buttons to osx backend move)
-* :ghpull:`29097`: ENH: add back/forward buttons to osx backend move
-* :ghpull:`29095`: Backport PR #29071 on branch v3.10.x (Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0 in the actions group)
-* :ghpull:`29096`: Backport PR #29094 on branch v3.10.x (DOC: fix link in See Also section of axes.violin)
-* :ghpull:`29092`: Backport PR #29088 on branch v3.10.x (DOC: Format aliases in kwargs tables)
-* :ghpull:`29094`: DOC: fix link in See Also section of axes.violin
-* :ghpull:`29091`: Backport PR #29085 on branch v3.10.x (FIX: Update GTK3Agg backend export name for consistency)
-* :ghpull:`29088`: DOC: Format aliases in kwargs tables
-* :ghpull:`29089`: Backport PR #29065 on branch v3.10.x (DOC: Update docstring of triplot())
-* :ghpull:`29085`: FIX: Update GTK3Agg backend export name for consistency
-* :ghpull:`29084`: Backport PR #29081 on branch v3.10.x (Document "none" as color value)
-* :ghpull:`29065`: DOC: Update docstring of triplot()
-* :ghpull:`29081`: Document "none" as color value
-* :ghpull:`29061`: Backport PR #29024 on branch v3.10.x (Fix saving animations to transparent formats)
-* :ghpull:`29069`: Backport PR #29068 on branch v3.10.x ([DOC] Fix indentation in sync_cmaps example)
-* :ghpull:`29070`: Backport PR #29048 on branch v3.10.x (DOC: integrated pr workflow from contributing guide into install and workflow)
-* :ghpull:`29048`: DOC: integrated pr workflow from contributing guide into install and workflow
-* :ghpull:`29068`: [DOC] Fix indentation in sync_cmaps example
-* :ghpull:`29024`: Fix saving animations to transparent formats
-* :ghpull:`29059`: Cleanup converter docs and StrCategoryConverter behavior
-* :ghpull:`29058`: [DOC] Update missing-references.json
-* :ghpull:`29057`: DOC/TST: lock numpy<2.1 in environment.yml
-* :ghpull:`29053`: Factor out common formats strings in LogFormatter, LogFormatterExponent.
-* :ghpull:`28970`: Add explicit converter setting to Axis
-* :ghpull:`28048`: Enables setting hatch linewidth in Patches and Collections, also fixes setting hatch linewidth by rcParams
-* :ghpull:`29017`: DOC: Document preferred figure size for examples
-* :ghpull:`28871`: updated contribution doc #28476
-* :ghpull:`28453`: Stop relying on dead-reckoning mouse buttons for motion_notify_event.
-* :ghpull:`28495`: ticker.EngFormatter: allow offset
-* :ghpull:`29039`: MNT: Add provisional get_backend(resolve=False) flag
-* :ghpull:`28946`: MNT: Deprecate plt.polar() with an existing non-polar Axes
-* :ghpull:`29013`: FIX: auto_fmtxdate for constrained layout
-* :ghpull:`29022`: Fixes AIX internal CI build break.
-* :ghpull:`28830`: Feature: Support passing DataFrames to table.table
-* :ghpull:`27766`: Return filename from save_figure
-* :ghpull:`27167`: ENH: add long_axis property to colorbar
-* :ghpull:`29021`: Update minimum pybind11 to 2.13.2
-* :ghpull:`28863`: Improved documentation for quiver
-* :ghpull:`29019`: Update requirements to add PyStemmer to doc-requirements and environment
-* :ghpull:`28653`: Mnt/generalize plot varargs
-* :ghpull:`28967`: Fix MSVC cast warnings
-* :ghpull:`29016`: DOC: Better explain suptitle / supxlabel / supylabel naming
-* :ghpull:`28842`: FT2Font extension improvements
-* :ghpull:`28658`: New data → color pipeline
-* :ghpull:`29012`: Bump required pybind11 to 2.13
-* :ghpull:`29007`: MNT: Deprecate changing Figure.number
-* :ghpull:`28861`: Break Artist._remove_method reference cycle
-* :ghpull:`28478`: bugfix for ``PathSimplifier``
-* :ghpull:`28992`: DOC: Refresh transform tree example
-* :ghpull:`28890`: MNT: Add missing dependency to environment.yml
-* :ghpull:`28354`: Add Quiverkey zorder option
-* :ghpull:`28966`: Fix polar error bar cap orientation
-* :ghpull:`28819`: Mark all extensions as free-threading safe
-* :ghpull:`28986`: DOC: Add tags for 3D fill_between examples
-* :ghpull:`28984`: DOC / BUG: Better example for 3D axlim_clip argument
-* :ghpull:`20866`: Remove ttconv and implement Type-42 embedding using fontTools
-* :ghpull:`28975`: Set guiEvent where applicable for gtk4.
-* :ghpull:`28568`: added tags to mplot3d examples
-* :ghpull:`28976`: Bump pypa/cibuildwheel from 2.21.2 to 2.21.3 in the actions group
-* :ghpull:`28978`: CI: Resolve mypy stubtest build errors
-* :ghpull:`28823`: Fix 3D rotation precession
-* :ghpull:`28841`: Make mplot3d mouse rotation style adjustable
-* :ghpull:`28971`: DOC: correct linestyle example and reference rcParams
-* :ghpull:`28702`: [MNT]: #28701 separate the generation of polygon vertices in fill_between to enable resampling
-* :ghpull:`28965`: Suggest imageio_ffmpeg to provide ffmpeg as animation writer.
-* :ghpull:`28964`: FIX macos: Use the agg buffer_rgba rather than private attribute
-* :ghpull:`28963`: Remove refs to outdated writers in animation.py.
-* :ghpull:`28948`: Raise ValueError for RGB values outside the [0, 1] range in rgb_to_hsv function
-* :ghpull:`28857`: Pybind11 cleanup
-* :ghpull:`28949`: [pre-commit.ci] pre-commit autoupdate
-* :ghpull:`28950`: Bump the actions group with 2 updates
-* :ghpull:`28904`: Agg: Remove 16-bit limits
-* :ghpull:`28856`: Convert remaining code to pybind11
-* :ghpull:`28874`: Remove remaining 3.8 deprecations
-* :ghpull:`28943`: DOC: Clarify the returned line of axhline()/axvline()
-* :ghpull:`28935`: DOC: Fix invalid rcParam references
-* :ghpull:`28942`: In colorbar docs, add ref from 'boundaries' doc to 'spacing' doc.
-* :ghpull:`28933`: Switch AxLine.set_xy{1,2} to take a single argument.
-* :ghpull:`28869`: ci: Bump build image on AppVeyor to MSVC 2019
-* :ghpull:`28906`: Re-fix exception caching in dviread.
-* :ghpull:`27349`: [ENH] Implement dynamic clipping to axes limits for 3D plots
-* :ghpull:`28913`: DOC: Fix Axis.set_label reference
-* :ghpull:`28911`: MNT: Fix double evaluation of _LazyTickList
-* :ghpull:`28584`: MNT: Prevent users from erroneously using legend label API on Axis
-* :ghpull:`28853`: MNT: Check the input sizes of regular X,Y in pcolorfast
-* :ghpull:`28838`: TST: Fix minor issues in interactive backend test
-* :ghpull:`28795`: MNT: Cleanup docstring substitution mechanisms
-* :ghpull:`28897`: Fix minor issues in stubtest wrapper
-* :ghpull:`28899`: Don't cache exception with traceback reference loop in dviread.
-* :ghpull:`28888`: DOC: Better visualization for the default color cycle example
-* :ghpull:`28896`: doc: specify non-python dependencies in dev install docs
-* :ghpull:`28843`: MNT: Cleanup FontProperties __init__ API
-* :ghpull:`28683`: MNT: Warn if fixed aspect overwrites explicitly set data limits
-* :ghpull:`25645`: Fix issue with sketch not working on PathCollection in Agg
-* :ghpull:`28886`: DOC: Cross-link Axes attributes
-* :ghpull:`28880`: Remove 'in' from removal substitution for deprecation messages
-* :ghpull:`28875`: DOC: Fix documentation of hist() kwarg lists
-* :ghpull:`28825`: DOC: Fix non-working code object references
-* :ghpull:`28862`: Improve pie chart error messages
-* :ghpull:`28844`: DOC: Add illustration to Figure.subplots_adjust
-* :ghpull:`28588`: Fix scaling in Tk on non-Windows systems
-* :ghpull:`28849`: DOC: Mark subfigures as no longer provisional
-* :ghpull:`26000`: making onselect a keyword argument on selectors
-* :ghpull:`26013`: Support unhashable callbacks in CallbackRegistry
-* :ghpull:`27011`: Convert Agg extension to pybind11
-* :ghpull:`28845`: In examples, prefer named locations rather than location numbers.
-* :ghpull:`27218`: API: finish LocationEvent.lastevent removal
-* :ghpull:`26870`: Removed the deprecated code from axis.py
-* :ghpull:`27996`: Create ``InsetIndicator`` artist
-* :ghpull:`28532`: TYP: Fix xycoords and friends
-* :ghpull:`28785`: Convert ft2font extension to pybind11
-* :ghpull:`28815`: DOC: Document policy on colormaps and styles
-* :ghpull:`28826`: MNT: Replace _docstring.dedent_interpd by its alias _docstring.interpd
-* :ghpull:`27567`: DOC: batch of tags
-* :ghpull:`27302`: Tags for simple_scatter.py demo
-* :ghpull:`28820`: DOC: Fix missing cross-reference checks for sphinx-tags
-* :ghpull:`28786`: Handle single color in ContourSet
-* :ghpull:`28808`: DOC: Add a plot to margins() to visualize the effect
-* :ghpull:`27938`: feat: add dunder method for math operations on Axes Size divider
-* :ghpull:`28569`: Adding tags to many examples
-* :ghpull:`28183`: Expire deprecations
-* :ghpull:`28801`: DOC: Clarify AxLine.set_xy2 / AxLine.set_slope
-* :ghpull:`28788`: TST: Skip webp tests if it isn't available
-* :ghpull:`28550`: Remove internal use of ``Artist.figure``
-* :ghpull:`28767`: MNT: expire ``ContourSet`` deprecations
-* :ghpull:`28755`: TYP: Add typing for internal _tri extension
-* :ghpull:`28765`: Add tests for most of FT2Font, and fix some bugs
-* :ghpull:`28781`: TST: Fix test_pickle_load_from_subprocess in a dirty tree
-* :ghpull:`28783`: Fix places where "auto" was not listed as valid interpolation_stage.
-* :ghpull:`28779`: DOC/TST: lock numpy < 2.1
-* :ghpull:`28771`: Ensure SketchParams is always fully initialized
-* :ghpull:`28375`: FIX: Made AffineDeltaTransform pass-through properly
-* :ghpull:`28454`: MultivarColormap and BivarColormap
-* :ghpull:`27891`: Refactor some parts of ft2font extension
-* :ghpull:`28752`: quick fix dev build by locking out numpy version that's breaking things
-* :ghpull:`28749`: Add sphinxcontrib-video to environment.yml
-* :ghpull:`27851`: Add ten-color accessible color cycle as style sheet
-* :ghpull:`28501`: ConciseDateFormatter's offset string is correct on an inverted axis
-* :ghpull:`28734`: Compressed layout moves suptitle
-* :ghpull:`28736`: Simplify some code in dviread
-* :ghpull:`28347`: Doc: added triage section to new contributor docs
-* :ghpull:`28735`: ci: Avoid setuptools 72.2.0 when installing kiwi on PyPy
-* :ghpull:`28728`: MNT: Deprecate reimported functions in top-level namespace
-* :ghpull:`28730`: MNT: Don't rely on RcParams being a dict subclass in internal code
-* :ghpull:`28714`: Simplify _api.warn_external on Python 3.12+
-* :ghpull:`28727`: MNT: Better workaround for format_cursor_data on ScalarMappables
-* :ghpull:`28725`: Stop disabling FH4 Exception Handling on MSVC
-* :ghpull:`28711`: Merge branch v3.9.x into main
-* :ghpull:`28713`: DOC: Add a few more notes to release guide
-* :ghpull:`28720`: DOC: Clarify axhline() uses axes coordinates
-* :ghpull:`28718`: DOC: Update missing references for numpydoc 1.8.0
-* :ghpull:`28710`: DOC: clarify alpha handling for indicate_inset[_zoom]
-* :ghpull:`28704`: Fixed arrowstyle doc interpolation in FancyPatch.set_arrow() #28698.
-* :ghpull:`28709`: Bump actions/attest-build-provenance from 1.4.0 to 1.4.1 in the actions group
-* :ghpull:`28707`: Avoid division-by-zero in Sketch::Sketch
-* :ghpull:`28610`: CI: Add CI to test matplotlib against free-threaded Python
-* :ghpull:`28262`: Fix PolygonSelector cursor to temporarily hide during active zoom/pan
-* :ghpull:`28670`: API: deprecate unused helper in patch._Styles
-* :ghpull:`28589`: Qt embedding example: Separate drawing and data retrieval timers
-* :ghpull:`28655`: Inline annotation and PGF user demos
-* :ghpull:`28654`: DOC: Remove long uninstructive examples
-* :ghpull:`28652`: Fix docstring style inconsistencies in lines.py
-* :ghpull:`28641`: DOC: Standardize example titles - part 2
-* :ghpull:`28642`: DOC: Simplify heatmap example
-* :ghpull:`28638`: DOC: Remove hint on PRs from origin/main
-* :ghpull:`28587`: Added dark-mode diverging colormaps
-* :ghpull:`28546`: DOC: Clarify/simplify example of multiple images with one colorbar
-* :ghpull:`28613`: Added documentation for parameters vmin and vmax inside specgram function.
-* :ghpull:`28627`: DOC: Bump minimum Sphinx to 5.1.0
-* :ghpull:`28628`: DOC: Sub-structure next API changes overview
-* :ghpull:`28629`: FIX: ``Axis.set_in_layout`` respected
-* :ghpull:`28575`: Add branch tracking to development workflow instructions
-* :ghpull:`28616`: CI: Build docs on latest Python
-* :ghpull:`28617`: DOC: Enable parallel builds
-* :ghpull:`28544`: DOC: Standardize example titles
-* :ghpull:`28615`: DOC: hack to suppress sphinx-gallery 17.0 warning
-* :ghpull:`28293`: BLD: Enable building Python 3.13 wheels for nightlies
-* :ghpull:`27385`: Fix 3D lines being visible when behind camera
-* :ghpull:`28609`: svg: Ensure marker-only lines get URLs
-* :ghpull:`28599`: Upgrade code to Python 3.10
-* :ghpull:`28593`: Update ruff to 0.2.0
-* :ghpull:`28603`: Simplify ttconv python<->C++ conversion using std::optional.
-* :ghpull:`28557`: DOC: apply toc styling to remove nesting
-* :ghpull:`28542`: CI: adjust pins in mypy GHA job
-* :ghpull:`28504`: Changes in SVG backend to improve compatibility with Affinity designer
-* :ghpull:`28122`: Disable clipping in Agg resamplers.
-* :ghpull:`28597`: Pin PyQt6 back on Ubuntu 20.04
-* :ghpull:`28073`: Add support for multiple hatches, edgecolors and linewidths in histograms
-* :ghpull:`28594`: MNT: Raise on GeoAxes limits manipulation
-* :ghpull:`28312`: Remove one indirection layer in ToolSetCursor.
-* :ghpull:`28573`: ENH: include property name in artist AttributeError
-* :ghpull:`28503`: Bump minimum Python to 3.10
-* :ghpull:`28525`: FIX: colorbar pad for ``ImageGrid``
-* :ghpull:`28558`: DOC: Change _make_image signature to numpydoc
-* :ghpull:`28061`: API: add antialiased to interpolation-stage in image
-* :ghpull:`28536`: [svg] Add rcParam["svg.id"] to add a top-level id attribute to