Skip to content

Commit 72b4eb2

Browse files
authored
Merge pull request matplotlib#31560 from ksunden/merge_up_v3.10.9
merge up v3.10.9
2 parents 7e18ee2 + cc8a687 commit 72b4eb2

9 files changed

Lines changed: 239 additions & 36 deletions

File tree

doc/_static/switcher.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[
22
{
33
"name": "3.10 (stable)",
4-
"version": "3.10.8",
4+
"version": "3.10.9",
55
"url": "https://matplotlib.org/stable/",
66
"preferred": true
77
},
Lines changed: 35 additions & 0 deletions
Loading
Lines changed: 35 additions & 0 deletions
Loading
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
API Changes for 3.10.9
2+
======================
3+
4+
5+
Deprecations
6+
------------
7+
8+
9+
Arbitrary code in ``axes.prop_cycle`` rcParam strings
10+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11+
12+
The ``axes.prop_cycle`` rcParam accepts Python expressions that are evaluated
13+
in a limited context. The evaluation context has been further limited and some
14+
expressions that previously worked (list comprehensions, for example) no longer
15+
will. This change is made without a deprecation period to improve security.
16+
The previously documented cycler operations at
17+
https://matplotlib.org/cycler/ are still supported.
18+
19+
This change was originally slated for v3.11.0 of Matplotlib, but was additionally
20+
backported due to the security implications.

doc/project/citing.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ By version
3232
.. START OF AUTOGENERATED
3333
3434
35+
v3.10.9
36+
.. image:: ../_static/zenodo_cache/19716234.svg
37+
:target: https://doi.org/10.5281/zenodo.19716234
38+
v3.10.8
39+
.. image:: ../_static/zenodo_cache/17595503.svg
40+
:target: https://doi.org/10.5281/zenodo.17595503
3541
v3.10.7
3642
.. image:: ../_static/zenodo_cache/17298696.svg
3743
:target: https://doi.org/10.5281/zenodo.17298696

doc/release/github_stats.rst

Lines changed: 61 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,81 +2,107 @@
22

33
.. _github-stats:
44

5-
GitHub statistics for 3.10.8 (Nov 12, 2025)
5+
GitHub statistics for 3.10.9 (Apr 23, 2026)
66
===========================================
77

8-
GitHub statistics for 2024/12/14 (tag: v3.10.0) - 2025/11/12
8+
GitHub statistics for 2024/12/14 (tag: v3.10.0) - 2026/04/23
99

1010
These lists are automatically generated, and may be incomplete or contain duplicates.
1111

12-
We closed 4 issues and merged 16 pull requests.
13-
The full list can be seen `on GitHub <https://github.com/matplotlib/matplotlib/milestone/106?closed=1>`__
12+
We closed 10 issues and merged 34 pull requests.
13+
The full list can be seen `on GitHub <https://github.com/matplotlib/matplotlib/milestone/107?closed=1>`__
1414

15-
The following 35 authors contributed 445 commits.
15+
The following 37 authors contributed 519 commits.
1616

1717
* Aasma Gupta
18+
* Aman Srivastava
1819
* Antony Lee
20+
* beelauuu
21+
* Ben Root
1922
* Christine P. Chai
2023
* David Stansby
2124
* dependabot[bot]
2225
* Elliott Sales de Andrade
2326
* G.D. McBain
2427
* Greg Lucas
2528
* hannah
26-
* heinrich5991
2729
* hu-xiaonan
2830
* Ian Thomas
2931
* Inês Cachola
3032
* Jody Klymak
3133
* Jouni K. Seppänen
3234
* Khushi_29
3335
* Kyle Sunden
34-
* Lucas Gruwez
3536
* Lumberbot (aka Jack)
37+
* m-sahare
3638
* N R Navaneet
3739
* Nathan G. Wiseman
38-
* Nathan Goldbaum
39-
* Nick Coish
4040
* Oscar Gustafsson
4141
* Praful Gulani
4242
* Qian Zhang
43-
* Rafael Katri
4443
* Raphael Erik Hviding
44+
* Raphael Quast
4545
* Roman
4646
* Ruth Comer
4747
* saikarna913
4848
* Scott Shambaugh
49+
* Steve Berardi
4950
* Thomas A Caswell
5051
* Tim Hoffmann
5152
* Trygve Magnus Ræder
53+
* Vikash Kumar
5254

5355
GitHub issues and pull requests:
5456

55-
Pull Requests (16):
56-
57-
* :ghpull:`30717`: Backport PR #30714 on branch v3.10.x (FIX: Gracefully handle numpy arrays as input to check_in_list())
58-
* :ghpull:`30714`: FIX: Gracefully handle numpy arrays as input to check_in_list()
59-
* :ghpull:`30560`: Consistent zoom boxes
60-
* :ghpull:`30711`: Backport PR #30697 on branch v3.10.x (BUG: raise when creating a MacOS FigureManager outside the main thread)
61-
* :ghpull:`30697`: BUG: raise when creating a MacOS FigureManager outside the main thread
62-
* :ghpull:`30656`: Backport PR #29810 on branch v3.10.x (Declare free-threaded support in MacOS backend extension)
63-
* :ghpull:`30702`: Backport PR #30624 on branch v3.10.x (TST: Increase tolerances for Ghostscript 10.06)
64-
* :ghpull:`30700`: Backport PR #30698 on branch v3.10.x (BLD: update trove metadata to support py3.14)
65-
* :ghpull:`30624`: TST: Increase tolerances for Ghostscript 10.06
66-
* :ghpull:`30698`: BLD: update trove metadata to support py3.14
67-
* :ghpull:`30688`: Backport PR #30687 on branch v3.10.x (DOC: Fix pip link)
68-
* :ghpull:`30675`: Backport PR #30657 on branch v3.10.x (Fix AttributeError: module 'gi' has no attribute 'require_version')
69-
* :ghpull:`30674`: Backport PR #30672 on branch v3.10.x (Use pathlib.Path instead of matplotlib.path.Path in text.pyi)
70-
* :ghpull:`30672`: Use pathlib.Path instead of matplotlib.path.Path in text.pyi
71-
* :ghpull:`30657`: Fix ``AttributeError: module 'gi' has no attribute 'require_version'``
72-
* :ghpull:`29810`: Declare free-threaded support in MacOS backend extension
73-
74-
Issues (4):
75-
76-
* :ghissue:`30706`: [Bug]: Axes.grouped_bar() with non-string orientation (e.g., NumPy array) raises ambiguous truth-value error instead of clean ValueError
77-
* :ghissue:`30666`: [Bug]: calling pyplot.gca() outside the main thread crashes the interpreter with the MacOS backend
78-
* :ghissue:`30669`: [Bug]: Type hint for fontproperties keyword in text.pyi is wrong
79-
* :ghissue:`30654`: [Bug]: error plotting: AttributeError: module 'gi' has no attribute 'require_version'
57+
Pull Requests (34):
58+
59+
* :ghpull:`31556`: FIX: Inverted PyErr_Occurred check in enum type caster (_enums.h)
60+
* :ghpull:`31078`: Backport PR #31075 on branch v3.10.x (Fix remove method for figure title and xy-labels)
61+
* :ghpull:`31280`: Backport PR #31278 on branch v3.10.x (Fix ``clabel`` manual argument not accepting unit-typed coordinates)
62+
* :ghpull:`31520`: Backport PR #31020 on branch v3.10.x (DOC: Fix doc builds with Sphinx 9)
63+
* :ghpull:`31511`: Backport PR #31504 on branch v3.10.x (Re-order variants to prioritize narrower types)
64+
* :ghpull:`31504`: Re-order variants to prioritize narrower types
65+
* :ghpull:`31445`: Backport PR #31437: mathtext: Fix type inconsistency with fontmaps
66+
* :ghpull:`31437`: mathtext: Fix type inconsistency with fontmaps
67+
* :ghpull:`31411`: Backport PR #31323 on branch v3.10.x (FIX: Prevent crash when removing a subfigure containing subplots)
68+
* :ghpull:`31421`: Backport PR #31420 on branch v3.10.x (Fix outdated Savannah URL for freetype download)
69+
* :ghpull:`31420`: Fix outdated Savannah URL for freetype download
70+
* :ghpull:`31418`: Backport PR #31401: BLD: Temporarily pin setuptools-scm<10
71+
* :ghpull:`31323`: FIX: Prevent crash when removing a subfigure containing subplots
72+
* :ghpull:`31401`: BLD: Temporarily pin setuptools-scm<10
73+
* :ghpull:`31278`: Fix ``clabel`` manual argument not accepting unit-typed coordinates
74+
* :ghpull:`31154`: Backport PR #31153 on branch v3.10.x (TST: Use correct method of clearing mock objects)
75+
* :ghpull:`31153`: TST: Use correct method of clearing mock objects
76+
* :ghpull:`31075`: Fix remove method for figure title and xy-labels
77+
* :ghpull:`31036`: Backport PR #31035 on branch v3.10.x (DOCS: Fix typo in time array step size comment)
78+
* :ghpull:`30986`: Backport PR #30985 on branch v3.10.x (MNT: do not assign a numpy array shape)
79+
* :ghpull:`30985`: MNT: do not assign a numpy array shape
80+
* :ghpull:`30971`: Backport PR #30969 on branch v3.10.x (DOC: Simplify barh() example)
81+
* :ghpull:`30965`: Backport PR #30952 on branch v3.10.x (DOC: Tutorial on API shortcuts)
82+
* :ghpull:`30964`: Backport PR #30960 on branch v3.10.x (SVG backend - handle font weight as integer)
83+
* :ghpull:`30960`: SVG backend - handle font weight as integer
84+
* :ghpull:`30924`: Backport PR #30910 on branch v3.10.x (DOC: Improve writer parameter docs of Animation.save())
85+
* :ghpull:`30870`: Backport PR #30869 on branch v3.10.x (FIX: Accept array for zdir)
86+
* :ghpull:`30869`: FIX: Accept array for zdir
87+
* :ghpull:`30860`: Backport PR #30858 on branch v3.10.x (DOC: reinstate "codex" search term)
88+
* :ghpull:`30818`: Backport PR #30817 on branch v3.10.x (Update sphinx-gallery header patch)
89+
* :ghpull:`30801`: Backport PR #30763 on branch v3.10.x (DOC: Add example how to align tick labels)
90+
* :ghpull:`30791`: Backport PR #30788 on branch v3.10.8-doc (Fix typo in key-mapping for "f11")
91+
* :ghpull:`30790`: Backport PR #30788 on branch v3.10.x (Fix typo in key-mapping for "f11")
92+
* :ghpull:`30788`: Fix typo in key-mapping for "f11"
93+
94+
Issues (10):
95+
96+
* :ghissue:`31495`: Unavoidable warnings with pybind11 main branch
97+
* :ghissue:`31433`: [MNT]: Mypy error
98+
* :ghissue:`31340`: [Bug]: outdated savannah URL in subprojects/freetype-2.6.1.wrap
99+
* :ghissue:`31319`: [Bug]: Crash when removing a subfigure with a subplot in a figure
100+
* :ghissue:`27525`: [Bug]: clabel manual argument does not accept units
101+
* :ghissue:`31112`: [TST] Upcoming dependency test failures
102+
* :ghissue:`31073`: [Bug]: Crash when Removing Suptitle in a Figure with Constrained Layout
103+
* :ghissue:`30981`: [TST] Upcoming dependency test failures
104+
* :ghissue:`30868`: [Bug]: Axe3D text() method does not allow zdir=numpy.array(...)
105+
* :ghissue:`21566`: [ENH]: set_horizontalalignment("right") on Y axis labels when yaxis.ticks_right() is used.
80106

81107

82108
Previous GitHub statistics
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
.. _github-stats_3-10-8:
2+
3+
GitHub statistics for 3.10.8 (Nov 12, 2025)
4+
===========================================
5+
6+
GitHub statistics for 2024/12/14 (tag: v3.10.0) - 2025/11/12
7+
8+
These lists are automatically generated, and may be incomplete or contain duplicates.
9+
10+
We closed 4 issues and merged 16 pull requests.
11+
The full list can be seen `on GitHub <https://github.com/matplotlib/matplotlib/milestone/106?closed=1>`__
12+
13+
The following 35 authors contributed 445 commits.
14+
15+
* Aasma Gupta
16+
* Antony Lee
17+
* Christine P. Chai
18+
* David Stansby
19+
* dependabot[bot]
20+
* Elliott Sales de Andrade
21+
* G.D. McBain
22+
* Greg Lucas
23+
* hannah
24+
* heinrich5991
25+
* hu-xiaonan
26+
* Ian Thomas
27+
* Inês Cachola
28+
* Jody Klymak
29+
* Jouni K. Seppänen
30+
* Khushi_29
31+
* Kyle Sunden
32+
* Lucas Gruwez
33+
* Lumberbot (aka Jack)
34+
* N R Navaneet
35+
* Nathan G. Wiseman
36+
* Nathan Goldbaum
37+
* Nick Coish
38+
* Oscar Gustafsson
39+
* Praful Gulani
40+
* Qian Zhang
41+
* Rafael Katri
42+
* Raphael Erik Hviding
43+
* Roman
44+
* Ruth Comer
45+
* saikarna913
46+
* Scott Shambaugh
47+
* Thomas A Caswell
48+
* Tim Hoffmann
49+
* Trygve Magnus Ræder
50+
51+
GitHub issues and pull requests:
52+
53+
Pull Requests (16):
54+
55+
* :ghpull:`30717`: Backport PR #30714 on branch v3.10.x (FIX: Gracefully handle numpy arrays as input to check_in_list())
56+
* :ghpull:`30714`: FIX: Gracefully handle numpy arrays as input to check_in_list()
57+
* :ghpull:`30560`: Consistent zoom boxes
58+
* :ghpull:`30711`: Backport PR #30697 on branch v3.10.x (BUG: raise when creating a MacOS FigureManager outside the main thread)
59+
* :ghpull:`30697`: BUG: raise when creating a MacOS FigureManager outside the main thread
60+
* :ghpull:`30656`: Backport PR #29810 on branch v3.10.x (Declare free-threaded support in MacOS backend extension)
61+
* :ghpull:`30702`: Backport PR #30624 on branch v3.10.x (TST: Increase tolerances for Ghostscript 10.06)
62+
* :ghpull:`30700`: Backport PR #30698 on branch v3.10.x (BLD: update trove metadata to support py3.14)
63+
* :ghpull:`30624`: TST: Increase tolerances for Ghostscript 10.06
64+
* :ghpull:`30698`: BLD: update trove metadata to support py3.14
65+
* :ghpull:`30688`: Backport PR #30687 on branch v3.10.x (DOC: Fix pip link)
66+
* :ghpull:`30675`: Backport PR #30657 on branch v3.10.x (Fix AttributeError: module 'gi' has no attribute 'require_version')
67+
* :ghpull:`30674`: Backport PR #30672 on branch v3.10.x (Use pathlib.Path instead of matplotlib.path.Path in text.pyi)
68+
* :ghpull:`30672`: Use pathlib.Path instead of matplotlib.path.Path in text.pyi
69+
* :ghpull:`30657`: Fix ``AttributeError: module 'gi' has no attribute 'require_version'``
70+
* :ghpull:`29810`: Declare free-threaded support in MacOS backend extension
71+
72+
Issues (4):
73+
74+
* :ghissue:`30706`: [Bug]: Axes.grouped_bar() with non-string orientation (e.g., NumPy array) raises ambiguous truth-value error instead of clean ValueError
75+
* :ghissue:`30666`: [Bug]: calling pyplot.gca() outside the main thread crashes the interpreter with the MacOS backend
76+
* :ghissue:`30669`: [Bug]: Type hint for fontproperties keyword in text.pyi is wrong
77+
* :ghissue:`30654`: [Bug]: error plotting: AttributeError: module 'gi' has no attribute 'require_version'

doc/release/release_notes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ Version 3.10
1919
:maxdepth: 1
2020

2121
prev_whats_new/whats_new_3.10.0.rst
22+
../api/prev_api_changes/api_changes_3.10.9.rst
2223
../api/prev_api_changes/api_changes_3.10.7.rst
2324
../api/prev_api_changes/api_changes_3.10.1.rst
2425
../api/prev_api_changes/api_changes_3.10.0.rst
2526
github_stats.rst
27+
prev_whats_new/github_stats_3.10.8.rst
2628
prev_whats_new/github_stats_3.10.7.rst
2729
prev_whats_new/github_stats_3.10.6.rst
2830
prev_whats_new/github_stats_3.10.5.rst

tools/cache_zenodo_svg.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ def _get_xdg_cache_dir():
6363

6464
if __name__ == "__main__":
6565
data = {
66+
"v3.10.9": "19716234",
67+
"v3.10.8": "17595503",
6668
"v3.10.7": "17298696",
6769
"v3.10.6": "16999430",
6870
"v3.10.5": "16644850",

0 commit comments

Comments
 (0)