diff --git a/SECURITY.md b/SECURITY.md
index 1de4c3d8e4a3..88d523bec637 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -8,8 +8,9 @@ versions.
| Version | Supported |
| ------- | ------------------ |
+| 3.8.x | :white_check_mark: |
| 3.7.x | :white_check_mark: |
-| 3.6.x | :white_check_mark: |
+| 3.6.x | :x: |
| 3.5.x | :x: |
| 3.4.x | :x: |
| 3.3.x | :x: |
diff --git a/doc/_static/switcher.json b/doc/_static/switcher.json
index b96977bdd725..e5c3abbe5bce 100644
--- a/doc/_static/switcher.json
+++ b/doc/_static/switcher.json
@@ -1,14 +1,19 @@
[
{
- "name": "3.7 (stable)",
+ "name": "3.8 (stable)",
"version": "stable",
"url": "https://matplotlib.org/stable/"
},
{
- "name": "3.8 (dev)",
+ "name": "3.9 (dev)",
"version": "dev",
"url": "https://matplotlib.org/devdocs/"
},
+ {
+ "name": "3.7",
+ "version": "3.7.3",
+ "url": "https://matplotlib.org/3.7.3/"
+ },
{
"name": "3.6",
"version": "3.6.3",
diff --git a/doc/_static/zenodo_cache/8336761.svg b/doc/_static/zenodo_cache/8336761.svg
new file mode 100644
index 000000000000..24c222a8a5f5
--- /dev/null
+++ b/doc/_static/zenodo_cache/8336761.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/doc/_static/zenodo_cache/8347255.svg b/doc/_static/zenodo_cache/8347255.svg
new file mode 100644
index 000000000000..318d9e6bea73
--- /dev/null
+++ b/doc/_static/zenodo_cache/8347255.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/doc/api/next_api_changes/behavior/24531-DOS.rst b/doc/api/next_api_changes/behavior/24531-DOS.rst
deleted file mode 100644
index 0cdc5eb35739..000000000000
--- a/doc/api/next_api_changes/behavior/24531-DOS.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-Tk backend respects file format selection when saving figures
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When saving a figure from a Tkinter GUI to a filename without an
-extension, the file format is now selected based on the value of
-the dropdown menu, rather than defaulting to PNG. When the filename
-contains an extension, or the OS automatically appends one, the
-behavior remains unchanged.
diff --git a/doc/api/next_api_changes/behavior/24661-AAMW.rst b/doc/api/next_api_changes/behavior/24661-AAMW.rst
deleted file mode 100644
index 3a6ce2bcf539..000000000000
--- a/doc/api/next_api_changes/behavior/24661-AAMW.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Placing of maximum and minimum minor ticks
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Calculation of minor tick locations has been corrected to make the maximum and
-minimum minor ticks more consistent. In some cases this results in an extra
-minor tick on an Axis.
diff --git a/doc/api/next_api_changes/behavior/25044-YI.rst b/doc/api/next_api_changes/behavior/25044-YI.rst
deleted file mode 100644
index 2663cfcbccd6..000000000000
--- a/doc/api/next_api_changes/behavior/25044-YI.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``hexbin`` now defaults to ``rcParams["patch.linewidth"]``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The default value of the *linewidths* argument of `.Axes.hexbin` has
-been changed from ``1.0`` to :rc:`patch.linewidth`. This improves the
-consistency with `.QuadMesh` in `.Axes.pcolormesh` and `.Axes.hist2d`.
diff --git a/doc/api/next_api_changes/behavior/25061-DS.rst b/doc/api/next_api_changes/behavior/25061-DS.rst
deleted file mode 100644
index 1341df0d321e..000000000000
--- a/doc/api/next_api_changes/behavior/25061-DS.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-TwoSlopeNorm now auto-expands to always have two slopes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In the case where either ``vmin`` or ``vmax`` are not manually specified
-to `~.TwoSlopeNorm`, and where the data it is scaling is all less than or
-greater than the center point, the limits are now auto-expanded so there
-are two symmetrically sized slopes either side of the center point.
-
-Previously ``vmin`` and ``vmax`` were clipped at the center point, which
-caused issues when displaying color bars.
-
-This does not affect behaviour when ``vmin`` and ``vmax`` are manually
-specified by the user.
diff --git a/doc/api/next_api_changes/behavior/25101-AL.rst b/doc/api/next_api_changes/behavior/25101-AL.rst
deleted file mode 100644
index b009c6a366c4..000000000000
--- a/doc/api/next_api_changes/behavior/25101-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Event objects emitted for ``axes_leave_event``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-``axes_leave_event`` now emits a synthetic `.LocationEvent`, instead of reusing
-the last event object associated with a ``motion_notify_event``.
diff --git a/doc/api/next_api_changes/behavior/25112-GG.rst b/doc/api/next_api_changes/behavior/25112-GG.rst
deleted file mode 100644
index 17fda5c449f4..000000000000
--- a/doc/api/next_api_changes/behavior/25112-GG.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-Streamplot now draws streamlines as one piece if no width or no color variance
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Since there is no need to draw streamlines piece by piece if there is no color
-change or width change, now streamplot will draw each streamline in one piece.
-
-The behavior for varying width or varying color is not changed, same logic is
-used for these kinds of streamplots.
diff --git a/doc/api/next_api_changes/behavior/25192-DS.rst b/doc/api/next_api_changes/behavior/25192-DS.rst
deleted file mode 100644
index 5f15a3da02df..000000000000
--- a/doc/api/next_api_changes/behavior/25192-DS.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``canvas`` argument now required for ``FigureFrameWx``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-``FigureFrameWx`` now requires a keyword-only ``canvas`` argument
-when it is constructed.
diff --git a/doc/api/next_api_changes/behavior/25247-AL.rst b/doc/api/next_api_changes/behavior/25247-AL.rst
deleted file mode 100644
index b45a43adf7a4..000000000000
--- a/doc/api/next_api_changes/behavior/25247-AL.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-``ContourSet`` is now a single Collection
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Prior to this release, `.ContourSet` (the object returned by `~.Axes.contour`)
-was a custom object holding multiple `.Collection`\s (and not an `.Artist`)
--- one collection per level, each connected component of that level's contour
-being an entry in the corresponding collection.
-
-`.ContourSet` is now instead a plain `.Collection` (and thus an `.Artist`).
-The collection contains a single path per contour level; this path may be
-non-continuous in case there are multiple connected components.
-
-Setting properties on the ContourSet can now usually be done using standard
-collection setters (``cset.set_linewidth(3)`` to use the same linewidth
-everywhere or ``cset.set_linewidth([1, 2, 3, ...])`` to set different
-linewidths on each level) instead of having to go through the individual
-sub-components (``cset.collections[0].set_linewidth(...)``). Note that
-during the transition period, it remains possible to access the (deprecated)
-``.collections`` attribute; this causes the ContourSet to modify itself to use
-the old-style multi-Collection representation.
diff --git a/doc/api/next_api_changes/behavior/25255-RR.rst b/doc/api/next_api_changes/behavior/25255-RR.rst
deleted file mode 100644
index 1eb51f454cc5..000000000000
--- a/doc/api/next_api_changes/behavior/25255-RR.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``SubFigure`` default facecolor is now transparent
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Subfigures default facecolor changed to ``"none"``. Previously the default was
-the value of ``figure.facecolor``.
diff --git a/doc/api/next_api_changes/behavior/25361-TAC.rst b/doc/api/next_api_changes/behavior/25361-TAC.rst
deleted file mode 100644
index cc130b78baca..000000000000
--- a/doc/api/next_api_changes/behavior/25361-TAC.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-Reject size related keyword arguments to MovieWriter *grab_frame* method
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Although we pass `.Figure.savefig` keyword arguments through the
-`.AbstractMovieWriter.grab_frame` some of the arguments will result in invalid
-output if passed. To be successfully stitched into a movie, each frame
-must be exactly the same size, thus *bbox_inches* and *dpi* are excluded.
-Additionally, the movie writers are opinionated about the format of each
-frame, so the *format* argument is also excluded. Passing these
-arguments will now raise `TypeError` for all writers (it already did so for some
-arguments and some writers). The *bbox_inches* argument is already ignored (with
-a warning) if passed to `.Animation.save`.
-
-
-Additionally, if :rc:`savefig.bbox` is set to ``'tight'``,
-`.AbstractMovieWriter.grab_frame` will now error. Previously this rcParam
-would be temporarily overridden (with a warning) in `.Animation.save`, it is
-now additionally overridden in `.AbstractMovieWriter.saving`.
diff --git a/doc/api/next_api_changes/behavior/25456-AL.rst b/doc/api/next_api_changes/behavior/25456-AL.rst
deleted file mode 100644
index fc3080439c5e..000000000000
--- a/doc/api/next_api_changes/behavior/25456-AL.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Changes of API after deprecation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-- `.dviread.find_tex_file` now raises `FileNotFoundError` when the requested filename is
- not found.
-- `.Figure.colorbar` now raises if *cax* is not given and it is unable to determine from
- which Axes to steal space, i.e. if *ax* is also not given and *mappable* has not been
- added to an Axes.
-- `.pyplot.subplot` and `.pyplot.subplot2grid` no longer auto-remove preexisting
- overlapping Axes; explicitly call ``Axes.remove`` as needed.
diff --git a/doc/api/next_api_changes/behavior/25697-AL.rst b/doc/api/next_api_changes/behavior/25697-AL.rst
deleted file mode 100644
index 531390208164..000000000000
--- a/doc/api/next_api_changes/behavior/25697-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Invalid types for Annotation xycoords now raise TypeError
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Previously, a `RuntimeError` would be raised in some cases.
diff --git a/doc/api/next_api_changes/behavior/25775-HZ.rst b/doc/api/next_api_changes/behavior/25775-HZ.rst
deleted file mode 100644
index badd2951e515..000000000000
--- a/doc/api/next_api_changes/behavior/25775-HZ.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-Default antialiasing behavior changes for ``Text`` and ``Annotation``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-``matplotlib.pyplot.annotate()`` and ``matplotlib.pyplot.text()`` now support parameter *antialiased* when initializing.
-Examples:
-
-.. code-block:: python
-
- mpl.text.Text(.5, .5, "foo\nbar", antialiased=True)
- plt.text(0.5, 0.5, '6 inches x 2 inches', antialiased=True)
- ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5), antialiased=False)
-
-See "What's New" for more details on usage.
-
-With this new feature, you may want to make sure that you are creating and saving/showing the figure under the same context::
-
- # previously this was a no-op, now it is what works
- with rccontext(text.antialiased=False):
- fig, ax = plt.subplots()
- ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5))
- fig.savefig('/tmp/test.png')
-
- # previously this had an effect, now this is a no-op
- fig, ax = plt.subplots()
- ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5))
- with rccontext(text.antialiased=False):
- fig.savefig('/tmp/test.png')
-
-Also note that antialiasing for tick labels will be set with :rc:`text.antialiased` when they are created (usually when a ``Figure`` is created) - This means antialiasing for them can no longer be changed by modifying :rc:`text.antialiased`.
diff --git a/doc/api/next_api_changes/behavior/26096-GL.rst b/doc/api/next_api_changes/behavior/26096-GL.rst
deleted file mode 100644
index 1eb72bdbad88..000000000000
--- a/doc/api/next_api_changes/behavior/26096-GL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``ScalarMappable.to_rgba()`` now respects the mask of RGB(A) arrays
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Previously, the mask was ignored. Now the alpha channel is set to 0 if any
-component (R, G, B, or A) is masked.
diff --git a/doc/api/next_api_changes/behavior/26164-OG.rst b/doc/api/next_api_changes/behavior/26164-OG.rst
deleted file mode 100644
index 96bfc249929d..000000000000
--- a/doc/api/next_api_changes/behavior/26164-OG.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``Text.get_rotation_mode`` return value
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Passing ``None`` as ``rotation_mode`` to `.Text` (the default value) or passing it to
-`.Text.set_rotation_mode` will make `.Text.get_rotation_mode` return ``"default"``
-instead of ``None``. The behaviour otherwise is the same.
diff --git a/doc/api/next_api_changes/behavior/26479-ES.rst b/doc/api/next_api_changes/behavior/26479-ES.rst
deleted file mode 100644
index 5299ebe985f8..000000000000
--- a/doc/api/next_api_changes/behavior/26479-ES.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-PostScript paper type adds option to use figure size
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The :rc:`ps.papertype` rcParam can now be set to ``'figure'``, which will use
-a paper size that corresponds exactly with the size of the figure that is being
-saved.
diff --git a/doc/api/next_api_changes/deprecations/23200-OG.rst b/doc/api/next_api_changes/deprecations/23200-OG.rst
deleted file mode 100644
index 1b135dc241bb..000000000000
--- a/doc/api/next_api_changes/deprecations/23200-OG.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Calling ``paths.get_path_collection_extents`` with empty *offsets*
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Calling `~.get_path_collection_extents` with an empty *offsets* parameter
-has an ambiguous interpretation and is therefore deprecated. When the
-deprecation period expires, this will produce an error.
diff --git a/doc/api/next_api_changes/deprecations/24312-AL.rst b/doc/api/next_api_changes/deprecations/24312-AL.rst
deleted file mode 100644
index ea5ec5a9a475..000000000000
--- a/doc/api/next_api_changes/deprecations/24312-AL.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-``axes_grid1.axes_divider`` API changes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ``AxesLocator`` class is deprecated. The ``new_locator`` method of divider
-instances now instead returns an opaque callable (which can still be passed to
-``ax.set_axes_locator``).
-
-``Divider.locate`` is deprecated; use ``Divider.new_locator(...)(ax, renderer)``
-instead.
diff --git a/doc/api/next_api_changes/deprecations/24913-AL.rst b/doc/api/next_api_changes/deprecations/24913-AL.rst
deleted file mode 100644
index 7f99459a183a..000000000000
--- a/doc/api/next_api_changes/deprecations/24913-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``bbox.anchored()`` with no explicit container
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Not passing a *container* argument to `.BboxBase.anchored` is now deprecated.
diff --git a/doc/api/next_api_changes/deprecations/24985-OG.rst b/doc/api/next_api_changes/deprecations/24985-OG.rst
deleted file mode 100644
index 5662d5f3ef28..000000000000
--- a/doc/api/next_api_changes/deprecations/24985-OG.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-Functions in ``mpl_toolkits.mplot3d.proj3d``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The function ``transform`` is just an alias for ``proj_transform``,
-use the latter instead.
-
-The following functions are either unused (so no longer required in Matplotlib)
-or considered private. If you rely on them, please make a copy of the code,
-including all functions that starts with a ``_`` (considered private).
-
-* ``ortho_transformation``
-* ``persp_transformation``
-* ``proj_points``
-* ``proj_trans_points``
-* ``rot_x``
-* ``rotation_about_vector``
-* ``view_transformation``
diff --git a/doc/api/next_api_changes/deprecations/24990-OG.rst b/doc/api/next_api_changes/deprecations/24990-OG.rst
deleted file mode 100644
index 180be1fd7659..000000000000
--- a/doc/api/next_api_changes/deprecations/24990-OG.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Arguments other than ``renderer`` to ``get_tightbbox``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-... are keyword-only arguments. This is for consistency and that
-different classes have different additional arguments.
diff --git a/doc/api/next_api_changes/deprecations/25027-GL.rst b/doc/api/next_api_changes/deprecations/25027-GL.rst
deleted file mode 100644
index 30137ee091df..000000000000
--- a/doc/api/next_api_changes/deprecations/25027-GL.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-The object returned by ``pcolor()`` has changed to a ``PolyQuadMesh`` class
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The old object was a `.PolyCollection` with flattened vertices and array data.
-The new `.PolyQuadMesh` class subclasses `.PolyCollection`, but adds in better
-2D coordinate and array handling in alignment with `.QuadMesh`. Previously, if
-a masked array was input, the list of polygons within the collection would shrink
-to the size of valid polygons and users were required to keep track of which
-polygons were drawn and call ``set_array()`` with the smaller "compressed" array size.
-Passing the "compressed" and flattened array values is now deprecated and the
-full 2D array of values (including the mask) should be passed
-to `.PolyQuadMesh.set_array`.
diff --git a/doc/api/next_api_changes/deprecations/25101-AL.rst b/doc/api/next_api_changes/deprecations/25101-AL.rst
deleted file mode 100644
index be937fb3cf0d..000000000000
--- a/doc/api/next_api_changes/deprecations/25101-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``LocationEvent.lastevent``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/25138-AL.rst b/doc/api/next_api_changes/deprecations/25138-AL.rst
deleted file mode 100644
index ef2b1c750e25..000000000000
--- a/doc/api/next_api_changes/deprecations/25138-AL.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``allsegs``, ``allkinds``, ``tcolors`` and ``tlinewidths`` attributes of `.ContourSet`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-These attributes are deprecated; if required, directly retrieve the vertices
-and codes of the Path objects from ``ContourSet.get_paths()`` and the colors
-and the linewidths via ``ContourSet.get_facecolor()``, ``ContourSet.get_edgecolor()``
-and ``ContourSet.get_linewidths()``.
diff --git a/doc/api/next_api_changes/deprecations/25247-AL.rst b/doc/api/next_api_changes/deprecations/25247-AL.rst
deleted file mode 100644
index 2b922b874f5f..000000000000
--- a/doc/api/next_api_changes/deprecations/25247-AL.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-``ContourSet.collections``
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated. `.ContourSet` is now implemented as a single `.Collection` of paths,
-each path corresponding to a contour level, possibly including multiple unconnected
-components.
-
-During the deprecation period, accessing ``ContourSet.collections`` will revert the
-current ContourSet instance to the old object layout, with a separate `.PathCollection`
-per contour level.
diff --git a/doc/api/next_api_changes/deprecations/25282-AL.rst b/doc/api/next_api_changes/deprecations/25282-AL.rst
deleted file mode 100644
index 0915ba5c65f0..000000000000
--- a/doc/api/next_api_changes/deprecations/25282-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``INVALID_NON_AFFINE``, ``INVALID_AFFINE``, ``INVALID`` attributes of ``TransformNode``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-These attributes are deprecated.
diff --git a/doc/api/next_api_changes/deprecations/25352-GL.rst b/doc/api/next_api_changes/deprecations/25352-GL.rst
deleted file mode 100644
index e7edd57a6453..000000000000
--- a/doc/api/next_api_changes/deprecations/25352-GL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``Grouper.clean()``
-~~~~~~~~~~~~~~~~~~~
-
-with no replacement. The Grouper class now cleans itself up automatically.
diff --git a/doc/api/next_api_changes/deprecations/25427-AL.rst b/doc/api/next_api_changes/deprecations/25427-AL.rst
deleted file mode 100644
index 1f1c886b3559..000000000000
--- a/doc/api/next_api_changes/deprecations/25427-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``GridHelperCurveLinear.get_data_boundary``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated. Use ``grid_finder.extreme_finder(*[None] * 5)`` to get the
-extremes of the grid.
diff --git a/doc/api/next_api_changes/deprecations/25469-AL.rst b/doc/api/next_api_changes/deprecations/25469-AL.rst
deleted file mode 100644
index 94432a0db1bf..000000000000
--- a/doc/api/next_api_changes/deprecations/25469-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-*np_load* parameter of ``cbook.get_sample_data``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This parameter is deprecated; `.get_sample_data` now auto-loads numpy arrays.
-Use ``get_sample_data(..., asfileobj=False)`` instead to get the filename of
-the data file, which can then be passed to `open`, if desired.
diff --git a/doc/api/next_api_changes/deprecations/25484-AL.rst b/doc/api/next_api_changes/deprecations/25484-AL.rst
deleted file mode 100644
index d6989dcea25f..000000000000
--- a/doc/api/next_api_changes/deprecations/25484-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``RendererAgg.tostring_rgb`` and ``FigureCanvasAgg.tostring_rgb``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated with no direct replacement. Consider using ``buffer_rgba``
-instead, which should cover most use cases.
diff --git a/doc/api/next_api_changes/deprecations/25557-AL.rst b/doc/api/next_api_changes/deprecations/25557-AL.rst
deleted file mode 100644
index 32b6debb23d8..000000000000
--- a/doc/api/next_api_changes/deprecations/25557-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-The parameter of ``Annotation.contains`` and ``Legend.contains`` is renamed to *mouseevent*
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... consistently with `.Artist.contains`.
diff --git a/doc/api/next_api_changes/deprecations/25559-AL.rst b/doc/api/next_api_changes/deprecations/25559-AL.rst
deleted file mode 100644
index 0c1e5d785e81..000000000000
--- a/doc/api/next_api_changes/deprecations/25559-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Accessing ``event.guiEvent`` after event handlers return
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated: for some GUI toolkits, it is unsafe to do so. In the
-future, ``event.guiEvent`` will be set to None once the event handlers return;
-you may separately stash the object at your own risk.
diff --git a/doc/api/next_api_changes/deprecations/25584-KS.rst b/doc/api/next_api_changes/deprecations/25584-KS.rst
deleted file mode 100644
index d4a52cba06ed..000000000000
--- a/doc/api/next_api_changes/deprecations/25584-KS.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Widgets
-~~~~~~~
-
-The *visible* attribute getter of Selector widgets has been deprecated;
-use ``get_visible``
diff --git a/doc/api/next_api_changes/deprecations/25588-KS.rst b/doc/api/next_api_changes/deprecations/25588-KS.rst
deleted file mode 100644
index bbe1549fc85e..000000000000
--- a/doc/api/next_api_changes/deprecations/25588-KS.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-Method parameters renamed to match base classes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The only parameter of ``transform_affine`` and ``transform_non_affine`` in ``Transform`` subclasses is renamed
-to *values*.
-
-The *points* parameter of ``transforms.IdentityTransform.transform`` is renamed to *values*.
-
-The *trans* parameter of ``table.Cell.set_transform`` is renamed to *t* consistently with
-`.Artist.set_transform`.
-
-The *clippath* parameters of ``axis.Axis.set_clip_path`` and ``axis.Tick.set_clip_path`` are
-renamed to *path* consistently with `.Artist.set_clip_path`.
-
-The *s* parameter of ``images.NonUniformImage.set_filternorm`` is renamed to *filternorm*
-consistently with ```_ImageBase.set_filternorm``.
-
-The *s* parameter of ``images.NonUniformImage.set_filterrad`` is renamed to *filterrad*
-consistently with ```_ImageBase.set_filterrad``.
diff --git a/doc/api/next_api_changes/deprecations/25651-REC.rst b/doc/api/next_api_changes/deprecations/25651-REC.rst
deleted file mode 100644
index dd588ad76bcf..000000000000
--- a/doc/api/next_api_changes/deprecations/25651-REC.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-*numdecs* parameter and attribute of ``LogLocator``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated without replacement, because they have no effect.
diff --git a/doc/api/next_api_changes/deprecations/25708-AL.rst b/doc/api/next_api_changes/deprecations/25708-AL.rst
deleted file mode 100644
index 9e4fa2a336af..000000000000
--- a/doc/api/next_api_changes/deprecations/25708-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``NavigationToolbar2QT.message`` is deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/25728-OG.rst b/doc/api/next_api_changes/deprecations/25728-OG.rst
deleted file mode 100644
index 09af74845c4a..000000000000
--- a/doc/api/next_api_changes/deprecations/25728-OG.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``ft2font.FT2Image.draw_rect`` and ``ft2font.FT2Font.get_xys``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-... are deprecated as they are unused. If you rely on these, please let us know.
diff --git a/doc/api/next_api_changes/deprecations/25742-ES.rst b/doc/api/next_api_changes/deprecations/25742-ES.rst
deleted file mode 100644
index 2189a0665b65..000000000000
--- a/doc/api/next_api_changes/deprecations/25742-ES.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``backend_ps.psDefs``
-~~~~~~~~~~~~~~~~~~~~~
-
-The ``psDefs`` module-level variable in ``backend_ps`` is deprecated with no
-replacement.
diff --git a/doc/api/next_api_changes/deprecations/25774-AL.rst b/doc/api/next_api_changes/deprecations/25774-AL.rst
deleted file mode 100644
index 0e018429e642..000000000000
--- a/doc/api/next_api_changes/deprecations/25774-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Callable axisartist Axes
-~~~~~~~~~~~~~~~~~~~~~~~~
-Calling an axisartist Axes to mean `~matplotlib.pyplot.axis` is deprecated; explicitly
-call the method instead.
diff --git a/doc/api/next_api_changes/deprecations/25781-AL.rst b/doc/api/next_api_changes/deprecations/25781-AL.rst
deleted file mode 100644
index 4416376c2ca4..000000000000
--- a/doc/api/next_api_changes/deprecations/25781-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``AnchoredEllipse`` is deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Instead, directly construct an `.AnchoredOffsetbox`, an `.AuxTransformBox`, and an
-`~.patches.Ellipse`, as demonstrated in :doc:`/gallery/misc/anchored_artists`.
diff --git a/doc/api/next_api_changes/deprecations/25785-ES.rst b/doc/api/next_api_changes/deprecations/25785-ES.rst
deleted file mode 100644
index 656a3bfad816..000000000000
--- a/doc/api/next_api_changes/deprecations/25785-ES.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Automatic papersize selection in PostScript
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Setting :rc:`ps.papersize` to ``'auto'`` or passing ``papersize='auto'`` to
-`.Figure.savefig` is deprecated. Either pass an explicit paper type name, or
-omit this parameter to use the default from the rcParam.
diff --git a/doc/api/next_api_changes/deprecations/25841-AL.rst b/doc/api/next_api_changes/deprecations/25841-AL.rst
deleted file mode 100644
index 70ebc012ab44..000000000000
--- a/doc/api/next_api_changes/deprecations/25841-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``Tick.set_label1`` and ``Tick.set_label2``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated. Calling these methods from third-party code usually has no
-effect, as the labels are overwritten at draw time by the tick formatter.
diff --git a/doc/api/next_api_changes/deprecations/25859-ES.rst b/doc/api/next_api_changes/deprecations/25859-ES.rst
deleted file mode 100644
index a7de954c6215..000000000000
--- a/doc/api/next_api_changes/deprecations/25859-ES.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Passing extra positional arguments to ``Figure.add_axes``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Positional arguments passed to `.Figure.add_axes` other than a rect or an
-existing ``Axes`` are currently ignored, and doing so is now deprecated.
diff --git a/doc/api/next_api_changes/deprecations/25889-AL.rst b/doc/api/next_api_changes/deprecations/25889-AL.rst
deleted file mode 100644
index 123c4b88c17b..000000000000
--- a/doc/api/next_api_changes/deprecations/25889-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``CbarAxesBase.toggle_label``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated. Instead, use standard methods for manipulating colorbar
-labels (`.Colorbar.set_label`) and tick labels (`.Axes.tick_params`).
diff --git a/doc/api/next_api_changes/deprecations/26056-OG.rst b/doc/api/next_api_changes/deprecations/26056-OG.rst
deleted file mode 100644
index 66b7a3221d0d..000000000000
--- a/doc/api/next_api_changes/deprecations/26056-OG.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``TexManager.texcache``
-~~~~~~~~~~~~~~~~~~~~~~~
-
-... is considered private and deprecated. The location of the cache directory is
-clarified in the doc-string.
diff --git a/doc/api/next_api_changes/deprecations/26190-AL.rst b/doc/api/next_api_changes/deprecations/26190-AL.rst
deleted file mode 100644
index 0bf4bd15097c..000000000000
--- a/doc/api/next_api_changes/deprecations/26190-AL.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Artists explicitly passed in will no longer be filtered by legend() based on their label
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Currently, artists explicitly passed to ``legend(handles=[...])`` are filtered
-out if their label starts with an underscore. This behavior is deprecated;
-explicitly filter out such artists
-(``[art for art in artists if not art.get_label().startswith('_')]``) if
-necessary.
diff --git a/doc/api/next_api_changes/deprecations/26241-AL.rst b/doc/api/next_api_changes/deprecations/26241-AL.rst
deleted file mode 100644
index 40b4fa277deb..000000000000
--- a/doc/api/next_api_changes/deprecations/26241-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``FigureCanvasBase.switch_backends``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/26294-AL.rst b/doc/api/next_api_changes/deprecations/26294-AL.rst
deleted file mode 100644
index 97b4a7f29d48..000000000000
--- a/doc/api/next_api_changes/deprecations/26294-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``cbook.Stack`` is deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/26295-AL.rst b/doc/api/next_api_changes/deprecations/26295-AL.rst
deleted file mode 100644
index f62d40991196..000000000000
--- a/doc/api/next_api_changes/deprecations/26295-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``inset_location.InsetPosition`` is deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Use `~.Axes.inset_axes` instead.
diff --git a/doc/api/next_api_changes/deprecations/26329-AL.rst b/doc/api/next_api_changes/deprecations/26329-AL.rst
deleted file mode 100644
index ca06e94639dd..000000000000
--- a/doc/api/next_api_changes/deprecations/26329-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``axisartist.axes_grid`` and ``axisartist.axes_rgb``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-These modules, which provide wrappers combining the functionality of
-`.axes_grid1` and `.axisartist`, are deprecated; directly use e.g.
-``AxesGrid(..., axes_class=axislines.Axes)`` instead.
diff --git a/doc/api/next_api_changes/deprecations/26399-REC.rst b/doc/api/next_api_changes/deprecations/26399-REC.rst
deleted file mode 100644
index 99af88b8d9ea..000000000000
--- a/doc/api/next_api_changes/deprecations/26399-REC.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``ContourSet.antialiased``
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated; use `~.Collection.get_antialiased` or
-`~.Collection.set_antialiased` instead. Note that `~.Collection.get_antialiased`
-returns an array.
diff --git a/doc/api/next_api_changes/deprecations/26444-ES.rst b/doc/api/next_api_changes/deprecations/26444-ES.rst
deleted file mode 100644
index 6e5b48532f2a..000000000000
--- a/doc/api/next_api_changes/deprecations/26444-ES.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Passing non-int or sequence of non-int to ``Table.auto_set_column_width``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Column numbers are ints, and formerly passing any other type was effectively
-ignored. This will become an error in the future.
diff --git a/doc/api/next_api_changes/deprecations/26469-AL.rst b/doc/api/next_api_changes/deprecations/26469-AL.rst
deleted file mode 100644
index 1a9b14047c08..000000000000
--- a/doc/api/next_api_changes/deprecations/26469-AL.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-``PdfPages(keep_empty=True)``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-A zero-page pdf is not valid, thus passing ``keep_empty=True`` to
-`.backend_pdf.PdfPages` and `.backend_pgf.PdfPages`, and the ``keep_empty``
-attribute of these classes, are deprecated. Currently, these classes default
-to keeping empty outputs, but that behavior is deprecated too. Explicitly
-passing ``keep_empty=False`` remains supported for now to help transition to
-the new behavior.
-
-Furthermore, `.backend_pdf.PdfPages` no longer immediately creates the target
-file upon instantiation, but only when the first figure is saved. To fully
-control file creation, directly pass an opened file object as argument
-(``with open(path, "wb") as file, PdfPages(file) as pdf: ...``).
diff --git a/doc/api/next_api_changes/deprecations/26472-AL.rst b/doc/api/next_api_changes/deprecations/26472-AL.rst
deleted file mode 100644
index d603c4bb08dc..000000000000
--- a/doc/api/next_api_changes/deprecations/26472-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Auto-closing of figures when switching backend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated. Explicitly call ``plt.close("all")`` if necessary. In the
-future, allowable backend switches (i.e. those that do not swap a GUI event
-loop with another one) will not close existing figures.
diff --git a/doc/api/next_api_changes/deprecations/26780-AL.rst b/doc/api/next_api_changes/deprecations/26780-AL.rst
deleted file mode 100644
index 96cfdab93f55..000000000000
--- a/doc/api/next_api_changes/deprecations/26780-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Support for passing the "frac" key in ``annotate(..., arrowprops={"frac": ...})``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... has been removed. This key has had no effect since Matplotlib 1.5.
diff --git a/doc/api/next_api_changes/development/24531-DOS.rst b/doc/api/next_api_changes/development/24531-DOS.rst
deleted file mode 100644
index 9de154e410c6..000000000000
--- a/doc/api/next_api_changes/development/24531-DOS.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-Increase to minimum supported optional dependencies
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For Matplotlib 3.8, the :ref:`minimum supported versions of optional dependencies
-` are being bumped:
-
-+------------+-----------------+---------------+
-| Dependency | min in mpl3.7 | min in mpl3.8 |
-+============+=================+===============+
-| Tk | 8.4 | 8.5 |
-+------------+-----------------+---------------+
-
-This is consistent with our :ref:`min_deps_policy`
diff --git a/doc/api/next_api_changes/development/24919-KS.rst b/doc/api/next_api_changes/development/24919-KS.rst
deleted file mode 100644
index fece0616ac71..000000000000
--- a/doc/api/next_api_changes/development/24919-KS.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-Increase to minimum supported versions of dependencies
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For Matplotlib 3.8, the :ref:`minimum supported versions ` are
-being bumped:
-
-+------------+-----------------+---------------+
-| Dependency | min in mpl3.7 | min in mpl3.8 |
-+============+=================+===============+
-| Python | 3.8 | 3.9 |
-+------------+-----------------+---------------+
-| kiwisolver | 1.0.1 | 1.3.1 |
-+------------+-----------------+---------------+
-| NumPy | 1.20.0 | 1.21.0 |
-+------------+-----------------+---------------+
-| Pillow | 6.2.1 | 8.0 |
-+------------+-----------------+---------------+
-
-This is consistent with our :ref:`min_deps_policy` and `NEP29
-`__
diff --git a/doc/api/next_api_changes/development/24976-KS.rst b/doc/api/next_api_changes/development/24976-KS.rst
deleted file mode 100644
index 8d20cee441be..000000000000
--- a/doc/api/next_api_changes/development/24976-KS.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-Provisional support for PEP484 Type Hint Annotations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-New public API should be type hinted in ``.pyi`` stub files (except ``pyplot`` and tests
-which are typed in-line).
-Tests should be type hinted minimally, essentially only when ``mypy`` generates errors.
-
-CI and configuration for running ``mypy`` have been added.
-
-
-Generation of ``pyplot.py`` requires ``black``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The autogenerated portions of ``pyplot.py`` use ``black`` autoformatting to ensure
-syntax-correct, readable output code.
-
-As such ``black`` is now a development and test requirement (for the test which
-regenerates ``pyplot``).
diff --git a/doc/api/next_api_changes/development/25363-OG.rst b/doc/api/next_api_changes/development/25363-OG.rst
deleted file mode 100644
index c73696d3472c..000000000000
--- a/doc/api/next_api_changes/development/25363-OG.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Support for Qt<5.12 has been dropped
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... as there are no wheels or conda packages that support both Qt 5.11 (or
-older) and Python 3.9 (or newer).
diff --git a/doc/api/next_api_changes/development/25475-ES.rst b/doc/api/next_api_changes/development/25475-ES.rst
deleted file mode 100644
index 58c0b518b407..000000000000
--- a/doc/api/next_api_changes/development/25475-ES.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-Wheels for some systems are no longer distributed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Pre-compiled wheels for 32-bit Linux and Windows are no longer provided on PyPI
-since Matplotlib 3.8.
-
-Multi-architecture ``universal2`` wheels for macOS are no longer provided on PyPI since
-Matplotlib 3.8. In general, ``pip`` will always prefer the architecture-specific
-(``amd64``- or ``arm64``-only) wheels, so these provided little benefit.
diff --git a/doc/api/next_api_changes/development/26443-TAC.rst b/doc/api/next_api_changes/development/26443-TAC.rst
deleted file mode 100644
index b7f3bf47573f..000000000000
--- a/doc/api/next_api_changes/development/26443-TAC.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-New wheel architectures
-~~~~~~~~~~~~~~~~~~~~~~~
-
-
-Wheels have been added for:
-
-- musl based systems
diff --git a/doc/api/next_api_changes/removals/24923-ES.rst b/doc/api/next_api_changes/removals/24923-ES.rst
deleted file mode 100644
index fcab80e66e8d..000000000000
--- a/doc/api/next_api_changes/removals/24923-ES.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-cbook removals
-~~~~~~~~~~~~~~
-
-- ``matplotlib.cbook.MatplotlibDeprecationWarning`` and
- ``matplotlib.cbook.mplDeprecation`` are removed; use
- `matplotlib.MatplotlibDeprecationWarning` instead.
-- ``cbook.maxdict``; use the standard library ``functools.lru_cache`` instead.
-
-Groupers from ``get_shared_x_axes`` / ``get_shared_y_axes`` are immutable
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Modifications to the Groupers returned by ``get_shared_x_axes`` and
-``get_shared_y_axes`` are no longer allowed. Note that previously, calling e.g.
-``join()`` would already fail to set up the correct structures for sharing
-axes; use `.Axes.sharex` or `.Axes.sharey` instead.
diff --git a/doc/api/next_api_changes/removals/24942-OG.rst b/doc/api/next_api_changes/removals/24942-OG.rst
deleted file mode 100644
index 9e08140110ba..000000000000
--- a/doc/api/next_api_changes/removals/24942-OG.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-Deprecated modules removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following deprecated modules are removed:
-
-* ``afm``
-* ``docstring``
-* ``fontconfig_pattern``
-* ``tight_bbox``
-* ``tight_layout``
-* ``type1font``
diff --git a/doc/api/next_api_changes/removals/25456-AL.rst b/doc/api/next_api_changes/removals/25456-AL.rst
deleted file mode 100644
index 2d9011a504ce..000000000000
--- a/doc/api/next_api_changes/removals/25456-AL.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-Removal of deprecated APIs
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following deprecated APIs have been removed. Unless a replacement is stated, please
-vendor the previous implementation if needed.
-
-- The following methods of `.FigureCanvasBase`: ``pick`` (use ``Figure.pick`` instead),
- ``resize``, ``draw_event``, ``resize_event``, ``close_event``, ``key_press_event``,
- ``key_release_event``, ``pick_event``, ``scroll_event``, ``button_press_event``,
- ``button_release_event``, ``motion_notify_event``, ``leave_notify_event``,
- ``enter_notify_event`` (for all the ``foo_event`` methods, construct the relevant
- `.Event` object and call ``canvas.callbacks.process(event.name, event)`` instead).
-- ``ToolBase.destroy`` (connect to ``tool_removed_event`` instead).
-- The *cleared* parameter to `.FigureCanvasAgg.get_renderer` (call ``renderer.clear()``
- instead).
-- The following methods of `.RendererCairo`: ``set_ctx_from_surface`` and
- ``set_width_height`` (use ``set_context`` instead, which automatically infers the
- canvas size).
-- The ``window`` or ``win`` parameters and/or attributes of ``NavigationToolbar2Tk``,
- ``NavigationToolbar2GTK3``, and ``NavigationToolbar2GTK4``, and the ``lastrect``
- attribute of ``NavigationToolbar2Tk``
-- The ``error_msg_gtk`` function and the ``icon_filename`` and ``window_icon`` globals
- in ``backend_gtk3``; the ``error_msg_wx`` function in ``backend_wx``.
-- ``FigureManagerGTK3Agg`` and ``FigureManagerGTK4Agg`` (use ``FigureManagerGTK3``
- instead); ``RendererGTK3Cairo`` and ``RendererGTK4Cairo``.
-- ``NavigationToolbar2Mac.prepare_configure_subplots`` (use
- `~.NavigationToolbar2.configure_subplots` instead).
-- ``FigureManagerMac.close``.
-- The ``qApp`` global in `.backend_qt` (use ``QtWidgets.QApplication.instance()``
- instead).
-- The ``offset_text_height`` method of ``RendererWx``; the ``sizer``, ``figmgr``,
- ``num``, ``toolbar``, ``toolmanager``, ``get_canvas``, and ``get_figure_manager``
- attributes or methods of ``FigureFrameWx`` (use ``frame.GetSizer()``,
- ``frame.canvas.manager``, ``frame.canvas.manager.num``, ``frame.GetToolBar()``,
- ``frame.canvas.manager.toolmanager``, the *canvas_class* constructor parameter, and
- ``frame.canvas.manager``, respectively, instead).
-- ``FigureFrameWxAgg`` and ``FigureFrameWxCairo`` (use
- ``FigureFrameWx(..., canvas_class=FigureCanvasWxAgg)`` and
- ``FigureFrameWx(..., canvas_class=FigureCanvasWxCairo)``, respectively, instead).
-- The ``filled`` attribute and the ``draw_all`` method of `.Colorbar` (instead of
- ``draw_all``, use ``figure.draw_without_rendering``).
-- Calling `.MarkerStyle` without setting the *marker* parameter or setting it to None
- (use ``MarkerStyle("")`` instead).
-- Support for third-party canvas classes without a ``required_interactive_framework``
- attribute (this can only occur if the canvas class does not inherit from
- `.FigureCanvasBase`).
-- The ``canvas`` and ``background`` attributes of `.MultiCursor`; the
- ``state_modifier_keys`` attribute of selector widgets.
-- Passing *useblit*, *horizOn*, or *vertOn* positionally to `.MultiCursor`.
-- Support for the ``seaborn-`` styles; use ``seaborn-v0_8-`` instead, or
- directly use the seaborn API.
diff --git a/doc/api/next_api_changes/removals/25584-KS.rst b/doc/api/next_api_changes/removals/25584-KS.rst
deleted file mode 100644
index 45fc1aa2de17..000000000000
--- a/doc/api/next_api_changes/removals/25584-KS.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-``Figure.callbacks`` is removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Figure ``callbacks`` property has been removed. The only signal was
-"dpi_changed", which can be replaced by connecting to the "resize_event" on the
-canvas ``figure.canvas.mpl_connect("resize_event", func)`` instead.
-
-
-
-Passing too many positional arguments to ``tripcolor``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... raises ``TypeError`` (extra arguments were previously ignored).
-
-
-The *filled* argument to ``Colorbar`` is removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This behavior was already governed by the underlying ``ScalarMappable``.
-
-
-Widgets
-~~~~~~~
-
-The *visible* attribute setter of Selector widgets has been removed; use ``set_visible``
-The associated getter is also deprecated, but not yet expired.
diff --git a/doc/api/next_api_changes/removals/25648-TS.rst b/doc/api/next_api_changes/removals/25648-TS.rst
deleted file mode 100644
index 59189e9eb217..000000000000
--- a/doc/api/next_api_changes/removals/25648-TS.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``Axes3D.set_frame_on`` and ``Axes3D.get_frame_on`` removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-``Axes3D.set_frame_on`` is documented as "Set whether the 3D axes panels are
-drawn.". However, it has no effect on 3D axes and is being removed in
-favor of ``Axes3D.set_axis_on`` and ``Axes3D.set_axis_off``.
diff --git a/doc/api/prev_api_changes/api_changes_3.8.0.rst b/doc/api/prev_api_changes/api_changes_3.8.0.rst
new file mode 100644
index 000000000000..ab1b65c19bab
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.8.0.rst
@@ -0,0 +1,14 @@
+API Changes for 3.8.0
+=====================
+
+.. contents::
+ :local:
+ :depth: 1
+
+.. include:: /api/prev_api_changes/api_changes_3.8.0/behaviour.rst
+
+.. include:: /api/prev_api_changes/api_changes_3.8.0/deprecations.rst
+
+.. include:: /api/prev_api_changes/api_changes_3.8.0/removals.rst
+
+.. include:: /api/prev_api_changes/api_changes_3.8.0/development.rst
diff --git a/doc/api/prev_api_changes/api_changes_3.8.0/behaviour.rst b/doc/api/prev_api_changes/api_changes_3.8.0/behaviour.rst
new file mode 100644
index 000000000000..9a528bdbc251
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.8.0/behaviour.rst
@@ -0,0 +1,167 @@
+Behaviour Changes
+-----------------
+
+Tk backend respects file format selection when saving figures
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When saving a figure from a Tkinter GUI to a filename without an
+extension, the file format is now selected based on the value of
+the dropdown menu, rather than defaulting to PNG. When the filename
+contains an extension, or the OS automatically appends one, the
+behavior remains unchanged.
+
+Placing of maximum and minimum minor ticks
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Calculation of minor tick locations has been corrected to make the maximum and
+minimum minor ticks more consistent. In some cases this results in an extra
+minor tick on an Axis.
+
+``hexbin`` now defaults to ``rcParams["patch.linewidth"]``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The default value of the *linewidths* argument of `.Axes.hexbin` has
+been changed from ``1.0`` to :rc:`patch.linewidth`. This improves the
+consistency with `.QuadMesh` in `.Axes.pcolormesh` and `.Axes.hist2d`.
+
+TwoSlopeNorm now auto-expands to always have two slopes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In the case where either ``vmin`` or ``vmax`` are not manually specified
+to `~.TwoSlopeNorm`, and where the data it is scaling is all less than or
+greater than the center point, the limits are now auto-expanded so there
+are two symmetrically sized slopes either side of the center point.
+
+Previously ``vmin`` and ``vmax`` were clipped at the center point, which
+caused issues when displaying color bars.
+
+This does not affect behaviour when ``vmin`` and ``vmax`` are manually
+specified by the user.
+
+Event objects emitted for ``axes_leave_event``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+``axes_leave_event`` now emits a synthetic `.LocationEvent`, instead of reusing
+the last event object associated with a ``motion_notify_event``.
+
+Streamplot now draws streamlines as one piece if no width or no color variance
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Since there is no need to draw streamlines piece by piece if there is no color
+change or width change, now streamplot will draw each streamline in one piece.
+
+The behavior for varying width or varying color is not changed, same logic is
+used for these kinds of streamplots.
+
+``canvas`` argument now required for ``FigureFrameWx``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+``FigureFrameWx`` now requires a keyword-only ``canvas`` argument
+when it is constructed.
+
+``ContourSet`` is now a single Collection
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Prior to this release, `.ContourSet` (the object returned by `~.Axes.contour`)
+was a custom object holding multiple `.Collection`\s (and not an `.Artist`)
+-- one collection per level, each connected component of that level's contour
+being an entry in the corresponding collection.
+
+`.ContourSet` is now instead a plain `.Collection` (and thus an `.Artist`).
+The collection contains a single path per contour level; this path may be
+non-continuous in case there are multiple connected components.
+
+Setting properties on the ContourSet can now usually be done using standard
+collection setters (``cset.set_linewidth(3)`` to use the same linewidth
+everywhere or ``cset.set_linewidth([1, 2, 3, ...])`` to set different
+linewidths on each level) instead of having to go through the individual
+sub-components (``cset.collections[0].set_linewidth(...)``). Note that
+during the transition period, it remains possible to access the (deprecated)
+``.collections`` attribute; this causes the ContourSet to modify itself to use
+the old-style multi-Collection representation.
+
+``SubFigure`` default facecolor is now transparent
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Subfigures default facecolor changed to ``"none"``. Previously the default was
+the value of ``figure.facecolor``.
+
+Reject size related keyword arguments to MovieWriter *grab_frame* method
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Although we pass `.Figure.savefig` keyword arguments through the
+`.AbstractMovieWriter.grab_frame` some of the arguments will result in invalid
+output if passed. To be successfully stitched into a movie, each frame
+must be exactly the same size, thus *bbox_inches* and *dpi* are excluded.
+Additionally, the movie writers are opinionated about the format of each
+frame, so the *format* argument is also excluded. Passing these
+arguments will now raise `TypeError` for all writers (it already did so for some
+arguments and some writers). The *bbox_inches* argument is already ignored (with
+a warning) if passed to `.Animation.save`.
+
+
+Additionally, if :rc:`savefig.bbox` is set to ``'tight'``,
+`.AbstractMovieWriter.grab_frame` will now error. Previously this rcParam
+would be temporarily overridden (with a warning) in `.Animation.save`, it is
+now additionally overridden in `.AbstractMovieWriter.saving`.
+
+Changes of API after deprecation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- `.dviread.find_tex_file` now raises `FileNotFoundError` when the requested filename is
+ not found.
+- `.Figure.colorbar` now raises if *cax* is not given and it is unable to determine from
+ which Axes to steal space, i.e. if *ax* is also not given and *mappable* has not been
+ added to an Axes.
+- `.pyplot.subplot` and `.pyplot.subplot2grid` no longer auto-remove preexisting
+ overlapping Axes; explicitly call ``Axes.remove`` as needed.
+
+Invalid types for Annotation xycoords now raise TypeError
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Previously, a `RuntimeError` would be raised in some cases.
+
+Default antialiasing behavior changes for ``Text`` and ``Annotation``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``matplotlib.pyplot.annotate()`` and ``matplotlib.pyplot.text()`` now support parameter *antialiased* when initializing.
+Examples:
+
+.. code-block:: python
+
+ mpl.text.Text(.5, .5, "foo\nbar", antialiased=True)
+ plt.text(0.5, 0.5, '6 inches x 2 inches', antialiased=True)
+ ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5), antialiased=False)
+
+See "What's New" for more details on usage.
+
+With this new feature, you may want to make sure that you are creating and saving/showing the figure under the same context::
+
+ # previously this was a no-op, now it is what works
+ with rccontext(text.antialiased=False):
+ fig, ax = plt.subplots()
+ ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5))
+ fig.savefig('/tmp/test.png')
+
+ # previously this had an effect, now this is a no-op
+ fig, ax = plt.subplots()
+ ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5))
+ with rccontext(text.antialiased=False):
+ fig.savefig('/tmp/test.png')
+
+Also note that antialiasing for tick labels will be set with :rc:`text.antialiased` when they are created (usually when a ``Figure`` is created) - This means antialiasing for them can no longer be changed by modifying :rc:`text.antialiased`.
+
+``ScalarMappable.to_rgba()`` now respects the mask of RGB(A) arrays
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Previously, the mask was ignored. Now the alpha channel is set to 0 if any
+component (R, G, B, or A) is masked.
+
+``Text.get_rotation_mode`` return value
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Passing ``None`` as ``rotation_mode`` to `.Text` (the default value) or passing it to
+`.Text.set_rotation_mode` will make `.Text.get_rotation_mode` return ``"default"``
+instead of ``None``. The behaviour otherwise is the same.
+
+PostScript paper type adds option to use figure size
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The :rc:`ps.papertype` rcParam can now be set to ``'figure'``, which will use
+a paper size that corresponds exactly with the size of the figure that is being
+saved.
diff --git a/doc/api/prev_api_changes/api_changes_3.8.0/deprecations.rst b/doc/api/prev_api_changes/api_changes_3.8.0/deprecations.rst
new file mode 100644
index 000000000000..b442a4af51dc
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.8.0/deprecations.rst
@@ -0,0 +1,300 @@
+Deprecations
+------------
+
+Calling ``paths.get_path_collection_extents`` with empty *offsets*
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Calling `~.get_path_collection_extents` with an empty *offsets* parameter
+has an ambiguous interpretation and is therefore deprecated. When the
+deprecation period expires, this will produce an error.
+
+
+``axes_grid1.axes_divider`` API changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``AxesLocator`` class is deprecated. The ``new_locator`` method of divider
+instances now instead returns an opaque callable (which can still be passed to
+``ax.set_axes_locator``).
+
+``Divider.locate`` is deprecated; use ``Divider.new_locator(...)(ax, renderer)``
+instead.
+
+
+``bbox.anchored()`` with no explicit container
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Not passing a *container* argument to `.BboxBase.anchored` is now deprecated.
+
+
+Functions in ``mpl_toolkits.mplot3d.proj3d``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The function ``transform`` is just an alias for ``proj_transform``,
+use the latter instead.
+
+The following functions are either unused (so no longer required in Matplotlib)
+or considered private. If you rely on them, please make a copy of the code,
+including all functions that starts with a ``_`` (considered private).
+
+* ``ortho_transformation``
+* ``persp_transformation``
+* ``proj_points``
+* ``proj_trans_points``
+* ``rot_x``
+* ``rotation_about_vector``
+* ``view_transformation``
+
+
+Arguments other than ``renderer`` to ``get_tightbbox``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+... are keyword-only arguments. This is for consistency and that
+different classes have different additional arguments.
+
+
+The object returned by ``pcolor()`` has changed to a ``PolyQuadMesh`` class
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The old object was a `.PolyCollection` with flattened vertices and array data.
+The new `.PolyQuadMesh` class subclasses `.PolyCollection`, but adds in better
+2D coordinate and array handling in alignment with `.QuadMesh`. Previously, if
+a masked array was input, the list of polygons within the collection would shrink
+to the size of valid polygons and users were required to keep track of which
+polygons were drawn and call ``set_array()`` with the smaller "compressed" array size.
+Passing the "compressed" and flattened array values is now deprecated and the
+full 2D array of values (including the mask) should be passed
+to `.PolyQuadMesh.set_array`.
+
+
+``LocationEvent.lastevent``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... is deprecated with no replacement.
+
+
+``allsegs``, ``allkinds``, ``tcolors`` and ``tlinewidths`` attributes of `.ContourSet`
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+These attributes are deprecated; if required, directly retrieve the vertices
+and codes of the Path objects from ``ContourSet.get_paths()`` and the colors
+and the linewidths via ``ContourSet.get_facecolor()``, ``ContourSet.get_edgecolor()``
+and ``ContourSet.get_linewidths()``.
+
+
+``ContourSet.collections``
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+... is deprecated. `.ContourSet` is now implemented as a single `.Collection` of paths,
+each path corresponding to a contour level, possibly including multiple unconnected
+components.
+
+During the deprecation period, accessing ``ContourSet.collections`` will revert the
+current ContourSet instance to the old object layout, with a separate `.PathCollection`
+per contour level.
+
+
+``INVALID_NON_AFFINE``, ``INVALID_AFFINE``, ``INVALID`` attributes of ``TransformNode``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+These attributes are deprecated.
+
+
+``Grouper.clean()``
+~~~~~~~~~~~~~~~~~~~
+
+with no replacement. The Grouper class now cleans itself up automatically.
+
+
+``GridHelperCurveLinear.get_data_boundary``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... is deprecated. Use ``grid_finder.extreme_finder(*[None] * 5)`` to get the
+extremes of the grid.
+
+
+*np_load* parameter of ``cbook.get_sample_data``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+This parameter is deprecated; `.get_sample_data` now auto-loads numpy arrays.
+Use ``get_sample_data(..., asfileobj=False)`` instead to get the filename of
+the data file, which can then be passed to `open`, if desired.
+
+
+``RendererAgg.tostring_rgb`` and ``FigureCanvasAgg.tostring_rgb``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... are deprecated with no direct replacement. Consider using ``buffer_rgba``
+instead, which should cover most use cases.
+
+
+The parameter of ``Annotation.contains`` and ``Legend.contains`` is renamed to *mouseevent*
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... consistently with `.Artist.contains`.
+
+
+Accessing ``event.guiEvent`` after event handlers return
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... is deprecated: for some GUI toolkits, it is unsafe to do so. In the
+future, ``event.guiEvent`` will be set to None once the event handlers return;
+you may separately stash the object at your own risk.
+
+
+Widgets
+~~~~~~~
+
+The *visible* attribute getter of Selector widgets has been deprecated;
+use ``get_visible``
+
+
+Method parameters renamed to match base classes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The only parameter of ``transform_affine`` and ``transform_non_affine`` in ``Transform`` subclasses is renamed
+to *values*.
+
+The *points* parameter of ``transforms.IdentityTransform.transform`` is renamed to *values*.
+
+The *trans* parameter of ``table.Cell.set_transform`` is renamed to *t* consistently with
+`.Artist.set_transform`.
+
+The *clippath* parameters of ``axis.Axis.set_clip_path`` and ``axis.Tick.set_clip_path`` are
+renamed to *path* consistently with `.Artist.set_clip_path`.
+
+The *s* parameter of ``images.NonUniformImage.set_filternorm`` is renamed to *filternorm*
+consistently with ```_ImageBase.set_filternorm``.
+
+The *s* parameter of ``images.NonUniformImage.set_filterrad`` is renamed to *filterrad*
+consistently with ```_ImageBase.set_filterrad``.
+
+
+*numdecs* parameter and attribute of ``LogLocator``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... are deprecated without replacement, because they have no effect.
+
+
+``NavigationToolbar2QT.message`` is deprecated
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... with no replacement.
+
+
+``ft2font.FT2Image.draw_rect`` and ``ft2font.FT2Font.get_xys``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+... are deprecated as they are unused. If you rely on these, please let us know.
+
+
+``backend_ps.psDefs``
+~~~~~~~~~~~~~~~~~~~~~
+
+The ``psDefs`` module-level variable in ``backend_ps`` is deprecated with no
+replacement.
+
+
+Callable axisartist Axes
+~~~~~~~~~~~~~~~~~~~~~~~~
+Calling an axisartist Axes to mean `~matplotlib.pyplot.axis` is deprecated; explicitly
+call the method instead.
+
+
+``AnchoredEllipse`` is deprecated
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Instead, directly construct an `.AnchoredOffsetbox`, an `.AuxTransformBox`, and an
+`~.patches.Ellipse`, as demonstrated in :doc:`/gallery/misc/anchored_artists`.
+
+
+Automatic papersize selection in PostScript
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setting :rc:`ps.papersize` to ``'auto'`` or passing ``papersize='auto'`` to
+`.Figure.savefig` is deprecated. Either pass an explicit paper type name, or
+omit this parameter to use the default from the rcParam.
+
+
+``Tick.set_label1`` and ``Tick.set_label2``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... are deprecated. Calling these methods from third-party code usually has no
+effect, as the labels are overwritten at draw time by the tick formatter.
+
+
+Passing extra positional arguments to ``Figure.add_axes``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Positional arguments passed to `.Figure.add_axes` other than a rect or an
+existing ``Axes`` are currently ignored, and doing so is now deprecated.
+
+
+``CbarAxesBase.toggle_label``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... is deprecated. Instead, use standard methods for manipulating colorbar
+labels (`.Colorbar.set_label`) and tick labels (`.Axes.tick_params`).
+
+
+``TexManager.texcache``
+~~~~~~~~~~~~~~~~~~~~~~~
+
+... is considered private and deprecated. The location of the cache directory is
+clarified in the doc-string.
+
+
+Artists explicitly passed in will no longer be filtered by legend() based on their label
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Currently, artists explicitly passed to ``legend(handles=[...])`` are filtered
+out if their label starts with an underscore. This behavior is deprecated;
+explicitly filter out such artists
+(``[art for art in artists if not art.get_label().startswith('_')]``) if
+necessary.
+
+
+``FigureCanvasBase.switch_backends``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... is deprecated with no replacement.
+
+
+``cbook.Stack`` is deprecated
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... with no replacement.
+
+
+``inset_location.InsetPosition`` is deprecated
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Use `~.Axes.inset_axes` instead.
+
+
+``axisartist.axes_grid`` and ``axisartist.axes_rgb``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+These modules, which provide wrappers combining the functionality of
+`.axes_grid1` and `.axisartist`, are deprecated; directly use e.g.
+``AxesGrid(..., axes_class=axislines.Axes)`` instead.
+
+
+``ContourSet.antialiased``
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+... is deprecated; use `~.Collection.get_antialiased` or
+`~.Collection.set_antialiased` instead. Note that `~.Collection.get_antialiased`
+returns an array.
+
+
+Passing non-int or sequence of non-int to ``Table.auto_set_column_width``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Column numbers are ints, and formerly passing any other type was effectively
+ignored. This will become an error in the future.
+
+
+``PdfPages(keep_empty=True)``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+A zero-page pdf is not valid, thus passing ``keep_empty=True`` to
+`.backend_pdf.PdfPages` and `.backend_pgf.PdfPages`, and the ``keep_empty``
+attribute of these classes, are deprecated. Currently, these classes default
+to keeping empty outputs, but that behavior is deprecated too. Explicitly
+passing ``keep_empty=False`` remains supported for now to help transition to
+the new behavior.
+
+Furthermore, `.backend_pdf.PdfPages` no longer immediately creates the target
+file upon instantiation, but only when the first figure is saved. To fully
+control file creation, directly pass an opened file object as argument
+(``with open(path, "wb") as file, PdfPages(file) as pdf: ...``).
+
+
+Auto-closing of figures when switching backend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... is deprecated. Explicitly call ``plt.close("all")`` if necessary. In the
+future, allowable backend switches (i.e. those that do not swap a GUI event
+loop with another one) will not close existing figures.
+
+
+Support for passing the "frac" key in ``annotate(..., arrowprops={"frac": ...})``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... has been removed. This key has had no effect since Matplotlib 1.5.
diff --git a/doc/api/prev_api_changes/api_changes_3.8.0/development.rst b/doc/api/prev_api_changes/api_changes_3.8.0/development.rst
new file mode 100644
index 000000000000..2be0505f38ea
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.8.0/development.rst
@@ -0,0 +1,79 @@
+Development changes
+-------------------
+
+
+Increase to minimum supported versions of dependencies
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For Matplotlib 3.8, the :ref:`minimum supported versions ` are
+being bumped:
+
++------------+-----------------+---------------+
+| Dependency | min in mpl3.7 | min in mpl3.8 |
++============+=================+===============+
+| Python | 3.8 | 3.9 |
++------------+-----------------+---------------+
+| kiwisolver | 1.0.1 | 1.3.1 |
++------------+-----------------+---------------+
+| NumPy | 1.20.0 | 1.21.0 |
++------------+-----------------+---------------+
+| Pillow | 6.2.1 | 8.0 |
++------------+-----------------+---------------+
+
+This is consistent with our :ref:`min_deps_policy` and `NEP29
+`__
+
+
+Increase to minimum supported optional dependencies
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For Matplotlib 3.8, the :ref:`minimum supported versions of optional dependencies
+` are being bumped:
+
++------------+-----------------+---------------+
+| Dependency | min in mpl3.7 | min in mpl3.8 |
++============+=================+===============+
+| Tk | 8.4 | 8.5 |
++------------+-----------------+---------------+
+| Qt | 5.10 | 5.12 |
++------------+-----------------+---------------+
+
+- There are no wheels or conda packages that support both Qt 5.11 (or older) and
+ Python 3.9 (or newer).
+
+This is consistent with our :ref:`min_deps_policy`
+
+Provisional support for PEP484 Type Hint Annotations
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+New public API should be type hinted in ``.pyi`` stub files (except ``pyplot`` and tests
+which are typed in-line).
+Tests should be type hinted minimally, essentially only when ``mypy`` generates errors.
+
+CI and configuration for running ``mypy`` have been added.
+
+Generation of ``pyplot.py`` requires ``black``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The autogenerated portions of ``pyplot.py`` use ``black`` autoformatting to ensure
+syntax-correct, readable output code.
+
+As such ``black`` is now a development and test requirement (for the test which
+regenerates ``pyplot``).
+
+Wheels for some systems are no longer distributed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Pre-compiled wheels for 32-bit Linux and Windows are no longer provided on PyPI
+since Matplotlib 3.8.
+
+Multi-architecture ``universal2`` wheels for macOS are no longer provided on PyPI since
+Matplotlib 3.8. In general, ``pip`` will always prefer the architecture-specific
+(``amd64``- or ``arm64``-only) wheels, so these provided little benefit.
+
+New wheel architectures
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Wheels have been added for:
+
+- musl based systems
diff --git a/doc/api/next_api_changes/removals/24984-OG.rst b/doc/api/prev_api_changes/api_changes_3.8.0/removals.rst
similarity index 56%
rename from doc/api/next_api_changes/removals/24984-OG.rst
rename to doc/api/prev_api_changes/api_changes_3.8.0/removals.rst
index 59d6d12ba926..90e5fd882486 100644
--- a/doc/api/next_api_changes/removals/24984-OG.rst
+++ b/doc/api/prev_api_changes/api_changes_3.8.0/removals.rst
@@ -1,3 +1,34 @@
+Removals
+--------
+
+cbook removals
+~~~~~~~~~~~~~~
+
+- ``matplotlib.cbook.MatplotlibDeprecationWarning`` and
+ ``matplotlib.cbook.mplDeprecation`` are removed; use
+ `matplotlib.MatplotlibDeprecationWarning` instead.
+- ``cbook.maxdict``; use the standard library ``functools.lru_cache`` instead.
+
+Groupers from ``get_shared_x_axes`` / ``get_shared_y_axes`` are immutable
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Modifications to the Groupers returned by ``get_shared_x_axes`` and
+``get_shared_y_axes`` are no longer allowed. Note that previously, calling e.g.
+``join()`` would already fail to set up the correct structures for sharing
+axes; use `.Axes.sharex` or `.Axes.sharey` instead.
+
+Deprecated modules removed
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following deprecated modules are removed:
+
+* ``afm``
+* ``docstring``
+* ``fontconfig_pattern``
+* ``tight_bbox``
+* ``tight_layout``
+* ``type1font``
+
Parameters to ``plt.figure()`` and the ``Figure`` constructor
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -118,6 +149,36 @@ Vendor the code from a previous version.
... is removed with no replacement. Copy the previous implementation if
needed.
+``Figure.callbacks`` is removed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Figure ``callbacks`` property has been removed. The only signal was
+"dpi_changed", which can be replaced by connecting to the "resize_event" on the
+canvas ``figure.canvas.mpl_connect("resize_event", func)`` instead.
+
+
+Passing too many positional arguments to ``tripcolor``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+... raises ``TypeError`` (extra arguments were previously ignored).
+
+
+The *filled* argument to ``Colorbar`` is removed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+This behavior was already governed by the underlying ``ScalarMappable``.
+
+
+Widgets
+~~~~~~~
+
+The *visible* attribute setter of Selector widgets has been removed; use ``set_visible``
+The associated getter is also deprecated, but not yet expired.
+
+``Axes3D.set_frame_on`` and ``Axes3D.get_frame_on`` removed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``Axes3D.set_frame_on`` is documented as "Set whether the 3D axes panels are
+drawn.". However, it has no effect on 3D axes and is being removed in
+favor of ``Axes3D.set_axis_on`` and ``Axes3D.set_axis_off``.
Miscellaneous internals
~~~~~~~~~~~~~~~~~~~~~~~
@@ -172,3 +233,55 @@ Backend-specific removals
- ``backend_svg.short_float_fmt``; vendor the code of the similarly named
private functions if you rely on it.
- ``backend_svg.generate_transform`` and ``backend_svg.generate_css``
+
+Removal of deprecated APIs
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following deprecated APIs have been removed. Unless a replacement is stated, please
+vendor the previous implementation if needed.
+
+- The following methods of `.FigureCanvasBase`: ``pick`` (use ``Figure.pick`` instead),
+ ``resize``, ``draw_event``, ``resize_event``, ``close_event``, ``key_press_event``,
+ ``key_release_event``, ``pick_event``, ``scroll_event``, ``button_press_event``,
+ ``button_release_event``, ``motion_notify_event``, ``leave_notify_event``,
+ ``enter_notify_event`` (for all the ``foo_event`` methods, construct the relevant
+ `.Event` object and call ``canvas.callbacks.process(event.name, event)`` instead).
+- ``ToolBase.destroy`` (connect to ``tool_removed_event`` instead).
+- The *cleared* parameter to `.FigureCanvasAgg.get_renderer` (call ``renderer.clear()``
+ instead).
+- The following methods of `.RendererCairo`: ``set_ctx_from_surface`` and
+ ``set_width_height`` (use ``set_context`` instead, which automatically infers the
+ canvas size).
+- The ``window`` or ``win`` parameters and/or attributes of ``NavigationToolbar2Tk``,
+ ``NavigationToolbar2GTK3``, and ``NavigationToolbar2GTK4``, and the ``lastrect``
+ attribute of ``NavigationToolbar2Tk``
+- The ``error_msg_gtk`` function and the ``icon_filename`` and ``window_icon`` globals
+ in ``backend_gtk3``; the ``error_msg_wx`` function in ``backend_wx``.
+- ``FigureManagerGTK3Agg`` and ``FigureManagerGTK4Agg`` (use ``FigureManagerGTK3``
+ instead); ``RendererGTK3Cairo`` and ``RendererGTK4Cairo``.
+- ``NavigationToolbar2Mac.prepare_configure_subplots`` (use
+ `~.NavigationToolbar2.configure_subplots` instead).
+- ``FigureManagerMac.close``.
+- The ``qApp`` global in `.backend_qt` (use ``QtWidgets.QApplication.instance()``
+ instead).
+- The ``offset_text_height`` method of ``RendererWx``; the ``sizer``, ``figmgr``,
+ ``num``, ``toolbar``, ``toolmanager``, ``get_canvas``, and ``get_figure_manager``
+ attributes or methods of ``FigureFrameWx`` (use ``frame.GetSizer()``,
+ ``frame.canvas.manager``, ``frame.canvas.manager.num``, ``frame.GetToolBar()``,
+ ``frame.canvas.manager.toolmanager``, the *canvas_class* constructor parameter, and
+ ``frame.canvas.manager``, respectively, instead).
+- ``FigureFrameWxAgg`` and ``FigureFrameWxCairo`` (use
+ ``FigureFrameWx(..., canvas_class=FigureCanvasWxAgg)`` and
+ ``FigureFrameWx(..., canvas_class=FigureCanvasWxCairo)``, respectively, instead).
+- The ``filled`` attribute and the ``draw_all`` method of `.Colorbar` (instead of
+ ``draw_all``, use ``figure.draw_without_rendering``).
+- Calling `.MarkerStyle` without setting the *marker* parameter or setting it to None
+ (use ``MarkerStyle("")`` instead).
+- Support for third-party canvas classes without a ``required_interactive_framework``
+ attribute (this can only occur if the canvas class does not inherit from
+ `.FigureCanvasBase`).
+- The ``canvas`` and ``background`` attributes of `.MultiCursor`; the
+ ``state_modifier_keys`` attribute of selector widgets.
+- Passing *useblit*, *horizOn*, or *vertOn* positionally to `.MultiCursor`.
+- Support for the ``seaborn-`` styles; use ``seaborn-v0_8-`` instead, or
+ directly use the seaborn API.
diff --git a/doc/conf.py b/doc/conf.py
index 95f7ea065f96..f369c7c4b89c 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -11,12 +11,14 @@
# All configuration values have a default value; values that are commented out
# serve to show the default value.
+from datetime import datetime, timezone
import logging
import os
from pathlib import Path
import shutil
import subprocess
import sys
+import time
from urllib.parse import urlsplit, urlunsplit
import warnings
@@ -25,9 +27,6 @@
import matplotlib
-from datetime import timezone
-from datetime import datetime
-import time
# debug that building expected version
print(f"Building Documentation for Matplotlib: {matplotlib.__version__}")
diff --git a/doc/devel/dependencies.rst b/doc/devel/dependencies.rst
index c840436397cc..a865b80cab84 100644
--- a/doc/devel/dependencies.rst
+++ b/doc/devel/dependencies.rst
@@ -68,7 +68,7 @@ and the capabilities they provide.
.. _PyGObject: https://pygobject.readthedocs.io/en/latest/
.. _wxPython: https://www.wxpython.org/
.. _pycairo: https://pycairo.readthedocs.io/en/latest/
-.. _cairocffi: https://cairocffi.readthedocs.io/en/latest/
+.. _cairocffi: https://doc.courtbouillon.org/cairocffi/stable/
.. _Tornado: https://pypi.org/project/tornado/
.. _ipykernel: https://pypi.org/project/ipykernel/
diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst
index 3b84e4aa859c..7a11c7c3eb18 100644
--- a/doc/devel/testing.rst
+++ b/doc/devel/testing.rst
@@ -153,7 +153,9 @@ vs plotting the circle using the parametric equation of a circle ::
radius = 0.4
fig_test.plot(radius * np.cos(theta), radius * np.sin(theta), color='r')
-Both comparison decorators have a tolerance argument ``tol`` that is used to specify the tolerance for difference in color value between the two images, where 255 is the maximal difference. The test fails if the average pixel difference is greater than this value.
+Both comparison decorators have a tolerance argument ``tol`` that is used to specify the
+tolerance for difference in color value between the two images, where 255 is the maximal
+difference. The test fails if the average pixel difference is greater than this value.
See the documentation of `~matplotlib.testing.decorators.image_comparison` and
`~matplotlib.testing.decorators.check_figures_equal` for additional information
diff --git a/doc/users/github_stats.rst b/doc/users/github_stats.rst
index af899118e690..8004087482ae 100644
--- a/doc/users/github_stats.rst
+++ b/doc/users/github_stats.rst
@@ -1,242 +1,1005 @@
.. _github-stats:
-GitHub statistics for 3.7.2 (Jul 05, 2023)
+GitHub statistics for 3.8.0 (Sep 14, 2023)
==========================================
-GitHub statistics for 2023/03/04 (tag: v3.7.1) - 2023/07/05
+GitHub statistics for 2023/02/13 (tag: v3.7.0) - 2023/09/14
These lists are automatically generated, and may be incomplete or contain duplicates.
-We closed 36 issues and merged 156 pull requests.
-The full list can be seen `on GitHub `__
+We closed 185 issues and merged 649 pull requests.
+The full list can be seen `on GitHub `__
-The following 25 authors contributed 248 commits.
+The following 146 authors contributed 2914 commits.
+* 0xedl
+* Aalok Chhetri
* Adam J. Stewart
+* Adam Turner
+* Albert Y. Shih
+* Alissa
+* Alissa Hodge
+* Almar Klein
+* Andreas Deininger
* Antony Lee
+* Artem Shekhovtsov
* Astra
+* Ben Root
+* Brandon Dusch
+* BuildTools
+* Caden Gobat
+* Chahak Mehta
+* Clément Robert
+* ColeBurch
* Daniele Nicolodi
* daniilS
+* David Kaméus
+* David Stansby
* dependabot[bot]
+* Devilsaint
+* devRD
+* Dusch4593
+* DWesl
+* Eero Vaher
* Elliott Sales de Andrade
+* Eric Firing
+* Eric Larson
+* Eric Prestat
+* Eric Wieser
+* Evgenii Radchenko
+* Fabian Joswig
+* Felix Goudreault
+* Gabriel Madeira
+* Gautam Sagar
+* Gokberk Gunes
* Greg Lucas
+* Hai Zhu
+* hannah
+* Haojun Song
+* Hasan Rashid
+* haval0
+* Higgs32584
+* Ian Hunt-Isaak
+* Ian Thomas
+* II-Day-II
+* Irtaza Khalid
+* j1642
+* Jan-Hendrik Müller
+* Jarrod Millman
* Jody Klymak
+* Johann Krauter
+* John Paul Jepko
+* Jonathan Wheeler
+* jsdodge
+* Julian Chen
+* kolibril13
+* krooijers
* Kyle Sunden
+* Larry Bradley
+* LemonBoy
+* lganic
+* Lukas Schrangl
+* luke
+* marbled-toast
+* mariamalykh
+* Marisa Wong
+* Mateusz Sokół
+* Matt Newville
+* matt statham
+* Matthew Feickert
+* Matthew Morrison
+* Matthias Bussonnier
* MeeseeksMachine
* Melissa Weber Mendonça
+* melissawm
+* Michael Dittrich
+* Michael Higgins
* Mubin Manasia
+* Mudassir Chapra
+* Niranjan
* NISHANT KUMAR
+* Noy Hanan
+* Olin Johnson
* Oscar Gustafsson
+* Pavel Zwerschke
+* Peter Cock
* Petros Tzathas
+* Photoniker
+* photoniker
+* Pierre Haessig
+* Pieter Eendebak
+* Prajwal Agrawal
+* pre-commit-ci[bot]
+* priyanshi
+* Priyanshi Gaur
+* RadostW
+* Rahul Mohan
+* Ratnabali Dutta
+* rbt94
+* Richard Barnes
+* richardsheridan
+* RishabhSpark
+* Rob Righter
+* roberto.bodo
+* root
* Ruth Comer
+* Sam
+* saranti
* Scott Shambaugh
+* Shreeya Ramesh
+* Sia Ghelichkhan
+* Sigma-Verma
* Smeet nagda
* SnorfYang
* Stefanie Molin
* Steffen Rehberg
+* stevezhang
+* stevezhang1999
+* Talha Irfan
* Thomas A Caswell
+* Thomas J. Fan
+* Tigran Khachatryan
* Tim Hoffmann
+* Tom
+* Tom Sarantis
+* Tunç Başar Köse
+* Utkarsh Verma
+* vavanade
+* Vishal Pankaj Chandratreya
+* vivekvedant
+* vizzy_viz
+* Vladimir
+* Vladimir Ilievski
+* Waleed-Abdullah
+* weijili
+* whyvra
+* xtanion
+* Y.D.X
* Yi Wei
+* yuzie007
+* 渡邉 美希
GitHub issues and pull requests:
-Pull Requests (156):
+Pull Requests (649):
-* :ghpull:`26260`: Backport PR #25960 on branch v3.7.x (FIX: wspace and hspace in subfigures without layout engine)
-* :ghpull:`25960`: FIX: wspace and hspace in subfigures without layout engine
-* :ghpull:`26238`: Backport PR #26237 on branch v3.7.x (Update FancyBboxPatch docstring)
-* :ghpull:`26234`: Backport PR #26232 on branch v3.7.x (FIX: pcolor writing to read-only input mask)
-* :ghpull:`26232`: FIX: pcolor writing to read-only input mask
-* :ghpull:`26229`: Backport PR #26223 on branch v3.7.x (Fix: pcolormesh writing to read-only input mask)
-* :ghpull:`26227`: Backport PR #26184 on branch v3.7.x (FIX: AnnotationBbox extents before draw)
-* :ghpull:`26223`: Fix: pcolormesh writing to read-only input mask
-* :ghpull:`26184`: FIX: AnnotationBbox extents before draw
-* :ghpull:`26214`: Auto backport of pr 26186 on v3.7.x
-* :ghpull:`26216`: Backport PR #26126 on branch v3.7.x (Revert "Merge pull request #24555 from parthpankajtiwary/symlog-warn")
-* :ghpull:`26215`: Backport PR #25824 on branch v3.7.x (pdf: Use explicit palette when saving indexed images)
-* :ghpull:`26211`: Backport PR #25704 on branch v3.7.x (FIX: don't round image sizes to pixel if meant to be unsampled)
-* :ghpull:`26186`: [Doc] Improve documentation types
-* :ghpull:`26177`: Backport PR #26154 on branch v3.7.x (MNT: py312 deprecates pickling objects in itertools)
-* :ghpull:`26154`: MNT: py312 deprecates pickling objects in itertools
-* :ghpull:`26175`: Backport PR #26165 on branch v3.7.x (Avoid Py_VerboseFlag deprecation from Python 3.12)
-* :ghpull:`26165`: Avoid Py_VerboseFlag deprecation from Python 3.12
-* :ghpull:`26136`: Backport PR #26135 on branch v3.7.x (TST: xfail Tk test on Python 3.9 Azure macOS also)
-* :ghpull:`26158`: Backport PR #26153 on branch v3.7.x (Restrict pyparsing version)
-* :ghpull:`26153`: Restrict pyparsing version
-* :ghpull:`26149`: Backport PR #26148 on branch v3.7.x (Clarify how to get data from Line3D and fix formatting issue)
-* :ghpull:`26148`: Clarify how to get data from Line3D and fix formatting issue
-* :ghpull:`26135`: TST: xfail Tk test on Python 3.9 Azure macOS also
-* :ghpull:`26133`: Backport PR #26084 on branch v3.7.x (added note about python 3 to venv)
-* :ghpull:`26126`: Revert "Merge pull request #24555 from parthpankajtiwary/symlog-warn"
-* :ghpull:`26127`: Backport PR #25068 on branch v3.7.x (Fix pgf tests with TeXLive 2022)
-* :ghpull:`25068`: Fix pgf tests with TeXLive 2022
-* :ghpull:`25824`: pdf: Use explicit palette when saving indexed images
-* :ghpull:`26116`: Backport PR #26006 on branch v3.7.x (DOC: Use scientific-python-nightly-wheels for nightly build index)
-* :ghpull:`26055`: Backport PR #26052 on branch v3.7.x (Improve Qt compatibility)
-* :ghpull:`26053`: Backport PR #25858 on branch v3.7.x (Get dlerror() immediately after dlclose() fails.)
-* :ghpull:`26052`: Improve Qt compatibility
-* :ghpull:`25858`: Get dlerror() immediately after dlclose() fails.
-* :ghpull:`26048`: Backport PR #26044 on branch v3.7.x (DOC: add steering council email to triage page + remove unactionable instructions)
-* :ghpull:`26039`: Backport PR #26038 on branch v3.7.x (subsubsection titles for backend tables)
-* :ghpull:`26034`: ci: Skip PySide6 6.5.1 on another environment
-* :ghpull:`26019`: Backport PR #25985 on branch v3.7.x (Drop metadata table when subsetting fonts)
-* :ghpull:`26009`: Backport PR #25978 on branch v3.7.x (Fix subslice optimization for long, fully nan lines.)
-* :ghpull:`26021`: Backport PR #26005 on branch v3.7.x (Fix backend tests on CI)
-* :ghpull:`25985`: Drop metadata table when subsetting fonts
-* :ghpull:`25978`: Fix subslice optimization for long, fully nan lines.
+* :ghpull:`26777`: Backport PR #26702 on branch v3.8.x (converted coc to rst and put links in code_of_conduct.md)
+* :ghpull:`26775`: Backport PR #26767 on branch v3.8.x (Trim Gouraud triangles that contain NaN)
+* :ghpull:`26776`: Backport PR #26687 on branch v3.8.x (Remove usage of recarray)
+* :ghpull:`26702`: converted coc to rst and put links in code_of_conduct.md
+* :ghpull:`26687`: Remove usage of recarray
+* :ghpull:`26767`: Trim Gouraud triangles that contain NaN
+* :ghpull:`26770`: Backport PR #26762 on branch v3.8.x (MNT: Numpy 2.0 removals from ndarray class)
+* :ghpull:`26762`: MNT: Numpy 2.0 removals from ndarray class
+* :ghpull:`26769`: DOC: Pin mpl-sphinx-theme to 3.8.x
+* :ghpull:`26768`: Backport PR #26700 on branch v3.8.x (Check type for set_clip_box)
+* :ghpull:`26700`: Check type for set_clip_box
+* :ghpull:`26766`: Backport PR #26763 on branch v3.8.x (DOC: Add redirects for old gitwash files)
+* :ghpull:`26763`: DOC: Add redirects for old gitwash files
+* :ghpull:`26756`: Pin numpy to <2 for 3.8.0
+* :ghpull:`26761`: Merge branch v3.7.x into v3.8.x
+* :ghpull:`26757`: Backport PR #26628 on branch v3.8.x (DOC: move install related FAQ to install docs)
+* :ghpull:`26628`: DOC: move install related FAQ to install docs
+* :ghpull:`26753`: Backport PR #26705 on branch v3.8.x ([Doc] Small fixes found by velin)
+* :ghpull:`26705`: [Doc] Small fixes found by velin
+* :ghpull:`26746`: Backport PR #26671 on branch v3.8.x ([DOC] Enhance API reference index)
+* :ghpull:`26671`: [DOC] Enhance API reference index
+* :ghpull:`26740`: Backport PR #26676 on branch v3.8.x ([DOC] Slightly improve the LineCollection docstring)
+* :ghpull:`26676`: [DOC] Slightly improve the LineCollection docstring
+* :ghpull:`26712`: Backport PR #26491 on branch v3.8.x (TYP: Add common-type overloads of subplot_mosaic)
+* :ghpull:`26726`: Backport PR #26719 on branch v3.8.x (Fix issue with missing attribute in Path3DCollection)
+* :ghpull:`26724`: Backport PR #26721 on branch v3.8.x (Add a Python 3.12 classifier)
+* :ghpull:`26711`: Backport PR #26709 on branch v3.8.x (DOC: consistency in docstrings of formatting of array-like)
+* :ghpull:`26491`: TYP: Add common-type overloads of subplot_mosaic
+* :ghpull:`26709`: DOC: consistency in docstrings of formatting of array-like
+* :ghpull:`26708`: Backport PR #26601 on branch v3.8.x (Avoid checking limits when updating both min and max for contours)
+* :ghpull:`26601`: Avoid checking limits when updating both min and max for contours
+* :ghpull:`26701`: Backport PR #26695 on branch v3.8.x (Bump actions/checkout from 3 to 4)
+* :ghpull:`26695`: Bump actions/checkout from 3 to 4
+* :ghpull:`26694`: Backport PR #26689 on branch v3.8.x (Fix error generation for missing pgf.texsystem.)
+* :ghpull:`26522`: TST: Add failing test
+* :ghpull:`26689`: Fix error generation for missing pgf.texsystem.
+* :ghpull:`26688`: Backport PR #26680 on branch v3.8.x (Fix flaky CI tests)
+* :ghpull:`26680`: Fix flaky CI tests
+* :ghpull:`26675`: Backport PR #26665 on branch v3.8.x (Clarify loading of backend FigureCanvas and show().)
+* :ghpull:`26673`: Backport PR #26193 on branch v3.8.x (Sort tex2uni data in mathtext)
+* :ghpull:`26665`: Clarify loading of backend FigureCanvas and show().
+* :ghpull:`26193`: Sort tex2uni data in mathtext
+* :ghpull:`26663`: Backport PR #26245 on branch v3.8.x ([pre-commit.ci] pre-commit autoupdate)
+* :ghpull:`26668`: Backport PR #26541 on branch v3.8.x (TYP: Add typing on mathtext internals)
+* :ghpull:`26666`: Backport PR #26657 on branch v3.8.x (DOC: Fix some small issues)
+* :ghpull:`26541`: TYP: Add typing on mathtext internals
+* :ghpull:`26662`: Backport PR #26542 on branch v3.8.x (TST: Ensure test_webagg subprocess is terminated)
+* :ghpull:`26661`: Backport PR #26566 on branch v3.8.x (MAINT: Numpy 2.0 deprecations for row_stack and in1d)
+* :ghpull:`26657`: DOC: Fix some small issues
+* :ghpull:`26660`: Backport PR #26656 on branch v3.8.x (TYP: Fix some small bugs)
+* :ghpull:`26659`: Backport PR #26470 on branch v3.8.x ([DOC]: mathtext tutorial-consolidate explain and notes)
+* :ghpull:`26245`: [pre-commit.ci] pre-commit autoupdate
+* :ghpull:`26658`: Backport PR #26608 on branch v3.8.x (Removed unnecessary origin keywords)
+* :ghpull:`26542`: TST: Ensure test_webagg subprocess is terminated
+* :ghpull:`26566`: MAINT: Numpy 2.0 deprecations for row_stack and in1d
+* :ghpull:`26656`: TYP: Fix some small bugs
+* :ghpull:`26651`: Backport PR #26348 on branch v3.8.x (Test some untested Locator code)
+* :ghpull:`26470`: [DOC]: mathtext tutorial-consolidate explain and notes
+* :ghpull:`26608`: Removed unnecessary origin keywords
+* :ghpull:`26655`: Backport PR #26649 on branch v3.8.x ([DOC] Remove "Discouraged" notices that have been superseded by deprecation)
+* :ghpull:`26654`: Backport PR #26597 on branch v3.8.x (Squeeze post-converted values when validating limits)
+* :ghpull:`26652`: Backport PR #26646 on branch v3.8.x (Use standard method for closing QApp when last window is closed.)
+* :ghpull:`26648`: Backport PR #26521 on branch v3.8.x (Replaced list with tuple in pyplot for axes)
+* :ghpull:`26649`: [DOC] Remove "Discouraged" notices that have been superseded by deprecation
+* :ghpull:`26647`: Backport PR #26582 on branch v3.8.x (MNT: Enable wheels for Python 3.12)
+* :ghpull:`26646`: Use standard method for closing QApp when last window is closed.
+* :ghpull:`26650`: Backport PR #26635 on branch v3.8.x ([MNT] Do not configure axes properties via subplots(..., subplot_kw={...}))
+* :ghpull:`26644`: Backport PR #26641 on branch v3.8.x ([Doc] Add ACCEPTS for some Axes set methods)
+* :ghpull:`26348`: Test some untested Locator code
+* :ghpull:`26635`: [MNT] Do not configure axes properties via subplots(..., subplot_kw={...})
+* :ghpull:`26521`: Replaced list with tuple in pyplot for axes
+* :ghpull:`26643`: Backport PR #26636 on branch v3.8.x ([Doc] Improve set_layout_engine docs)
+* :ghpull:`26641`: [Doc] Add ACCEPTS for some Axes set methods
+* :ghpull:`26640`: Backport PR #24209 on branch v3.8.x (List the webagg_core module in the sphinx docs.)
+* :ghpull:`26638`: Backport PR #26633 on branch v3.8.x ([Doc] Shorten documentation links in widgets)
+* :ghpull:`26636`: [Doc] Improve set_layout_engine docs
+* :ghpull:`24209`: List the webagg_core module in the sphinx docs.
+* :ghpull:`26633`: [Doc] Shorten documentation links in widgets
+* :ghpull:`26632`: Backport PR #26540 on branch v3.8.x (TYP: Add overloads for FT2Font.get_sfnt_table)
+* :ghpull:`26631`: Backport PR #26619 on branch v3.8.x ([DOC] Clarify some tick-related docstrings)
+* :ghpull:`26540`: TYP: Add overloads for FT2Font.get_sfnt_table
+* :ghpull:`26619`: [DOC] Clarify some tick-related docstrings
+* :ghpull:`26625`: Backport PR #26622 on branch v3.8.x ([Doc] Improve DSP-related examples)
+* :ghpull:`26622`: [Doc] Improve DSP-related examples
+* :ghpull:`26618`: Backport PR #24711 on branch v3.8.x (Test with Python 3.12)
+* :ghpull:`26617`: Backport PR #26598 on branch v3.8.x (FIX: array labelcolor for Tick)
+* :ghpull:`26615`: Backport PR #26614 on branch v3.8.x (Properly disconnect machinery when removing child axes.)
+* :ghpull:`26614`: Properly disconnect machinery when removing child axes.
+* :ghpull:`24711`: Test with Python 3.12
+* :ghpull:`26607`: Backport PR #26606 on branch v3.8.x ([Doc] Revise histogram features example (Closes #26604))
+* :ghpull:`26606`: [Doc] Revise histogram features example (Closes #26604)
+* :ghpull:`26599`: Backport PR #26565 on branch v3.8.x ([doc]: added section Verify installation)
+* :ghpull:`26565`: [doc]: added section Verify installation
+* :ghpull:`26595`: Backport PR #26591 on branch v3.8.x (Fix ToolBase.figure property setter.)
+* :ghpull:`26591`: Fix ToolBase.figure property setter.
+* :ghpull:`26584`: Backport PR #26581 on branch v3.8.x (Deduplicate test for toolbar button icon LA mode.)
+* :ghpull:`26585`: Backport PR #26576 on branch v3.8.x (Use sys.platform over os.name)
+* :ghpull:`26583`: Backport PR #26578 on branch v3.8.x (MAINT: add __pycache__/ to .gitignore)
+* :ghpull:`26576`: Use sys.platform over os.name
+* :ghpull:`26581`: Deduplicate test for toolbar button icon LA mode.
+* :ghpull:`26578`: MAINT: add __pycache__/ to .gitignore
+* :ghpull:`26579`: Backport PR #26572 on branch v3.8.x ([DOC]: clarify pre-commits and editing workflow)
+* :ghpull:`26572`: [DOC]: clarify pre-commits and editing workflow
+* :ghpull:`26575`: Backport PR #26573 on branch v3.8.x ([DOC]: codespace link in contribute index)
+* :ghpull:`26573`: [DOC]: codespace link in contribute index
+* :ghpull:`26568`: Backport PR #26462 on branch v3.8.x (Boxplot fix median line extending past box boundaries #19409)
+* :ghpull:`26416`: [doc]: add 'validate' section to install docs #26379
+* :ghpull:`26564`: Backport PR #26543 on branch v3.8.x (Add ninja to Cygwin builder)
+* :ghpull:`26462`: Boxplot fix median line extending past box boundaries #19409
+* :ghpull:`26563`: Backport PR #26519 on branch v3.8.x (Fix mathtext mismatched braces)
+* :ghpull:`26543`: Add ninja to Cygwin builder
+* :ghpull:`26519`: Fix mathtext mismatched braces
+* :ghpull:`26556`: Backport PR #26554 on branch v3.8.x (Remove NumPy abs overrides from pylab)
+* :ghpull:`26550`: Backport PR #26545 on branch v3.8.x (Fix size inferral when using cairocffi)
+* :ghpull:`26547`: Backport PR #26493 on branch v3.8.x (Disable ````add_html_cache_busting```` on Sphinx 7.1+)
+* :ghpull:`26546`: Backport PR #26201 on branch v3.8.x (DOC: Add documentation on codespaces usage)
+* :ghpull:`26548`: Backport PR #26514 on branch v3.8.x (Clarify interaction between params of get_path_collection_extents.)
+* :ghpull:`26514`: Clarify interaction between params of get_path_collection_extents.
+* :ghpull:`26537`: Backport PR #26529 on branch v3.8.x (Fix MathText antialiasing)
+* :ghpull:`26536`: Backport PR #26532 on branch v3.8.x (Fix input check in Poly3DCollection.__init__)
+* :ghpull:`26529`: Fix MathText antialiasing
+* :ghpull:`26534`: Backport PR #26513 on branch v3.8.x (Tweak shape repr in _api.check_shape error message.)
+* :ghpull:`26533`: Backport PR #26526 on branch v3.8.x (Bump pypa/cibuildwheel from 2.14.1 to 2.15.0)
+* :ghpull:`26513`: Tweak shape repr in _api.check_shape error message.
+* :ghpull:`26526`: Bump pypa/cibuildwheel from 2.14.1 to 2.15.0
+* :ghpull:`26201`: DOC: Add documentation on codespaces usage
+* :ghpull:`26530`: Backport PR #26509 on branch v3.8.x (Update/tweak SpanSelector docs.)
+* :ghpull:`26509`: Update/tweak SpanSelector docs.
+* :ghpull:`26528`: Backport PR #26504 on branch v3.8.x (TYP: Add overload to specify output of Colormap.__call__ when possible)
+* :ghpull:`26527`: Backport PR #26173 on branch v3.8.x (Synchronize mathtext docs and handling)
+* :ghpull:`26504`: TYP: Add overload to specify output of Colormap.__call__ when possible
+* :ghpull:`26173`: Synchronize mathtext docs and handling
+* :ghpull:`26511`: Backport PR #26490 on branch v3.8.x (Import PIL.Image explicitly over PIL)
+* :ghpull:`26490`: Import PIL.Image explicitly over PIL
+* :ghpull:`26503`: Backport PR #26502 on branch v3.8.x (TST: Increase some tolerances for non-x86 arches)
+* :ghpull:`26502`: TST: Increase some tolerances for non-x86 arches
+* :ghpull:`26499`: Backport PR #26498 on branch v3.8.x (Add plausible analytics to the documentation pages)
+* :ghpull:`26498`: Add plausible analytics to the documentation pages
+* :ghpull:`26493`: Disable ````add_html_cache_busting```` on Sphinx 7.1+
+* :ghpull:`26489`: Backport PR #26487 on branch v3.8.x (DOC: Remove unused image rotator)
+* :ghpull:`26487`: DOC: Remove unused image rotator
+* :ghpull:`26479`: ps: Add option to use figure size as paper size
+* :ghpull:`26469`: Deprecate PdfPages(keep_empty=True).
+* :ghpull:`24379`: DOC: Update dropped splines example
+* :ghpull:`26326`: Only do pchanged and set stale when value changes + doc consistency
+* :ghpull:`26443`: BLD: stop skipping musl wheel builds
+* :ghpull:`26475`: [DOC]: Noto Sans for windows docs builds
+* :ghpull:`26481`: Clarify behavior of norm clipping
+* :ghpull:`26474`: [DOC]: filter non-gui backend warnings when building docs
+* :ghpull:`26480`: [DOC] Documentation fixes
+* :ghpull:`26476`: Remove auto from supported ps.papersizes in matplotlibrc.
+* :ghpull:`25966`: Fix support for Ctrl-C on the macosx backend.
+* :ghpull:`26473`: Fix codespaces setup.sh script
+* :ghpull:`24376`: Support removing inner ticks in label_outer()
+* :ghpull:`25785`: Deprecate papersize=auto in PostScript
+* :ghpull:`26472`: Do not close figures on backend switch.
+* :ghpull:`26402`: Restructure interface section of API Reference index page
+* :ghpull:`26467`: MNT: Adjust for upcoming numpy repr changes
+* :ghpull:`26451`: TYP: Add several missing return type annotations
+* :ghpull:`26466`: Make annotate/OffsetFrom unaffected by later mutation of coordinates.
+* :ghpull:`26445`: [DOC]: annotation tutorial: blended artist, headers, and user demo deletes
+* :ghpull:`26454`: Rename an internal parameter of _label_outer_x/yaxis()
+* :ghpull:`26130`: Enable branch coverage for C/C++ code
+* :ghpull:`26448`: [DOC] Update dependency documentation
+* :ghpull:`26450`: Fix return value of Text.update
+* :ghpull:`26447`: DOC: Fix accidental cases of blockquotes
+* :ghpull:`26401`: WARN: more direct warning ticklabels
+* :ghpull:`26444`: Fix some bugs found by typing
+* :ghpull:`26253`: Filter out inf values in plot_surface
+* :ghpull:`26407`: Improve some smaller typing issues
+* :ghpull:`26328`: [DOC]: improve consistency of plot types gallery
+* :ghpull:`26434`: TYP: Adjust type hint of Norm.__call__ to return masked array
+* :ghpull:`26376`: Text antialiasing for mathtext (reopen)
+* :ghpull:`25830`: Specify ticks and axis label positions for 3D plots
+* :ghpull:`25784`: ps: Fix anchoring of rotated usetex text
+* :ghpull:`26403`: Update type hints for font manager and extension
+* :ghpull:`26433`: Call out which pane is hovered over for 3d hover coordinates
+* :ghpull:`26418`: Add next_whats_new entries for mathtext features
+* :ghpull:`26429`: DOC: update ContourSet attributes deprecation advice
+* :ghpull:`26051`: Type hinting developer docs
+* :ghpull:`26427`: Improve button widget examples a bit
+* :ghpull:`26423`: Fix pyparsing version check
+* :ghpull:`26425`: Delete second MRI demo example
+* :ghpull:`26424`: macos: Don't leak None in Timer cleanup
+* :ghpull:`26332`: moved doc root to landing page, make user landing a guide page
+* :ghpull:`26408`: DOC: add note about manually downloading qhull + freetype
+* :ghpull:`26404`: Remove old What's new entries
+* :ghpull:`26011`: Emit xlim_changed on shared axes.
+* :ghpull:`25810`: Fix default return of Collection.get_{cap,join}style
+* :ghpull:`26168`: Add _val_or_rc-function
+* :ghpull:`26335`: Optimize imshow
+* :ghpull:`26367`: Add typing for internal helpers
+* :ghpull:`26397`: TYP: Add type hints to testing module
+* :ghpull:`26399`: Reinstate & deprecate ContourSet.antialiased
+* :ghpull:`26385`: Improve typing in pyplot
+* :ghpull:`26151`: Add substack cmd for mathtext
+* :ghpull:`26396`: Move pylab documentation to its own module page
+* :ghpull:`26393`: TST: Remove extra dummy Axis classes
+* :ghpull:`26384`: Fix triage tool due to Qt bump to 5.12
+* :ghpull:`26382`: Tweak hist2d docstring.
+* :ghpull:`26359`: Simplify MRI with EEG example
+* :ghpull:`26071`: ENH: macosx allow figures to be opened in tabs or windows
+* :ghpull:`16473`: Make ``.axis(zmin=...)`` work on 3D axes
+* :ghpull:`26333`: Add middle for delims
+* :ghpull:`26365`: Fix removal of Figure-level artists
+* :ghpull:`26341`: Fix pickling of axes property cycle.
+* :ghpull:`26279`: DOC: remove users_explain/axis
+* :ghpull:`26347`: Add tests for LogFormatter.format_data and format_data_short
+* :ghpull:`26329`: Clarify that ImageGrid requires limits-sharing.
+* :ghpull:`26349`: Tweak Sankey docs.
+* :ghpull:`26352`: Fix bad histogramming bins in mri/eeg example.
+* :ghpull:`26353`: Remove unused private method
+* :ghpull:`26342`: ENH: Collection.set_paths
+* :ghpull:`26344`: Some more micro optimizations
+* :ghpull:`26346`: Increase coverage
+* :ghpull:`26330`: Deprecate wrappers combining axes_grid1 and axisartist.
+* :ghpull:`26338`: Bump pypa/cibuildwheel from 2.14.0 to 2.14.1
+* :ghpull:`26331`: Support standard Axes in RGBAxes.
+* :ghpull:`26219`: DOC: Restore banner indicating docs are unreleased
+* :ghpull:`25558`: Simplify outdated Image.contains check.
+* :ghpull:`26324`: More micro optimizations of plot
+* :ghpull:`26325`: Remove unused variables
+* :ghpull:`26022`: MNT/FIX: macosx change Timer to NSTimer instance
+* :ghpull:`26303`: Micro optimization of plotting
+* :ghpull:`26249`: FIX: axes3d.scatter color parameter doesn't decrease in size for non-finite coordinate inputs.
+* :ghpull:`26078`: Fix parasite_axes does not properly handle units
+* :ghpull:`25839`: [ENH]: int / float-tuple like kwarg legend(loc) for rcParams['legend.loc']
+* :ghpull:`26056`: Privatize TexManager.texcache
+* :ghpull:`25363`: Bump minimum QT5 version to 5.12
+* :ghpull:`26176`: Add more sizeable delimiters
+* :ghpull:`26302`: FIX: move the font lock higher up the call and class tree
+* :ghpull:`26309`: qt: Mark canvas for re-draw after savefig
+* :ghpull:`26311`: FIX: labels at start of contours
+* :ghpull:`26278`: ENH: clip_path keyword for contour and contourf
+* :ghpull:`26295`: Deprecate inset_locator.InsetPosition.
+* :ghpull:`26122`: Only change axes aspect in imshow if image transform is/contains transData
+* :ghpull:`26297`: Use transformed paths for contour labelling decisions
+* :ghpull:`26160`: add setters and getters for _AxLine's xy1, xy2 and slope parameters
+* :ghpull:`26294`: Deprecate cbook.Stack.
+* :ghpull:`26284`: Bump pypa/cibuildwheel from 2.13.1 to 2.14.0
+* :ghpull:`25661`: boldsymbol support for mathtext
+* :ghpull:`26285`: Improve exception message for set_ticks() kwargs without labels
+* :ghpull:`14593`: Simplify SecondaryAxis.set_color.
+* :ghpull:`26273`: TST: simplify mask in pcolor writing to mask test
+* :ghpull:`26263`: Doc fix toc users
+* :ghpull:`26242`: Deprecate FigureCanvasBase.switch_backends.
+* :ghpull:`26164`: Only clear Axis once when creating an Axes
+* :ghpull:`26035`: issue #26031 - [MNT]: decrease timeout on interactive tests locally
+* :ghpull:`23485`: Fix displayed 3d coordinates showing gibberish
+* :ghpull:`25027`: Make pcolor more mesh-like
+* :ghpull:`26235`: MNT:Decreased timeout for local interactive tests
+* :ghpull:`26270`: Merge v3.7.x into main
+* :ghpull:`26269`: DOC: Fix image_rotator
+* :ghpull:`26265`: DOC: ensure that the bounding box is scaled with dpi in example
+* :ghpull:`26255`: DOC: Modernize Colorbar Tick Labelling example
+* :ghpull:`26258`: DOC: fix rst formatting
+* :ghpull:`26257`: DOC: Clarify terminology
+* :ghpull:`26256`: Better document the ContourSet API change.
+* :ghpull:`26254`: DOC: Improve readability of date formatters/locators example
+* :ghpull:`26233`: DOC: replaced step with stairs in basic plot types
+* :ghpull:`26213`: Add ``CITATION.cff`` file
+* :ghpull:`26226`: Use CLOSEPOLY kind code to close tricontourf polygons
+* :ghpull:`26208`: FIX: also copy the axis units when creating twins
+* :ghpull:`26185`: Set transform for offset text in 3d
+* :ghpull:`26068`: Rewrite Tick formatters example
+* :ghpull:`26218`: moved minimum dependencies to maintenance section
+* :ghpull:`26217`: Doc/rm maintainer wf
+* :ghpull:`26212`: Avoid deprecated typing hints
+* :ghpull:`26198`: Limit Forward references in Mathtext parser
+* :ghpull:`26210`: Re-export textpath types in text
+* :ghpull:`25247`: Turn ContourSet into a standard Collection artist.
+* :ghpull:`26204`: ci: Add tzdata to nightly builds
+* :ghpull:`26200`: [Doc] Add note about (str, alpha) version added
+* :ghpull:`26171`: precommit warns on main + instructions for fix
+* :ghpull:`26189`: Factor out legend/figlegend nargs validation.
+* :ghpull:`26199`: ci: Fix typo for nightly builds
+* :ghpull:`26197`: CI: Add pre-release installs to upcoming tests
+* :ghpull:`26086`: reorganize contributing landing page
+* :ghpull:`17497`: Dedupe some C++ templates
+* :ghpull:`26190`: Deprecate removal of explicit legend handles whose label starts with _.
+* :ghpull:`26188`: Add note to remove texts in baselines when they are regenerated.
+* :ghpull:`25714`: Fix ffmpeg framerates
+* :ghpull:`26142`: [Doc] alphabetize mathtext symbols by unicode
+* :ghpull:`25933`: Relational Operators for mathtext
+* :ghpull:`26159`: DOC: Remove unused static images
+* :ghpull:`25913`: DOC: contributing and documenting clean ups + community for incubator invites
+* :ghpull:`26141`: Doc cards user explain
+* :ghpull:`26110`: DOC: fix levels in user/explain/figure
+* :ghpull:`26102`: Start basing mathtext tutorial on mathtext parser
+* :ghpull:`26138`: MNT: add VNClte porte by default
+* :ghpull:`26089`: Add public method to update ``Legend`` object's loc property .
+* :ghpull:`26137`: Add codespaces configuration
+* :ghpull:`25548`: FIX: macosx keep track of mouse up/down for cursor hand changes
+* :ghpull:`26132`: MNT: remove test images from mathtext tests that have been removed
+* :ghpull:`26125`: Stop building universal2 and win32 wheels
+* :ghpull:`26105`: Doc user guide cards
+* :ghpull:`26128`: Add missing spacer in tk toolmanager toolbar.
+* :ghpull:`26129`: Remove outdated comment in ``Artist.__getstate__``
+* :ghpull:`25631`: API: forbid unsafe savefig kwargs to AbstractMovieWriter.grab_frame
+* :ghpull:`25926`: DOC: restore navigation documentation
+* :ghpull:`24666`: Setting color of legend shadow
+* :ghpull:`26010`: Correct Unicode for [lg]napprox
+* :ghpull:`26120`: Fix new warnings in compiled extensions
+* :ghpull:`26060`: Mnt: GUI tests
+* :ghpull:`25623`: Use classic style in old what's new entries
+* :ghpull:`26113`: Fixes #12926 - inconsistency upon passing C in hexbin
+* :ghpull:`25555`: Let widgets/clabel better handle overlapping axes.
+* :ghpull:`26114`: Bump pypa/cibuildwheel from 2.13.0 to 2.13.1
+* :ghpull:`26112`: Skip tests for users-explain gallery
+* :ghpull:`26111`: [MNT] Update nightly wheels install location
+* :ghpull:`25779`: Adding ellipse_arrow.py example and closes #25477
+* :ghpull:`26101`: Correct bounding box calculation for text markers
+* :ghpull:`26096`: FIX: Handle masked arrays for RGBA input with ScalarMappables
+* :ghpull:`26024`: Add missing operators code
+* :ghpull:`26072`: Pcolormesh with Gouraud shading: masked arrays
+* :ghpull:`25381`: ENH: switch mpl_toolkits to implicit namespace package (PEP 420)
+* :ghpull:`26070`: Factor out common checks for set_data in various Image subclasses.
+* :ghpull:`26091`: Shorten axes_grid1 inset_locator code.
+* :ghpull:`26090`: ci: Move Python 3.11 job to Ubuntu 22.04
+* :ghpull:`21054`: Deprecate many single-use rc validators.
+* :ghpull:`26065`: Install extra requirements when testing with 3.11 on GH
+* :ghpull:`26080`: Deprecate unused "frac" key in annotate() arrowprops.
+* :ghpull:`25248`: added Ishikawa plot in response to issue #25222 add organizational ch…
+* :ghpull:`26064`: add ishikawa diagram to examples
+* :ghpull:`26079`: Tweak Annotation docstring.
+* :ghpull:`26069`: Tweak AnnotationBbox coords specification.
+* :ghpull:`26073`: Cleanup date tick locators and formatters
+* :ghpull:`26057`: Further cleanup rainbow_text example.
+* :ghpull:`26058`: Don't show type hints in rendered docs
+* :ghpull:`26042`: Further simplify AxesGrid._init_locators.
+* :ghpull:`25993`: Modify rainbow_text() function to use annotate() function
+* :ghpull:`25850`: Handle exceptions in numpy::array_view<...>::set().
+* :ghpull:`25542`: ENH: offset parameter for MultipleLocator
+* :ghpull:`25515`: DOC/BLD: plot directive srcset
+* :ghpull:`26045`: 'Inactive' workflow: reduce run frequency
+* :ghpull:`26047`: PR welcome: getting attention
+* :ghpull:`26023`: CI: Use scientific-python/upload-nightly-action
+* :ghpull:`25775`: Support customizing antialiasing for text and annotation
+* :ghpull:`26036`: Cleanup AxesGrid
+* :ghpull:`26025`: MNT: Use commit SHA of cibuildwheel action release
+* :ghpull:`25938`: “Inactive” workflow: bump operations to 175
+* :ghpull:`26020`: Let AxesGrid support Axes subclasses that don't override axis().
+* :ghpull:`26017`: MNT: reduce number of implicit imports from toplevel __init__.py
+* :ghpull:`26033`: removed wrapping from first-issue-bot
+* :ghpull:`26003`: added alias to gray and grey match same colormaps
+* :ghpull:`26027`: Correct spelling in 'Good first issue'
+* :ghpull:`26026`: Simplify delaxes.
+* :ghpull:`26028`: Better document the semantics of get_text_width_height_descent.
+* :ghpull:`26018`: good first issue bot rewording
+* :ghpull:`13482`: Allow sharing Locators and Formatters across Axises.
+* :ghpull:`25950`: Upload nightlies to new location
+* :ghpull:`25473`: ci: Merge sdist and wheel building workflows
+* :ghpull:`25825`: Fix MarkerStyle types
* :ghpull:`26002`: Bump pypa/cibuildwheel from 2.12.3 to 2.13.0
-* :ghpull:`26005`: Fix backend tests on CI
-* :ghpull:`26001`: Backport PR #25954 on branch v3.7.x (Add note that subfigure is still provisional to docstring)
-* :ghpull:`25954`: Add note that subfigure is still provisional to docstring
-* :ghpull:`25996`: Backport PR #25992 on branch v3.7.x (Document that GridSpec.get_subplot_params ignores gridspec.figure.)
-* :ghpull:`25992`: Document that GridSpec.get_subplot_params ignores gridspec.figure.
-* :ghpull:`25984`: Backport PR #25982 on branch v3.7.x (Doc: Updates default value for nonpositve parameter for semilogx and semilogy)
-* :ghpull:`25982`: Doc: Updates default value for nonpositve parameter for semilogx and semilogy
-* :ghpull:`25975`: Backport PR #25964 on branch v3.7.x (Fix get_constrained_layout_pads)
-* :ghpull:`25980`: Backport PR #25977 on branch v3.7.x ([Doc]: Fix navigation sidebar for Animation examples)
-* :ghpull:`25976`: Backport PR #25973 on branch v3.7.x (Add setuptools as an explicit build requirement)
-* :ghpull:`25973`: Add setuptools as an explicit build requirement
-* :ghpull:`25964`: Fix get_constrained_layout_pads
-* :ghpull:`25972`: Backport PR #25918 on branch v3.7.x (migrate from utcfromtimestamp to fromtimestamp)
-* :ghpull:`25959`: Backport PR #25955 on branch v3.7.x (Update performance note of hist() to mention stairs().)
-* :ghpull:`25957`: Backport PR #25956 on branch v3.7.x (Reverse stackplot legend to match data display)
-* :ghpull:`25955`: Update performance note of hist() to mention stairs().
-* :ghpull:`25918`: migrate from utcfromtimestamp to fromtimestamp
-* :ghpull:`25943`: Backport PR #25902 on branch v3.7.x (Fix TransformedBbox.{,full_}contains.)
-* :ghpull:`25902`: Fix TransformedBbox.{,full_}contains.
-* :ghpull:`25928`: Backport PR #25920 on branch v3.7.x (Rewrite offset_copy for better error message)
-* :ghpull:`25935`: Backport PR #25934 on branch v3.7.x (DOC: Fix figure annotation example)
-* :ghpull:`25931`: Backport PR #25929 on branch v3.7.x (changed incubator invite channel link to community channel)
-* :ghpull:`25920`: Rewrite offset_copy for better error message
-* :ghpull:`25898`: Backport PR #25897 on branch v3.7.x (Fix typo of missing quote in core font docs)
-* :ghpull:`25893`: Backport PR #25792 on branch v3.7.x (Fix broken symlinks for expected images on WSL)
-* :ghpull:`25792`: Fix broken symlinks for expected images on WSL
-* :ghpull:`25892`: Backport PR #25832 on branch v3.7.x ([BUG] Prevent under the hood downcasting of values)
-* :ghpull:`25873`: DOC: clarify how colorbar steals space
-* :ghpull:`25832`: [BUG] Prevent under the hood downcasting of values
-* :ghpull:`25877`: Backport PR #25874 on branch v3.7.x (Tweak demo_edge_colorbar.)
-* :ghpull:`25879`: Backport PR #25547 on branch v3.7.x (FIX: ``_safe_first_finite`` on all non-finite array)
-* :ghpull:`25875`: Backport PR #25868 on branch v3.7.x (TST: Add test for layoutgrid memory leak)
-* :ghpull:`25547`: FIX: ``_safe_first_finite`` on all non-finite array
-* :ghpull:`25868`: TST: Add test for layoutgrid memory leak
-* :ghpull:`25865`: Backport PR #25853 on branch v3.7.x (Fix LayoutGrid leaks)
-* :ghpull:`25853`: Fix LayoutGrid leaks
-* :ghpull:`25842`: Backport PR #25840 on branch v3.7.x (Emit explanatory exception when no temporary cachedir can be created.)
-* :ghpull:`25840`: Emit explanatory exception when no temporary cachedir can be created.
-* :ghpull:`25827`: Backport PR #25813 on branch v3.7.x ([TST] Adjust tests to be more tolerant to floating point math operations being imprecise)
-* :ghpull:`25813`: [TST] Adjust tests to be more tolerant to floating point math operations being imprecise
-* :ghpull:`25808`: Backport PR #25214 on branch v3.7.x (DOC: Add section on how to start contributing)
-* :ghpull:`25802`: Backport PR #25797 on branch v3.7.x (Replace random values by hard-coded numbers in plot-types ...)
-* :ghpull:`25778`: Backport PR #25776 on branch v3.7.x (Doc : Updates default value for nonpositve parameter)
-* :ghpull:`25776`: Doc : Updates default value for nonpositve parameter
-* :ghpull:`25704`: FIX: don't round image sizes to pixel if meant to be unsampled
-* :ghpull:`25761`: Backport PR #25760 on branch v3.7.x (unbreak doc build with Sphinx 6.2)
-* :ghpull:`25754`: Backport PR #25727 on branch v3.7.x (Doc: Replace matplotlibrc.template)
-* :ghpull:`25727`: Doc: Replace matplotlibrc.template
-* :ghpull:`25750`: Backport PR #25733 on branch v3.7.x (Add tests for missing text wrap cases)
-* :ghpull:`25733`: Add tests for missing text wrap cases
-* :ghpull:`25740`: Backport PR #25736 on branch v3.7.x (added assigning and duplicating section heading to contribute guide)
-* :ghpull:`25705`: Backport PR #25681 on branch v3.7.x (BUG: Return null Bbox when there is no intersection for bar_label center.)
-* :ghpull:`25700`: Backport PR #25693 on branch v3.7.x (Correctly hide download buttons using CSS)
-* :ghpull:`25681`: BUG: Return null Bbox when there is no intersection for bar_label center.
-* :ghpull:`25665`: Backport PR #25663 on branch v3.7.x (Don't use deprecated cm.get_cmap in qt figureoptions.)
-* :ghpull:`25666`: Backport PR #25658 on branch v3.7.x (TST: Bump exclude for newly released nbconvert)
-* :ghpull:`25663`: Don't use deprecated cm.get_cmap in qt figureoptions.
-* :ghpull:`25658`: TST: Bump exclude for newly released nbconvert
-* :ghpull:`25630`: Backport PR #25481 on branch v3.7.x (Fix 3D set_aspect error cases)
-* :ghpull:`25637`: Backport PR #25636 on branch v3.7.x (Ensure ImportError's have a message)
-* :ghpull:`25636`: Ensure ImportError's have a message
-* :ghpull:`25629`: Backport PR #25616 on branch v3.7.x (broken_barh: fix docstring typo)
-* :ghpull:`25481`: Fix 3D set_aspect error cases
-* :ghpull:`25616`: broken_barh: fix docstring typo
-* :ghpull:`25626`: Backport PR #25624 on branch v3.7.x (FIX: correctly unset the layout engine in Figure.tight_layout)
-* :ghpull:`25620`: Backport PR #25615 on branch v3.7.x (TST: Avoid broken nbconvert)
-* :ghpull:`25624`: FIX: correctly unset the layout engine in Figure.tight_layout
-* :ghpull:`25621`: Backport PR #25619 on branch v3.7.x (TST: Unbreak pyside65 by installing libxcb-cursor0)
-* :ghpull:`25619`: TST: Unbreak pyside65 by installing libxcb-cursor0
-* :ghpull:`25615`: TST: Avoid broken nbconvert
-* :ghpull:`25589`: Backport PR #25585 on branch v3.7.x (DOC: improve interpolation kwarg doc in imshow [ci doc])
-* :ghpull:`25585`: DOC: improve interpolation kwarg doc in imshow [ci doc]
-* :ghpull:`25581`: Backport PR #25580 on branch v3.7.x (Fix return type of get_plot_commands)
-* :ghpull:`25580`: Fix return type of get_plot_commands
-* :ghpull:`25578`: Backport PR #25574 on branch v3.7.x (DOC: Added exported colors to colors.api)
-* :ghpull:`25535`: Backport PR #25518 on branch v3.7.x (DOC: Fix the bars having numeric value of cm but labeled as inches)
-* :ghpull:`25530`: Backport PR #25508 on branch v3.7.x (DOC: Fix thumbnail title for sphinx gallery)
-* :ghpull:`25528`: Backport PR #25519 on branch v3.7.x (Fix typo in Quick start guide tutorial)
-* :ghpull:`25525`: Backport PR #25524 on branch v3.7.x (Add ipykernel as an explicit doc dependency)
-* :ghpull:`25520`: Backport PR #25499: FIX: use locators in adjust_bbox
-* :ghpull:`25516`: Backport PR #25494 on branch v3.7.x (Ignore errors loading artifacts from CircleCI)
-* :ghpull:`25499`: FIX: use locators in adjust_bbox
-* :ghpull:`25512`: Backport PR #25496 on branch v3.7.x (BUG: fix IPython's %pylab mode detection)
-* :ghpull:`25496`: BUG: fix IPython's %pylab mode detection
-* :ghpull:`25503`: Backport PR #25495 on branch v3.7.x (DOC: Clarify note in get_path_collection_extents)
-* :ghpull:`25495`: DOC: Clarify note in get_path_collection_extents
-* :ghpull:`25490`: Backport PR #25486 on branch v3.7.x (DOC: remove rcdefaults from barh example)
-* :ghpull:`25480`: Backport PR #25476 on branch v3.7.x (DOC: Fix docstring formatting)
-* :ghpull:`25476`: DOC: Fix docstring formatting
-* :ghpull:`25474`: Backport PR #25470 on branch v3.7.x (FIX: do not cache exceptions)
-* :ghpull:`25470`: FIX: do not cache exceptions
-* :ghpull:`25465`: Backport PR #25442 on branch v3.7.x (Fix disconnection of callbacks when draggable artist is deparented.)
-* :ghpull:`25462`: Backport PR #25461 on branch v3.7.x (Fix issue #25458 by changing "normed" to "density" in documentation)
-* :ghpull:`25442`: Fix disconnection of callbacks when draggable artist is deparented.
-* :ghpull:`25459`: Backport PR #25457 on branch v3.7.x (Add references to backend_{gtk3,gtk4,wx} in docs.)
-* :ghpull:`25452`: Backport PR #25449 on branch v3.7.x (Bump pypa/cibuildwheel from 2.12.0 to 2.12.1)
-* :ghpull:`25451`: Backport PR #25433 on branch v3.7.x (Release mouse grabs when owning Axes is removed)
-* :ghpull:`25449`: Bump pypa/cibuildwheel from 2.12.0 to 2.12.1
-* :ghpull:`25433`: Release mouse grabs when owning Axes is removed
-* :ghpull:`25450`: Backport PR #25394 on branch v3.7.x ([DOC] Clarify how to change side of the TickedStroke ticks)
-* :ghpull:`25394`: [DOC] Clarify how to change side of the TickedStroke ticks
-* :ghpull:`25447`: Backport PR #23863 on branch v3.7.x (Add tests for mpl_toolkit anchored artists)
-* :ghpull:`23863`: Add tests for mpl_toolkit anchored artists
-* :ghpull:`25437`: Backport PR #25435 on branch v3.7.x (TST: unbreak appveyor)
-* :ghpull:`25435`: TST: unbreak appveyor
-* :ghpull:`25436`: Backport PR #25428 on branch v3.7.x (Fix Legend.set_draggable() with update="bbox")
-* :ghpull:`25428`: Fix Legend.set_draggable() with update="bbox"
-* :ghpull:`25411`: Backport PR #25409 on branch v3.7.x (Improve/correct documentation)
-* :ghpull:`25409`: Improve/correct documentation
-* :ghpull:`25402`: Merge v3.7.1-doc into v3.7.x
-* :ghpull:`25397`: Backport PR #25384 on branch v3.7.x (FIX: Remove some numpy function overrides from pylab)
-* :ghpull:`25384`: FIX: Remove some numpy function overrides from pylab
-* :ghpull:`25392`: Backport PR #25388 on branch v3.7.x (Better axis labels for examples)
+* :ghpull:`25999`: "Inactive" workflow: add close label for inactive issues
+* :ghpull:`24493`: DOC: dropdowns in userguide
+* :ghpull:`25970`: FIX: resolve an issue where no ticks would be drawn for a colorbar with SymLogNorm and ranging exactly from 0 to linthresh
+* :ghpull:`25989`: test annotate(textcoords=offset fontsize)
+* :ghpull:`25044`: Modify ``hexbin`` to respect :rc:``patch.linewidth``
+* :ghpull:`25667`: Fix bar datetime
+* :ghpull:`25794`: Raise on plural scatter
+* :ghpull:`25986`: Remove unused/unnecessary parts of _macosx.m View.
+* :ghpull:`25689`: Update watermark example
+* :ghpull:`25735`: Add comment on issues marked 'good first issue'
+* :ghpull:`25968`: Cleanup scalarformatter.py example.
+* :ghpull:`18715`: Allow setting default AutoMinorLocator
+* :ghpull:`25961`: Fix nightly CI
+* :ghpull:`25844`: [TYP] Reduce stubtest ignores
+* :ghpull:`25952`: Switch from provision-with-micromamba to setup-micromamba
+* :ghpull:`25940`: Cleanups to Annotation.
+* :ghpull:`25948`: DOC: don't advocate deleting main branch
+* :ghpull:`25939`: Cleanup time_series_histogram example.
+* :ghpull:`25883`: Check gridspecness of colorbars on the right figure.
+* :ghpull:`25904`: Support spine.set() in SpinesProxy.
+* :ghpull:`25909`: #25900 update figure.py
+* :ghpull:`25746`: Tick label font family via tick_params
+* :ghpull:`25787`: [TYP/MNT] Remove unused imports from stub files
+* :ghpull:`25891`: Adds tests for nargs_err in legend, stem, pcolorfast and cycler.
+* :ghpull:`25886`: Simplify isort config.
+* :ghpull:`25889`: Deprecate CbarAxesBase.toggle_label.
+* :ghpull:`25884`: Correctly pass location when constructing ImageGrid colorbar.
+* :ghpull:`25888`: Fix incorrect doc references.
+* :ghpull:`25885`: Cleanup demo_axes_grid{,2}.
+* :ghpull:`25872`: MNT: update Shadow init signature
+* :ghpull:`25389`: Add configuration of Shadow and pie shadow
+* :ghpull:`25859`: Deprecate passing extra arguments to Figure.add_axes
+* :ghpull:`25863`: Fix incorrect usage of nargs_error.
+* :ghpull:`25845`: more explicit about what remote means in context
+* :ghpull:`23888`: Fix PolygonSelector.clear()
+* :ghpull:`25848`: Simplify lasso_demo example.
+* :ghpull:`25841`: Deprecate Tick.set_label{1,2}.
+* :ghpull:`25728`: Remove and deprecate unused methods in src
+* :ghpull:`25843`: Fix invalid range validators.
+* :ghpull:`25821`: 3D plots shared view angles
+* :ghpull:`25726`: Replace usage of WenQuanYi Zen Hei by Noto Sans CJK
+* :ghpull:`25828`: DOC: add remote upstream
+* :ghpull:`25814`: [TYP] Correct type hint for Transform.transform return
+* :ghpull:`25812`: Fix typo in ruff config
+* :ghpull:`25807`: Users guide->User guide
+* :ghpull:`25799`: Discourage fontdict
+* :ghpull:`25798`: [DOC/TYP]: Allow any array like for set_[xy]ticks, not just list of float
+* :ghpull:`25632`: Include data kwarg in pyi stubs
+* :ghpull:`25790`: Document default value of corner_mask in the corresponding example.
+* :ghpull:`25788`: ci: Increase retry count on PR conflict check
+* :ghpull:`25482`: Draw 3D gridlines below axis lines, labels, text, and ticks
+* :ghpull:`25607`: Missing return type hints for Figure
+* :ghpull:`25783`: Cleanup demo_text_path.
+* :ghpull:`25780`: Shorten anchored_artists example.
+* :ghpull:`25781`: Deprecate AnchoredEllipse.
+* :ghpull:`25786`: DOC: Fix minor typo in API change notes
+* :ghpull:`25773`: condensed pull request template
+* :ghpull:`25712`: Prevents axes limits from being resized by axes.fill_between
+* :ghpull:`25782`: Fix release note reference to pyplot.axis
+* :ghpull:`25777`: Cleanup demo_axes_divider.
+* :ghpull:`25774`: Small axislines.Axes cleanups.
+* :ghpull:`25772`: Only print actually tested QT APIs when erroring
+* :ghpull:`25769`: Set PostScript language level to 3
+* :ghpull:`25753`: Update, correct, and add badges/links
+* :ghpull:`25747`: Tweak axis_direction demo.
+* :ghpull:`23059`: FIX: Decrease figure refcount on close of a macosx figure
+* :ghpull:`25606`: [pre-commit.ci] pre-commit autoupdate
+* :ghpull:`25752`: Enable lazy-loading of images in HTML docs
+* :ghpull:`25648`: Remove nonfunctional Axes3D.set_frame_on and get_frame_on methods.
+* :ghpull:`25479`: FIX: Allow different colormap name from registered name
+* :ghpull:`25763`: Bump pypa/cibuildwheel from 2.12.1 to 2.12.3
+* :ghpull:`24661`: Plots first and last minor ticks #22331
+* :ghpull:`25759`: Fix typo in api_interfaces.rst
+* :ghpull:`20214`: Move AxisArtistHelpers to toplevel.
+* :ghpull:`25737`: Update PULL_REQUEST_TEMPLATE.md to include issue cross-reference.
+* :ghpull:`25729`: Cleanup GridHelperCurveLinear/GridFinder.
+* :ghpull:`25730`: Add test for Path.contains_path
+* :ghpull:`25359`: Add bfit bolditalic tex cmd
+* :ghpull:`25739`: grammar/wording tweak for backports
+* :ghpull:`25597`: Add (color, alpha) tuple as a valid ColorType in typing.py
+* :ghpull:`25324`: Fix axes vlines and hlines using wrong coordinates
+* :ghpull:`25713`: Remove print_figure overrides in backend subclasses
+* :ghpull:`25719`: TYP: Clean up CapStyle/FillStyle type hints
+* :ghpull:`25720`: ci: Set apt to retry operations on failure
+* :ghpull:`25722`: DOC: Fix duplicated words
+* :ghpull:`25584`: Expire remaining 3.6 deprecations
+* :ghpull:`25721`: TST: Handle missing black more resiliently
+* :ghpull:`25718`: Improve color documentation and typing
+* :ghpull:`25652`: DOC: clarify the milestoning and backport policy wording
+* :ghpull:`25711`: TYP: allow for xlim/ylim passed as single tuple
+* :ghpull:`25594`: changed to RST
+* :ghpull:`25708`: Deprecate unused NavigationToolbar2QT signal.
+* :ghpull:`25618`: DOC: fix Sphinx Gallery discussion to explain mixed subddirs
+* :ghpull:`25710`: TYP: Fix type hint (and docstring) for Bbox.intersection
+* :ghpull:`25707`: CI: skip Azure Pipelines for doc-only change
+* :ghpull:`25686`: Add Figure methods get_suptitle(), get_subxlabel(), get_supylabel()
+* :ghpull:`25697`: Annotation cleanups.
+* :ghpull:`25586`: Post stubtest results to GitHub checks
+* :ghpull:`25696`: Use true positional args in check_foo APIs instead of simulating them.
+* :ghpull:`25698`: Fix codecov.yml so it is valid.
+* :ghpull:`25687`: More informative exception messages
+* :ghpull:`25692`: Fixed bug: mathtext rendered width not being calculated correctly
+* :ghpull:`25690`: TST: Import MatplotlibDeprecationWarning consistently
+* :ghpull:`22286`: Fixed ``eventplot`` issues
+* :ghpull:`25656`: DOC: update/fix autoscaling documentation
+* :ghpull:`25668`: Fix what's new note for text
+* :ghpull:`25651`: MNT: deprecate unused numdecs LogLocator param
+* :ghpull:`25655`: Clean up FileIO type hints
+* :ghpull:`25664`: Fix 'can not' -> 'cannot' typo
+* :ghpull:`25657`: Bump cygwin/cygwin-install-action from 3 to 4
+* :ghpull:`25640`: pgf: Add clipping to text outputs
+* :ghpull:`25639`: Fixing typos
+* :ghpull:`25647`: Pin mypy to v1.1.1 for CI
+* :ghpull:`25588`: Rename parameters for consistency
+* :ghpull:`25628`: Bump invalid hatch removal
+* :ghpull:`25610`: DOC: Update user_explain\text\README.txt to reference example page
+* :ghpull:`25587`: Ensure tinypages ignored by mypy/stubtest
+* :ghpull:`25609`: Use _api.nargs_error in more places
+* :ghpull:`25414`: DOC: add a note about linewidth to scatter docs
+* :ghpull:`23199`: Do not set clip path if it exists
+* :ghpull:`22173`: Support ``\text`` in ``mathtext``
+* :ghpull:`24312`: Deprecate axes_divider.AxesLocator.
+* :ghpull:`24969`: Optimize C code
+* :ghpull:`25501`: FIX: Tk photoimage resize
+* :ghpull:`25565`: making sure colors has the attribute size
+* :ghpull:`25583`: MNT: use less eval
+* :ghpull:`25569`: Use raw instead of png for font manager memory leak test
+* :ghpull:`25253`: Use pybind11 in ttconv module
+* :ghpull:`24976`: Initial implementation of type stubs (mypy/PEP484)
+* :ghpull:`25576`: Skip pgf pdflatex text if cm-super is not installed
+* :ghpull:`24991`: Fix issue with shared log axis
+* :ghpull:`25221`: Add links and expand mathmpl docstring
+* :ghpull:`25498`: FIX: Use mappable data when autoscaling colorbar norm
+* :ghpull:`25570`: Use symbolic operator names (moveto, lineto) in contour_manual example.
+* :ghpull:`25559`: Make guiEvent available only within the event handlers.
+* :ghpull:`25405`: Fix incorrect stride calculations in LogLocator.tick_values()
+* :ghpull:`25226`: Fix unintended space after comma as a decimal separator
+* :ghpull:`25563`: Add pytest==7.0.0 on requirements/testing/minver.txt
+* :ghpull:`25553`: FIX: macosx, always put timers on main thread
+* :ghpull:`25557`: Rename parameter of Annotation.contains and Legend.contains.
+* :ghpull:`25564`: Bump actions/stale from 7 to 8
+* :ghpull:`25562`: Add pytest==3.6.0 on requirements/testing/minver.txt
+* :ghpull:`25551`: Restore autolimits status when pressing "home" key.
+* :ghpull:`25554`: Remove unused private SpanSelector._pressv and ._prev.
+* :ghpull:`25546`: In Artist.contains, check that moussevents occurred on the right canvas.
+* :ghpull:`24728`: Add Axes.ecdf() method.
+* :ghpull:`25291`: Limit full-invalidation of CompositeGenericTransforms.
+* :ghpull:`25550`: "Inactive" workflow: bump operations to 150
+* :ghpull:`25539`: Remove explicit symbol visibility pragmas
+* :ghpull:`25502`: DOC: Suggest replacement for tostring_rgb
+* :ghpull:`25532`: Annotations tutorial
+* :ghpull:`25456`: Expire more mpl3.6 deprecations.
+* :ghpull:`25505`: DOC: combine marker examples
+* :ghpull:`25510`: Remove unnecessary calls to Formatter.set_locs.
+* :ghpull:`25487`: DOC/BLD: stop using sg head [ci doc]
+* :ghpull:`25507`: gitignore doc/users/explain
+* :ghpull:`25504`: "Inactive" workflow: bump operations to 125
+* :ghpull:`24691`: ENH: Add option to define a color as color=(some_color, some_alpha)
+* :ghpull:`25475`: Stop building 32-bit Linux wheels
+* :ghpull:`25484`: Deprecate tostring_rgb.
+* :ghpull:`25395`: DOC: user/explain reorg (and moving a lot of tutorials).
+* :ghpull:`25425`: Added get_shape as an alias for get_size + tests
+* :ghpull:`25281`: Bugfix for loc legend validation
+* :ghpull:`25469`: Autoload numpy arrays in get_sample_data.
+* :ghpull:`25472`: Use get_sample_data(..., asfileobj=False) less.
+* :ghpull:`25444`: Adjust parent axes limits when clearing floating axes.
+* :ghpull:`25235`: Update release guide instructions post v3.7.0
+* :ghpull:`24531`: Use user-selected format in Tk savefig, rather than inferring it from the filename
+* :ghpull:`25467`: DOC: update suptitle example to remove percent_bachelors_degrees csv
+* :ghpull:`25454`: Remove unnecessary norm typecheck in tripcolor().
+* :ghpull:`25455`: “Inactive” workflow: bump operations to 100
+* :ghpull:`25464`: Skip Appveyor for doc only change (second attempt)
+* :ghpull:`25430`: Edit error messages for when metadata is passed to ``savefig``
+* :ghpull:`23200`: Deprecate empty offsets in get_path_collection_extents
+* :ghpull:`25427`: Store FloatingAxes "extremes" info in fewer places.
+* :ghpull:`25434`: ci: Install pytz for Pandas nightly wheel
+* :ghpull:`25404`: Move _SelectorWidget._props into SpanSelector
+* :ghpull:`25421`: wx backend should flush the clipboard before closing it
+* :ghpull:`25429`: DOC: remove default logo [ci doc]
+* :ghpull:`25423`: DOC/BLD: make logo compatible with pydata-sphinx-theme
+* :ghpull:`25424`: “Inactive” workflow: increase operations to 75
+* :ghpull:`25138`: Deprecate QuadContourSet.allsegs, .allkinds, .tcolors, .tlinewidths.
+* :ghpull:`25415`: Add links for path types and general improvements
+* :ghpull:`25420`: Print incorrect tz argument in error message
+* :ghpull:`25413`: Make tk backend use native crosshair cursor
+* :ghpull:`24984`: Expire deprecations from 3.6
+* :ghpull:`25380`: Merge 3.7.1 into main
+* :ghpull:`24861`: Documentation fixes
+* :ghpull:`24649`: Fix loc legend validation
+* :ghpull:`25383`: CI: skip appveyor for doc only change
+* :ghpull:`25081`: added a note to avoid f-strings in logging
+* :ghpull:`25373`: Expire mpl_toolkits deprecations.
+* :ghpull:`25387`: Remove LGTM references and minor doc fixes
+* :ghpull:`25382`: Correct patheffects doc
+* :ghpull:`25378`: "Inactive" workflow: bump operations-per-run
+* :ghpull:`25358`: Remove unused menu field from macos NavigationToolbar2.
+* :ghpull:`25352`: MNT: Use WeakKeyDictionary and WeakSet in Grouper
+* :ghpull:`20649`: Add colour vision deficiency simulation
+* :ghpull:`25287`: Fix unmatched offsetText label color
+* :ghpull:`25332`: Support pickling of figures with aligned x/y labels.
+* :ghpull:`25334`: Fix for all NANs in contour
+* :ghpull:`25335`: "Inactive" workflow: fix typo
+* :ghpull:`25163`: GitHub: auto set inactive label
+* :ghpull:`22816`: FIX: savefig)...,transparent=True) now makes inset_axes transparent a…
+* :ghpull:`25316`: Use setattr_cm more.
+* :ghpull:`25258`: Document PowerNorm parameters
+* :ghpull:`25209`: MNT: re-organize galleries under one subdir
+* :ghpull:`25304`: Add import sorting to ``/plot_types``
+* :ghpull:`25296`: Remove straggler 3.7 release notes
+* :ghpull:`25147`: Add ruff config to pyproject.toml for devs who are interested
+* :ghpull:`25282`: Simplify transforms invalidation system.
+* :ghpull:`25270`: merge up 3.7.0
+* :ghpull:`25255`: Make default facecolor for subfigures be transparent ("none"). Fix for issue #24910
+* :ghpull:`25252`: Support make_compound_path concatenating only empty paths.
+* :ghpull:`25211`: Em dashes instead of consecutive hyphens.
+* :ghpull:`25243`: Cleanup wx docstrings.
+* :ghpull:`25261`: [CI] Skip tests on doc-only changes
+* :ghpull:`25192`: Expire wx canvas param deprecation
+* :ghpull:`25249`: DOC: remove constrained_layout kwarg from tutorials and user guide
+* :ghpull:`25232`: Remove a redundant comma in ``AsinhScale``
+* :ghpull:`25195`: DOC: explain how to make a fixed-size axes
+* :ghpull:`25207`: Add mpl_round_to_int
+* :ghpull:`24983`: Refactor parts of Axis for readability
+* :ghpull:`25203`: Replace checking Number with Real
+* :ghpull:`25202`: DOC: reorder CI control guidance
+* :ghpull:`25200`: Don't handle unknown_symbols in ``\operatorname``.
+* :ghpull:`24849`: Stripey ``LineCollection``
+* :ghpull:`25177`: Add locator API links to tick-locators example
+* :ghpull:`25166`: Clean + comment MaxNLocator
+* :ghpull:`25157`: Small tweak in chapter sorting of the example gallery
+* :ghpull:`25099`: Add isort (import sorting) to pre-commit hooks
+* :ghpull:`25175`: BLD: Unbreak github tests workflow
+* :ghpull:`25125`: Use "array" instead of "numpy array" except when emphasis is needed.
+* :ghpull:`25144`: FIX: improve CL description and remove constrained_layout text
+* :ghpull:`25101`: Deprecate LocationEvent.lastevent.
+* :ghpull:`25152`: Group shape/dtype validation logic in image_resample.
+* :ghpull:`25145`: BLD: only doc CI build
+* :ghpull:`25153`: Delete redundant examples from user gallery that are also present in the annotations tutorial
+* :ghpull:`25156`: On macOS, limit symbols exported by extension modules linking FreeType.
+* :ghpull:`25150`: DOC: use 'none' in set_layout_engine
+* :ghpull:`25131`: FIX: Correctly report command keypress on mac for Tk + Gtk
+* :ghpull:`25112`: Connect stream lines if no varying width or color
+* :ghpull:`25142`: Minor style tweaks to freetype build.
+* :ghpull:`25143`: Don't special-case getSaveFileName in qt_compat anymore.
+* :ghpull:`24436`: Make LogLocator only return one tick out of range
+* :ghpull:`25135`: Whisker length, more precise description
+* :ghpull:`25100`: add section on annotating an artist using axes.annotate
+* :ghpull:`24486`: Minor cleanup and add test for offsetbox
+* :ghpull:`24964`: Minor cleanup and optimization of Sketch
+* :ghpull:`25121`: Inline ContourSet._make_paths.
+* :ghpull:`25120`: Consistently document shapes as (M, N), not MxN.
+* :ghpull:`24445`: Makefile html-noplot,clean: constrained layout tutorial image handling
+* :ghpull:`25115`: Remove tests.py runner from repo root
+* :ghpull:`24866`: write addfont example
+* :ghpull:`24638`: MNT: Remove auto-flattening of input data to pcolormesh
+* :ghpull:`24985`: Deprecate unused/undocumented functions in proj3d
+* :ghpull:`25104`: tk blitting to destroyed canvases should be a noop, not a segfault.
+* :ghpull:`25108`: Update flake8 per-file ignores
+* :ghpull:`25091`: Caching figures generated by plot directive
+* :ghpull:`25096`: Remove unused import of re introduced in #23442
+* :ghpull:`24749`: Support only positional args in contour. Error if no positional argument.
+* :ghpull:`23442`: Remove need to detect math mode in pgf strings
+* :ghpull:`25023`: Update Release guide to current practices
+* :ghpull:`24816`: [FIX]: Make inset axes transparent on savefig(..., transparent=True)
+* :ghpull:`24967`: Rewrite bullseye example to use bar() instead of pcolormesh().
+* :ghpull:`24994`: Use ``_axis_map`` instead of ``getattr`` in ``Axes`` and ``Figure``
+* :ghpull:`25087`: feat: add new SI prefixes to ticker
+* :ghpull:`25073`: MAINT: don't format logs in log call.
+* :ghpull:`25061`: Ensure TwoSlopeNorm always has two slopes
+* :ghpull:`25064`: Bump mamba-org/provision-with-micromamba from 14 to 15
+* :ghpull:`25046`: ci: Re-add the login shell to nightlies jobs
+* :ghpull:`24980`: Python 3.9 upgrade
+* :ghpull:`25035`: ci: Only attempt to upload nightlies from successful builds
+* :ghpull:`24995`: Improve 3D quiver test
+* :ghpull:`24992`: Bump NumPy to 1.21
+* :ghpull:`25007`: Minor refactoring of Axes3D
+* :ghpull:`25021`: Doc: sg section separator
+* :ghpull:`25028`: separate out folders in gallery ordering
+* :ghpull:`24981`: ENH: pad_inches='layout' for savefig
+* :ghpull:`25022`: DOC: tweak array indexing in constrained layout tutorial
+* :ghpull:`24990`: Make arguments other than ``renderer`` keyword-only for ``get_tightbbox``
+* :ghpull:`25013`: Clarify/shorten gca management in colorbar().
+* :ghpull:`25003`: Bump cygwin/cygwin-install-action from 2 to 3
+* :ghpull:`24978`: Simplify handling of out-of-bound values ``Colormap.__call__``.
+* :ghpull:`24998`: Unbreak Azure CI
+* :ghpull:`24907`: DOC/BUILD add ability for conf to skip whole sections
+* :ghpull:`22999`: CI: Add a Cygwin run to GHA CI.
+* :ghpull:`24919`: Remove support for python 3.8
+* :ghpull:`24942`: Expire module deprecations
+* :ghpull:`24943`: Remove special casing for PyPy not required anymore
+* :ghpull:`24929`: Small unrelated cleanups/style fixes.
+* :ghpull:`24923`: Cleanup cbook deprecations and layout
+* :ghpull:`24920`: Add --only-binary to nightly pip install
+* :ghpull:`24913`: Deprecate Bbox.anchored() with no container.
+* :ghpull:`24905`: Remove some long-obsolete commented code in grid_helper_curvelinear.
-Issues (36):
+Issues (185):
-* :ghissue:`25511`: [Bug]: wspace and hspace in subfigures not working
-* :ghissue:`26230`: [Bug]: pcolor writing to read-only input mask
-* :ghissue:`26093`: [Bug]: pcolormesh writing to input mask
-* :ghissue:`24453`: [Bug]: AnnotationBbox does not return correct window_extent before first draw
-* :ghissue:`26161`: [MNT]: install on Python 3.12.0b3
-* :ghissue:`26146`: Impossible to get the z value of a line in 3D
-* :ghissue:`26118`: [Bug]: symlog scale generates false warning when mouse is moved
-* :ghissue:`25806`: [Bug]: pdf export for large image sizes results in wrong colors
-* :ghissue:`20575`: cm.set_bad() not working for specific values of grayscale and dpi when saving as pdf
-* :ghissue:`26054`: [TST] Upcoming dependency test failures
-* :ghissue:`24025`: [Bug]: meta tables warn they cannot be subset
-* :ghissue:`25988`: [TST] Qt/Pyside 6.5.1 dependency test failures
-* :ghissue:`13109`: get_subplot_params behavior doesn't match docstring
-* :ghissue:`25963`: [Bug]: fig.get_constrained_layout_pads() raises AttributeError
-* :ghissue:`25912`: deal with upcoming deprecations in CPython
-* :ghissue:`12057`: TransformedBbox.contains has less-than-optimal semantics
-* :ghissue:`24818`: [Bug]: ax.errorbar raises for all-nan data on matplotlib 3.6.2
-* :ghissue:`18294`: UserWarning thrown when all values are "bad", but not when only some are
-* :ghissue:`25819`: [Bug]: Memory leak in constrained_layout
-* :ghissue:`25838`: [Doc]: running matplotlib with readonly fs
-* :ghissue:`25826`: [TST] Upcoming dependency test failures
-* :ghissue:`25789`: [TST] Upcoming dependency test failures
-* :ghissue:`25758`: [Doc]: Default value for nonpositive parameter is not as documented
-* :ghissue:`8981`: Incorrect imshow extent in PDF backend
-* :ghissue:`25678`: [Doc]: matplotlibrc.template does not exist anymore
-* :ghissue:`25625`: [Bug]: RuntimeError when bar_label of stacked bar chart comes to rest outside of plot's Y limit
-* :ghissue:`25443`: [Bug]: 3D set_aspect equal doesn't bound data in all cases
-* :ghissue:`7805`: tight layout kwargs have no effect if rc autolayout setting is set (MPL 1.5.3)
-* :ghissue:`25575`: [Bug]: imshow interpolation='none' ignored when using savefig() to PDF format
-* :ghissue:`23884`: [Doc]: Thumbnail title in gallery show rst formatting characters
-* :ghissue:`22625`: [Bug]: Setting bbox_inches to a Bbox in fig.savefig resizes colorbar
-* :ghissue:`25485`: [Bug]: Main loop integration with IPyhton broken after matplotlib version 3.6.2
-* :ghissue:`25440`: [Bug]: Attribute Error combining matplotlib 3.7.1 and mplcursor on data selection
-* :ghissue:`25345`: [Bug]: using clf and pyplot.draw in range slider on_changed callback blocks input to widgets
-* :ghissue:`25416`: Sphinx-Gallery 0.12 kills AppVeyor tests
-* :ghissue:`25379`: [TST] Upcoming dependency test failures
+* :ghissue:`26765`: [Bug]: Crash in Windows 10 if polar axis lim is lower than lowest data point.
+* :ghissue:`26674`: [Doc]: Line3DCollection segments
+* :ghissue:`26531`: [Bug]: ValueError thrown when ``levels`` is set to a lower value than ``vmin`` when using ``contours`` method of Axes
+* :ghissue:`26029`: [MNT]: Unify tex2uni
+* :ghissue:`26637`: [Doc]: Reduce references to set_tight_layout
+* :ghissue:`26639`: [Bug]: Incorrect type annotation for legend handes?
+* :ghissue:`26600`: [Doc]: contourf demo use of origin keyword
+* :ghissue:`26508`: [Doc]: Pyplot Axes – tuple or list?
+* :ghissue:`21524`: [Bug]: Removing an inset_axes that shares an axes does not remove it from the sharing group
+* :ghissue:`26604`: [Doc]: Inappropriate example in gallery
+* :ghissue:`26379`: [doc]: add 'validate' section to install docs
+* :ghissue:`19409`: Boxplot: Median line too long after changing linewidth
+* :ghissue:`26510`: [Bug]: mathtext silently ignores content after mismatched opening brace
+* :ghissue:`26501`: [Bug]: type-checking errors with mypy + matplotlib 3.8.0rc1
+* :ghissue:`16657`: Postscript backend gives wrong page sizes
+* :ghissue:`11771`: Change PdfPages to default to keep_empty=False and eventually deprecate keep_empty
+* :ghissue:`26438`: [ENH]: ``musllinux`` wheels for Alpine
+* :ghissue:`26446`: Disallow ``clip`` when ``vmin`` and ``vmax`` are not set in ``matplotlib.colors.Normalize``
+* :ghissue:`10002`: can't stop macosx mainloop
+* :ghissue:`7551`: automatic papersize selection by ps backend is almost certainly broken
+* :ghissue:`15913`: Switching to inline backend closes GUI windows
+* :ghissue:`26460`: [TST] Upcoming dependency test failures
+* :ghissue:`17566`: Updating an array passed as the xy parameter to annotate updates the anottation
+* :ghissue:`24723`: [Doc]: Delete examples made redundant by annotation tutorial rewrite (annotate_simple01, ...)
+* :ghissue:`26398`: [Bug]: fig.subplots_adjust and ax.set_yticklabels together can produce unexpected results
+* :ghissue:`10767`: ENH: Possibility to decide tick and label position in mplot3d
+* :ghissue:`9158`: Angled text not placed correctly with usetex in EPS
+* :ghissue:`26400`: [Doc]: advice to use QuadContourSet.collections
+* :ghissue:`26409`: [TST] Upcoming dependency test failures
+* :ghissue:`26351`: [Doc]: Bad rendering of the title of the MRI example
+* :ghissue:`26156`: [Doc]: navigating to the User Guide
+* :ghissue:`15785`: xlim_changed not emitted on shared axis
+* :ghissue:`26343`: [Bug]: ContourSet.antialiased attribute not present
+* :ghissue:`14247`: latex \substack doesn't work
+* :ghissue:`17190`: ipython autocomplete does not work for plt.figure()
+* :ghissue:`13164`: Figures in windows not tabs
+* :ghissue:`23212`: Support ``\middle``
+* :ghissue:`26082`: [MNT]: Make cyclers indexable and rely on indexing them rather than itertools.cycle
+* :ghissue:`16938`: keyword share_all in ImageGrid class
+* :ghissue:`26340`: [ENH]: ContourSet.set_paths
+* :ghissue:`26236`: [Bug]: ax.scatter (projection='3d') - incorrect handling of NaN
+* :ghissue:`22714`: [Bug]: parasite_axes does not properly handle units
+* :ghissue:`22338`: [Bug]: rcParams['legend.loc'] can't use float-tuple like kwarg legend(loc...)
+* :ghissue:`25942`: Make ``TexManager.texcache`` private
+* :ghissue:`26289`: [Bug]: mathtext caching issue in multi-threaded environment with tight_layout=True
+* :ghissue:`26272`: [Bug]: qt window blank after using save button
+* :ghissue:`26308`: [Bug]: labels can't be placed at start of contours
+* :ghissue:`2369`: Cleaning up kwargs in ContourSet
+* :ghissue:`14118`: imshow() should not modify axes aspect if transform != ax.transData.
+* :ghissue:`26081`: [ENH]: Add setters for _AxLine._xy1, ._xy2, ._slope
+* :ghissue:`25643`: [ENH]: Support for ``\boldsymbol``
+* :ghissue:`1366`: Support \boldsymbol. (Feature request.)
+* :ghissue:`26283`: [Bug]: set_ticks provides mysterious error message
+* :ghissue:`25162`: [Bug]: pcolormesh properties and getter shapes changed w/o notice
+* :ghissue:`26261`: [Doc]: Double entries in navigation menu of Using Matplotlib
+* :ghissue:`4334`: Axes3D: factor out 3D coordinate guessing from format_coord()
+* :ghissue:`22775`: [Bug]: 3d mouse coords values reported in toolbar are meaningless
+* :ghissue:`25770`: [ENH]: support RGB(A) in pcolor
+* :ghissue:`26031`: [MNT]: decrease timeout on interactive tests locally
+* :ghissue:`26264`: [Doc]: Incorrectly drawn bounding box
+* :ghissue:`26206`: [Doc]: follow on to #25247
+* :ghissue:`26225`: [Bug]: MultiCursor in inset axes
+* :ghissue:`22277`: [Doc]: Exchange step() for stairs() in the Plot types - Basic section
+* :ghissue:`25493`: [Doc]: users/explain bare index looks bad
+* :ghissue:`25114`: [Bug]: matplotlib.path.Path.to_polygons fails with TriContourSet paths
+* :ghissue:`26194`: [Bug]: dataLims get replaced by inf for charts with twinx if ax1 is a stackplot
+* :ghissue:`6139`: 'QuadContourSet' object has no attribute 'set_visible' or 'set_animated'
+* :ghissue:`25128`: [MNT]: Turn ContourSet into a (nearly) plain Collection
+* :ghissue:`26100`: [Bug]: Axis multiplier when using plot_surface appears outside of the figure window
+* :ghissue:`15518`: Collections could check x- and y- transforms separately to decide whether to autoscale each direction
+* :ghissue:`26182`: [TST] Upcoming dependency test failures
+* :ghissue:`25857`: [Doc]: gitwash deleting main branch
+* :ghissue:`15054`: Improve tests by removing text or using figure comparisons
+* :ghissue:`8794`: animation.save problems with ffmpeg
+* :ghissue:`26140`: [Doc]: Sort greek/hebrew letters in math docs alphabetically
+* :ghissue:`25042`: [Bug]: ``\geqslant``, ``\leqslant`` and ``\eqslantgtr`` are not spaced like their non-slanted versions
+* :ghissue:`25014`: [ENH]: Add public method to update ``Legend`` object's loc property .
+* :ghissue:`26124`: [Bug]: NavigationToolbar2 mouse over event causes toolbar height increase and axes reposition
+* :ghissue:`24663`: [ENH]: Set color of legend shadow
+* :ghissue:`7199`: Old whatsnews should be rendered using classic style
+* :ghissue:`12926`: Inconsistent behavior of hexbins mincnt parameter, depending on C parameter
+* :ghissue:`25030`: [BUG]: Button widgets don't work in inset axes
+* :ghissue:`10009`: document event handling with twined axes
+* :ghissue:`25477`: Plot ellipse with arrow showing rotation
+* :ghissue:`26083`: [Bug]: Star marker (using mathtext) is not center-aligned
+* :ghissue:`26015`: [ENH]: Missing mathematical operations
+* :ghissue:`8802`: Masked pcolormesh is not tested correctly
+* :ghissue:`25244`: [Bug]: DeprecationWarning for pkg_resources.declare_namespace usage in mpl_toolkit
+* :ghissue:`25344`: pydata-sphinx-theme 0.13 causes doc builds to fail
+* :ghissue:`25590`: [Doc]: type annotations rendering
+* :ghissue:`25941`: [Doc]: Rewrite rainbow_text example to use annotate()
+* :ghissue:`25497`: [ENH]: hi-res plot directive...
+* :ghissue:`25675`: [ENH]: Add get/set_antialiased to Text objects
+* :ghissue:`17069`: Error creating AxisGrid with non-default axis class
+* :ghissue:`8965`: Add alias for colormaps for grey vs gray English issues
+* :ghissue:`25945`: [Bug]: (edge case) no ticks are drawn in colorbars with SymLogNorm
+* :ghissue:`25907`: [ENH]: Add test for annotate(textcoods="offset fontsize")
+* :ghissue:`25654`: [Bug]: bar/barh don't trigger datetime units
+* :ghissue:`19120`: Raise when both singular and plural scatter attributes are specified
+* :ghissue:`14233`: Feature Request: Allow setting default AutoMinorLocator
+* :ghissue:`25900`: [Doc]: I think you missed a ``fig`` here.
+* :ghissue:`18425`: Add fontfamily/labelfont to tick_params
+* :ghissue:`25864`: [MNT]: add tests for nargs_error
+* :ghissue:`23595`: [Bug]: ``CbarAxesBase.toggle_label`` doesn't seem to work properly
+* :ghissue:`25835`: [MNT]: Do not accept arbitrary positional parameters in Figure.add_axes()
+* :ghissue:`25833`: [MNT]: Privatize Tick.set_label1() / Tick.set_label2()
+* :ghissue:`11181`: [feature request] multiple 3d plots with tied viewing angles
+* :ghissue:`25724`: [MNT]: Switch docs/examples to use Noto Sans CJK instead of WenQuanYi Zen Hei as CJK font
+* :ghissue:`24779`: [Doc]: windows install instructions do not work
+* :ghissue:`24701`: VS Code: Autocomplete and Syntax Highlighting do not work for matplotlib
+* :ghissue:`25682`: [Bug]: fill_between{x} does not respect Axes transform
+* :ghissue:`23061`: [Bug]: macosx timers don't fire if plt.show() hasn't been called
+* :ghissue:`19769`: Memory leak when plotting multiple figures with the macOS backend
+* :ghissue:`24331`: [Doc]: Lazy loading for images
+* :ghissue:`24689`: [Bug]: Axes3D.set_frame_on not working as documented
+* :ghissue:`5087`: Confusing (broken?) colormap name handling
+* :ghissue:`22331`: [Bug]: First and or last minor ticks sometimes not plotted
+* :ghissue:`19393`: \bf\it in mathtext
+* :ghissue:`23171`: [Bug]: axes vlines() / hlines() incorrectly use data coordinate as min when blended transform is applied
+* :ghissue:`5234`: Unicode with usetex=True and pgf backend
+* :ghissue:`25677`: [Doc]: Axes.hlines and Axes.vlines (and probably others) can accept a single color as well as a list of colors.
+* :ghissue:`25649`: [Doc]: backport strategy: inconsistency in guide
+* :ghissue:`25582`: [Doc]: Commented Out Code in Downloadable Examples for Toolkits Tutorials
+* :ghissue:`25695`: [Bug]: codecov.yml is invalid
+* :ghissue:`23810`: [Bug]: Text objects don't take Mathtext into account while wrapping.
+* :ghissue:`7560`: Edge cases in eventplot are likely broken
+* :ghissue:`25613`: [Doc]: better document default margins
+* :ghissue:`25638`: [MNT]: numdecs parameter in ``LogLocator``
+* :ghissue:`11375`: PGF output: Contour labels extend beyond figure boundary
+* :ghissue:`25608`: [Bug]: ``bbox_inches="tight"`` does not work for writer.grab_frame()
+* :ghissue:`25599`: [MNT]: The new default x and ymargin setting is too wasteful
+* :ghissue:`25410`: [Bug]: Small Scatter Plot Marker Size Results in Circles
+* :ghissue:`25053`: [Doc]: How to show an ASCII hyphen in math text without using TeX?
+* :ghissue:`18520`: Matplotlib cannot parse TeX with \text command
+* :ghissue:`25560`: [Bug]: legend for Poly3dCollection fails
+* :ghissue:`20504`: Support type checking with mypy
+* :ghissue:`7160`: pgf_pdflatex test fails on Windows
+* :ghissue:`14527`: Log scale messed up in histograms when sharing axes
+* :ghissue:`25521`: [Doc]: ``TABLEAU_COLORS`` ``XKCD_COLORS`` etc undocumented
+* :ghissue:`5424`: Update colorbar after changing mappable.norm
+* :ghissue:`22211`: [Bug]: scroll_event is broken after motion_notify_event in WXAgg
+* :ghissue:`24092`: [Bug]: LogLocator with subs argument fragile.
+* :ghissue:`23626`: [Bug]: unintended space between comma and digit when using useMathText = True together with comma as decimal separator
+* :ghissue:`23154`: [MNT]: requirements/testing/minver.txt could also test oldest-supported pytest version
+* :ghissue:`5675`: plt.pause() with threading is extremely slow for MacOSX backend
+* :ghissue:`6630`: handling of zeros in log-scale changes irreversibly after user zoom
+* :ghissue:`6324`: artist.contains should check that the event occurred in the same figure
+* :ghissue:`16561`: Feature request: proper ECDF
+* :ghissue:`25426`: [ENH]: Update grid_helper on FloatingSubplot
+* :ghissue:`22663`: [Doc]: Consoldiate scatter symbol examples
+* :ghissue:`24681`: [ENH]: set facecolor and edgecolor alpha separately
+* :ghissue:`5336`: RendererAgg.tostring_rgb merely truncates alpha
+* :ghissue:`22494`: [ENH]: Add ``get_shape`` as alias for ``get_size`` in AxesImage, or make that include depth too
+* :ghissue:`5327`: Make ``mpl_toolkits`` a non-namespace package
+* :ghissue:`9823`: Missing __init__.py file in mpl_toolkits
+* :ghissue:`24605`: [Bug]: Validation not performed for ``loc`` argument to ``legend``
+* :ghissue:`25445`: [Doc]: Not possible to see upcoming what's new etc?
+* :ghissue:`24450`: [MNT]: Fix or drop support for Tk 8.4
+* :ghissue:`25453`: [ENH]: Let norm argument accept string values in tripcolour
+* :ghissue:`25401`: [Bug]: savefig + jpg + metadata fails with inscrutable error message
+* :ghissue:`1735`: ``_path.get_path_collection_extents`` potentially wrong return value
+* :ghissue:`25431`: [TST] Upcoming dependency test failures
+* :ghissue:`25199`: [Bug]: AttributeError: 'LassoSelector' object has no attribute '_props'
+* :ghissue:`25080`: Add note in contrib guide admonishing against use of f strings in logs
+* :ghissue:`25165`: [Bug]: offsetText is colored based on tick.color instead of tick.labelcolor
+* :ghissue:`25329`: [Bug]: Unable to pickle figure with aligned labels
+* :ghissue:`14124`: plt.contour with all NaNs fails assertion in _contour.cpp
+* :ghissue:`22674`: [Bug]: savefig(..., transparent=True) does not make inset_axes transparent
+* :ghissue:`25303`: CI: isort should check plot_types?
+* :ghissue:`25137`: [Bug]: stop responding in demo program "matplotlib/examples/event_handling/lasso_demo.py"
+* :ghissue:`24910`: [Bug]: Suptitle not visible with subfigures
+* :ghissue:`25222`: [ENH]: add organizational charts to supported plots
+* :ghissue:`24796`: [Bug]: gapcolor not supported for LineCollections
+* :ghissue:`25172`: [Doc]: cross link locator example with locator API
+* :ghissue:`24419`: [Doc]: add from file to font family example
+* :ghissue:`23809`: [Bug]: blitting after closing second tkinter embed causes silent crash
+* :ghissue:`16580`: Segmentation fault when blitting onto closed figure (TkAgg)
+* :ghissue:`24743`: [Bug]: contour raises IndexError if Z is specified as keyword argument
+* :ghissue:`24283`: [Bug]: colorbar interacts poorly with TwoSlopeNorm when one slope is infinite
+* :ghissue:`24906`: [DOC/BUILD] add ability to selectively build docs
+* :ghissue:`24901`: [TST] Upcoming dependency test failures
+* :ghissue:`17991`: type stubs for matplotlib
+* :ghissue:`17583`: Linter complains about unexpected data-type, however, docs say this is possible
+* :ghissue:`15926`: Support for Python Type Hints (PEP 484)
+* :ghissue:`13798`: Add PEP484 type hints to the code (For IDE autocompletion / hints)
Previous GitHub statistics
diff --git a/doc/users/next_whats_new/3d_axis_positions.rst b/doc/users/next_whats_new/3d_axis_positions.rst
deleted file mode 100644
index e4e09eb3afad..000000000000
--- a/doc/users/next_whats_new/3d_axis_positions.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-Specify ticks and axis label positions for 3D plots
----------------------------------------------------
-
-You can now specify the positions of ticks and axis labels for 3D plots.
-
-.. plot::
- :include-source:
-
- import matplotlib.pyplot as plt
-
- positions = ['lower', 'upper', 'default', 'both', 'none']
- fig, axs = plt.subplots(2, 3, figsize=(12, 8),
- subplot_kw={'projection': '3d'})
- for ax, pos in zip(axs.flatten(), positions):
- for axis in ax.xaxis, ax.yaxis, ax.zaxis:
- axis.set_label_position(pos)
- axis.set_ticks_position(pos)
- title = f'position="{pos}"'
- ax.set(xlabel='x', ylabel='y', zlabel='z', title=title)
- axs[1, 2].axis('off')
diff --git a/doc/users/next_whats_new/3d_hover_coordinates.rst b/doc/users/next_whats_new/3d_hover_coordinates.rst
deleted file mode 100644
index 5cad9967ff35..000000000000
--- a/doc/users/next_whats_new/3d_hover_coordinates.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-3D hover coordinates
---------------------
-
-The x, y, z coordinates displayed in 3D plots were previously showing
-nonsensical values. This has been fixed to report the coordinate on the view
-pane directly beneath the mouse cursor. This is likely to be most useful when
-viewing 3D plots along a primary axis direction when using an orthographic
-projection, or when a 2D plot has been projected onto one of the 3D axis panes.
-Note that there is still no way to directly display the coordinates of plotted
-data points.
diff --git a/doc/users/next_whats_new/3d_plots_shareview.rst b/doc/users/next_whats_new/3d_plots_shareview.rst
deleted file mode 100644
index e71d06fd9297..000000000000
--- a/doc/users/next_whats_new/3d_plots_shareview.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-3D plots can share view angles
-------------------------------
-
-3D plots can now share the same view angles, so that when you rotate one plot
-the other plots also rotate. This can be done with the *shareview* keyword
-argument when adding an axes, or by using the *ax1.shareview(ax2)* method of
-existing 3D axes.
diff --git a/doc/users/next_whats_new/antialiasing_text_annotation.rst b/doc/users/next_whats_new/antialiasing_text_annotation.rst
deleted file mode 100644
index 277b9ab05c92..000000000000
--- a/doc/users/next_whats_new/antialiasing_text_annotation.rst
+++ /dev/null
@@ -1,38 +0,0 @@
-Support customizing antialiasing for text and annotation
---------------------------------------------------------
-``matplotlib.pyplot.annotate()`` and ``matplotlib.pyplot.text()`` now support parameter *antialiased*.
-When *antialiased* is set to ``True``, antialiasing will be applied to the text.
-When *antialiased* is set to ``False``, antialiasing will not be applied to the text.
-When *antialiased* is not specified, antialiasing will be set by :rc:`text.antialiased` at the creation time of ``Text`` and ``Annotation`` object.
-Examples:
-
-.. code-block:: python
-
- mpl.text.Text(.5, .5, "foo\nbar", antialiased=True)
- plt.text(0.5, 0.5, '6 inches x 2 inches', antialiased=True)
- ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5), antialiased=False)
-
-If the text contains math expression, *antialiased* applies to the whole text.
-Examples:
-
-.. code-block:: python
-
- # no part will be antialiased for the text below
- plt.text(0.5, 0.25, r"$I'm \sqrt{x}$", antialiased=False)
-
-Also note that antialiasing for tick labels will be set with :rc:`text.antialiased` when they are created (usually when a ``Figure`` is created) and cannot be changed afterwards.
-
-Furthermore, with this new feature, you may want to make sure that you are creating and saving/showing the figure under the same context::
-
- # previously this was a no-op, now it is what works
- with rccontext(text.antialiased=False):
- fig, ax = plt.subplots()
- ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5))
- fig.savefig('/tmp/test.png')
-
-
- # previously this had an effect, now this is a no-op
- fig, ax = plt.subplots()
- ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5))
- with rccontext(text.antialiased=False):
- fig.savefig('/tmp/test.png')
diff --git a/doc/users/next_whats_new/auto_minor_tick.rst b/doc/users/next_whats_new/auto_minor_tick.rst
deleted file mode 100644
index 02db8f6beb38..000000000000
--- a/doc/users/next_whats_new/auto_minor_tick.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-rcParams for ``AutoMinorLocator`` divisions
--------------------------------------------
-The rcParams :rc:`xtick.minor.ndivs` and :rc:`ytick.minor.ndivs` have been
-added to enable setting the default number of divisions; if set to ``auto``,
-the number of divisions will be chosen by the distance between major ticks.
diff --git a/doc/users/next_whats_new/axline_setters.rst b/doc/users/next_whats_new/axline_setters.rst
deleted file mode 100644
index add52cf7c2a5..000000000000
--- a/doc/users/next_whats_new/axline_setters.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-Axline setters and getters
---------------------------
-
-The returned object from `.axes.Axes.axline` now supports getter and setter
-methods for its *xy1*, *xy2* and *slope* attributes:
-
-.. code-block:: python
-
- line1.get_xy1()
- line1.get_slope()
- line2.get_xy2()
-
-.. code-block:: python
-
- line1.set_xy1(.2, .3)
- line1.set_slope(2.4)
- line2.set_xy2(.1, .6)
diff --git a/doc/users/next_whats_new/boldsym_mathtext.rst b/doc/users/next_whats_new/boldsym_mathtext.rst
deleted file mode 100644
index 80c8415b60cb..000000000000
--- a/doc/users/next_whats_new/boldsym_mathtext.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-Boldsymbol mathtext command ``\boldsymbol``
--------------------------------------------
-
-Supports using the ``\boldsymbol{}`` command in mathtext:
-
-To change symbols to bold enclose the text in a font command as
-shown:
-
-.. code-block:: none
-
- r'$\boldsymbol{a+2+\alpha}$'
-
-.. math::
- \boldsymbol{a+2+\alpha}
diff --git a/doc/users/next_whats_new/contour_clip_path.rst b/doc/users/next_whats_new/contour_clip_path.rst
deleted file mode 100644
index db4039a4fd70..000000000000
--- a/doc/users/next_whats_new/contour_clip_path.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-Clipping for contour plots
---------------------------
-
-`~.Axes.contour` and `~.Axes.contourf` now accept the *clip_path* parameter.
-
-.. plot::
- :include-source: true
-
- import numpy as np
- import matplotlib.pyplot as plt
- import matplotlib.patches as mpatches
-
- x = y = np.arange(-3.0, 3.01, 0.025)
- X, Y = np.meshgrid(x, y)
- Z1 = np.exp(-X**2 - Y**2)
- Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
- Z = (Z1 - Z2) * 2
-
- fig, ax = plt.subplots()
- patch = mpatches.RegularPolygon((0, 0), 5, radius=2,
- transform=ax.transData)
- ax.contourf(X, Y, Z, clip_path=patch)
-
- plt.show()
diff --git a/doc/users/next_whats_new/ecdf.rst b/doc/users/next_whats_new/ecdf.rst
deleted file mode 100644
index 01f639aa737b..000000000000
--- a/doc/users/next_whats_new/ecdf.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-``Axes.ecdf``
-~~~~~~~~~~~~~
-A new Axes method, `~.Axes.ecdf`, allows plotting empirical cumulative
-distribution functions without any binning.
-
-.. plot::
- :include-source:
-
- import matplotlib.pyplot as plt
- import numpy as np
-
- fig, ax = plt.subplots()
- ax.ecdf(np.random.randn(100))
diff --git a/doc/users/next_whats_new/get_suptitle.rst b/doc/users/next_whats_new/get_suptitle.rst
deleted file mode 100644
index b03ad10b1b4c..000000000000
--- a/doc/users/next_whats_new/get_suptitle.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``Figure.get_suptitle()``, ``Figure.get_supxlabel()``, ``Figure.get_supylabel()``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-These methods return the strings set by ``Figure.suptitle()``, ``Figure.supxlabel()``
-and ``Figure.supylabel()`` respectively.
diff --git a/doc/users/next_whats_new/get_vertices_co_vertices.rst b/doc/users/next_whats_new/get_vertices_co_vertices.rst
deleted file mode 100644
index 98254a82ce63..000000000000
--- a/doc/users/next_whats_new/get_vertices_co_vertices.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-``Ellipse.get_vertices()``, ``Ellipse.get_co_vertices()``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-These methods return the coordinates of ellipse vertices of
-major and minor axis. Additionally, an example gallery demo is added which
-shows how to add an arrow to an ellipse showing a clockwise or counter-clockwise
-rotation of the ellipse. To place the arrow exactly on the ellipse,
-the coordinates of the vertices are used.
diff --git a/doc/users/next_whats_new/label_outer.rst b/doc/users/next_whats_new/label_outer.rst
deleted file mode 100644
index dd48eb002bd1..000000000000
--- a/doc/users/next_whats_new/label_outer.rst
+++ /dev/null
@@ -1,26 +0,0 @@
-Remove inner ticks in ``label_outer()``
----------------------------------------
-Up to now, ``label_outer()`` has only removed the ticklabels. The ticks lines
-were left visible. This is now configurable through a new parameter
-``label_outer(remove_inner_ticks=True)``.
-
-
-.. plot::
- :include-source: true
-
- import numpy as np
- import matplotlib.pyplot as plt
-
- x = np.linspace(0, 2 * np.pi, 100)
-
- fig, axs = plt.subplots(2, 2, sharex=True, sharey=True,
- gridspec_kw=dict(hspace=0, wspace=0))
-
- axs[0, 0].plot(x, np.sin(x))
- axs[0, 1].plot(x, np.cos(x))
- axs[1, 0].plot(x, -np.cos(x))
- axs[1, 1].plot(x, -np.sin(x))
-
- for ax in axs.flat:
- ax.grid(color='0.9')
- ax.label_outer(remove_inner_ticks=True)
diff --git a/doc/users/next_whats_new/legend_shadow_colors.rst b/doc/users/next_whats_new/legend_shadow_colors.rst
deleted file mode 100644
index 6d501dcf07fe..000000000000
--- a/doc/users/next_whats_new/legend_shadow_colors.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-Configurable legend shadows
----------------------------
-The *shadow* parameter of legends now accepts dicts in addition to booleans.
-Dictionaries can contain any keywords for `.patches.Patch`.
-For example, this allows one to set the color and/or the transparency of a legend shadow:
-
-.. code-block:: python
-
- ax.legend(loc='center left', shadow={'color': 'red', 'alpha': 0.5})
-
-and to control the shadow location:
-
-.. code-block:: python
-
- ax.legend(loc='center left', shadow={"ox":20, "oy":-20})
-
-Configuration is currently not supported via :rc:`legend.shadow`.
diff --git a/doc/users/next_whats_new/macosx_windows_tabs.rst b/doc/users/next_whats_new/macosx_windows_tabs.rst
deleted file mode 100644
index 85fd76b6cb6d..000000000000
--- a/doc/users/next_whats_new/macosx_windows_tabs.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-macosx: New figures can be opened in either windows or tabs
------------------------------------------------------------
-
-There is a new :rc:`macosx.window_mode`` rcParam to control how
-new figures are opened with the macosx backend. The default is
-**system** which uses the system settings, or one can specify either
-**tab** or **window** to explicitly choose the mode used to open new figures.
diff --git a/doc/users/next_whats_new/mathtext_delimiters.rst b/doc/users/next_whats_new/mathtext_delimiters.rst
deleted file mode 100644
index 7c1c29f4b9ec..000000000000
--- a/doc/users/next_whats_new/mathtext_delimiters.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-``mathtext`` has more sizable delimiters
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ``\lgroup`` and ``\rgroup`` sizable delimiters have been added.
-
-The following delimiter names have been supported earlier, but can now be sized with
-``\left`` and ``\right``:
-
-* ``\lbrace``, ``\rbrace``, ``\leftbrace``, and ``\rightbrace``
-* ``\lbrack`` and ``\rbrack``
-* ``\leftparen`` and ``\rightparen``
-
-There are really no obvious advantages in using these.
-Instead, they are are added for completeness.
diff --git a/doc/users/next_whats_new/mathtext_features.rst b/doc/users/next_whats_new/mathtext_features.rst
deleted file mode 100644
index 57c4ec214aee..000000000000
--- a/doc/users/next_whats_new/mathtext_features.rst
+++ /dev/null
@@ -1,32 +0,0 @@
-``mathtext`` now supports ``\substack``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-``\substack`` can be used to create multi-line subscripts or superscripts within an equation.
-
-To use it to enclose the math in a substack command as shown:
-
-.. code-block:: none
-
- r'$\sum_{\substack{1\leq i\leq 3\\ 1\leq j\leq 5}}$'
-
-.. mathmpl::
-
- \sum_{\substack{1\leq i\leq 3\\ 1\leq j\leq 5}}
-
-
-``mathtext`` now supports ``\middle`` delimiter
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ``\middle`` delimiter has been added, and can now be used with the
-``\left`` and ``\right`` delimiters:
-
-To use the middle command enclose it in between the ``\left`` and
-``\right`` delimiter command as shown:
-
-.. code-block:: none
-
- r'$\left( \frac{a}{b} \middle| q \right)$'
-
-.. mathmpl::
-
- \left( \frac{a}{b} \middle| q \right)
diff --git a/doc/users/next_whats_new/mathtext_relation_operators.rst b/doc/users/next_whats_new/mathtext_relation_operators.rst
deleted file mode 100644
index 1f9773a845df..000000000000
--- a/doc/users/next_whats_new/mathtext_relation_operators.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-``mathtext`` operators
-----------------------
-
-There has been a number of operators added and corrected when a Unicode font is used.
-In addition, correct spacing has been added to a number of the previous operators.
-Especially, the characters used for ``\gnapprox``, ``\lnapprox``, ``\leftangle``, and
-``\rightangle`` have been corrected.
diff --git a/doc/users/next_whats_new/mathtext_supports_text.rst b/doc/users/next_whats_new/mathtext_supports_text.rst
deleted file mode 100644
index 477f10b5ebeb..000000000000
--- a/doc/users/next_whats_new/mathtext_supports_text.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-``mathtext`` now supports ``\text``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-``\text`` can be used to obtain upright text within an equation and to get a plain dash
-(-).
-
-.. plot::
- :include-source: true
- :alt: Illustration of the newly added \text command, showing that it renders as normal text, including spaces, despite being part of an equation. Also show that a dash is not rendered as a minus when part of a \text command.
-
- import matplotlib.pyplot as plt
- plt.text(0.1, 0.5, r"$a = \sin(\phi) \text{ such that } \phi = \frac{x}{y}$")
- plt.text(0.1, 0.3, r"$\text{dashes (-) are retained}$")
diff --git a/doc/users/next_whats_new/mpl_toolkit_pep420.rst b/doc/users/next_whats_new/mpl_toolkit_pep420.rst
deleted file mode 100644
index 3d7daf48c1d7..000000000000
--- a/doc/users/next_whats_new/mpl_toolkit_pep420.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``matplotlib.mpl_toolkits`` is now an implicit namespace package
-----------------------------------------------------------------
-
-Following the deprecation of ``pkg_resources.declare_namespace`` in ``setuptools`` 67.3.0,
-``matplotlib.mpl_toolkits`` is now implemented as an implicit namespace, following
-`PEP 420 `_.
diff --git a/doc/users/next_whats_new/multiplelocator_offset.rst b/doc/users/next_whats_new/multiplelocator_offset.rst
deleted file mode 100644
index 863fdb3c4d7e..000000000000
--- a/doc/users/next_whats_new/multiplelocator_offset.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-``offset`` parameter for MultipleLocator
-----------------------------------------
-
-An *offset* may now be specified to shift all the ticks by the given value.
-
-.. plot::
- :include-source: true
-
- import matplotlib.pyplot as plt
- import matplotlib.ticker as mticker
-
- _, ax = plt.subplots()
- ax.plot(range(10))
- locator = mticker.MultipleLocator(base=3, offset=0.3)
- ax.xaxis.set_major_locator(locator)
-
- plt.show()
diff --git a/doc/users/next_whats_new/new_color_spec_tuple.rst b/doc/users/next_whats_new/new_color_spec_tuple.rst
deleted file mode 100644
index 9f8d0ecabc3e..000000000000
--- a/doc/users/next_whats_new/new_color_spec_tuple.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-Add a new valid color format ``(matplotlib_color, alpha)``
-----------------------------------------------------------
-
-
-.. plot::
- :include-source: true
-
- import matplotlib.pyplot as plt
- from matplotlib.patches import Rectangle
-
- fig, ax = plt.subplots()
-
- rectangle = Rectangle((.2, .2), .6, .6,
- facecolor=('blue', 0.2),
- edgecolor=('green', 0.5))
- ax.add_patch(rectangle)
-
-
-Users can define a color using the new color specification, *(matplotlib_color, alpha)*.
-Note that an explicit alpha keyword argument will override an alpha value from
-*(matplotlib_color, alpha)*.
diff --git a/doc/users/next_whats_new/pie_shadow_control.rst b/doc/users/next_whats_new/pie_shadow_control.rst
deleted file mode 100644
index a112928e5b6f..000000000000
--- a/doc/users/next_whats_new/pie_shadow_control.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-The pie chart shadow can be controlled
---------------------------------------
-
-The *shadow* argument to `~.Axes.pie` can now be a dict, allowing more control
-of the `.Shadow`-patch used.
diff --git a/doc/users/next_whats_new/plot_directive_srcset.rst b/doc/users/next_whats_new/plot_directive_srcset.rst
deleted file mode 100644
index d9eaebd14a3c..000000000000
--- a/doc/users/next_whats_new/plot_directive_srcset.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-Plot Directive now can make responsive images with "srcset"
------------------------------------------------------------
-
-The plot sphinx directive (``matplotlib.sphinxext.plot_directive``, invoked in
-rst as ``.. plot::``) can be configured to automatically make higher res
-figures and add these to the the built html docs. In ``conf.py``::
-
- extensions = [
- ...
- 'matplotlib.sphinxext.plot_directive',
- 'matplotlib.sphinxext.figmpl_directive',
- ...]
-
- plot_srcset = ['2x']
-
-will make png files with double the resolution for hiDPI displays. Resulting
-html files will have image entries like::
-
-
diff --git a/doc/users/next_whats_new/polyquadmesh.rst b/doc/users/next_whats_new/polyquadmesh.rst
deleted file mode 100644
index de72ba0980ca..000000000000
--- a/doc/users/next_whats_new/polyquadmesh.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-``PolyQuadMesh`` is a new class for drawing quadrilateral meshes
-----------------------------------------------------------------
-
-`~.Axes.pcolor` previously returned a flattened `.PolyCollection` with only
-the valid polygons (unmasked) contained within it. Now, we return a `.PolyQuadMesh`,
-which is a mixin incorporating the usefulness of 2D array and mesh coordinates
-handling, but still inheriting the draw methods of `.PolyCollection`, which enables
-more control over the rendering properties than a normal `.QuadMesh` that is
-returned from `~.Axes.pcolormesh`. The new class subclasses `.PolyCollection` and thus
-should still behave the same as before. This new class keeps track of the mask for
-the user and updates the Polygons that are sent to the renderer appropriately.
-
-.. plot::
-
- arr = np.arange(12).reshape((3, 4))
-
- fig, ax = plt.subplots()
- pc = ax.pcolor(arr)
-
- # Mask one element and show that the hatch is also not drawn
- # over that region
- pc.set_array(np.ma.masked_equal(arr, 5))
- pc.set_hatch('//')
-
- plt.show()
diff --git a/doc/users/next_whats_new/rcParams[legend.loc]_supports_float_tuple.rst b/doc/users/next_whats_new/rcParams[legend.loc]_supports_float_tuple.rst
deleted file mode 100644
index a83b91b52e34..000000000000
--- a/doc/users/next_whats_new/rcParams[legend.loc]_supports_float_tuple.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``rcParams['legend.loc']`` now accepts float-tuple inputs
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The :rc:`legend.loc` rcParams now accepts float-tuple inputs, same as the *loc* keyword argument to `.Legend`.
-This allows users to set the location of the legend in a more flexible and consistent way.
diff --git a/doc/users/next_whats_new/savefig_bbox_layout.rst b/doc/users/next_whats_new/savefig_bbox_layout.rst
deleted file mode 100644
index bf2d2bb72f90..000000000000
--- a/doc/users/next_whats_new/savefig_bbox_layout.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-pad_inches="layout" for savefig
--------------------------------
-
-When using constrained or compressed layout,
-
-.. code-block:: python
-
- savefig(filename, bbox_inches="tight", pad_inches="layout")
-
-will now use the padding sizes defined on the layout engine.
diff --git a/doc/users/next_whats_new/set_loc.rst b/doc/users/next_whats_new/set_loc.rst
deleted file mode 100644
index 2a8722a18da0..000000000000
--- a/doc/users/next_whats_new/set_loc.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-Add a public method to modify the location of ``Legend``
---------------------------------------------------------
-
-`~matplotlib.legend.Legend` locations now can be tweaked after they've been defined.
-
-.. plot::
- :include-source: true
-
- from matplotlib import pyplot as plt
-
- fig = plt.figure()
- ax = fig.add_subplot(1, 1, 1)
-
- x = list(range(-100, 101))
- y = [i**2 for i in x]
-
- ax.plot(x, y, label="f(x)")
- ax.legend()
- ax.get_legend().set_loc("right")
- # Or
- # ax.get_legend().set(loc="right")
-
- plt.show()
diff --git a/doc/users/next_whats_new/shadow_shade.rst b/doc/users/next_whats_new/shadow_shade.rst
deleted file mode 100644
index cafa2f4d346f..000000000000
--- a/doc/users/next_whats_new/shadow_shade.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Shadow shade can be controlled
-------------------------------
-
-The `.Shadow` patch now has a *shade* argument to control the shadow darkness.
-If 1, the shadow is black, if 0, the shadow has the same color as the patch that
-is shadowed. The default value, which earlier was fixed, is 0.7.
diff --git a/doc/users/next_whats_new/spinesproxyset.rst b/doc/users/next_whats_new/spinesproxyset.rst
deleted file mode 100644
index cfd8d2908ec7..000000000000
--- a/doc/users/next_whats_new/spinesproxyset.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``SpinesProxy`` now supports calling the ``set()`` method
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-One can now call e.g. ``ax.spines[:].set(visible=False)``.
diff --git a/doc/users/next_whats_new/tick_labelfont_param.rst b/doc/users/next_whats_new/tick_labelfont_param.rst
deleted file mode 100644
index 66dd25a5006f..000000000000
--- a/doc/users/next_whats_new/tick_labelfont_param.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-Allow setting the tick label fonts with a keyword argument
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-``Axes.tick_params`` now accepts a *labelfontfamily* keyword that changes the tick
-label font separately from the rest of the text objects:
-
-.. code-block:: python
-
- Axis.tick_params(labelfontfamily='monospace')
diff --git a/doc/users/next_whats_new/updated_mathtext.rst b/doc/users/next_whats_new/updated_mathtext.rst
deleted file mode 100644
index fb19bf0325b5..000000000000
--- a/doc/users/next_whats_new/updated_mathtext.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-Bold-italic mathtext command ``\mathbfit``
------------------------------------------------------
-
-Supports use of bold-italic font style in mathtext using the ``\mathbfit{}`` command:
-
-To change font to bold and italic enclose the text in a font command as
-shown:
-
-.. code-block:: none
-
- r'$\mathbfit{\eta \leq C(\delta(\eta))}$'
-
-.. math::
- \mathbfit{\eta \leq C(\delta(\eta))}
diff --git a/doc/users/prev_whats_new/github_stats_3.7.2.rst b/doc/users/prev_whats_new/github_stats_3.7.2.rst
new file mode 100644
index 000000000000..9bc8ab85fdfd
--- /dev/null
+++ b/doc/users/prev_whats_new/github_stats_3.7.2.rst
@@ -0,0 +1,239 @@
+.. _github-stats-3-7-2:
+
+GitHub statistics for 3.7.2 (Jul 05, 2023)
+==========================================
+
+GitHub statistics for 2023/03/04 (tag: v3.7.1) - 2023/07/05
+
+These lists are automatically generated, and may be incomplete or contain duplicates.
+
+We closed 36 issues and merged 156 pull requests.
+The full list can be seen `on GitHub `__
+
+The following 25 authors contributed 248 commits.
+
+* Adam J. Stewart
+* Antony Lee
+* Astra
+* Daniele Nicolodi
+* daniilS
+* dependabot[bot]
+* Elliott Sales de Andrade
+* Greg Lucas
+* Jody Klymak
+* Kyle Sunden
+* MeeseeksMachine
+* Melissa Weber Mendonça
+* Mubin Manasia
+* NISHANT KUMAR
+* Oscar Gustafsson
+* Petros Tzathas
+* Ruth Comer
+* Scott Shambaugh
+* Smeet nagda
+* SnorfYang
+* Stefanie Molin
+* Steffen Rehberg
+* Thomas A Caswell
+* Tim Hoffmann
+* Yi Wei
+
+GitHub issues and pull requests:
+
+Pull Requests (156):
+
+* :ghpull:`26260`: Backport PR #25960 on branch v3.7.x (FIX: wspace and hspace in subfigures without layout engine)
+* :ghpull:`25960`: FIX: wspace and hspace in subfigures without layout engine
+* :ghpull:`26238`: Backport PR #26237 on branch v3.7.x (Update FancyBboxPatch docstring)
+* :ghpull:`26234`: Backport PR #26232 on branch v3.7.x (FIX: pcolor writing to read-only input mask)
+* :ghpull:`26232`: FIX: pcolor writing to read-only input mask
+* :ghpull:`26229`: Backport PR #26223 on branch v3.7.x (Fix: pcolormesh writing to read-only input mask)
+* :ghpull:`26227`: Backport PR #26184 on branch v3.7.x (FIX: AnnotationBbox extents before draw)
+* :ghpull:`26223`: Fix: pcolormesh writing to read-only input mask
+* :ghpull:`26184`: FIX: AnnotationBbox extents before draw
+* :ghpull:`26214`: Auto backport of pr 26186 on v3.7.x
+* :ghpull:`26216`: Backport PR #26126 on branch v3.7.x (Revert "Merge pull request #24555 from parthpankajtiwary/symlog-warn")
+* :ghpull:`26215`: Backport PR #25824 on branch v3.7.x (pdf: Use explicit palette when saving indexed images)
+* :ghpull:`26211`: Backport PR #25704 on branch v3.7.x (FIX: don't round image sizes to pixel if meant to be unsampled)
+* :ghpull:`26186`: [Doc] Improve documentation types
+* :ghpull:`26177`: Backport PR #26154 on branch v3.7.x (MNT: py312 deprecates pickling objects in itertools)
+* :ghpull:`26154`: MNT: py312 deprecates pickling objects in itertools
+* :ghpull:`26175`: Backport PR #26165 on branch v3.7.x (Avoid Py_VerboseFlag deprecation from Python 3.12)
+* :ghpull:`26165`: Avoid Py_VerboseFlag deprecation from Python 3.12
+* :ghpull:`26136`: Backport PR #26135 on branch v3.7.x (TST: xfail Tk test on Python 3.9 Azure macOS also)
+* :ghpull:`26158`: Backport PR #26153 on branch v3.7.x (Restrict pyparsing version)
+* :ghpull:`26153`: Restrict pyparsing version
+* :ghpull:`26149`: Backport PR #26148 on branch v3.7.x (Clarify how to get data from Line3D and fix formatting issue)
+* :ghpull:`26148`: Clarify how to get data from Line3D and fix formatting issue
+* :ghpull:`26135`: TST: xfail Tk test on Python 3.9 Azure macOS also
+* :ghpull:`26133`: Backport PR #26084 on branch v3.7.x (added note about python 3 to venv)
+* :ghpull:`26126`: Revert "Merge pull request #24555 from parthpankajtiwary/symlog-warn"
+* :ghpull:`26127`: Backport PR #25068 on branch v3.7.x (Fix pgf tests with TeXLive 2022)
+* :ghpull:`25068`: Fix pgf tests with TeXLive 2022
+* :ghpull:`25824`: pdf: Use explicit palette when saving indexed images
+* :ghpull:`26116`: Backport PR #26006 on branch v3.7.x (DOC: Use scientific-python-nightly-wheels for nightly build index)
+* :ghpull:`26055`: Backport PR #26052 on branch v3.7.x (Improve Qt compatibility)
+* :ghpull:`26053`: Backport PR #25858 on branch v3.7.x (Get dlerror() immediately after dlclose() fails.)
+* :ghpull:`26052`: Improve Qt compatibility
+* :ghpull:`25858`: Get dlerror() immediately after dlclose() fails.
+* :ghpull:`26048`: Backport PR #26044 on branch v3.7.x (DOC: add steering council email to triage page + remove unactionable instructions)
+* :ghpull:`26039`: Backport PR #26038 on branch v3.7.x (subsubsection titles for backend tables)
+* :ghpull:`26034`: ci: Skip PySide6 6.5.1 on another environment
+* :ghpull:`26019`: Backport PR #25985 on branch v3.7.x (Drop metadata table when subsetting fonts)
+* :ghpull:`26009`: Backport PR #25978 on branch v3.7.x (Fix subslice optimization for long, fully nan lines.)
+* :ghpull:`26021`: Backport PR #26005 on branch v3.7.x (Fix backend tests on CI)
+* :ghpull:`25985`: Drop metadata table when subsetting fonts
+* :ghpull:`25978`: Fix subslice optimization for long, fully nan lines.
+* :ghpull:`26002`: Bump pypa/cibuildwheel from 2.12.3 to 2.13.0
+* :ghpull:`26005`: Fix backend tests on CI
+* :ghpull:`26001`: Backport PR #25954 on branch v3.7.x (Add note that subfigure is still provisional to docstring)
+* :ghpull:`25954`: Add note that subfigure is still provisional to docstring
+* :ghpull:`25996`: Backport PR #25992 on branch v3.7.x (Document that GridSpec.get_subplot_params ignores gridspec.figure.)
+* :ghpull:`25992`: Document that GridSpec.get_subplot_params ignores gridspec.figure.
+* :ghpull:`25984`: Backport PR #25982 on branch v3.7.x (Doc: Updates default value for nonpositve parameter for semilogx and semilogy)
+* :ghpull:`25982`: Doc: Updates default value for nonpositve parameter for semilogx and semilogy
+* :ghpull:`25975`: Backport PR #25964 on branch v3.7.x (Fix get_constrained_layout_pads)
+* :ghpull:`25980`: Backport PR #25977 on branch v3.7.x ([Doc]: Fix navigation sidebar for Animation examples)
+* :ghpull:`25976`: Backport PR #25973 on branch v3.7.x (Add setuptools as an explicit build requirement)
+* :ghpull:`25973`: Add setuptools as an explicit build requirement
+* :ghpull:`25964`: Fix get_constrained_layout_pads
+* :ghpull:`25972`: Backport PR #25918 on branch v3.7.x (migrate from utcfromtimestamp to fromtimestamp)
+* :ghpull:`25959`: Backport PR #25955 on branch v3.7.x (Update performance note of hist() to mention stairs().)
+* :ghpull:`25957`: Backport PR #25956 on branch v3.7.x (Reverse stackplot legend to match data display)
+* :ghpull:`25955`: Update performance note of hist() to mention stairs().
+* :ghpull:`25918`: migrate from utcfromtimestamp to fromtimestamp
+* :ghpull:`25943`: Backport PR #25902 on branch v3.7.x (Fix TransformedBbox.{,full_}contains.)
+* :ghpull:`25902`: Fix TransformedBbox.{,full_}contains.
+* :ghpull:`25928`: Backport PR #25920 on branch v3.7.x (Rewrite offset_copy for better error message)
+* :ghpull:`25935`: Backport PR #25934 on branch v3.7.x (DOC: Fix figure annotation example)
+* :ghpull:`25931`: Backport PR #25929 on branch v3.7.x (changed incubator invite channel link to community channel)
+* :ghpull:`25920`: Rewrite offset_copy for better error message
+* :ghpull:`25898`: Backport PR #25897 on branch v3.7.x (Fix typo of missing quote in core font docs)
+* :ghpull:`25893`: Backport PR #25792 on branch v3.7.x (Fix broken symlinks for expected images on WSL)
+* :ghpull:`25792`: Fix broken symlinks for expected images on WSL
+* :ghpull:`25892`: Backport PR #25832 on branch v3.7.x ([BUG] Prevent under the hood downcasting of values)
+* :ghpull:`25873`: DOC: clarify how colorbar steals space
+* :ghpull:`25832`: [BUG] Prevent under the hood downcasting of values
+* :ghpull:`25877`: Backport PR #25874 on branch v3.7.x (Tweak demo_edge_colorbar.)
+* :ghpull:`25879`: Backport PR #25547 on branch v3.7.x (FIX: ``_safe_first_finite`` on all non-finite array)
+* :ghpull:`25875`: Backport PR #25868 on branch v3.7.x (TST: Add test for layoutgrid memory leak)
+* :ghpull:`25547`: FIX: ``_safe_first_finite`` on all non-finite array
+* :ghpull:`25868`: TST: Add test for layoutgrid memory leak
+* :ghpull:`25865`: Backport PR #25853 on branch v3.7.x (Fix LayoutGrid leaks)
+* :ghpull:`25853`: Fix LayoutGrid leaks
+* :ghpull:`25842`: Backport PR #25840 on branch v3.7.x (Emit explanatory exception when no temporary cachedir can be created.)
+* :ghpull:`25840`: Emit explanatory exception when no temporary cachedir can be created.
+* :ghpull:`25827`: Backport PR #25813 on branch v3.7.x ([TST] Adjust tests to be more tolerant to floating point math operations being imprecise)
+* :ghpull:`25813`: [TST] Adjust tests to be more tolerant to floating point math operations being imprecise
+* :ghpull:`25808`: Backport PR #25214 on branch v3.7.x (DOC: Add section on how to start contributing)
+* :ghpull:`25802`: Backport PR #25797 on branch v3.7.x (Replace random values by hard-coded numbers in plot-types ...)
+* :ghpull:`25778`: Backport PR #25776 on branch v3.7.x (Doc : Updates default value for nonpositve parameter)
+* :ghpull:`25776`: Doc : Updates default value for nonpositve parameter
+* :ghpull:`25704`: FIX: don't round image sizes to pixel if meant to be unsampled
+* :ghpull:`25761`: Backport PR #25760 on branch v3.7.x (unbreak doc build with Sphinx 6.2)
+* :ghpull:`25754`: Backport PR #25727 on branch v3.7.x (Doc: Replace matplotlibrc.template)
+* :ghpull:`25727`: Doc: Replace matplotlibrc.template
+* :ghpull:`25750`: Backport PR #25733 on branch v3.7.x (Add tests for missing text wrap cases)
+* :ghpull:`25733`: Add tests for missing text wrap cases
+* :ghpull:`25740`: Backport PR #25736 on branch v3.7.x (added assigning and duplicating section heading to contribute guide)
+* :ghpull:`25705`: Backport PR #25681 on branch v3.7.x (BUG: Return null Bbox when there is no intersection for bar_label center.)
+* :ghpull:`25700`: Backport PR #25693 on branch v3.7.x (Correctly hide download buttons using CSS)
+* :ghpull:`25681`: BUG: Return null Bbox when there is no intersection for bar_label center.
+* :ghpull:`25665`: Backport PR #25663 on branch v3.7.x (Don't use deprecated cm.get_cmap in qt figureoptions.)
+* :ghpull:`25666`: Backport PR #25658 on branch v3.7.x (TST: Bump exclude for newly released nbconvert)
+* :ghpull:`25663`: Don't use deprecated cm.get_cmap in qt figureoptions.
+* :ghpull:`25658`: TST: Bump exclude for newly released nbconvert
+* :ghpull:`25630`: Backport PR #25481 on branch v3.7.x (Fix 3D set_aspect error cases)
+* :ghpull:`25637`: Backport PR #25636 on branch v3.7.x (Ensure ImportError's have a message)
+* :ghpull:`25636`: Ensure ImportError's have a message
+* :ghpull:`25629`: Backport PR #25616 on branch v3.7.x (broken_barh: fix docstring typo)
+* :ghpull:`25481`: Fix 3D set_aspect error cases
+* :ghpull:`25616`: broken_barh: fix docstring typo
+* :ghpull:`25626`: Backport PR #25624 on branch v3.7.x (FIX: correctly unset the layout engine in Figure.tight_layout)
+* :ghpull:`25620`: Backport PR #25615 on branch v3.7.x (TST: Avoid broken nbconvert)
+* :ghpull:`25624`: FIX: correctly unset the layout engine in Figure.tight_layout
+* :ghpull:`25621`: Backport PR #25619 on branch v3.7.x (TST: Unbreak pyside65 by installing libxcb-cursor0)
+* :ghpull:`25619`: TST: Unbreak pyside65 by installing libxcb-cursor0
+* :ghpull:`25615`: TST: Avoid broken nbconvert
+* :ghpull:`25589`: Backport PR #25585 on branch v3.7.x (DOC: improve interpolation kwarg doc in imshow [ci doc])
+* :ghpull:`25585`: DOC: improve interpolation kwarg doc in imshow [ci doc]
+* :ghpull:`25581`: Backport PR #25580 on branch v3.7.x (Fix return type of get_plot_commands)
+* :ghpull:`25580`: Fix return type of get_plot_commands
+* :ghpull:`25578`: Backport PR #25574 on branch v3.7.x (DOC: Added exported colors to colors.api)
+* :ghpull:`25535`: Backport PR #25518 on branch v3.7.x (DOC: Fix the bars having numeric value of cm but labeled as inches)
+* :ghpull:`25530`: Backport PR #25508 on branch v3.7.x (DOC: Fix thumbnail title for sphinx gallery)
+* :ghpull:`25528`: Backport PR #25519 on branch v3.7.x (Fix typo in Quick start guide tutorial)
+* :ghpull:`25525`: Backport PR #25524 on branch v3.7.x (Add ipykernel as an explicit doc dependency)
+* :ghpull:`25520`: Backport PR #25499: FIX: use locators in adjust_bbox
+* :ghpull:`25516`: Backport PR #25494 on branch v3.7.x (Ignore errors loading artifacts from CircleCI)
+* :ghpull:`25499`: FIX: use locators in adjust_bbox
+* :ghpull:`25512`: Backport PR #25496 on branch v3.7.x (BUG: fix IPython's %pylab mode detection)
+* :ghpull:`25496`: BUG: fix IPython's %pylab mode detection
+* :ghpull:`25503`: Backport PR #25495 on branch v3.7.x (DOC: Clarify note in get_path_collection_extents)
+* :ghpull:`25495`: DOC: Clarify note in get_path_collection_extents
+* :ghpull:`25490`: Backport PR #25486 on branch v3.7.x (DOC: remove rcdefaults from barh example)
+* :ghpull:`25480`: Backport PR #25476 on branch v3.7.x (DOC: Fix docstring formatting)
+* :ghpull:`25476`: DOC: Fix docstring formatting
+* :ghpull:`25474`: Backport PR #25470 on branch v3.7.x (FIX: do not cache exceptions)
+* :ghpull:`25470`: FIX: do not cache exceptions
+* :ghpull:`25465`: Backport PR #25442 on branch v3.7.x (Fix disconnection of callbacks when draggable artist is deparented.)
+* :ghpull:`25462`: Backport PR #25461 on branch v3.7.x (Fix issue #25458 by changing "normed" to "density" in documentation)
+* :ghpull:`25442`: Fix disconnection of callbacks when draggable artist is deparented.
+* :ghpull:`25459`: Backport PR #25457 on branch v3.7.x (Add references to backend_{gtk3,gtk4,wx} in docs.)
+* :ghpull:`25452`: Backport PR #25449 on branch v3.7.x (Bump pypa/cibuildwheel from 2.12.0 to 2.12.1)
+* :ghpull:`25451`: Backport PR #25433 on branch v3.7.x (Release mouse grabs when owning Axes is removed)
+* :ghpull:`25449`: Bump pypa/cibuildwheel from 2.12.0 to 2.12.1
+* :ghpull:`25433`: Release mouse grabs when owning Axes is removed
+* :ghpull:`25450`: Backport PR #25394 on branch v3.7.x ([DOC] Clarify how to change side of the TickedStroke ticks)
+* :ghpull:`25394`: [DOC] Clarify how to change side of the TickedStroke ticks
+* :ghpull:`25447`: Backport PR #23863 on branch v3.7.x (Add tests for mpl_toolkit anchored artists)
+* :ghpull:`23863`: Add tests for mpl_toolkit anchored artists
+* :ghpull:`25437`: Backport PR #25435 on branch v3.7.x (TST: unbreak appveyor)
+* :ghpull:`25435`: TST: unbreak appveyor
+* :ghpull:`25436`: Backport PR #25428 on branch v3.7.x (Fix Legend.set_draggable() with update="bbox")
+* :ghpull:`25428`: Fix Legend.set_draggable() with update="bbox"
+* :ghpull:`25411`: Backport PR #25409 on branch v3.7.x (Improve/correct documentation)
+* :ghpull:`25409`: Improve/correct documentation
+* :ghpull:`25402`: Merge v3.7.1-doc into v3.7.x
+* :ghpull:`25397`: Backport PR #25384 on branch v3.7.x (FIX: Remove some numpy function overrides from pylab)
+* :ghpull:`25384`: FIX: Remove some numpy function overrides from pylab
+* :ghpull:`25392`: Backport PR #25388 on branch v3.7.x (Better axis labels for examples)
+
+Issues (36):
+
+* :ghissue:`25511`: [Bug]: wspace and hspace in subfigures not working
+* :ghissue:`26230`: [Bug]: pcolor writing to read-only input mask
+* :ghissue:`26093`: [Bug]: pcolormesh writing to input mask
+* :ghissue:`24453`: [Bug]: AnnotationBbox does not return correct window_extent before first draw
+* :ghissue:`26161`: [MNT]: install on Python 3.12.0b3
+* :ghissue:`26146`: Impossible to get the z value of a line in 3D
+* :ghissue:`26118`: [Bug]: symlog scale generates false warning when mouse is moved
+* :ghissue:`25806`: [Bug]: pdf export for large image sizes results in wrong colors
+* :ghissue:`20575`: cm.set_bad() not working for specific values of grayscale and dpi when saving as pdf
+* :ghissue:`26054`: [TST] Upcoming dependency test failures
+* :ghissue:`24025`: [Bug]: meta tables warn they cannot be subset
+* :ghissue:`25988`: [TST] Qt/Pyside 6.5.1 dependency test failures
+* :ghissue:`13109`: get_subplot_params behavior doesn't match docstring
+* :ghissue:`25963`: [Bug]: fig.get_constrained_layout_pads() raises AttributeError
+* :ghissue:`25912`: deal with upcoming deprecations in CPython
+* :ghissue:`12057`: TransformedBbox.contains has less-than-optimal semantics
+* :ghissue:`24818`: [Bug]: ax.errorbar raises for all-nan data on matplotlib 3.6.2
+* :ghissue:`18294`: UserWarning thrown when all values are "bad", but not when only some are
+* :ghissue:`25819`: [Bug]: Memory leak in constrained_layout
+* :ghissue:`25838`: [Doc]: running matplotlib with readonly fs
+* :ghissue:`25826`: [TST] Upcoming dependency test failures
+* :ghissue:`25789`: [TST] Upcoming dependency test failures
+* :ghissue:`25758`: [Doc]: Default value for nonpositive parameter is not as documented
+* :ghissue:`8981`: Incorrect imshow extent in PDF backend
+* :ghissue:`25678`: [Doc]: matplotlibrc.template does not exist anymore
+* :ghissue:`25625`: [Bug]: RuntimeError when bar_label of stacked bar chart comes to rest outside of plot's Y limit
+* :ghissue:`25443`: [Bug]: 3D set_aspect equal doesn't bound data in all cases
+* :ghissue:`7805`: tight layout kwargs have no effect if rc autolayout setting is set (MPL 1.5.3)
+* :ghissue:`25575`: [Bug]: imshow interpolation='none' ignored when using savefig() to PDF format
+* :ghissue:`23884`: [Doc]: Thumbnail title in gallery show rst formatting characters
+* :ghissue:`22625`: [Bug]: Setting bbox_inches to a Bbox in fig.savefig resizes colorbar
+* :ghissue:`25485`: [Bug]: Main loop integration with IPyhton broken after matplotlib version 3.6.2
+* :ghissue:`25440`: [Bug]: Attribute Error combining matplotlib 3.7.1 and mplcursor on data selection
+* :ghissue:`25345`: [Bug]: using clf and pyplot.draw in range slider on_changed callback blocks input to widgets
+* :ghissue:`25416`: Sphinx-Gallery 0.12 kills AppVeyor tests
+* :ghissue:`25379`: [TST] Upcoming dependency test failures
diff --git a/doc/users/prev_whats_new/github_stats_3.7.3.rst b/doc/users/prev_whats_new/github_stats_3.7.3.rst
new file mode 100644
index 000000000000..bb43c1a8395e
--- /dev/null
+++ b/doc/users/prev_whats_new/github_stats_3.7.3.rst
@@ -0,0 +1,101 @@
+.. _github-stats-3-7-3:
+
+GitHub statistics for 3.7.3 (Sep 11, 2023)
+==========================================
+
+GitHub statistics for 2023/07/05 (tag: v3.7.2) - 2023/09/11
+
+These lists are automatically generated, and may be incomplete or contain duplicates.
+
+We closed 14 issues and merged 48 pull requests.
+The full list can be seen `on GitHub `__
+
+The following 17 authors contributed 130 commits.
+
+* amiraflak
+* Amirreza Aflakparast
+* dependabot[bot]
+* Elliott Sales de Andrade
+* Greg Lucas
+* hannah
+* Haoying Zhang
+* Jody Klymak
+* Kritika Verma
+* Kyle Sunden
+* marbled-toast
+* Mateusz Sokół
+* Matthew Feickert
+* Oscar Gustafsson
+* Ruth Comer
+* Thomas A Caswell
+* Tim Hoffmann
+
+GitHub issues and pull requests:
+
+Pull Requests (48):
+
+* :ghpull:`26725`: Backport PR #26719 on branch v3.7.x (Fix issue with missing attribute in Path3DCollection)
+* :ghpull:`26723`: Backport PR #26721 on branch v3.7.x (Add a Python 3.12 classifier)
+* :ghpull:`26719`: Fix issue with missing attribute in Path3DCollection
+* :ghpull:`26721`: Add a Python 3.12 classifier
+* :ghpull:`26672`: Backport cibuildwheel updates to v3.7.x
+* :ghpull:`26706`: Pin NumPy below v2 for 3.7.x
+* :ghpull:`26653`: Backport PR #26597 on branch v3.7.x (Squeeze post-converted values when validating limits)
+* :ghpull:`26597`: Squeeze post-converted values when validating limits
+* :ghpull:`26582`: MNT: Enable wheels for Python 3.12
+* :ghpull:`26616`: Backport PR #26598 on branch v3.7.x (FIX: array labelcolor for Tick)
+* :ghpull:`26598`: FIX: array labelcolor for Tick
+* :ghpull:`26610`: Backport PR #26538 on branch v3.7.x (Resolves #26421 Added an example for fig comparison decorator)
+* :ghpull:`26538`: Resolves #26421 Added an example for fig comparison decorator
+* :ghpull:`26574`: Backport PR #26571 on branch v3.7.x ([Doc]: match 3D plot types with others)
+* :ghpull:`26571`: [Doc]: match 3D plot types with others
+* :ghpull:`26570`: Backport PR #26569 on branch v3.7.x (refactor: constant "ncols" to variables)
+* :ghpull:`26569`: refactor: constant "ncols" to variables
+* :ghpull:`26555`: Backport PR #26554 on branch v3.7.x (Remove NumPy abs overrides from pylab)
+* :ghpull:`26552`: Backport PR #26493: Disable ````add_html_cache_busting```` on Sphinx 7.1+
+* :ghpull:`26554`: Remove NumPy abs overrides from pylab
+* :ghpull:`26549`: Backport PR #26545 on branch v3.7.x (Fix size inferral when using cairocffi)
+* :ghpull:`26545`: Fix size inferral when using cairocffi
+* :ghpull:`26544`: Backport PR #26532: Fix input check in Poly3DCollection.__init__
+* :ghpull:`26532`: Fix input check in Poly3DCollection.__init__
+* :ghpull:`26459`: Backport PR #26458 on branch v3.7.x (Remove soon to be deprecated nan/inf aliases)
+* :ghpull:`26458`: Remove soon to be deprecated nan/inf aliases
+* :ghpull:`26455`: Backport PR #26452 on branch v3.7.x (ENH: Update numpy exceptions imports)
+* :ghpull:`26452`: ENH: Update numpy exceptions imports
+* :ghpull:`26439`: Backport PR #26436 on branch v3.7.x (DOC: Add a warning that ticks are not persistent)
+* :ghpull:`26432`: Backport PR #26431 on branch v3.7.x (MNT: Unpin pyparsing, xfail error message tests for pyparsing 3.1.0)
+* :ghpull:`26436`: DOC: Add a warning that ticks are not persistent
+* :ghpull:`26428`: Merge branch v3.7.2-doc into v3.7.x
+* :ghpull:`26431`: MNT: Unpin pyparsing, xfail error message tests for pyparsing 3.1.0
+* :ghpull:`26412`: Backport PR #26405 on branch v3.7.x (DOC: Clarify the difference between document and section references)
+* :ghpull:`26390`: Backport PR #26354 on branch v3.7.x (DOC: contourf antialiased default)
+* :ghpull:`26354`: DOC: contourf antialiased default
+* :ghpull:`26386`: Backport PR #26370 on branch v3.7.x (Update README.txt )
+* :ghpull:`26364`: Backport PR #26361 on branch v3.7.x (LIC: Update the license we bundle the colorbrewer colormap data with)
+* :ghpull:`26361`: LIC: Update the license we bundle the colorbrewer colormap data with
+* :ghpull:`26322`: Backport PR #26321 on branch v3.7.x (remove quote box from font_manager)
+* :ghpull:`26318`: Backport PR #26317 on branch v3.7.x (update the doc string for fancyarrowpatch to link to annotate)
+* :ghpull:`26317`: update the doc string for fancyarrowpatch to link to annotate
+* :ghpull:`26304`: Backport PR #26300 on branch v3.7.x (FIX: do not warn when calling tight_layout multiple times)
+* :ghpull:`26300`: FIX: do not warn when calling tight_layout multiple times
+* :ghpull:`26301`: Backport PR #26291 on branch v3.7.x (Get correct renderer for axes_grid1 inset axes with bbox_inches=tight)
+* :ghpull:`26298`: Backport PR #26195 on branch v3.7.x ([Doc] link style sheets reference to customization tutorial)
+* :ghpull:`26291`: Get correct renderer for axes_grid1 inset axes with bbox_inches=tight
+* :ghpull:`26267`: Backport PR #26266 on branch v3.7.x (DOC: Use consistent font for anatomy example)
+
+Issues (14):
+
+* :ghissue:`26732`: [ENH]: Parser errors should mention that commands do not exist
+* :ghissue:`26497`: [Bug]: AttributeError: 'Path3DCollection' object has no attribute '_offset_zordered' (possible regression)
+* :ghissue:`26588`: [Bug]: Tick class instantiation returns an error when labelcolor is a tuple
+* :ghissue:`26421`: [Doc]: demo testing comparison decorator
+* :ghissue:`26486`: [Doc]: match 3D plot types listings titles to other titles
+* :ghissue:`26560`: [Doc]: ncols parameter hard-coded
+* :ghissue:`26553`: [TST] Upcoming dependency test failures
+* :ghissue:`26523`: [Bug]: backend_cairo set_context() is broken for cairocffi
+* :ghissue:`26420`: Typo in Poly3DCollection constructor
+* :ghissue:`26152`: [Bug]: Pyparsing 3.1 breaks tests
+* :ghissue:`26336`: [Doc]: GPL compatibility
+* :ghissue:`19721`: head size of FancyArrowPatch is "invisibly small" by default
+* :ghissue:`26290`: [Bug]: calling fig.tight_layout multiple times
+* :ghissue:`26287`: [Bug]: Error while creating inset axes using ``mpl_toolkits.axes_grid1.inset_locator.inset_axes``
diff --git a/doc/users/prev_whats_new/whats_new_1.4.rst b/doc/users/prev_whats_new/whats_new_1.4.rst
index b8a85638646b..39eefa81b168 100644
--- a/doc/users/prev_whats_new/whats_new_1.4.rst
+++ b/doc/users/prev_whats_new/whats_new_1.4.rst
@@ -46,7 +46,7 @@ same way as any other matplotlib backend. Because figures require a connection
to the IPython notebook server for their interactivity, once the notebook is
saved, each figure will be rendered as a static image - thus allowing
non-interactive viewing of figures on services such as
-`nbviewer `__.
+`nbviewer `__.
diff --git a/doc/users/prev_whats_new/whats_new_3.8.0.rst b/doc/users/prev_whats_new/whats_new_3.8.0.rst
new file mode 100644
index 000000000000..ab5a0dce85da
--- /dev/null
+++ b/doc/users/prev_whats_new/whats_new_3.8.0.rst
@@ -0,0 +1,525 @@
+==============================================
+What's new in Matplotlib 3.8.0 (Sept 13, 2023)
+==============================================
+
+For a list of all of the issues and pull requests since the last revision, see
+the :ref:`github-stats`.
+
+.. contents:: Table of Contents
+ :depth: 4
+
+.. toctree::
+ :maxdepth: 4
+
+Type Hints
+==========
+
+Matplotlib now provides first-party PEP484 style type hints files for most public APIs.
+
+While still considered provisional and subject to change (and sometimes we are not
+quite able to fully specify what we would like to), they should provide a reasonable
+basis to type check many common usage patterns, as well as integrating with many
+editors/IDEs.
+
+Plotting and Annotation improvements
+====================================
+
+Support customizing antialiasing for text and annotation
+--------------------------------------------------------
+``matplotlib.pyplot.annotate()`` and ``matplotlib.pyplot.text()`` now support parameter *antialiased*.
+When *antialiased* is set to ``True``, antialiasing will be applied to the text.
+When *antialiased* is set to ``False``, antialiasing will not be applied to the text.
+When *antialiased* is not specified, antialiasing will be set by :rc:`text.antialiased` at the creation time of ``Text`` and ``Annotation`` object.
+Examples:
+
+.. code-block:: python
+
+ mpl.text.Text(.5, .5, "foo\nbar", antialiased=True)
+ plt.text(0.5, 0.5, '6 inches x 2 inches', antialiased=True)
+ ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5), antialiased=False)
+
+If the text contains math expression, *antialiased* applies to the whole text.
+Examples:
+
+.. code-block:: python
+
+ # no part will be antialiased for the text below
+ plt.text(0.5, 0.25, r"$I'm \sqrt{x}$", antialiased=False)
+
+Also note that antialiasing for tick labels will be set with :rc:`text.antialiased` when they are created (usually when a ``Figure`` is created) and cannot be changed afterwards.
+
+Furthermore, with this new feature, you may want to make sure that you are creating and saving/showing the figure under the same context::
+
+ # previously this was a no-op, now it is what works
+ with rccontext(text.antialiased=False):
+ fig, ax = plt.subplots()
+ ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5))
+ fig.savefig('/tmp/test.png')
+
+
+ # previously this had an effect, now this is a no-op
+ fig, ax = plt.subplots()
+ ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5))
+ with rccontext(text.antialiased=False):
+ fig.savefig('/tmp/test.png')
+
+rcParams for ``AutoMinorLocator`` divisions
+-------------------------------------------
+The rcParams :rc:`xtick.minor.ndivs` and :rc:`ytick.minor.ndivs` have been
+added to enable setting the default number of divisions; if set to ``auto``,
+the number of divisions will be chosen by the distance between major ticks.
+
+Axline setters and getters
+--------------------------
+
+The returned object from `.axes.Axes.axline` now supports getter and setter
+methods for its *xy1*, *xy2* and *slope* attributes:
+
+.. code-block:: python
+
+ line1.get_xy1()
+ line1.get_slope()
+ line2.get_xy2()
+
+.. code-block:: python
+
+ line1.set_xy1(.2, .3)
+ line1.set_slope(2.4)
+ line2.set_xy2(.1, .6)
+
+Clipping for contour plots
+--------------------------
+
+`~.Axes.contour` and `~.Axes.contourf` now accept the *clip_path* parameter.
+
+.. plot::
+ :include-source: true
+
+ import numpy as np
+ import matplotlib.pyplot as plt
+ import matplotlib.patches as mpatches
+
+ x = y = np.arange(-3.0, 3.01, 0.025)
+ X, Y = np.meshgrid(x, y)
+ Z1 = np.exp(-X**2 - Y**2)
+ Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
+ Z = (Z1 - Z2) * 2
+
+ fig, ax = plt.subplots()
+ patch = mpatches.RegularPolygon((0, 0), 5, radius=2,
+ transform=ax.transData)
+ ax.contourf(X, Y, Z, clip_path=patch)
+
+ plt.show()
+
+``Axes.ecdf``
+-------------
+A new Axes method, `~.Axes.ecdf`, allows plotting empirical cumulative
+distribution functions without any binning.
+
+.. plot::
+ :include-source:
+
+ import matplotlib.pyplot as plt
+ import numpy as np
+
+ fig, ax = plt.subplots()
+ ax.ecdf(np.random.randn(100))
+
+``Figure.get_suptitle()``, ``Figure.get_supxlabel()``, ``Figure.get_supylabel()``
+---------------------------------------------------------------------------------
+These methods return the strings set by ``Figure.suptitle()``, ``Figure.supxlabel()``
+and ``Figure.supylabel()`` respectively.
+
+``Ellipse.get_vertices()``, ``Ellipse.get_co_vertices()``
+---------------------------------------------------------------------------------
+These methods return the coordinates of ellipse vertices of
+major and minor axis. Additionally, an example gallery demo is added which
+shows how to add an arrow to an ellipse showing a clockwise or counter-clockwise
+rotation of the ellipse. To place the arrow exactly on the ellipse,
+the coordinates of the vertices are used.
+
+Remove inner ticks in ``label_outer()``
+---------------------------------------
+Up to now, ``label_outer()`` has only removed the ticklabels. The ticks lines
+were left visible. This is now configurable through a new parameter
+``label_outer(remove_inner_ticks=True)``.
+
+
+.. plot::
+ :include-source: true
+
+ import numpy as np
+ import matplotlib.pyplot as plt
+
+ x = np.linspace(0, 2 * np.pi, 100)
+
+ fig, axs = plt.subplots(2, 2, sharex=True, sharey=True,
+ gridspec_kw=dict(hspace=0, wspace=0))
+
+ axs[0, 0].plot(x, np.sin(x))
+ axs[0, 1].plot(x, np.cos(x))
+ axs[1, 0].plot(x, -np.cos(x))
+ axs[1, 1].plot(x, -np.sin(x))
+
+ for ax in axs.flat:
+ ax.grid(color='0.9')
+ ax.label_outer(remove_inner_ticks=True)
+
+Configurable legend shadows
+---------------------------
+The *shadow* parameter of legends now accepts dicts in addition to booleans.
+Dictionaries can contain any keywords for `.patches.Patch`.
+For example, this allows one to set the color and/or the transparency of a legend shadow:
+
+.. code-block:: python
+
+ ax.legend(loc='center left', shadow={'color': 'red', 'alpha': 0.5})
+
+and to control the shadow location:
+
+.. code-block:: python
+
+ ax.legend(loc='center left', shadow={"ox":20, "oy":-20})
+
+Configuration is currently not supported via :rc:`legend.shadow`.
+
+
+``offset`` parameter for MultipleLocator
+----------------------------------------
+
+An *offset* may now be specified to shift all the ticks by the given value.
+
+.. plot::
+ :include-source: true
+
+ import matplotlib.pyplot as plt
+ import matplotlib.ticker as mticker
+
+ _, ax = plt.subplots()
+ ax.plot(range(10))
+ locator = mticker.MultipleLocator(base=3, offset=0.3)
+ ax.xaxis.set_major_locator(locator)
+
+ plt.show()
+
+Add a new valid color format ``(matplotlib_color, alpha)``
+----------------------------------------------------------
+
+
+.. plot::
+ :include-source: true
+
+ import matplotlib.pyplot as plt
+ from matplotlib.patches import Rectangle
+
+ fig, ax = plt.subplots()
+
+ rectangle = Rectangle((.2, .2), .6, .6,
+ facecolor=('blue', 0.2),
+ edgecolor=('green', 0.5))
+ ax.add_patch(rectangle)
+
+
+Users can define a color using the new color specification, *(matplotlib_color, alpha)*.
+Note that an explicit alpha keyword argument will override an alpha value from
+*(matplotlib_color, alpha)*.
+
+The pie chart shadow can be controlled
+--------------------------------------
+
+The *shadow* argument to `~.Axes.pie` can now be a dict, allowing more control
+of the `.Shadow`-patch used.
+
+
+``PolyQuadMesh`` is a new class for drawing quadrilateral meshes
+----------------------------------------------------------------
+
+`~.Axes.pcolor` previously returned a flattened `.PolyCollection` with only
+the valid polygons (unmasked) contained within it. Now, we return a `.PolyQuadMesh`,
+which is a mixin incorporating the usefulness of 2D array and mesh coordinates
+handling, but still inheriting the draw methods of `.PolyCollection`, which enables
+more control over the rendering properties than a normal `.QuadMesh` that is
+returned from `~.Axes.pcolormesh`. The new class subclasses `.PolyCollection` and thus
+should still behave the same as before. This new class keeps track of the mask for
+the user and updates the Polygons that are sent to the renderer appropriately.
+
+.. plot::
+
+ arr = np.arange(12).reshape((3, 4))
+
+ fig, ax = plt.subplots()
+ pc = ax.pcolor(arr)
+
+ # Mask one element and show that the hatch is also not drawn
+ # over that region
+ pc.set_array(np.ma.masked_equal(arr, 5))
+ pc.set_hatch('//')
+
+ plt.show()
+
+Shadow shade can be controlled
+------------------------------
+
+The `.Shadow` patch now has a *shade* argument to control the shadow darkness.
+If 1, the shadow is black, if 0, the shadow has the same color as the patch that
+is shadowed. The default value, which earlier was fixed, is 0.7.
+
+``SpinesProxy`` now supports calling the ``set()`` method
+---------------------------------------------------------
+One can now call e.g. ``ax.spines[:].set(visible=False)``.
+
+Allow setting the tick label fonts with a keyword argument
+----------------------------------------------------------
+``Axes.tick_params`` now accepts a *labelfontfamily* keyword that changes the tick
+label font separately from the rest of the text objects:
+
+.. code-block:: python
+
+ Axis.tick_params(labelfontfamily='monospace')
+
+
+Figure, Axes, and Legend Layout
+===============================
+
+pad_inches="layout" for savefig
+-------------------------------
+
+When using constrained or compressed layout,
+
+.. code-block:: python
+
+ savefig(filename, bbox_inches="tight", pad_inches="layout")
+
+will now use the padding sizes defined on the layout engine.
+
+Add a public method to modify the location of ``Legend``
+--------------------------------------------------------
+
+`~matplotlib.legend.Legend` locations now can be tweaked after they've been defined.
+
+.. plot::
+ :include-source: true
+
+ from matplotlib import pyplot as plt
+
+ fig = plt.figure()
+ ax = fig.add_subplot(1, 1, 1)
+
+ x = list(range(-100, 101))
+ y = [i**2 for i in x]
+
+ ax.plot(x, y, label="f(x)")
+ ax.legend()
+ ax.get_legend().set_loc("right")
+ # Or
+ # ax.get_legend().set(loc="right")
+
+ plt.show()
+
+
+``rcParams['legend.loc']`` now accepts float-tuple inputs
+---------------------------------------------------------
+
+The :rc:`legend.loc` rcParams now accepts float-tuple inputs, same as the *loc* keyword argument to `.Legend`.
+This allows users to set the location of the legend in a more flexible and consistent way.
+
+Mathtext improvements
+=====================
+
+Boldsymbol mathtext command ``\boldsymbol``
+-------------------------------------------
+
+Supports using the ``\boldsymbol{}`` command in mathtext:
+
+To change symbols to bold enclose the text in a font command as
+shown:
+
+.. code-block:: none
+
+ r'$\boldsymbol{a+2+\alpha}$'
+
+.. math::
+ \boldsymbol{a+2+\alpha}
+
+``mathtext`` has more sizable delimiters
+----------------------------------------
+
+The ``\lgroup`` and ``\rgroup`` sizable delimiters have been added.
+
+The following delimiter names have been supported earlier, but can now be sized with
+``\left`` and ``\right``:
+
+* ``\lbrace``, ``\rbrace``, ``\leftbrace``, and ``\rightbrace``
+* ``\lbrack`` and ``\rbrack``
+* ``\leftparen`` and ``\rightparen``
+
+There are really no obvious advantages in using these.
+Instead, they are are added for completeness.
+
+``mathtext`` documentation improvements
+---------------------------------------
+
+The documentation is updated to take information directly from the parser. This
+means that (almost) all supported symbols, operators etc are shown at :ref:`mathtext`.
+
+``mathtext`` now supports ``\substack``
+---------------------------------------
+
+``\substack`` can be used to create multi-line subscripts or superscripts within an equation.
+
+To use it to enclose the math in a substack command as shown:
+
+.. code-block:: none
+
+ r'$\sum_{\substack{1\leq i\leq 3\\ 1\leq j\leq 5}}$'
+
+.. mathmpl::
+
+ \sum_{\substack{1\leq i\leq 3\\ 1\leq j\leq 5}}
+
+
+
+``mathtext`` now supports ``\middle`` delimiter
+-----------------------------------------------
+
+The ``\middle`` delimiter has been added, and can now be used with the
+``\left`` and ``\right`` delimiters:
+
+To use the middle command enclose it in between the ``\left`` and
+``\right`` delimiter command as shown:
+
+.. code-block:: none
+
+ r'$\left( \frac{a}{b} \middle| q \right)$'
+
+.. mathmpl::
+
+ \left( \frac{a}{b} \middle| q \right)
+
+``mathtext`` operators
+----------------------
+
+There has been a number of operators added and corrected when a Unicode font is used.
+In addition, correct spacing has been added to a number of the previous operators.
+Especially, the characters used for ``\gnapprox``, ``\lnapprox``, ``\leftangle``, and
+``\rightangle`` have been corrected.
+
+``mathtext`` spacing corrections
+--------------------------------
+
+As consequence of the updated documentation, the spacing on a number of relational and
+operator symbols were classified like that and therefore will be spaced properly.
+
+``mathtext`` now supports ``\text``
+-----------------------------------
+
+``\text`` can be used to obtain upright text within an equation and to get a plain dash
+(-).
+
+.. plot::
+ :include-source: true
+ :alt: Illustration of the newly added \text command, showing that it renders as normal text, including spaces, despite being part of an equation. Also show that a dash is not rendered as a minus when part of a \text command.
+
+ import matplotlib.pyplot as plt
+ plt.text(0.1, 0.5, r"$a = \sin(\phi) \text{ such that } \phi = \frac{x}{y}$")
+ plt.text(0.1, 0.3, r"$\text{dashes (-) are retained}$")
+
+
+Bold-italic mathtext command ``\mathbfit``
+------------------------------------------
+
+Supports use of bold-italic font style in mathtext using the ``\mathbfit{}`` command:
+
+To change font to bold and italic enclose the text in a font command as
+shown:
+
+.. code-block:: none
+
+ r'$\mathbfit{\eta \leq C(\delta(\eta))}$
+
+.. math::
+ \mathbfit{\eta \leq C(\delta(\eta))}
+
+
+3D plotting improvements
+========================
+
+Specify ticks and axis label positions for 3D plots
+---------------------------------------------------
+
+You can now specify the positions of ticks and axis labels for 3D plots.
+
+.. plot::
+ :include-source:
+
+ import matplotlib.pyplot as plt
+
+ positions = ['lower', 'upper', 'default', 'both', 'none']
+ fig, axs = plt.subplots(2, 3, figsize=(12, 8),
+ subplot_kw={'projection': '3d'})
+ for ax, pos in zip(axs.flatten(), positions):
+ for axis in ax.xaxis, ax.yaxis, ax.zaxis:
+ axis.set_label_position(pos)
+ axis.set_ticks_position(pos)
+ title = f'position="{pos}"'
+ ax.set(xlabel='x', ylabel='y', zlabel='z', title=title)
+ axs[1, 2].axis('off')
+
+3D hover coordinates
+--------------------
+
+The x, y, z coordinates displayed in 3D plots were previously showing
+nonsensical values. This has been fixed to report the coordinate on the view
+pane directly beneath the mouse cursor. This is likely to be most useful when
+viewing 3D plots along a primary axis direction when using an orthographic
+projection, or when a 2D plot has been projected onto one of the 3D axis panes.
+Note that there is still no way to directly display the coordinates of plotted
+data points.
+
+3D plots can share view angles
+------------------------------
+
+3D plots can now share the same view angles, so that when you rotate one plot
+the other plots also rotate. This can be done with the *shareview* keyword
+argument when adding an axes, or by using the *ax1.shareview(ax2)* method of
+existing 3D axes.
+
+
+Other improvements
+==================
+
+macosx: New figures can be opened in either windows or tabs
+-----------------------------------------------------------
+
+There is a new :rc:`macosx.window_mode`` rcParam to control how
+new figures are opened with the macosx backend. The default is
+**system** which uses the system settings, or one can specify either
+**tab** or **window** to explicitly choose the mode used to open new figures.
+
+``matplotlib.mpl_toolkits`` is now an implicit namespace package
+----------------------------------------------------------------
+
+Following the deprecation of ``pkg_resources.declare_namespace`` in ``setuptools`` 67.3.0,
+``matplotlib.mpl_toolkits`` is now implemented as an implicit namespace, following
+`PEP 420 `_.
+
+Plot Directive now can make responsive images with "srcset"
+-----------------------------------------------------------
+
+The plot sphinx directive (``matplotlib.sphinxext.plot_directive``, invoked in
+rst as ``.. plot::``) can be configured to automatically make higher res
+figures and add these to the the built html docs. In ``conf.py``::
+
+ extensions = [
+ ...
+ 'matplotlib.sphinxext.plot_directive',
+ 'matplotlib.sphinxext.figmpl_directive',
+ ...]
+
+ plot_srcset = ['2x']
+
+will make png files with double the resolution for hiDPI displays. Resulting
+html files will have image entries like::
+
+
diff --git a/doc/users/project/citing.rst b/doc/users/project/citing.rst
index 66a829a1eb67..2230ecf1463c 100644
--- a/doc/users/project/citing.rst
+++ b/doc/users/project/citing.rst
@@ -29,6 +29,12 @@ By version
.. START OF AUTOGENERATED
+v3.8.0
+ .. image:: ../../_static/zenodo_cache/8347255.svg
+ :target: https://doi.org/10.5281/zenodo.8347255
+v3.7.3
+ .. image:: ../../_static/zenodo_cache/8336761.svg
+ :target: https://doi.org/10.5281/zenodo.8336761
v3.7.2
.. image:: ../../_static/zenodo_cache/8118151.svg
:target: https://doi.org/10.5281/zenodo.8118151
diff --git a/doc/users/release_notes.rst b/doc/users/release_notes.rst
index b2abd3ae79fe..1d281543b76c 100644
--- a/doc/users/release_notes.rst
+++ b/doc/users/release_notes.rst
@@ -12,6 +12,15 @@ Release notes
.. include:: release_notes_next.rst
+Version 3.8
+===========
+.. toctree::
+ :maxdepth: 1
+
+ prev_whats_new/whats_new_3.8.0.rst
+ ../api/prev_api_changes/api_changes_3.8.0.rst
+ github_stats.rst
+
Version 3.7
===========
.. toctree::
@@ -19,7 +28,8 @@ Version 3.7
prev_whats_new/whats_new_3.7.0.rst
../api/prev_api_changes/api_changes_3.7.0.rst
- github_stats.rst
+ prev_whats_new/github_stats_3.7.3.rst
+ prev_whats_new/github_stats_3.7.2.rst
prev_whats_new/github_stats_3.7.1.rst
prev_whats_new/github_stats_3.7.0.rst
diff --git a/galleries/users_explain/figure/backends.rst b/galleries/users_explain/figure/backends.rst
index eba03997fa75..b769fcc12ba2 100644
--- a/galleries/users_explain/figure/backends.rst
+++ b/galleries/users_explain/figure/backends.rst
@@ -211,7 +211,7 @@ wxAgg Agg rendering to a wxWidgets_ canvas (requires wxPython_ 4).
.. _Cairo: https://www.cairographics.org
.. _PyGObject: https://wiki.gnome.org/action/show/Projects/PyGObject
.. _pycairo: https://www.cairographics.org/pycairo/
-.. _cairocffi: https://pythonhosted.org/cairocffi/
+.. _cairocffi: https://doc.courtbouillon.org/cairocffi/stable/
.. _wxPython: https://www.wxpython.org/
.. _TkInter: https://docs.python.org/3/library/tk.html
.. _PyQt: https://riverbankcomputing.com/software/pyqt/intro
diff --git a/galleries/users_explain/figure/figure_intro.rst b/galleries/users_explain/figure/figure_intro.rst
index 5f7db3d0202c..000828bdee0b 100644
--- a/galleries/users_explain/figure/figure_intro.rst
+++ b/galleries/users_explain/figure/figure_intro.rst
@@ -91,7 +91,7 @@ backend. These are typically chosen either in the user's :ref:`matplotlibrc
QtAgg backend.
When run from a script, or interactively (e.g. from an
-`iPython shell `_) the Figure
+`iPython shell `_) the Figure
will not be shown until we call ``plt.show()``. The Figure will appear in
a new GUI window, and usually will have a toolbar with Zoom, Pan, and other tools
for interacting with the Figure. By default, ``plt.show()`` blocks
diff --git a/requirements/doc/doc-requirements.txt b/requirements/doc/doc-requirements.txt
index 356d5cde7596..c0b4a19e3dd3 100644
--- a/requirements/doc/doc-requirements.txt
+++ b/requirements/doc/doc-requirements.txt
@@ -15,7 +15,7 @@ ipykernel
numpydoc>=1.0
packaging>=20
pydata-sphinx-theme~=0.13.1
-mpl-sphinx-theme~=3.7.0
+mpl-sphinx-theme~=3.8.0
pyyaml
sphinxcontrib-svg2pdfconverter>=1.1.0
sphinx-gallery>=0.12.0
diff --git a/tools/cache_zenodo_svg.py b/tools/cache_zenodo_svg.py
index 7d7a51280133..2058701e5999 100644
--- a/tools/cache_zenodo_svg.py
+++ b/tools/cache_zenodo_svg.py
@@ -63,6 +63,8 @@ def _get_xdg_cache_dir():
if __name__ == "__main__":
data = {
+ "v3.8.0": "8347255",
+ "v3.7.3": "8336761",
"v3.7.2": "8118151",
"v3.7.1": "7697899",
"v3.7.0": "7637593",