diff --git a/SECURITY.md b/SECURITY.md
index 139c7dca3ece..8cac0a77d53e 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -8,8 +8,9 @@ versions.
| Version | Supported |
| ------- | ------------------ |
+| 3.6.x | :white_check_mark: |
| 3.5.x | :white_check_mark: |
-| 3.4.x | :white_check_mark: |
+| 3.4.x | :x: |
| 3.3.x | :x: |
| < 3.3 | :x: |
diff --git a/doc/_static/zenodo_cache/7084615.svg b/doc/_static/zenodo_cache/7084615.svg
new file mode 100644
index 000000000000..9bb362063414
--- /dev/null
+++ b/doc/_static/zenodo_cache/7084615.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/doc/api/artist_api.rst b/doc/api/artist_api.rst
index ca2207e15dca..b99842372bbe 100644
--- a/doc/api/artist_api.rst
+++ b/doc/api/artist_api.rst
@@ -105,6 +105,7 @@ Drawing
Artist.get_agg_filter
Artist.get_window_extent
+ Artist.get_tightbbox
Artist.get_transformed_clip_path_and_affine
Figure and Axes
diff --git a/doc/api/matplotlib_configuration_api.rst b/doc/api/matplotlib_configuration_api.rst
index eb9cffb0f93f..d5dc60c80613 100644
--- a/doc/api/matplotlib_configuration_api.rst
+++ b/doc/api/matplotlib_configuration_api.rst
@@ -31,6 +31,7 @@ Default values and styling
:no-members:
.. automethod:: find_all
+ .. automethod:: copy
.. autofunction:: rc_context
diff --git a/doc/api/next_api_changes/behavior/19214-DS.rst b/doc/api/next_api_changes/behavior/19214-DS.rst
deleted file mode 100644
index cffd0b8ffd6f..000000000000
--- a/doc/api/next_api_changes/behavior/19214-DS.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Improved autoscaling for bezier curves
---------------------------------------
-Bezier curves are now autoscaled to their extents - previously they were
-autoscaled to their ends and control points, which in some cases led to
-unnecessarily large limits.
diff --git a/doc/api/next_api_changes/behavior/19368-DS.rst b/doc/api/next_api_changes/behavior/19368-DS.rst
deleted file mode 100644
index 455eba1570f9..000000000000
--- a/doc/api/next_api_changes/behavior/19368-DS.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-Large ``imshow`` images are now downsampled
--------------------------------------------
-When showing an image using `~matplotlib.axes.Axes.imshow` that has more than
-:math:`2^{24}` columns or :math:`2^{23}` rows, the image will now be downsampled
-to below this resolution before being resampled for display by the AGG renderer.
-Previously such a large image would be shown incorrectly. To prevent this
-downsampling and the warning it raises, manually downsample your data before
-handing it to `~matplotlib.axes.Axes.imshow`
diff --git a/doc/api/next_api_changes/behavior/20426-JK.rst b/doc/api/next_api_changes/behavior/20426-JK.rst
deleted file mode 100644
index cc849c796eac..000000000000
--- a/doc/api/next_api_changes/behavior/20426-JK.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Incompatible layout engines raise
----------------------------------
-``tight_layout`` and ``constrained_layout`` are incompatible if
-a colorbar has been added to the figure. Invoking the incompatible layout
-engine used to warn, but now raises with a ``RuntimeError``.
diff --git a/doc/api/next_api_changes/behavior/20715-JKS.rst b/doc/api/next_api_changes/behavior/20715-JKS.rst
deleted file mode 100644
index a91aa40ed68c..000000000000
--- a/doc/api/next_api_changes/behavior/20715-JKS.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-``Type1Font`` objects include more properties
----------------------------------------------
-
-The ``matplotlib._type1font.Type1Font.prop`` dictionary now includes more keys,
-such as ``CharStrings`` and ``Subrs``. The value of the ``Encoding`` key is
-now a dictionary mapping codes to glyph names. The
-``matplotlib._type1font.Type1Font.transform`` method now correctly removes
-``UniqueID`` properties from the font.
diff --git a/doc/api/next_api_changes/behavior/21026-DS.rst b/doc/api/next_api_changes/behavior/21026-DS.rst
deleted file mode 100644
index 1fdf18bd0929..000000000000
--- a/doc/api/next_api_changes/behavior/21026-DS.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-3D contourf polygons placed between levels
-------------------------------------------
-The polygons used in a 3D `~.Axes3D.contourf` plot are
-now placed halfway between the contour levels, as each polygon represents the
-location of values that lie between two levels.
diff --git a/doc/api/next_api_changes/behavior/21042-AL.rst b/doc/api/next_api_changes/behavior/21042-AL.rst
deleted file mode 100644
index 9edec6270ff0..000000000000
--- a/doc/api/next_api_changes/behavior/21042-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-rcParams.copy() returns a new RcParams instance, rather than a dict
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This makes the copied instance still validate inputs, and additionally avoids
-emitting deprecation warnings when using a previously copied RcParams instance
-to update the global instance (even if some entries are deprecated).
diff --git a/doc/api/next_api_changes/behavior/21238-AL.rst b/doc/api/next_api_changes/behavior/21238-AL.rst
deleted file mode 100644
index 8776af61ca4d..000000000000
--- a/doc/api/next_api_changes/behavior/21238-AL.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``CallbackRegistry`` raises on unknown signals
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-When Matplotlib instantiates a `.CallbackRegistry`, it now limits callbacks
-to the signals that the registry knows about. In practice, this means that
-calling `~.FigureCanvasBase.mpl_connect` with an invalid signal name now raises
-a `ValueError`.
diff --git a/doc/api/next_api_changes/behavior/21983-AL.rst b/doc/api/next_api_changes/behavior/21983-AL.rst
deleted file mode 100644
index d287756ec2d4..000000000000
--- a/doc/api/next_api_changes/behavior/21983-AL.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-``FigureFrameWx`` constructor, subclasses, and ``get_canvas``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The ``FigureCanvasWx`` constructor gained a *canvas_class* keyword-only
-parameter which specifies the canvas class that should be used. This
-parameter will become required in the future. The ``get_canvas`` method,
-which was previously used to customize canvas creation, is deprecated. The
-``FigureFrameWxAgg`` and ``FigureFrameWxCairo`` subclasses, which overrode
-``get_canvas``, are deprecated.
diff --git a/doc/api/next_api_changes/behavior/22013-AL.rst b/doc/api/next_api_changes/behavior/22013-AL.rst
deleted file mode 100644
index c46b9ab7e488..000000000000
--- a/doc/api/next_api_changes/behavior/22013-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``FigureFrameWx.sizer``
-~~~~~~~~~~~~~~~~~~~~~~~
-... has been removed. The frame layout is no longer based on a sizer, as the
-canvas is now the sole child widget; the toolbar is now a regular toolbar
-added using ``SetToolBar``.
diff --git a/doc/api/next_api_changes/behavior/22063-SR.rst b/doc/api/next_api_changes/behavior/22063-SR.rst
deleted file mode 100644
index e09bcaa70706..000000000000
--- a/doc/api/next_api_changes/behavior/22063-SR.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Move Axes title to not overlap with y axis offset
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Previously, Axes titles could overlap the y-axis offset text, which is often
-in the upper left corner of the axes. Now titles are moved above the offset
-text if overlapping, and autopositioning is in effect (i.e. if *y* in
-`.Axes.set_title` is *None* and :rc:`axes.titley` is also *None*).
diff --git a/doc/api/next_api_changes/behavior/22204-AL.rst b/doc/api/next_api_changes/behavior/22204-AL.rst
deleted file mode 100644
index 151ac6618bf6..000000000000
--- a/doc/api/next_api_changes/behavior/22204-AL.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-``MathtextBackendAgg.get_results`` no longer returns ``used_characters``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The last item (``used_characters``) in the tuple returned by
-``MathtextBackendAgg.get_results`` has been removed. In order to unpack this
-tuple in a backward and forward-compatible way, use e.g.
-``ox, oy, width, height, descent, image, *_ = parse(...)``,
-which will ignore ``used_characters`` if it was present.
diff --git a/doc/api/next_api_changes/behavior/22229-TAC.rst b/doc/api/next_api_changes/behavior/22229-TAC.rst
deleted file mode 100644
index 2f60539e16fc..000000000000
--- a/doc/api/next_api_changes/behavior/22229-TAC.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-ArtistList proxies copy contents on iteration
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When iterating over the contents of the dynamically generated proxy lists
-for the Artist-type accessors (see :ref:`Behavioural API Changes 3.5 - Axes
-children combined`), a copy of the contents is made. This ensure that artists
-can safely be added or removed from the Axes while iterating over their children.
-
-This is a departure from the expected behavior of mutable iterable data types
-in Python -- iterating over list while mutating it has surprising consequences
-and dictionaries will error if they change size during iteration.
-Because all of the accessors are filtered views of the same underlying list, it
-is possible for seemingly unrelated changes, such as removing a Line, to affect
-the iteration over any of the other accessors. In this case, we have opted to
-make a copy of the relevant children before yielding them to the user.
-
-This change is also consistent with our plan to make these accessors immutable
-in Matplotlib 3.7.
diff --git a/doc/api/next_api_changes/behavior/22485-TH.rst b/doc/api/next_api_changes/behavior/22485-TH.rst
deleted file mode 100644
index b2d7f61238bd..000000000000
--- a/doc/api/next_api_changes/behavior/22485-TH.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``AxesImage`` string representation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The string representation of `.AxesImage` changes from
-stating the position in the figure ``"AxesImage(80,52.8;496x369.6)"`` to
-giving the number of pixels ``"AxesImage(size=(300, 200))"``.
diff --git a/doc/api/next_api_changes/behavior/22567-IT.rst b/doc/api/next_api_changes/behavior/22567-IT.rst
deleted file mode 100644
index fcda503ffacc..000000000000
--- a/doc/api/next_api_changes/behavior/22567-IT.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-New algorithm keyword argument to contour and contourf
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The contouring functions `~matplotlib.axes.Axes.contour` and
-`~matplotlib.axes.Axes.contourf` have a new keyword argument *algorithm* to
-control which algorithm is used to calculate the contours. There is a choice
-of four algorithms to use, and the default is to use ``algorithm='mpl2014'``
-which is the same algorithm that Matplotlib has been using since 2014.
-
-Other possible values of the *algorithm* keyword argument are ``'mpl2005'``,
-``'serial'`` and ``'threaded'``; see the
-`ContourPy documentation `_ for further
-details.
diff --git a/doc/api/next_api_changes/behavior/22639-RA.rst b/doc/api/next_api_changes/behavior/22639-RA.rst
deleted file mode 100644
index c6417e1633f1..000000000000
--- a/doc/api/next_api_changes/behavior/22639-RA.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-MacOSX backend to use sRGB instead of GenericRGB colorspace
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-MacOSX backend now display sRGB tagged image instead of GenericRGB which is
-an older (now deprecated) Apple colorspace. This is the source colorspace
-used by ColorSync to convert to the current display profile.
diff --git a/doc/api/next_api_changes/behavior/22691-JMK.rst b/doc/api/next_api_changes/behavior/22691-JMK.rst
deleted file mode 100644
index 258af259bb89..000000000000
--- a/doc/api/next_api_changes/behavior/22691-JMK.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-QuadMesh mouseover defaults to False
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-New in 3.5, `.QuadMesh.get_cursor_data` allows display of data values
-under the cursor. However, this can be very slow for large meshes, so
-by `.QuadMesh.set_mouseover` defaults to *False*.
diff --git a/doc/api/next_api_changes/behavior/22745-JMK.rst b/doc/api/next_api_changes/behavior/22745-JMK.rst
deleted file mode 100644
index 7985d0e6a6fc..000000000000
--- a/doc/api/next_api_changes/behavior/22745-JMK.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-No need to specify renderer for get_tightbbox and get_window_extent
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ``get_tightbbox`` and `~.Artist.get_window_extent` methods
-no longer require the *renderer* kwarg, saving users from having to
-querry it from ``fig.canvas.get_renderer``. If the *renderer*
-kwarg is not supplied these methods first check if there is a cached renderer
-from a previous draw and use that. If there is no cahched renderer, then
-the methods will use ``fig.canvas.get_renderer()`` as a fallback.
diff --git a/doc/api/next_api_changes/behavior/22950-AL.rst b/doc/api/next_api_changes/behavior/22950-AL.rst
deleted file mode 100644
index bd4484936e93..000000000000
--- a/doc/api/next_api_changes/behavior/22950-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``$\doteq \doteqdot \dotminus \dotplus \dots$`` are now surrounded by extra space
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... because they are correctly treated as relational or binary operators.
diff --git a/doc/api/next_api_changes/behavior/23031-AL.rst b/doc/api/next_api_changes/behavior/23031-AL.rst
deleted file mode 100644
index bdb1554fe759..000000000000
--- a/doc/api/next_api_changes/behavior/23031-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-The encoding of style file is now specified to be utf-8
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-It has been impossible to import Matplotlib with a non UTF-8 compatible locale
-encoding because we read the style library at import time. This change is
-formalizing and documenting the status quo so there is no deprecation period.
diff --git a/doc/api/next_api_changes/behavior/23170-JMK.rst b/doc/api/next_api_changes/behavior/23170-JMK.rst
deleted file mode 100644
index 2126d1823fdd..000000000000
--- a/doc/api/next_api_changes/behavior/23170-JMK.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``get_ticklabels`` now always populates labels
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Previously `.Axis.get_ticklabels` (and `.Axes.get_xticklabels`,
-`.Axes.get_yticklabels`) would only return empty strings unless a draw had
-already been performed. Now the ticks and their labels are updated when the
-labels are requested.
diff --git a/doc/api/next_api_changes/behavior/23188-JMK.rst b/doc/api/next_api_changes/behavior/23188-JMK.rst
deleted file mode 100644
index f95f6f642886..000000000000
--- a/doc/api/next_api_changes/behavior/23188-JMK.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-Default date limits changed to 1970-01-01 to 1970-01-02
--------------------------------------------------------
-
-Previously the default limits for an empty axis set up for dates
-(`.Axis.axis_date`) was 2000-01-01 to 2010-01-01. This has been
-changed to 1970-01-01 to 1970-01-02. With the default epoch, this
-makes the numeric limit for date axes the same as for other axes
-(0.0-1.0), and users are less likely to set a locator with far too
-many ticks.
diff --git a/doc/api/next_api_changes/behavior/23206-OG.rst b/doc/api/next_api_changes/behavior/23206-OG.rst
deleted file mode 100644
index 4a91c1a943e3..000000000000
--- a/doc/api/next_api_changes/behavior/23206-OG.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Changed exception type for incorrect SVG date metadata
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Providing date metadata with incorrect type to the SVG backend earlier
-resulted in a ``ValueError``. Now, a ``TypeError`` is raised instead.
diff --git a/doc/api/next_api_changes/behavior/23233-TH.rst b/doc/api/next_api_changes/behavior/23233-TH.rst
deleted file mode 100644
index 8cf50113adf5..000000000000
--- a/doc/api/next_api_changes/behavior/23233-TH.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-``stem(..., markerfmt=...)`` behavior
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The behavior of the *markerfmt* parameter of `~.Axes.stem` has changed:
-
-- If *markerfmt* does not contain a color, the color is taken from *linefmt*.
-- If *markerfmt* does not contain a marker, the default is 'o'.
-
-Before, *markerfmt* was passed unmodified to ``plot(..., fmt)``, which had
-a number of unintended side-effects; e.g. only giving a color switched to
-a solid line without markers.
-
-For a simple call ``stem(x, y)`` without parameters, the new rules still
-reproduce the old behavior.
diff --git a/doc/api/next_api_changes/behavior/23270-AL.rst b/doc/api/next_api_changes/behavior/23270-AL.rst
deleted file mode 100644
index b1702a1423b6..000000000000
--- a/doc/api/next_api_changes/behavior/23270-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-The *math* parameter of ``mathtext.get_unicode_index`` is deprecated and defaults to False
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In math mode, ASCII hyphens (U+002D) are now replaced by unicode minus signs
-(U+2212) at the parsing stage.
diff --git a/doc/api/next_api_changes/behavior/23299-TAC.rst b/doc/api/next_api_changes/behavior/23299-TAC.rst
deleted file mode 100644
index 745bd47d6c6b..000000000000
--- a/doc/api/next_api_changes/behavior/23299-TAC.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-mpl.rc_context no longer resets the value of ``'backend'``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-`matplotlib.rc_context` incorrectly reset the value of :rc:`backend` if backend
-resolution was triggered in the context. This affected only the value. The actual backend
-was not changed. Now, `matplotlib.rc_context` does not reset :rc:`backend` anymore.
diff --git a/doc/api/next_api_changes/behavior/23371-AL.rst b/doc/api/next_api_changes/behavior/23371-AL.rst
deleted file mode 100644
index 4e70f123347c..000000000000
--- a/doc/api/next_api_changes/behavior/23371-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-The default ``rcParams["animation.convert_args"]`` changed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-It now defaults to ``["-layers", "OptimizePlus"]`` to try to generate smaller
-GIFs. Set it back to an empty list to recover the previous behavior.
diff --git a/doc/api/next_api_changes/behavior/23443-AL.rst b/doc/api/next_api_changes/behavior/23443-AL.rst
deleted file mode 100644
index 179c36dcc261..000000000000
--- a/doc/api/next_api_changes/behavior/23443-AL.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-The pgf backend now uses the article documentclass as basis for compilation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/api/next_api_changes/behavior/23475-WLQ.rst b/doc/api/next_api_changes/behavior/23475-WLQ.rst
deleted file mode 100644
index 9f46e0ade107..000000000000
--- a/doc/api/next_api_changes/behavior/23475-WLQ.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-The markerfacecoloralt parameter to Line2D is now supported by axes.errorbar
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- markerfacecoloralt is now passed to the line plotter from axes.errorbar
-- Documentation for axes.errorbar how accurately lists which properties are
- passed on to Line2D, rather than claiming that all kwargs are passed on
diff --git a/doc/api/next_api_changes/behavior/23516-MS.rst b/doc/api/next_api_changes/behavior/23516-MS.rst
deleted file mode 100644
index 1d66b6d22eb8..000000000000
--- a/doc/api/next_api_changes/behavior/23516-MS.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Warning when scatter plot color settings discarded
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-When making an animation of a scatter plot, if you don't set *c* (the color
-value parameter) when initializing the artist, the color settings are ignored.
-`.Axes.scatter` now raises a warning if color-related settings are changed
-without setting *c*.
diff --git a/doc/api/next_api_changes/behavior/23550-OG.rst b/doc/api/next_api_changes/behavior/23550-OG.rst
deleted file mode 100644
index 6f7420e431ff..000000000000
--- a/doc/api/next_api_changes/behavior/23550-OG.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Specified exception types in Grid
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In a few cases an `Exception` was thrown when an incorrect argument value
-was set in the `mpl_toolkits.axes_grid1.axes_grid.Grid`
-(= `mpl_toolkits.axisartist.axes_grid.Grid`) constructor. These are replaced
-as follows:
-
-* Providing an incorrect value for *ngrids* now raises a `ValueError`
-* Providing an incorrect type for *rect* now raises a `TypeError`
diff --git a/doc/api/next_api_changes/deprecations/16931-AL.rst b/doc/api/next_api_changes/deprecations/16931-AL.rst
deleted file mode 100644
index 3dfa7d2cbaf7..000000000000
--- a/doc/api/next_api_changes/deprecations/16931-AL.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-Event handlers
-~~~~~~~~~~~~~~
-The ``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``,
-``enter_notify_event`` and ``leave_notify_event`` methods of `.FigureCanvasBase`
-are deprecated. They had inconsistent signatures across backends, and made it
-difficult to improve event metadata.
-
-In order to trigger an event on a canvas, directly construct an `.Event` object
-of the correct class and call ``canvas.callbacks.process(event.name, event)``.
diff --git a/doc/api/next_api_changes/deprecations/20071-AL.rst b/doc/api/next_api_changes/deprecations/20071-AL.rst
deleted file mode 100644
index cf07224581ad..000000000000
--- a/doc/api/next_api_changes/deprecations/20071-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``axes_size`` internal helpers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following APIs are deprecated: ``axes_size.Padded`` (use ``size + pad``
-instead), ``axes_size.SizeFromFunc``, ``axes_size.GetExtentHelper``.
diff --git a/doc/api/next_api_changes/deprecations/20839-EP.rst b/doc/api/next_api_changes/deprecations/20839-EP.rst
deleted file mode 100644
index 1388abca194f..000000000000
--- a/doc/api/next_api_changes/deprecations/20839-EP.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Selector widget state internals
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The *state_modifier_keys* attribute have been privatized and the modifier keys
-needs to be set when creating the widget.
diff --git a/doc/api/next_api_changes/deprecations/20995-AL.rst b/doc/api/next_api_changes/deprecations/20995-AL.rst
deleted file mode 100644
index bdccd8f5d333..000000000000
--- a/doc/api/next_api_changes/deprecations/20995-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``backend_gtk3.icon_filename`` and ``backend_gtk3.window_icon``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/21056-AL.rst b/doc/api/next_api_changes/deprecations/21056-AL.rst
deleted file mode 100644
index c97a7f2dfde6..000000000000
--- a/doc/api/next_api_changes/deprecations/21056-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Calling ``MarkerStyle()`` with no arguments or ``MarkerStyle(None)``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated; use ``MarkerStyle("")`` to construct an empty marker style.
diff --git a/doc/api/next_api_changes/deprecations/21187-AL.rst b/doc/api/next_api_changes/deprecations/21187-AL.rst
deleted file mode 100644
index 8f4e1be05a8b..000000000000
--- a/doc/api/next_api_changes/deprecations/21187-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``backend_gtk3.error_msg_gtk`` and ``backend_wx.error_msg_wx``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated.
diff --git a/doc/api/next_api_changes/deprecations/21356-AL.rst b/doc/api/next_api_changes/deprecations/21356-AL.rst
deleted file mode 100644
index de6cb79dd908..000000000000
--- a/doc/api/next_api_changes/deprecations/21356-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-In the future, ``dviread.find_tex_file`` will raise a ``FileNotFoundError`` for missing files
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Previously, it would return an empty string in such cases. Raising an
-exception allows attaching a user-friendly message instead. During the
-transition period, a warning is raised.
diff --git a/doc/api/next_api_changes/deprecations/21412-AL.rst b/doc/api/next_api_changes/deprecations/21412-AL.rst
deleted file mode 100644
index e101620739d9..000000000000
--- a/doc/api/next_api_changes/deprecations/21412-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``backend_svg.generate_transform`` and ``backend_svg.generate_css``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/21425-AL.rst b/doc/api/next_api_changes/deprecations/21425-AL.rst
deleted file mode 100644
index d6652bfbac57..000000000000
--- a/doc/api/next_api_changes/deprecations/21425-AL.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-3D Axis
-~~~~~~~
-The previous constructor of `.axis3d.Axis`, with signature
-``(self, adir, v_intervalx, d_intervalx, axes, *args, rotate_label=None, **kwargs)``
-is deprecated in favor of a new signature closer to the one of 2D Axis; it
-is now ``(self, axes, *, rotate_label=None, **kwargs)`` where ``kwargs`` are
-forwarded to the 2D Axis constructor. The axis direction is now inferred from
-the axis class' ``axis_name`` attribute (as in the 2D case); the ``adir``
-attribute is deprecated.
-
-The ``init3d`` method of 3D Axis is also deprecated; all the relevant
-initialization is done as part of the constructor.
-
-The ``d_interval`` and ``v_interval`` attributes of 3D Axis are deprecated; use
-``get_data_interval`` and ``get_view_interval`` instead.
diff --git a/doc/api/next_api_changes/deprecations/21584-AL.rst b/doc/api/next_api_changes/deprecations/21584-AL.rst
deleted file mode 100644
index c6f47530cddb..000000000000
--- a/doc/api/next_api_changes/deprecations/21584-AL.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Modifications to the Groupers returned by ``get_shared_x_axes`` and ``get_shared_y_axes``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated. In the future, these methods will return immutable views
-on the grouper structures. 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/deprecations/21962-AL.rst b/doc/api/next_api_changes/deprecations/21962-AL.rst
deleted file mode 100644
index e5ddab747b48..000000000000
--- a/doc/api/next_api_changes/deprecations/21962-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``backend_pgf``
-~~~~~~~~~~~~~~~
-The following API elements have been deprecated with no
-replacement: ``NO_ESCAPE``, ``re_mathsep``, ``get_fontspec``, ``get_preamble``,
-``common_texification``, ``writeln``.
diff --git a/doc/api/next_api_changes/deprecations/21965-AL.rst b/doc/api/next_api_changes/deprecations/21965-AL.rst
deleted file mode 100644
index 6ba7bf3cc852..000000000000
--- a/doc/api/next_api_changes/deprecations/21965-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``transOffset`` parameter name
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The ``transOffset`` parameter of `.Collection.set_offset_transform` and the
-various ``create_collection`` methods of legend handlers has been renamed to
-``offset_transform`` (consistently with the property name).
diff --git a/doc/api/next_api_changes/deprecations/21981-AL.rst b/doc/api/next_api_changes/deprecations/21981-AL.rst
deleted file mode 100644
index 5641f09e4991..000000000000
--- a/doc/api/next_api_changes/deprecations/21981-AL.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-``RendererGTK3Cairo`` and ``RendererGTK4Cairo``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... have been deprecated. Use ``RendererCairo`` instead, which has gained
-the ``set_context`` method, which also auto-infers the size of the underlying
-surface.
-
-``RendererCairo.set_ctx_from_surface`` and ``RendererCairo.set_width_height``
-have likewise been deprecated, in favor of ``set_context``.
diff --git a/doc/api/next_api_changes/deprecations/21982-AL.rst b/doc/api/next_api_changes/deprecations/21982-AL.rst
deleted file mode 100644
index 38f37db510a7..000000000000
--- a/doc/api/next_api_changes/deprecations/21982-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``FigureManagerGTK3Agg`` and ``FigureManagerGTK4Agg``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated; directly use ``FigureManagerGTK3`` and
-``FigureManagerGTK4`` instead.
diff --git a/doc/api/next_api_changes/deprecations/21992-AL.rst b/doc/api/next_api_changes/deprecations/21992-AL.rst
deleted file mode 100644
index e3bdaba31267..000000000000
--- a/doc/api/next_api_changes/deprecations/21992-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``lastrect``
-~~~~~~~~~~~~
-The ``lastrect`` attribute of ``NavigationToolbar2Tk`` and ``RubberbandTk`` is
-deprecated.
diff --git a/doc/api/next_api_changes/deprecations/21995-AL.rst b/doc/api/next_api_changes/deprecations/21995-AL.rst
deleted file mode 100644
index e9b7dab027f0..000000000000
--- a/doc/api/next_api_changes/deprecations/21995-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``ImageMagickBase.delay`` and ``ImageMagickBase.output_args``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-are deprecated with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/22021-AL.rst b/doc/api/next_api_changes/deprecations/22021-AL.rst
deleted file mode 100644
index 24b565409b97..000000000000
--- a/doc/api/next_api_changes/deprecations/22021-AL.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-``NavigationToolbar2GTK3`` window
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The *window* parameter to ``NavigationToolbar2GTK3`` had no effect, and is now
-deprecated; likewise, the ``win`` attribute is deprecated.
-
-``NavigationToolbar2Tk`` window
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The *window* attribute to ``NavigationToolbar2GTK3`` is deprecated. Use
-``toolbar.master`` instead.
diff --git a/doc/api/next_api_changes/deprecations/22025-AL.rst b/doc/api/next_api_changes/deprecations/22025-AL.rst
deleted file mode 100644
index 52a4fc04707a..000000000000
--- a/doc/api/next_api_changes/deprecations/22025-AL.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-``FigureFrameWx`` attributes and methods
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ``sizer`` is deprecated (use ``frame.GetSizer()`` instead).
-- ``figmgr`` and ``get_figure_manager`` are deprecated (use
- ``frame.canvas.manager`` instead).
-- ``num`` is deprecated (use ``frame.canvas.manager.num`` instead).
-- ``toolbar`` is deprecated (use ``frame.GetToolBar()``
- instead).
-- ``toolmanager`` is deprecated (use ``frame.canvas.manager.toolmanager``
- instead).
-
-``RendererWx.offset_text_height``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated.
diff --git a/doc/api/next_api_changes/deprecations/22050-AL.rst b/doc/api/next_api_changes/deprecations/22050-AL.rst
deleted file mode 100644
index df32560157c3..000000000000
--- a/doc/api/next_api_changes/deprecations/22050-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``FigureCanvasBase.resize``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This method has no effect and is deprecated. Use ``FigureManagerBase.resize``
-instead.
diff --git a/doc/api/next_api_changes/deprecations/22051-AL.rst b/doc/api/next_api_changes/deprecations/22051-AL.rst
deleted file mode 100644
index 468cdd39ae53..000000000000
--- a/doc/api/next_api_changes/deprecations/22051-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``FigureCanvas`` without a ``required_interactive_framework`` attribute
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Support for such canvas classes is deprecated. Note that canvas classes which
-inherit from ``FigureCanvasBase`` always have such an attribute.
diff --git a/doc/api/next_api_changes/deprecations/22084-SS.rst b/doc/api/next_api_changes/deprecations/22084-SS.rst
deleted file mode 100644
index ff835dce710c..000000000000
--- a/doc/api/next_api_changes/deprecations/22084-SS.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``Axes3D.dist``
-~~~~~~~~~~~~~~~
-... has been privatized. Use the ``zoom`` keyword argument in
-`.Axes3D.set_box_aspect` instead.
diff --git a/doc/api/next_api_changes/deprecations/22097-AL.rst b/doc/api/next_api_changes/deprecations/22097-AL.rst
deleted file mode 100644
index 0af7e16264c8..000000000000
--- a/doc/api/next_api_changes/deprecations/22097-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``AxisArtistHelper.delta1`` and ``AxisArtistHelper.delta2``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/22098-AL.rst b/doc/api/next_api_changes/deprecations/22098-AL.rst
deleted file mode 100644
index 67672bfe788e..000000000000
--- a/doc/api/next_api_changes/deprecations/22098-AL.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-``axes_grid`` and ``axisartist`` removals
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following deprecated APIs have been removed:
-
-- ``SubplotDivider.figbox``, ``SubplotDivider.update_params``,
-- ``SubplotDivider.get_geometry`` (use ``get_subplotspec`` instead),
-- ``change_geometry`` (use ``set_subplotspec`` instead),
-- ``ParasiteAxesBase.update_viewlim`` (use ``apply_aspect`` instead),
-- ``ParasiteAxesAuxTransBase`` (use ``ParasiteAxesBase`` instead),
-- ``parasite_axes_auxtrans_class_factory`` (use ``parasite_axes_class_factory``
- instead),
-- ``ParasiteAxesAuxTrans`` (use ``ParasiteAxes`` instead),
diff --git a/doc/api/next_api_changes/deprecations/22123-TH.rst b/doc/api/next_api_changes/deprecations/22123-TH.rst
deleted file mode 100644
index 5b65ac760bd6..000000000000
--- a/doc/api/next_api_changes/deprecations/22123-TH.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``Axes.get_window_extent`` and ``Figure.get_window_extent`` won't accept parameters other than *renderer* anymore
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This aligns the API with the general `.Artist.get_window_extent` API.
-All parameters were ignored anyway.
diff --git a/doc/api/next_api_changes/deprecations/22133-OG.rst b/doc/api/next_api_changes/deprecations/22133-OG.rst
deleted file mode 100644
index 7a551d25ce0a..000000000000
--- a/doc/api/next_api_changes/deprecations/22133-OG.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``AFM``, ``configfont_pattern`` and ``Type1Font`` deprecated
-------------------------------------------------------------
-
-The modules ``matplotlib.AFM``, ``matplotlib.configfont_pattern``, and
-``matplotlib.Type1Font`` are considered internal and public access is
-deprecated.
diff --git a/doc/api/next_api_changes/deprecations/22134-OG.rst b/doc/api/next_api_changes/deprecations/22134-OG.rst
deleted file mode 100644
index fc68b4b7b473..000000000000
--- a/doc/api/next_api_changes/deprecations/22134-OG.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Modules ``tight_bbox`` and ``tight_layout`` deprecated
-------------------------------------------------------
-
-The modules ``matplotlib.tight_bbox`` and ``matplotlib.tight_layout`` are
-considered internal and public access is deprecated.
diff --git a/doc/api/next_api_changes/deprecations/22148-OG.rst b/doc/api/next_api_changes/deprecations/22148-OG.rst
deleted file mode 100644
index 70a59ba39042..000000000000
--- a/doc/api/next_api_changes/deprecations/22148-OG.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Module ``docstring`` deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The module ``matplotlib.docstring`` is considered internal and public access
-is deprecated.
diff --git a/doc/api/next_api_changes/deprecations/22167-EP.rst b/doc/api/next_api_changes/deprecations/22167-EP.rst
deleted file mode 100644
index 5cc1c9991e01..000000000000
--- a/doc/api/next_api_changes/deprecations/22167-EP.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Selector widget state internals
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The *visible* attribute has been deprecated, use *set_visible* or
-*get_visible* instead.
diff --git a/doc/api/next_api_changes/deprecations/22245-AL.rst b/doc/api/next_api_changes/deprecations/22245-AL.rst
deleted file mode 100644
index e49a44e69b4b..000000000000
--- a/doc/api/next_api_changes/deprecations/22245-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-*cleared* parameter of ``get_renderer``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This parameter, which only existed for agg-based backends, has been deprecated.
-Use ``renderer.clear()`` instead to explicitly clear the renderer buffer.
diff --git a/doc/api/next_api_changes/deprecations/22268-OG.rst b/doc/api/next_api_changes/deprecations/22268-OG.rst
deleted file mode 100644
index 79efe3783cea..000000000000
--- a/doc/api/next_api_changes/deprecations/22268-OG.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-``ticker`` functions deprecated
--------------------------------
-
-The functions ``matplotlib.ticker.is_decade`` and
-``matplotlib.ticker.is_close_to_int`` are considered internal and public access
-is deprecated.
-
-For ``is_close_to_int`` use ``math.isclose(x, round(x))`` instead.
-For ``is_decade`` use
-``y = numpy.log(x)/numpy.log(base); numpy.isclose(y, numpy.round(y))``
diff --git a/doc/api/next_api_changes/deprecations/22298-GL.rst b/doc/api/next_api_changes/deprecations/22298-GL.rst
deleted file mode 100644
index 814f7c4e48bc..000000000000
--- a/doc/api/next_api_changes/deprecations/22298-GL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``cmap_d`` removal
-~~~~~~~~~~~~~~~~~~
-
-The deprecated ``matplotlib.cm.cmap_d`` access to global colormaps
-has been removed.
diff --git a/doc/api/next_api_changes/deprecations/22317-AL.rst b/doc/api/next_api_changes/deprecations/22317-AL.rst
deleted file mode 100644
index 0b6093a993ce..000000000000
--- a/doc/api/next_api_changes/deprecations/22317-AL.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-seaborn styles renamed
-~~~~~~~~~~~~~~~~~~~~~~
-Matplotlib currently ships many style files inspired from the seaborn
-library ("seaborn", "seaborn-bright", "seaborn-colorblind", etc.) but they
-have gone out of sync with the library itself since the release of seaborn
-0.9. To prevent confusion, the style files have been renamed "seaborn-v0_8",
-"seaborn-v0_8-bright", "seaborn-v0_8-colorblind", etc. Users are encouraged to
-directly use seaborn to access the up-to-date styles.
diff --git a/doc/api/next_api_changes/deprecations/22323-GL.rst b/doc/api/next_api_changes/deprecations/22323-GL.rst
deleted file mode 100644
index b755c7804731..000000000000
--- a/doc/api/next_api_changes/deprecations/22323-GL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``matplotlib.cbook.maxdict`` is deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This class has been deprecated in favor of the standard library
-``functools.lru_cache``.
diff --git a/doc/api/next_api_changes/deprecations/22345-JK.rst b/doc/api/next_api_changes/deprecations/22345-JK.rst
deleted file mode 100644
index 003952fd705f..000000000000
--- a/doc/api/next_api_changes/deprecations/22345-JK.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-Pending deprecation of layout methods
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The methods `~.Figure.set_tight_layout`, `~.Figure.set_constrained_layout`,
-are discouraged, and now emit a ``PendingDeprecationWarning`` in favor of
-explicitly referencing the layout engine via
-``figure.set_layout_engine('tight')`` and
-``figure.set_layout_engine('constrained')``. End users should not see the
-warning, but library authors should adjust.
-
-The methods `~.Figure.set_constrained_layout_pads` and
-`~.Figure.get_constrained_layout_pads` are will be deprecated in favor of
-``figure.get_layout_engine().set()`` and
-``figure.get_layout_engine().get()``, and currently emit a
-``PendingDeprecationWarning``.
diff --git a/doc/api/next_api_changes/deprecations/22415-AL.rst b/doc/api/next_api_changes/deprecations/22415-AL.rst
deleted file mode 100644
index 4991834136ef..000000000000
--- a/doc/api/next_api_changes/deprecations/22415-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-*emit* and *auto* parameters of ``set_xlim``, ``set_ylim``, ``set_zlim``, ``set_rlim``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Passing these parameters positionally is deprecated; they will become
-keyword-only in a future release.
diff --git a/doc/api/next_api_changes/deprecations/22418-AL.rst b/doc/api/next_api_changes/deprecations/22418-AL.rst
deleted file mode 100644
index 8e7fb763223b..000000000000
--- a/doc/api/next_api_changes/deprecations/22418-AL.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Auto-removal of overlapping Axes by ``plt.subplot`` and ``plt.subplot2grid``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Previously, `.pyplot.subplot` and `.pyplot.subplot2grid` would automatically
-remove preexisting Axes that overlap with the newly added Axes. This behavior
-was deemed confusing, and is now deprecated. Explicitly call ``ax.remove()``
-on Axes that need to be removed.
diff --git a/doc/api/next_api_changes/deprecations/22421-AL.rst b/doc/api/next_api_changes/deprecations/22421-AL.rst
deleted file mode 100644
index 36b92d233d12..000000000000
--- a/doc/api/next_api_changes/deprecations/22421-AL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Parameters to ``plt.figure()`` and the ``Figure`` constructor
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-All parameters to `.pyplot.figure` and the `.Figure` constructor, other than
-*num*, *figsize*, and *dpi*, will become keyword-only after a deprecation
-period.
diff --git a/doc/api/next_api_changes/deprecations/22422-AL.rst b/doc/api/next_api_changes/deprecations/22422-AL.rst
deleted file mode 100644
index 174e4e50f1d3..000000000000
--- a/doc/api/next_api_changes/deprecations/22422-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``backend_ps.convert_psfrags``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated.
diff --git a/doc/api/next_api_changes/deprecations/22490-AL.rst b/doc/api/next_api_changes/deprecations/22490-AL.rst
deleted file mode 100644
index 735a1ca350c3..000000000000
--- a/doc/api/next_api_changes/deprecations/22490-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``Affine2D.identity()``
-~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated in favor of directly calling the `.Affine2D` constructor with
-no arguments.
diff --git a/doc/api/next_api_changes/deprecations/22503-AL.rst b/doc/api/next_api_changes/deprecations/22503-AL.rst
deleted file mode 100644
index fb5990e5c4f0..000000000000
--- a/doc/api/next_api_changes/deprecations/22503-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``backend_qt.qApp``
-~~~~~~~~~~~~~~~~~~~
-... is deprecated. Use ``QtWidgets.QApplication.instance()`` instead.
diff --git a/doc/api/next_api_changes/deprecations/22506-AL.rst b/doc/api/next_api_changes/deprecations/22506-AL.rst
deleted file mode 100644
index fe3611563c63..000000000000
--- a/doc/api/next_api_changes/deprecations/22506-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``MathtextBackend``, ``MathtextBackendAgg``, ``MathtextBackendPath``, ``MathTextWarning``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/22509-AL.rst b/doc/api/next_api_changes/deprecations/22509-AL.rst
deleted file mode 100644
index 01191b500757..000000000000
--- a/doc/api/next_api_changes/deprecations/22509-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``ToolBase.destroy``
-~~~~~~~~~~~~~~~~~~~~
-... is deprecated. To run code upon tool removal, connect to the
-``tool_removed_event`` event.
diff --git a/doc/api/next_api_changes/deprecations/22539-AL.rst b/doc/api/next_api_changes/deprecations/22539-AL.rst
deleted file mode 100644
index 51e2d2a77de4..000000000000
--- a/doc/api/next_api_changes/deprecations/22539-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``matplotlib.text.get_rotation()``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated with no replacement. Copy the original implementation if
-needed.
diff --git a/doc/api/next_api_changes/deprecations/22547-AL.rst b/doc/api/next_api_changes/deprecations/22547-AL.rst
deleted file mode 100644
index 274d3fa3f014..000000000000
--- a/doc/api/next_api_changes/deprecations/22547-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``TextToPath.get_texmanager``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated; directly construct a `.texmanager.TexManager` instead.
diff --git a/doc/api/next_api_changes/deprecations/22554-AL.rst b/doc/api/next_api_changes/deprecations/22554-AL.rst
deleted file mode 100644
index f7c461c2bbf0..000000000000
--- a/doc/api/next_api_changes/deprecations/22554-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``_DummyAxis.dataLim`` and ``_DummyAxis.viewLim``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated. Use ``get_data_interval()``, ``set_data_interval()``,
-``get_view_interval()``, and ``set_view_interval()`` instead.
diff --git a/doc/api/next_api_changes/deprecations/22697-OG.rst b/doc/api/next_api_changes/deprecations/22697-OG.rst
deleted file mode 100644
index d3ac3d85f0fc..000000000000
--- a/doc/api/next_api_changes/deprecations/22697-OG.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-Deprecations in ``testing.decorators``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The unused class ``CleanupTestCase`` and decorator ``cleanup`` are deprecated
-and will be removed. Vendor the code, including the private function
-``_cleanup_cm``.
-
-The function ``check_freetype_version`` is considered internal and deprecated.
-Vendor the code of the private function ``_check_freetype_version``.
diff --git a/doc/api/next_api_changes/deprecations/22725-AL.rst b/doc/api/next_api_changes/deprecations/22725-AL.rst
deleted file mode 100644
index 4ca25374c2e4..000000000000
--- a/doc/api/next_api_changes/deprecations/22725-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``TexManager.get_font_config``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated with no replacement. (It previously returned an internal
-hashed key for used for caching purposes.)
diff --git a/doc/api/next_api_changes/deprecations/22797-OG.rst b/doc/api/next_api_changes/deprecations/22797-OG.rst
deleted file mode 100644
index c263a3969d4b..000000000000
--- a/doc/api/next_api_changes/deprecations/22797-OG.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-Deprecation of helper functions in backends
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following functions are considered private and deprecated. Vendor the code
-of the similarly named private functions if you rely on these functions.
-
-* ``backend_pdf.fill``
-* ``backend_ps.quote_ps_string``
-* ``backend_svg.escape_attrib``
-* ``backend_svg.escape_cdata``
-* ``backend_svg.escape_comment``
-* ``backend_svg.short_float_fmt``
diff --git a/doc/api/next_api_changes/deprecations/22813-GL.rst b/doc/api/next_api_changes/deprecations/22813-GL.rst
deleted file mode 100644
index 476ee7975e17..000000000000
--- a/doc/api/next_api_changes/deprecations/22813-GL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``figure.callbacks`` is deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The figure callbacks property is deprecated. 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.
diff --git a/doc/api/next_api_changes/deprecations/22883-AL.rst b/doc/api/next_api_changes/deprecations/22883-AL.rst
deleted file mode 100644
index 916658e6f1e2..000000000000
--- a/doc/api/next_api_changes/deprecations/22883-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Passing too many positional arguments to ``tripcolor``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is now deprecated (extra arguments were previously silently ignored).
diff --git a/doc/api/next_api_changes/deprecations/22885-AL.rst b/doc/api/next_api_changes/deprecations/22885-AL.rst
deleted file mode 100644
index 3eb235cb7c8c..000000000000
--- a/doc/api/next_api_changes/deprecations/22885-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``backend_pdf.Operator`` and ``backend_pdf.Op.op``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated in favor of a single standard `enum.Enum` interface on
-`.backend_pdf.Op`.
diff --git a/doc/api/next_api_changes/deprecations/23014-OG.rst b/doc/api/next_api_changes/deprecations/23014-OG.rst
deleted file mode 100644
index b7d995e22802..000000000000
--- a/doc/api/next_api_changes/deprecations/23014-OG.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Methods to set parameters in ``LogLocator`` and ``LogFormatter*``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In `~.LogFormatter` and derived subclasses, the methods ``base`` and
-``label_minor`` for setting the respective parameter are deprecated and
-replaced by ``set_base`` and ``set_label_minor``, respectively.
-
-In `~.LogLocator`, the methods ``base`` and ``subs`` for setting the
-respective parameter are deprecated. Instead, use
-``set_params(base=..., subs=...)``.
diff --git a/doc/api/next_api_changes/deprecations/23045-OG.rst b/doc/api/next_api_changes/deprecations/23045-OG.rst
deleted file mode 100644
index e10c410999ad..000000000000
--- a/doc/api/next_api_changes/deprecations/23045-OG.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-``checkdep_usetex`` deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This method was only intended to disable tests in case no latex install was
-found. As such, it is considered to be private and for internal use only.
-
-Please vendor the code if you need this.
diff --git a/doc/api/next_api_changes/deprecations/23081-OG.rst b/doc/api/next_api_changes/deprecations/23081-OG.rst
deleted file mode 100644
index da7f697023c0..000000000000
--- a/doc/api/next_api_changes/deprecations/23081-OG.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-``date_ticker_factory`` deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ``date_ticker_factory`` method in the `matplotlib.dates` module is
-deprecated. Instead use `~.AutoDateLocator` and `~.AutoDateFormatter` for a
-more flexible and scalable locator and formatter.
-
-If you need the exact ``date_ticker_factory`` behavior, please copy the code.
diff --git a/doc/api/next_api_changes/deprecations/23166-ES.rst b/doc/api/next_api_changes/deprecations/23166-ES.rst
deleted file mode 100644
index 34392973306f..000000000000
--- a/doc/api/next_api_changes/deprecations/23166-ES.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Positional arguments in Artist constructors
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Passing all but the very few first arguments positionally in the constructors
-of Artists is deprecated. Most arguments will become keyword-only in a future
-version.
diff --git a/doc/api/next_api_changes/deprecations/23190-OG.rst b/doc/api/next_api_changes/deprecations/23190-OG.rst
deleted file mode 100644
index 0fe0624a2382..000000000000
--- a/doc/api/next_api_changes/deprecations/23190-OG.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-Unused methods in ``Axis``, ``Tick``, ``XAxis``, and ``YAxis``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following methods are no longer used and deprecated without a replacement::
-
- - ``Axis.get_ticklabel_extents``
- - ``Tick.get_pad_pixels``
- - ``XAxis.get_text_heights``
- - ``YAxis.get_text_widths``
diff --git a/doc/api/next_api_changes/deprecations/23202-GL.rst b/doc/api/next_api_changes/deprecations/23202-GL.rst
deleted file mode 100644
index c4e7a6538a7c..000000000000
--- a/doc/api/next_api_changes/deprecations/23202-GL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``Axes.get_renderer_cache``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The canvas now takes care of the renderer and whether to cache it
-or not. The alternative is to call ``axes.figure.canvas.get_renderer()``.
diff --git a/doc/api/next_api_changes/deprecations/23232-TH.rst b/doc/api/next_api_changes/deprecations/23232-TH.rst
deleted file mode 100644
index c4df9f3bc666..000000000000
--- a/doc/api/next_api_changes/deprecations/23232-TH.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Passing *linefmt* positionally is undeprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Positional use of all formatting parameters in `~.Axes.stem` has been
-deprecated since Matplotlib 3.5. This deprecation is relaxed so that one can
-still pass *linefmt* positionally, i.e. ``stem(x, y, 'r')``.
diff --git a/doc/api/next_api_changes/deprecations/23289-AL.rst b/doc/api/next_api_changes/deprecations/23289-AL.rst
deleted file mode 100644
index 85ce88e6fe1c..000000000000
--- a/doc/api/next_api_changes/deprecations/23289-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``backend_pdf.Name.hexify``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated with no replacement.
diff --git a/doc/api/next_api_changes/deprecations/23302-TH.rst b/doc/api/next_api_changes/deprecations/23302-TH.rst
deleted file mode 100644
index 777c1f975590..000000000000
--- a/doc/api/next_api_changes/deprecations/23302-TH.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``stem(..., use_line_collection=False)``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated with no replacement. This was compatibility fallback to a
-former more inefficient representation of the stem lines.
diff --git a/doc/api/next_api_changes/deprecations/23348-AL.rst b/doc/api/next_api_changes/deprecations/23348-AL.rst
deleted file mode 100644
index e4f0443f58e0..000000000000
--- a/doc/api/next_api_changes/deprecations/23348-AL.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-The ``canvas`` and ``background`` attributes of ``MultiCursor``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated with no replacement.
-
-All parameters to ``MultiCursor`` starting from *useblit*
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are becoming keyword-only (passing them positionally is deprecated).
diff --git a/doc/api/next_api_changes/deprecations/23444-AL.rst b/doc/api/next_api_changes/deprecations/23444-AL.rst
deleted file mode 100644
index 6c4d4603ff9f..000000000000
--- a/doc/api/next_api_changes/deprecations/23444-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-The ``texcommand`` and ``latex_header`` attributes of ``backend_pgf.LatexManager``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated.
diff --git a/doc/api/next_api_changes/deprecations/23448-AL.rst b/doc/api/next_api_changes/deprecations/23448-AL.rst
deleted file mode 100644
index 11a1c6395c94..000000000000
--- a/doc/api/next_api_changes/deprecations/23448-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``FigureCanvasBase.pick``
-~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated. Directly call `.Figure.pick`, which has taken over the
-responsibility of checking the canvas widgetlock as well.
diff --git a/doc/api/next_api_changes/deprecations/23455-OG.rst b/doc/api/next_api_changes/deprecations/23455-OG.rst
deleted file mode 100644
index 826aef546a16..000000000000
--- a/doc/api/next_api_changes/deprecations/23455-OG.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``w_xaxis``, ``w_yaxis``, and ``w_zaxis`` of ``Axis3D``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-... have been pending deprecation since 3.1. They are now deprecated.
-Instead use ``xaxis``, ``yaxis``, and ``zaxis``.
diff --git a/doc/api/next_api_changes/deprecations/23463-OG.rst b/doc/api/next_api_changes/deprecations/23463-OG.rst
deleted file mode 100644
index 7d8309462dbf..000000000000
--- a/doc/api/next_api_changes/deprecations/23463-OG.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``Tick.label``
-~~~~~~~~~~~~~~
-
-... has been pending deprecation since 3.1 and is now deprecated.
-Use ``Tick.label1`` instead.
diff --git a/doc/api/next_api_changes/deprecations/23464-AL.rst b/doc/api/next_api_changes/deprecations/23464-AL.rst
deleted file mode 100644
index 91ab83fc6fe9..000000000000
--- a/doc/api/next_api_changes/deprecations/23464-AL.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-``FigureManagerMac.close`` is deprecated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/api/next_api_changes/deprecations/23469-AL.rst b/doc/api/next_api_changes/deprecations/23469-AL.rst
deleted file mode 100644
index e045a9018ad6..000000000000
--- a/doc/api/next_api_changes/deprecations/23469-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``axislines.GridHelperBase.new_gridlines`` and ``axislines.Axes.new_gridlines``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... are deprecated.
diff --git a/doc/api/next_api_changes/deprecations/23572-AL.rst b/doc/api/next_api_changes/deprecations/23572-AL.rst
deleted file mode 100644
index 0569b3a73389..000000000000
--- a/doc/api/next_api_changes/deprecations/23572-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``GridSpecBase.get_grid_positions(..., raw=True)``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated.
diff --git a/doc/api/next_api_changes/deprecations/23647-OG.rst b/doc/api/next_api_changes/deprecations/23647-OG.rst
deleted file mode 100644
index ee44f491812f..000000000000
--- a/doc/api/next_api_changes/deprecations/23647-OG.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``mplot3d.axis3d.Axis.set_pane_pos``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-... is deprecated. This is an internal method where the provided values are
-overwritten during drawing. Hence, it does not serve any purpose to be
-directly accessible.
diff --git a/doc/api/next_api_changes/deprecations/23665-GL.rst b/doc/api/next_api_changes/deprecations/23665-GL.rst
deleted file mode 100644
index 8cc893a7fa63..000000000000
--- a/doc/api/next_api_changes/deprecations/23665-GL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-The macosx backend toolbar ``prepare_configure_subplots``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- has been replaced by ``configure_subplots()``.
diff --git a/doc/api/next_api_changes/deprecations/23668-TC.rst b/doc/api/next_api_changes/deprecations/23668-TC.rst
deleted file mode 100644
index d131ff497fb1..000000000000
--- a/doc/api/next_api_changes/deprecations/23668-TC.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-Pending deprecation top-level cmap registration and access functions in ``mpl.cm``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-As part of a `multi-step process
-`_ we are refactoring
-the global state for managing the registered colormaps.
-
-In Matplotlib 3.5 we added a `.ColormapRegistry` class and exposed an
-instance at the top level as ``matplotlib.colormaps``. The existing
-top level functions in `matplotlib.cm` (``get_cmap``, ``register_cmap``,
-``unregister_cmap``) were changed to be aliases around the same instance.
-
-In Matplotlib 3.6 we have marked those top level functions as pending
-deprecation with the intention of deprecation in Matplotlib 3.7. The
-following functions have been marked for pending deprecation:
-
-- `matplotlib.cm.get_cmap` - use ``matplotlib.colormaps[name]`` instead
-- `matplotlib.cm.register_cmap` - use ``matplotlib.colormaps.register`` instead
-- `matplotlib.cm.unregister_cmap` - use ``matplotlib.colormaps.unregister`` instead
-- ``matplotlib.pyplot.register_cmap`` - use ``matplotlib.colormaps.register`` instead
-
-The `matplotlib.pyplot.get_cmap` function will stay available for backward compatibility.
diff --git a/doc/api/next_api_changes/deprecations/23675-OG.rst b/doc/api/next_api_changes/deprecations/23675-OG.rst
deleted file mode 100644
index 1ab669c16b2a..000000000000
--- a/doc/api/next_api_changes/deprecations/23675-OG.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Helper functions in ``mplot3d.axis3d``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The two helper functions ``move_from_center`` and ``tick_update_position`` are
-considered internal and deprecated. If these are required, please vendor the
-code from the corresponding private methods ``_move_from_center`` and
-``_tick_update_position``.
diff --git a/doc/api/next_api_changes/deprecations/ZZZZZ-AL.rst b/doc/api/next_api_changes/deprecations/ZZZZZ-AL.rst
deleted file mode 100644
index 845a7c063c77..000000000000
--- a/doc/api/next_api_changes/deprecations/ZZZZZ-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``mlab.stride_windows``
-~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated. Use ``np.lib.stride_tricks.sliding_window_view`` instead
-(or ``np.lib.stride_tricks.as_strided`` on numpy<1.20).
diff --git a/doc/api/next_api_changes/development/21415-AL.rst b/doc/api/next_api_changes/development/21415-AL.rst
deleted file mode 100644
index 1fdf2e487160..000000000000
--- a/doc/api/next_api_changes/development/21415-AL.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-``gui_support.macosx`` setup option has been renamed to ``packages.macosx``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/api/next_api_changes/development/22205-ES.rst b/doc/api/next_api_changes/development/22205-ES.rst
deleted file mode 100644
index 4ed8793cfaa9..000000000000
--- a/doc/api/next_api_changes/development/22205-ES.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-Increase to minimum supported versions of Python and dependencies
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For Matplotlib 3.6, the :ref:`minimum supported versions ` are
-being bumped:
-
-+------------+-----------------+---------------+
-| Dependency | min in mpl3.5 | min in mpl3.6 |
-+============+=================+===============+
-| Python | 3.7 | 3.8 |
-| NumPy | 1.17 | 1.19 |
-+------------+-----------------+---------------+
-
-This is consistent with our :ref:`min_deps_policy` and `NEP29
-`__
diff --git a/doc/api/next_api_changes/development/22550-AL.rst b/doc/api/next_api_changes/development/22550-AL.rst
deleted file mode 100644
index 444254e43baa..000000000000
--- a/doc/api/next_api_changes/development/22550-AL.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-sphinx>=3.0 and numpydoc>=1.0 are now required for building the docs
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/api/next_api_changes/removals/00001-DS.rst b/doc/api/next_api_changes/removals/00001-DS.rst
deleted file mode 100644
index fcf6166e3970..000000000000
--- a/doc/api/next_api_changes/removals/00001-DS.rst
+++ /dev/null
@@ -1,28 +0,0 @@
-Removal of mplot3d deprecations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The deprecated ``renderer`` arguments have been removed from:
-
-- `.Line3DCollection.do_3d_projection`
-- `.Patch3D.do_3d_projection`
-- `.PathPatch3D.do_3d_projection`
-- `.Path3DCollection.do_3d_projection`
-- `.Patch3DCollection.do_3d_projection`
-- `.Poly3DCollection.do_3d_projection`
-
-The deprecated ``project`` argument has also been removed from
-``Line3DCollection.draw()``.
-
-Passing arguments not specifically listed in the signatures of
-`.Axes3D.plot_surface` and `.Axes3D.plot_wireframe` is no longer supported.
-Pass any extra arguments as keyword arguments instead.
-
-These properties of the 3D Axes that were placed on the Renderer during draw
-have been removed:
-
-* ``renderer.M``
-* ``renderer.eye``
-* ``renderer.vvec``
-* ``renderer.get_axis_position``
-
-These attributes are all available via `.Axes3D`, which can be accessed via
-``self.axes`` on all `.Artist`\s.
diff --git a/doc/api/next_api_changes/removals/20990-AL.rst b/doc/api/next_api_changes/removals/20990-AL.rst
deleted file mode 100644
index 29e24786be85..000000000000
--- a/doc/api/next_api_changes/removals/20990-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Support for passing tool names to ``ToolManager.add_tool``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... has been removed. The second parameter to add_tool must now always be a
-tool class.
diff --git a/doc/api/next_api_changes/removals/21395-AL.rst b/doc/api/next_api_changes/removals/21395-AL.rst
deleted file mode 100644
index 8983b8b65819..000000000000
--- a/doc/api/next_api_changes/removals/21395-AL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Unknown keyword arguments to ``savefig`` and ``FigureCanvas.print_foo`` methods
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... now raise a TypeError, instead of being ignored.
diff --git a/doc/api/next_api_changes/removals/21591-AL.rst b/doc/api/next_api_changes/removals/21591-AL.rst
deleted file mode 100644
index b2534b47818f..000000000000
--- a/doc/api/next_api_changes/removals/21591-AL.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``backend_tools.ToolFullScreen`` now inherits from ``ToolBase``, not from ``ToolToggleBase``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-`.ToolFullScreen` can only switch between the non-fullscreen
-and fullscreen states, but not unconditionally put the window in a given state;
-hence the ``enable`` and ``disable`` methods were misleadingly named. Thus,
-the `.ToolToggleBase`-related API (``enable``, ``disable``, etc.) was removed.
diff --git a/doc/api/next_api_changes/removals/21980-CC.rst b/doc/api/next_api_changes/removals/21980-CC.rst
deleted file mode 100644
index b95029b92a3e..000000000000
--- a/doc/api/next_api_changes/removals/21980-CC.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Removed loaded modules logging
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The list of currently loaded modules is no longer logged at the DEBUG level at Matplotlib import time,
-because it can produce extensive output and make other valuable DEBUG statements difficult to find.
-If you were relying on this please arrange for your own logging (the built-in `sys.modules` can be used to get the currently loaded modules).
diff --git a/doc/api/next_api_changes/removals/22081-AL.rst b/doc/api/next_api_changes/removals/22081-AL.rst
deleted file mode 100644
index b525da4a5542..000000000000
--- a/doc/api/next_api_changes/removals/22081-AL.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-colorbar defaults to stealing space from the mappable's axes rather than the current axes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If the mappable does not have an Axes, then an error will be raised.
-
-Pass the *cax* or *ax* argument to be explicit about where the colorbar will be
-placed. Passing ``ax=plt.gca()`` will restore the previous behavior.
-
-Removal of deprecated ``colorbar`` APIs
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following deprecated :mod:`.colorbar` APIs have been removed:
-``ColorbarPatch`` and ``colorbar_factory`` (use `.Colorbar` instead);
-``colorbar_doc``, ``colorbar_kw_doc``, ``make_axes_kw_doc``.
diff --git a/doc/api/next_api_changes/removals/22107-OG.rst b/doc/api/next_api_changes/removals/22107-OG.rst
deleted file mode 100644
index 7a068e501343..000000000000
--- a/doc/api/next_api_changes/removals/22107-OG.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-Removal of deprecated ``mathtext`` APIs
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following `matplotlib.mathtext` APIs have been removed:
-
-- ``Fonts`` and all its subclasses,
-- ``FontConstantsBase`` and all its subclasses,
-- ``Node`` and all its subclasses,
-- ``Ship``, ``ship``,
-- ``Error``,
-- ``Parser``,
-- ``SHRINK_FACTOR``, ``GROW_FACTOR``,
-- ``NUM_SIZE_LEVELS``,
-- ``latex_to_bakoma``, ``latex_to_cmex``, ``latex_to_standard``,
-- ``stix_virtual_fonts``,
-- ``tex2uni``
-
-Removal of various ``mathtext`` helpers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following `matplotlib.mathtext` classes:
-
-- ``MathtextBackendPdf``,
-- ``MathtextBackendPs``,
-- ``MathtextBackendSvg``,
-- ``MathtextBackendCairo``,
-
-and the ``.mathtext_parser`` attributes on
-
-- `.RendererPdf`,
-- `.RendererPS`,
-- `.RendererSVG`,
-- `.RendererCairo`
-
-have been removed. The `.MathtextBackendPath` class can be used instead.
-
-The methods ``get_depth``, ``parse``, ``to_mask``, ``to_rgba``, and ``to_png``
-of `.MathTextParser` have been removed. Use `.mathtext.math_to_image` instead.
-
-The unused ``StandardPsFonts.pswriter`` has been removed.
-
-``ps.useafm`` removed for ``mathtext``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The setting :rc:`ps.useafm` no longer has any effect on `matplotlib.mathtext`.
diff --git a/doc/api/next_api_changes/removals/22365-OG.rst b/doc/api/next_api_changes/removals/22365-OG.rst
deleted file mode 100644
index 071282e7569a..000000000000
--- a/doc/api/next_api_changes/removals/22365-OG.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Removal of deprecated ``MovieWriter.cleanup``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The cleanup logic is instead fully implemented in `.MovieWriter.finish` and
-``cleanup`` is no longer called.
diff --git a/doc/api/next_api_changes/removals/22465-AL.rst b/doc/api/next_api_changes/removals/22465-AL.rst
deleted file mode 100644
index 95e3319cf149..000000000000
--- a/doc/api/next_api_changes/removals/22465-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``mpl_toolkits.axes_grid1.axes_size.AddList``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... is deprecated due to being unused. Use ``sum(sizes, start=Fixed(0))`` (for
-example) to sum multiple size objects.
diff --git a/doc/api/next_api_changes/removals/22486-OG.rst b/doc/api/next_api_changes/removals/22486-OG.rst
deleted file mode 100644
index 7b143d873c98..000000000000
--- a/doc/api/next_api_changes/removals/22486-OG.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Removal of deprecated methods and properties in ``lines`` and ``patches``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The deprecated properties ``validCap`` and ``validJoin`` have been removed
-from `~.Line2D` and `~.Patch` as the validation is centralized in ``rcsetup``.
-The deprecated methods ``get_dpi_cor`` and ``set_dpi_cor`` have been removed
-from `~.FancyArrowPatch` as the parameter ``dpi_cor`` is removed.
diff --git a/doc/api/next_api_changes/removals/22514-OG.rst b/doc/api/next_api_changes/removals/22514-OG.rst
deleted file mode 100644
index c426dd4e5c27..000000000000
--- a/doc/api/next_api_changes/removals/22514-OG.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Removal of deprecations in ``cbook``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The module ``cbook.deprecation`` is removed from the public API as it is
-considered internal. This also holds for deprecation-related re-imports in
-``cbook``: ``deprecated``, and ``warn_deprecated``.
diff --git a/doc/api/next_api_changes/removals/22516-OG.rst b/doc/api/next_api_changes/removals/22516-OG.rst
deleted file mode 100644
index 32068fdcdf4b..000000000000
--- a/doc/api/next_api_changes/removals/22516-OG.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-Removal of deprecations in ``backends``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The parameter ``resize_callback`` is removed from the Tk backend. Instead,
-use ``get_tk_widget().bind('', ..., True)``.
-
-The ``get_content_extents()`` and ``tostring_rgba_minimized()`` methods are
-removed from the Agg backend with no replacements.
-
-The parameter ``dpi`` is removed from ``print_ps()`` in the PS backend and
-``print_pdf()`` in the PDF backend. Instead, the methods obtain the DPI from
-the ``savefig`` machinery.
-
-The classes ``TmpDirCleaner`` and ``GraphicsContextPS`` are removed from the
-PGF and PS backends, respectively. For the latter, ``GraphicsContextBase`` can
-be used as a replacement.
-
-In the WX backend, the property ``IDLE_DELAY`` is removed. In addition, the
-parameter ``origin`` of ``gui_repaint()`` is removed, as well as the method
-``get_canvas()``. No replacements are provided.
diff --git a/doc/api/next_api_changes/removals/22738-JL.rst b/doc/api/next_api_changes/removals/22738-JL.rst
deleted file mode 100644
index c1f50cd9d700..000000000000
--- a/doc/api/next_api_changes/removals/22738-JL.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Removal of deprecated methods in `matplotlib.projections.polar`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ``cla`` method in both ``ThetaAxis`` and ``RadialAxis`` has been removed
-after being deprecated in 3.4. Use ``clear`` instead.
-
-Removal of deprecated methods in `matplotlib.spines`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The ``cla`` method in ``Spine`` is removed after being deprecated in 3.4.
-Use ``clear`` instead.
diff --git a/doc/api/next_api_changes/removals/22886-OG.rst b/doc/api/next_api_changes/removals/22886-OG.rst
deleted file mode 100644
index 8ce155835fa1..000000000000
--- a/doc/api/next_api_changes/removals/22886-OG.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-``mpl_toolkits.axes_grid`` module removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-All functionally from ``mpl_toolkits.axes_grid`` can be found in either
-`mpl_toolkits.axes_grid1` or `mpl_toolkits.axisartist`. Axes classes
-from ``mpl_toolkits.axes_grid`` based on ``Axis`` from
-`mpl_toolkits.axisartist` can be found in `mpl_toolkits.axisartist`.
diff --git a/doc/api/next_api_changes/removals/22952-TH.rst b/doc/api/next_api_changes/removals/22952-TH.rst
deleted file mode 100644
index 3838be4fc503..000000000000
--- a/doc/api/next_api_changes/removals/22952-TH.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-MarkerStyle is immutable
-~~~~~~~~~~~~~~~~~~~~~~~~
-The methods ``MarkerStyle.set_fillstyle()`` and ``MarkerStyle.set_marker()``
-have been removed. Create a new `.MarkerStyle` with the respective parameters
-instead.
diff --git a/doc/api/next_api_changes/removals/23076-GL.rst b/doc/api/next_api_changes/removals/23076-GL.rst
deleted file mode 100644
index 8d17b05b0c0f..000000000000
--- a/doc/api/next_api_changes/removals/23076-GL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Passing positional arguments to LineCollection has been removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use specific keyword argument names now.
diff --git a/doc/api/next_api_changes/removals/23077-GL.rst b/doc/api/next_api_changes/removals/23077-GL.rst
deleted file mode 100644
index 847d15260537..000000000000
--- a/doc/api/next_api_changes/removals/23077-GL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Keyword arguments to ``gca()`` have been removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-There is no replacement.
diff --git a/doc/api/next_api_changes/removals/23078-GL.rst b/doc/api/next_api_changes/removals/23078-GL.rst
deleted file mode 100644
index 10d5d4604242..000000000000
--- a/doc/api/next_api_changes/removals/23078-GL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``Axis.cla()`` has been removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use `.Axis.clear()` instead.
diff --git a/doc/api/next_api_changes/removals/23079-GL.rst b/doc/api/next_api_changes/removals/23079-GL.rst
deleted file mode 100644
index c71e6ad7b805..000000000000
--- a/doc/api/next_api_changes/removals/23079-GL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``key_press`` and ``button_press`` have been removed from FigureManager
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Trigger the events directly on the canvas using
-``canvas.callbacks.process(event.name, event)`` for key and button events.
diff --git a/doc/api/next_api_changes/removals/23093-GL.rst b/doc/api/next_api_changes/removals/23093-GL.rst
deleted file mode 100644
index a155c29830cf..000000000000
--- a/doc/api/next_api_changes/removals/23093-GL.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-Get/set window title methods have been removed from the canvas
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use the corresponding methods on the FigureManager if using pyplot,
-or GUI-specific methods if embedding.
-
-``ContourLabeler.get_label_coords()`` has been removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-There is no replacement, it was considered an internal helper.
-
-The **return_all** keyword argument has been removed from ``gridspec.get_position()``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The **minimum_descent** has been removed from ``TextArea``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The minimum_descent is now effectively always True.
-
-Extra parameters to Axes constructor
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Parameters of the Axes constructor other than *fig* and *rect* are now keyword only.
-
-``sphinext.plot_directive.align`` has been removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use ``docutils.parsers.rst.directives.images.Image.align`` instead.
-
-``imread()`` no longer accepts URLs
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Passing a URL to `~.pyplot.imread()` has been removed. Please open the URL for
-reading and directly use the Pillow API
-(``PIL.Image.open(urllib.request.urlopen(url))``, or
-``PIL.Image.open(io.BytesIO(requests.get(url).content))``) instead.
-
-Deprecated properties of widgets have been removed
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-These include ``cids``, ``cnt``, ``observers``, ``change_observers``,
-and ``submit_observers``.
-
-Removal of methods and properties of ``Subplot``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-These include ``get_geometry()``, ``change_geometry()``, ``figbox``,
-``numRows``, ``numCols``, ``update_params()``, ``is_first_row()``,
-``is_first_col()``, ``is_last_row()``, ``is_last_col()``. The subplotspec
-contains this information and can be used to replace these methods and properties.
diff --git a/doc/api/next_api_changes/removals/23237-AL.rst b/doc/api/next_api_changes/removals/23237-AL.rst
deleted file mode 100644
index fb11fc68e4aa..000000000000
--- a/doc/api/next_api_changes/removals/23237-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``BoxStyle._Base`` and ``transmute`` method of boxstyles
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... have been removed. Boxstyles implemented as classes no longer need to
-inherit from a base class.
diff --git a/doc/api/next_api_changes/removals/23291-AL.rst b/doc/api/next_api_changes/removals/23291-AL.rst
deleted file mode 100644
index 60a2260fba03..000000000000
--- a/doc/api/next_api_changes/removals/23291-AL.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``backend_template.new_figure_manager``, ``backend_template.new_figure_manager_given_figure``, and ``backend_template.draw_if_interactive``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... have been removed, as part of the introduction of the simplified backend
-API.
diff --git a/doc/api/next_api_changes/removals/23594-OG.rst b/doc/api/next_api_changes/removals/23594-OG.rst
deleted file mode 100644
index 68faf06ea6dd..000000000000
--- a/doc/api/next_api_changes/removals/23594-OG.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Passing bytes to ``FT2Font.set_text``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-... is no longer supported. Pass str instead.
diff --git a/doc/api/prev_api_changes/api_changes_3.6.0.rst b/doc/api/prev_api_changes/api_changes_3.6.0.rst
new file mode 100644
index 000000000000..1bba4506fd7d
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.6.0.rst
@@ -0,0 +1,14 @@
+API Changes for 3.6.0
+=====================
+
+.. contents::
+ :local:
+ :depth: 1
+
+.. include:: /api/prev_api_changes/api_changes_3.6.0/behaviour.rst
+
+.. include:: /api/prev_api_changes/api_changes_3.6.0/deprecations.rst
+
+.. include:: /api/prev_api_changes/api_changes_3.6.0/removals.rst
+
+.. include:: /api/prev_api_changes/api_changes_3.6.0/development.rst
diff --git a/doc/api/prev_api_changes/api_changes_3.6.0/behaviour.rst b/doc/api/prev_api_changes/api_changes_3.6.0/behaviour.rst
new file mode 100644
index 000000000000..a35584b04961
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.6.0/behaviour.rst
@@ -0,0 +1,248 @@
+Behaviour changes
+-----------------
+
+``plt.get_cmap`` and ``matplotlib.cm.get_cmap`` return a copy
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Formerly, `~.pyplot.get_cmap` and `.cm.get_cmap` returned a global version of a
+`.Colormap`. This was prone to errors as modification of the colormap would
+propagate from one location to another without warning. Now, a new copy of the
+colormap is returned.
+
+Large ``imshow`` images are now downsampled
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When showing an image using `~matplotlib.axes.Axes.imshow` that has more than
+:math:`2^{24}` columns or :math:`2^{23}` rows, the image will now be
+downsampled to below this resolution before being resampled for display by the
+AGG renderer. Previously such a large image would be shown incorrectly. To
+prevent this downsampling and the warning it raises, manually downsample your
+data before handing it to `~matplotlib.axes.Axes.imshow`.
+
+Default date limits changed to 1970-01-01 – 1970-01-02
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Previously the default limits for an empty axis set up for dates
+(`.Axis.axis_date`) was 2000-01-01 to 2010-01-01. This has been changed to
+1970-01-01 to 1970-01-02. With the default epoch, this makes the numeric limit
+for date axes the same as for other axes (0.0-1.0), and users are less likely
+to set a locator with far too many ticks.
+
+*markerfmt* argument to ``stem``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The behavior of the *markerfmt* parameter of `~.Axes.stem` has changed:
+
+- If *markerfmt* does not contain a color, the color is taken from *linefmt*.
+- If *markerfmt* does not contain a marker, the default is 'o'.
+
+Before, *markerfmt* was passed unmodified to ``plot(..., fmt)``, which had a
+number of unintended side-effects; e.g. only giving a color switched to a solid
+line without markers.
+
+For a simple call ``stem(x, y)`` without parameters, the new rules still
+reproduce the old behavior.
+
+``get_ticklabels`` now always populates labels
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Previously `.Axis.get_ticklabels` (and `.Axes.get_xticklabels`,
+`.Axes.get_yticklabels`) would only return empty strings unless a draw had
+already been performed. Now the ticks and their labels are updated when the
+labels are requested.
+
+Warning when scatter plot color settings discarded
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When making an animation of a scatter plot, if you don't set *c* (the color
+value parameter) when initializing the artist, the color settings are ignored.
+`.Axes.scatter` now raises a warning if color-related settings are changed
+without setting *c*.
+
+3D ``contourf`` polygons placed between levels
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The polygons used in a 3D `~.Axes3D.contourf` plot are now placed halfway
+between the contour levels, as each polygon represents the location of values
+that lie between two levels.
+
+Axes title now avoids y-axis offset
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Previously, Axes titles could overlap the y-axis offset text, which is often in
+the upper left corner of the axes. Now titles are moved above the offset text
+if overlapping when automatic title positioning is in effect (i.e. if *y* in
+`.Axes.set_title` is *None* and :rc:`axes.titley` is also *None*).
+
+Dotted operators gain extra space in mathtext
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In mathtext, ``\doteq \doteqdot \dotminus \dotplus \dots`` are now surrounded
+by extra space because they are correctly treated as relational or binary
+operators.
+
+*math* parameter of ``mathtext.get_unicode_index`` defaults to False
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In math mode, ASCII hyphens (U+002D) are now replaced by Unicode minus signs
+(U+2212) at the parsing stage.
+
+``ArtistList`` proxies copy contents on iteration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When iterating over the contents of the dynamically generated proxy lists for
+the Artist-type accessors (see :ref:`Behavioural API Changes 3.5 - Axes
+children combined`), a copy of the contents is made. This ensure that artists
+can safely be added or removed from the Axes while iterating over their
+children.
+
+This is a departure from the expected behavior of mutable iterable data types
+in Python — iterating over a list while mutating it has surprising consequences
+and dictionaries will error if they change size during iteration. Because all
+of the accessors are filtered views of the same underlying list, it is possible
+for seemingly unrelated changes, such as removing a Line, to affect the
+iteration over any of the other accessors. In this case, we have opted to make
+a copy of the relevant children before yielding them to the user.
+
+This change is also consistent with our plan to make these accessors immutable
+in Matplotlib 3.7.
+
+``AxesImage`` string representation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The string representation of `.AxesImage` changes from stating the position in
+the figure ``"AxesImage(80,52.8;496x369.6)"`` to giving the number of pixels
+``"AxesImage(size=(300, 200))"``.
+
+Improved autoscaling for Bézier curves
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Bézier curves are now autoscaled to their extents - previously they were
+autoscaled to their ends and control points, which in some cases led to
+unnecessarily large limits.
+
+``QuadMesh`` mouseover defaults to False
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+New in 3.5, `.QuadMesh.get_cursor_data` allows display of data values under the
+cursor. However, this can be very slow for large meshes, so mouseover now
+defaults to *False*.
+
+Changed pgf backend document class
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The pgf backend now uses the ``article`` document class as basis for
+compilation.
+
+``MathtextBackendAgg.get_results`` no longer returns ``used_characters``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The last item (``used_characters``) in the tuple returned by
+``MathtextBackendAgg.get_results`` has been removed. In order to unpack this
+tuple in a backward and forward-compatible way, use e.g. ``ox, oy, width,
+height, descent, image, *_ = parse(...)``, which will ignore
+``used_characters`` if it was present.
+
+``Type1Font`` objects include more properties
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``matplotlib._type1font.Type1Font.prop`` dictionary now includes more keys,
+such as ``CharStrings`` and ``Subrs``. The value of the ``Encoding`` key is now
+a dictionary mapping codes to glyph names. The
+``matplotlib._type1font.Type1Font.transform`` method now correctly removes
+``UniqueID`` properties from the font.
+
+``rcParams.copy()`` returns ``RcParams`` rather than ``dict``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Returning an `.RcParams` instance from `.RcParams.copy` makes the copy still
+validate inputs, and additionally avoids emitting deprecation warnings when
+using a previously copied instance to update the global instance (even if some
+entries are deprecated).
+
+``rc_context`` no longer resets the value of ``'backend'``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+`matplotlib.rc_context` incorrectly reset the value of :rc:`backend` if backend
+resolution was triggered in the context. This affected only the value. The
+actual backend was not changed. Now, `matplotlib.rc_context` does not reset
+:rc:`backend` anymore.
+
+Default ``rcParams["animation.convert_args"]`` changed
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+It now defaults to ``["-layers", "OptimizePlus"]`` to try to generate smaller
+GIFs. Set it back to an empty list to recover the previous behavior.
+
+Style file encoding now specified to be UTF-8
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+It has been impossible to import Matplotlib with a non UTF-8 compatible locale
+encoding because we read the style library at import time. This change is
+formalizing and documenting the status quo so there is no deprecation period.
+
+MacOSX backend uses sRGB instead of GenericRGB color space
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+MacOSX backend now display sRGB tagged image instead of GenericRGB which is an
+older (now deprecated) Apple color space. This is the source color space used
+by ColorSync to convert to the current display profile.
+
+Renderer optional for ``get_tightbbox`` and ``get_window_extent``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The `.Artist.get_tightbbox` and `.Artist.get_window_extent` methods no longer
+require the *renderer* keyword argument, saving users from having to query it
+from ``fig.canvas.get_renderer``. If the *renderer* keyword argument is not
+supplied, these methods first check if there is a cached renderer from a
+previous draw and use that. If there is no cached renderer, then the methods
+will use ``fig.canvas.get_renderer()`` as a fallback.
+
+``FigureFrameWx`` constructor, subclasses, and ``get_canvas``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``FigureCanvasWx`` constructor gained a *canvas_class* keyword-only
+parameter which specifies the canvas class that should be used. This parameter
+will become required in the future. The ``get_canvas`` method, which was
+previously used to customize canvas creation, is deprecated. The
+``FigureFrameWxAgg`` and ``FigureFrameWxCairo`` subclasses, which overrode
+``get_canvas``, are deprecated.
+
+``FigureFrameWx.sizer``
+~~~~~~~~~~~~~~~~~~~~~~~
+
+... has been removed. The frame layout is no longer based on a sizer, as the
+canvas is now the sole child widget; the toolbar is now a regular toolbar added
+using ``SetToolBar``.
+
+Incompatible layout engines raise
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You cannot switch between ``tight_layout`` and ``constrained_layout`` if a
+colorbar has already been added to a figure. Invoking the incompatible layout
+engine used to warn, but now raises with a `RuntimeError`.
+
+``CallbackRegistry`` raises on unknown signals
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When Matplotlib instantiates a `.CallbackRegistry`, it now limits callbacks to
+the signals that the registry knows about. In practice, this means that calling
+`~.FigureCanvasBase.mpl_connect` with an invalid signal name now raises a
+`ValueError`.
+
+Changed exception type for incorrect SVG date metadata
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Providing date metadata with incorrect type to the SVG backend earlier resulted
+in a `ValueError`. Now, a `TypeError` is raised instead.
+
+Specified exception types in ``Grid``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In a few cases an `Exception` was thrown when an incorrect argument value was
+set in the `mpl_toolkits.axes_grid1.axes_grid.Grid` (=
+`mpl_toolkits.axisartist.axes_grid.Grid`) constructor. These are replaced as
+follows:
+
+* Providing an incorrect value for *ngrids* now raises a `ValueError`
+* Providing an incorrect type for *rect* now raises a `TypeError`
diff --git a/doc/api/prev_api_changes/api_changes_3.6.0/deprecations.rst b/doc/api/prev_api_changes/api_changes_3.6.0/deprecations.rst
new file mode 100644
index 000000000000..d59077d2b2d2
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.6.0/deprecations.rst
@@ -0,0 +1,409 @@
+Deprecations
+------------
+
+Parameters to ``plt.figure()`` and the ``Figure`` constructor
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+All parameters to `.pyplot.figure` and the `.Figure` constructor, other than
+*num*, *figsize*, and *dpi*, will become keyword-only after a deprecation
+period.
+
+Deprecation aliases in cbook
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The module ``matplotlib.cbook.deprecation`` was previously deprecated in
+Matplotlib 3.4, along with deprecation-related API in ``matplotlib.cbook``. Due
+to technical issues, ``matplotlib.cbook.MatplotlibDeprecationWarning`` and
+``matplotlib.cbook.mplDeprecation`` did not raise deprecation warnings on use.
+Changes in Python have now made it possible to warn when these aliases are
+being used.
+
+In order to avoid downstream breakage, these aliases will now warn, and their
+removal has been pushed from 3.6 to 3.8 to give time to notice said warnings.
+As replacement, please use `matplotlib.MatplotlibDeprecationWarning`.
+
+``Axes`` subclasses should override ``clear`` instead of ``cla``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For clarity, `.axes.Axes.clear` is now preferred over `.Axes.cla`. However, for
+backwards compatibility, the latter will remain as an alias for the former.
+
+For additional compatibility with third-party libraries, Matplotlib will
+continue to call the ``cla`` method of any `~.axes.Axes` subclasses if they
+define it. In the future, this will no longer occur, and Matplotlib will only
+call the ``clear`` method in `~.axes.Axes` subclasses.
+
+It is recommended to define only the ``clear`` method when on Matplotlib 3.6,
+and only ``cla`` for older versions.
+
+Pending deprecation top-level cmap registration and access functions in ``mpl.cm``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+As part of a `multi-step process
+`_ we are refactoring
+the global state for managing the registered colormaps.
+
+In Matplotlib 3.5 we added a `.ColormapRegistry` class and exposed an instance
+at the top level as ``matplotlib.colormaps``. The existing top level functions
+in `matplotlib.cm` (``get_cmap``, ``register_cmap``, ``unregister_cmap``) were
+changed to be aliases around the same instance.
+
+In Matplotlib 3.6 we have marked those top level functions as pending
+deprecation with the intention of deprecation in Matplotlib 3.7. The following
+functions have been marked for pending deprecation:
+
+- ``matplotlib.cm.get_cmap``; use ``matplotlib.colormaps[name]`` instead
+- ``matplotlib.cm.register_cmap``; use `matplotlib.colormaps.register
+ <.ColormapRegistry.register>` instead
+- ``matplotlib.cm.unregister_cmap``; use `matplotlib.colormaps.unregister
+ <.ColormapRegistry.unregister>` instead
+- ``matplotlib.pyplot.register_cmap``; use `matplotlib.colormaps.register
+ <.ColormapRegistry.register>` instead
+
+The `matplotlib.pyplot.get_cmap` function will stay available for backward
+compatibility.
+
+Pending deprecation of layout methods
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The methods `~.Figure.set_tight_layout`, `~.Figure.set_constrained_layout`, are
+discouraged, and now emit a `PendingDeprecationWarning` in favor of explicitly
+referencing the layout engine via ``figure.set_layout_engine('tight')`` and
+``figure.set_layout_engine('constrained')``. End users should not see the
+warning, but library authors should adjust.
+
+The methods `~.Figure.set_constrained_layout_pads` and
+`~.Figure.get_constrained_layout_pads` are will be deprecated in favor of
+``figure.get_layout_engine().set()`` and ``figure.get_layout_engine().get()``,
+and currently emit a `PendingDeprecationWarning`.
+
+seaborn styles renamed
+~~~~~~~~~~~~~~~~~~~~~~
+
+Matplotlib currently ships many style files inspired from the seaborn library
+("seaborn", "seaborn-bright", "seaborn-colorblind", etc.) but they have gone
+out of sync with the library itself since the release of seaborn 0.9. To
+prevent confusion, the style files have been renamed "seaborn-v0_8",
+"seaborn-v0_8-bright", "seaborn-v0_8-colorblind", etc. Users are encouraged to
+directly use seaborn to access the up-to-date styles.
+
+Auto-removal of overlapping Axes by ``plt.subplot`` and ``plt.subplot2grid``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Previously, `.pyplot.subplot` and `.pyplot.subplot2grid` would automatically
+remove preexisting Axes that overlap with the newly added Axes. This behavior
+was deemed confusing, and is now deprecated. Explicitly call ``ax.remove()`` on
+Axes that need to be removed.
+
+Passing *linefmt* positionally to ``stem`` is undeprecated
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Positional use of all formatting parameters in `~.Axes.stem` has been
+deprecated since Matplotlib 3.5. This deprecation is relaxed so that one can
+still pass *linefmt* positionally, i.e. ``stem(x, y, 'r')``.
+
+``stem(..., use_line_collection=False)``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+... is deprecated with no replacement. This was a compatibility fallback to a
+former more inefficient representation of the stem lines.
+
+Positional / keyword arguments
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Passing all but the very few first arguments positionally in the constructors
+of Artists is deprecated. Most arguments will become keyword-only in a future
+version.
+
+Passing too many positional arguments to ``tripcolor`` is now deprecated (extra
+arguments were previously silently ignored).
+
+Passing *emit* and *auto* parameters of ``set_xlim``, ``set_ylim``,
+``set_zlim``, ``set_rlim`` positionally is deprecated; they will become
+keyword-only in a future release.
+
+The *transOffset* parameter of `.Collection.set_offset_transform` and the
+various ``create_collection`` methods of legend handlers has been renamed to
+*offset_transform* (consistently with the property name).
+
+Calling ``MarkerStyle()`` with no arguments or ``MarkerStyle(None)`` is
+deprecated; use ``MarkerStyle("")`` to construct an empty marker style.
+
+``Axes.get_window_extent`` / ``Figure.get_window_extent`` accept only
+*renderer*. This aligns the API with the general `.Artist.get_window_extent`
+API. All other parameters were ignored anyway.
+
+The *cleared* parameter of ``get_renderer``, which only existed for AGG-based
+backends, has been deprecated. Use ``renderer.clear()`` instead to explicitly
+clear the renderer buffer.
+
+Methods to set parameters in ``LogLocator`` and ``LogFormatter*``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In `~.LogFormatter` and derived subclasses, the methods ``base`` and
+``label_minor`` for setting the respective parameter are deprecated and
+replaced by ``set_base`` and ``set_label_minor``, respectively.
+
+In `~.LogLocator`, the methods ``base`` and ``subs`` for setting the respective
+parameter are deprecated. Instead, use ``set_params(base=..., subs=...)``.
+
+``Axes.get_renderer_cache``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The canvas now takes care of the renderer and whether to cache it or not. The
+alternative is to call ``axes.figure.canvas.get_renderer()``.
+
+Groupers from ``get_shared_x_axes`` / ``get_shared_y_axes`` will be immutable
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Modifications to the Groupers returned by ``get_shared_x_axes`` and
+``get_shared_y_axes`` are deprecated. In the future, these methods will return
+immutable views on the grouper structures. 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.
+
+Unused methods in ``Axis``, ``Tick``, ``XAxis``, and ``YAxis``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``Tick.label`` has been pending deprecation since 3.1 and is now deprecated.
+Use ``Tick.label1`` instead.
+
+The following methods are no longer used and deprecated without a replacement:
+
+- ``Axis.get_ticklabel_extents``
+- ``Tick.get_pad_pixels``
+- ``XAxis.get_text_heights``
+- ``YAxis.get_text_widths``
+
+``mlab.stride_windows``
+~~~~~~~~~~~~~~~~~~~~~~~
+
+... is deprecated. Use ``np.lib.stride_tricks.sliding_window_view`` instead (or
+``np.lib.stride_tricks.as_strided`` on NumPy < 1.20).
+
+Event handlers
+~~~~~~~~~~~~~~
+
+The ``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``,
+``enter_notify_event`` and ``leave_notify_event`` methods of
+`.FigureCanvasBase` are deprecated. They had inconsistent signatures across
+backends, and made it difficult to improve event metadata.
+
+In order to trigger an event on a canvas, directly construct an `.Event` object
+of the correct class and call ``canvas.callbacks.process(event.name, event)``.
+
+Widgets
+~~~~~~~
+
+All parameters to ``MultiCursor`` starting from *useblit* are becoming
+keyword-only (passing them positionally is deprecated).
+
+The ``canvas`` and ``background`` attributes of ``MultiCursor`` are deprecated
+with no replacement.
+
+The *visible* attribute of Selector widgets has been deprecated; use
+``set_visible`` or ``get_visible`` instead.
+
+The *state_modifier_keys* attribute of Selector widgets has been privatized and
+the modifier keys must be set when creating the widget.
+
+``Axes3D.dist``
+~~~~~~~~~~~~~~~
+
+... has been privatized. Use the *zoom* keyword argument in
+`.Axes3D.set_box_aspect` instead.
+
+3D Axis
+~~~~~~~
+
+The previous constructor of `.axis3d.Axis`, with signature ``(self, adir,
+v_intervalx, d_intervalx, axes, *args, rotate_label=None, **kwargs)`` is
+deprecated in favor of a new signature closer to the one of 2D Axis; it is now
+``(self, axes, *, rotate_label=None, **kwargs)`` where ``kwargs`` are forwarded
+to the 2D Axis constructor. The axis direction is now inferred from the axis
+class' ``axis_name`` attribute (as in the 2D case); the ``adir`` attribute is
+deprecated.
+
+The ``init3d`` method of 3D Axis is also deprecated; all the relevant
+initialization is done as part of the constructor.
+
+The ``d_interval`` and ``v_interval`` attributes of 3D Axis are deprecated; use
+``get_data_interval`` and ``get_view_interval`` instead.
+
+The ``w_xaxis``, ``w_yaxis``, and ``w_zaxis`` attributes of ``Axis3D`` have
+been pending deprecation since 3.1. They are now deprecated. Instead use
+``xaxis``, ``yaxis``, and ``zaxis``.
+
+``mplot3d.axis3d.Axis.set_pane_pos`` is deprecated. This is an internal method
+where the provided values are overwritten during drawing. Hence, it does not
+serve any purpose to be directly accessible.
+
+The two helper functions ``mplot3d.axis3d.move_from_center`` and
+``mplot3d.axis3d.tick_update_position`` are considered internal and deprecated.
+If these are required, please vendor the code from the corresponding private
+methods ``_move_from_center`` and ``_tick_update_position``.
+
+``Figure.callbacks`` is deprecated
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Figure ``callbacks`` property is deprecated. 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.
+
+``FigureCanvas`` without a ``required_interactive_framework`` attribute
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Support for such canvas classes is deprecated. Note that canvas classes which
+inherit from ``FigureCanvasBase`` always have such an attribute.
+
+Backend-specific deprecations
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- ``backend_gtk3.FigureManagerGTK3Agg`` and
+ ``backend_gtk4.FigureManagerGTK4Agg``; directly use
+ ``backend_gtk3.FigureManagerGTK3`` and ``backend_gtk4.FigureManagerGTK4``
+ instead.
+- The *window* parameter to ``backend_gtk3.NavigationToolbar2GTK3`` had no
+ effect, and is now deprecated.
+- ``backend_gtk3.NavigationToolbar2GTK3.win``
+- ``backend_gtk3.RendererGTK3Cairo`` and ``backend_gtk4.RendererGTK4Cairo``;
+ use `.RendererCairo` instead, which has gained the ``set_context`` method,
+ which also auto-infers the size of the underlying surface.
+- ``backend_cairo.RendererCairo.set_ctx_from_surface`` and
+ ``backend_cairo.RendererCairo.set_width_height`` in favor of
+ `.RendererCairo.set_context`.
+- ``backend_gtk3.error_msg_gtk``
+- ``backend_gtk3.icon_filename`` and ``backend_gtk3.window_icon``
+- ``backend_macosx.NavigationToolbar2Mac.prepare_configure_subplots`` has been
+ replaced by ``configure_subplots()``.
+- ``backend_pdf.Name.hexify``
+- ``backend_pdf.Operator`` and ``backend_pdf.Op.op`` are deprecated in favor of
+ a single standard `enum.Enum` interface on `.backend_pdf.Op`.
+- ``backend_pdf.fill``; vendor the code of the similarly named private
+ functions if you rely on these functions.
+- ``backend_pgf.LatexManager.texcommand`` and
+ ``backend_pgf.LatexManager.latex_header``
+- ``backend_pgf.NO_ESCAPE``
+- ``backend_pgf.common_texification``
+- ``backend_pgf.get_fontspec``
+- ``backend_pgf.get_preamble``
+- ``backend_pgf.re_mathsep``
+- ``backend_pgf.writeln``
+- ``backend_ps.convert_psfrags``
+- ``backend_ps.quote_ps_string``; vendor the code of the similarly named
+ private functions if you rely on it.
+- ``backend_qt.qApp``; use ``QtWidgets.QApplication.instance()`` instead.
+- ``backend_svg.escape_attrib``; vendor the code of the similarly named private
+ functions if you rely on it.
+- ``backend_svg.escape_cdata``; vendor the code of the similarly named private
+ functions if you rely on it.
+- ``backend_svg.escape_comment``; vendor the code of the similarly named
+ private functions if you rely on it.
+- ``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``
+- ``backend_tk.NavigationToolbar2Tk.lastrect`` and
+ ``backend_tk.RubberbandTk.lastrect``
+- ``backend_tk.NavigationToolbar2Tk.window``; use ``toolbar.master`` instead.
+- ``backend_tools.ToolBase.destroy``; To run code upon tool removal, connect to
+ the ``tool_removed_event`` event.
+- ``backend_wx.RendererWx.offset_text_height``
+- ``backend_wx.error_msg_wx``
+
+- ``FigureCanvasBase.pick``; directly call `.Figure.pick`, which has taken over
+ the responsibility of checking the canvas widget lock as well.
+- ``FigureCanvasBase.resize``, which has no effect; use
+ ``FigureManagerBase.resize`` instead.
+
+- ``FigureManagerMac.close``
+
+- ``FigureFrameWx.sizer``; use ``frame.GetSizer()`` instead.
+- ``FigureFrameWx.figmgr`` and ``FigureFrameWx.get_figure_manager``; use
+ ``frame.canvas.manager`` instead.
+- ``FigureFrameWx.num``; use ``frame.canvas.manager.num`` instead.
+- ``FigureFrameWx.toolbar``; use ``frame.GetToolBar()`` instead.
+- ``FigureFrameWx.toolmanager``; use ``frame.canvas.manager.toolmanager``
+ instead.
+
+Modules
+~~~~~~~
+
+The modules ``matplotlib.afm``, ``matplotlib.docstring``,
+``matplotlib.fontconfig_pattern``, ``matplotlib.tight_bbox``,
+``matplotlib.tight_layout``, and ``matplotlib.type1font`` are considered
+internal and public access is deprecated.
+
+``checkdep_usetex`` deprecated
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This method was only intended to disable tests in case no latex install was
+found. As such, it is considered to be private and for internal use only.
+
+Please vendor the code if you need this.
+
+``date_ticker_factory`` deprecated
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``date_ticker_factory`` method in the `matplotlib.dates` module is
+deprecated. Instead use `~.AutoDateLocator` and `~.AutoDateFormatter` for a
+more flexible and scalable locator and formatter.
+
+If you need the exact ``date_ticker_factory`` behavior, please copy the code.
+
+``dviread.find_tex_file`` will raise ``FileNotFoundError``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In the future, ``dviread.find_tex_file`` will raise a `FileNotFoundError` for
+missing files. Previously, it would return an empty string in such cases.
+Raising an exception allows attaching a user-friendly message instead. During
+the transition period, a warning is raised.
+
+``transforms.Affine2D.identity()``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+... is deprecated in favor of directly calling the `.Affine2D` constructor with
+no arguments.
+
+Deprecations in ``testing.decorators``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The unused class ``CleanupTestCase`` and decorator ``cleanup`` are deprecated
+and will be removed. Vendor the code, including the private function
+``_cleanup_cm``.
+
+The function ``check_freetype_version`` is considered internal and deprecated.
+Vendor the code of the private function ``_check_freetype_version``.
+
+``text.get_rotation()``
+~~~~~~~~~~~~~~~~~~~~~~~
+
+... is deprecated with no replacement. Copy the original implementation if
+needed.
+
+Miscellaneous internals
+~~~~~~~~~~~~~~~~~~~~~~~
+
+- ``axes_grid1.axes_size.AddList``; use ``sum(sizes, start=Fixed(0))`` (for
+ example) to sum multiple size objects.
+- ``axes_size.Padded``; use ``size + pad`` instead
+- ``axes_size.SizeFromFunc``, ``axes_size.GetExtentHelper``
+- ``AxisArtistHelper.delta1`` and ``AxisArtistHelper.delta2``
+- ``axislines.GridHelperBase.new_gridlines`` and
+ ``axislines.Axes.new_gridlines``
+- ``cbook.maxdict``; use the standard library ``functools.lru_cache`` instead.
+- ``_DummyAxis.dataLim`` and ``_DummyAxis.viewLim``; use
+ ``get_data_interval()``, ``set_data_interval()``, ``get_view_interval()``,
+ and ``set_view_interval()`` instead.
+- ``GridSpecBase.get_grid_positions(..., raw=True)``
+- ``ImageMagickBase.delay`` and ``ImageMagickBase.output_args``
+- ``MathtextBackend``, ``MathtextBackendAgg``, ``MathtextBackendPath``,
+ ``MathTextWarning``
+- ``TexManager.get_font_config``; it previously returned an internal hashed key
+ for used for caching purposes.
+- ``TextToPath.get_texmanager``; directly construct a `.texmanager.TexManager`
+ instead.
+- ``ticker.is_close_to_int``; use ``math.isclose(x, round(x))`` instead.
+- ``ticker.is_decade``; use ``y = numpy.log(x)/numpy.log(base);
+ numpy.isclose(y, numpy.round(y))`` instead.
diff --git a/doc/api/prev_api_changes/api_changes_3.6.0/development.rst b/doc/api/prev_api_changes/api_changes_3.6.0/development.rst
new file mode 100644
index 000000000000..fb9f1f3e21c5
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.6.0/development.rst
@@ -0,0 +1,42 @@
+Development changes
+-------------------
+
+Increase to minimum supported versions of dependencies
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For Matplotlib 3.6, the :ref:`minimum supported versions ` are
+being bumped:
+
++------------+-----------------+---------------+
+| Dependency | min in mpl3.5 | min in mpl3.6 |
++============+=================+===============+
+| Python | 3.7 | 3.8 |
++------------+-----------------+---------------+
+| NumPy | 1.17 | 1.19 |
++------------+-----------------+---------------+
+
+This is consistent with our :ref:`min_deps_policy` and `NEP29
+`__
+
+Build setup options changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``gui_support.macosx`` setup option has been renamed to
+``packages.macosx``.
+
+New wheel architectures
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Wheels have been added for:
+
+- Python 3.11
+- PyPy 3.8 and 3.9
+
+Increase to required versions of documentation dependencies
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+`sphinx`_ >= 3.0 and `numpydoc`_ >= 1.0 are now required for building the
+documentation.
+
+.. _numpydoc: https://pypi.org/project/numpydoc/
+.. _sphinx: https://pypi.org/project/Sphinx/
diff --git a/doc/api/prev_api_changes/api_changes_3.6.0/removals.rst b/doc/api/prev_api_changes/api_changes_3.6.0/removals.rst
new file mode 100644
index 000000000000..60b1771eea09
--- /dev/null
+++ b/doc/api/prev_api_changes/api_changes_3.6.0/removals.rst
@@ -0,0 +1,222 @@
+Removals
+--------
+
+The following deprecated APIs have been removed:
+
+Removed behaviour
+~~~~~~~~~~~~~~~~~
+
+Stricter validation of function parameters
+..........................................
+
+- Unknown keyword arguments to `.Figure.savefig`, `.pyplot.savefig`, and the
+ ``FigureCanvas.print_*`` methods now raise a `TypeError`, instead of being
+ ignored.
+- Extra parameters to the `~.axes.Axes` constructor, i.e., those other than
+ *fig* and *rect*, are now keyword only.
+- Passing arguments not specifically listed in the signatures of
+ `.Axes3D.plot_surface` and `.Axes3D.plot_wireframe` is no longer supported;
+ pass any extra arguments as keyword arguments instead.
+- Passing positional arguments to `.LineCollection` has been removed; use
+ specific keyword argument names now.
+
+``imread`` no longer accepts URLs
+.................................
+
+Passing a URL to `~.pyplot.imread()` has been removed. Please open the URL for
+reading and directly use the Pillow API (e.g.,
+``PIL.Image.open(urllib.request.urlopen(url))``, or
+``PIL.Image.open(io.BytesIO(requests.get(url).content))``) instead.
+
+MarkerStyle is immutable
+........................
+
+The methods ``MarkerStyle.set_fillstyle`` and ``MarkerStyle.set_marker`` have
+been removed. Create a new `.MarkerStyle` with the respective parameters
+instead.
+
+Passing bytes to ``FT2Font.set_text``
+.....................................
+
+... is no longer supported. Pass `str` instead.
+
+Support for passing tool names to ``ToolManager.add_tool``
+..........................................................
+
+... has been removed. The second parameter to `.ToolManager.add_tool` must now
+always be a tool class.
+
+``backend_tools.ToolFullScreen`` now inherits from ``ToolBase``, not from ``ToolToggleBase``
+............................................................................................
+
+`.ToolFullScreen` can only switch between the non-fullscreen and fullscreen
+states, but not unconditionally put the window in a given state; hence the
+``enable`` and ``disable`` methods were misleadingly named. Thus, the
+`.ToolToggleBase`-related API (``enable``, ``disable``, etc.) was removed.
+
+``BoxStyle._Base`` and ``transmute`` method of box styles
+.........................................................
+
+... have been removed. Box styles implemented as classes no longer need to
+inherit from a base class.
+
+Loaded modules logging
+......................
+
+The list of currently loaded modules is no longer logged at the DEBUG level at
+Matplotlib import time, because it can produce extensive output and make other
+valuable DEBUG statements difficult to find. If you were relying on this
+output, please arrange for your own logging (the built-in `sys.modules` can be
+used to get the currently loaded modules).
+
+Modules
+~~~~~~~
+
+- The ``cbook.deprecation`` module has been removed from the public API as it
+ is considered internal.
+- The ``mpl_toolkits.axes_grid`` module has been removed. All functionality from
+ ``mpl_toolkits.axes_grid`` can be found in either `mpl_toolkits.axes_grid1`
+ or `mpl_toolkits.axisartist`. Axes classes from ``mpl_toolkits.axes_grid``
+ based on ``Axis`` from `mpl_toolkits.axisartist` can be found in
+ `mpl_toolkits.axisartist`.
+
+Classes, methods and attributes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following module-level classes/variables have been removed:
+
+- ``cm.cmap_d``
+- ``colorbar.colorbar_doc``, ``colorbar.colorbar_kw_doc``
+- ``ColorbarPatch``
+- ``mathtext.Fonts`` and all its subclasses
+- ``mathtext.FontConstantsBase`` and all its subclasses
+- ``mathtext.latex_to_bakoma``, ``mathtext.latex_to_cmex``,
+ ``mathtext.latex_to_standard``
+- ``mathtext.MathtextBackendPdf``, ``mathtext.MathtextBackendPs``,
+ ``mathtext.MathtextBackendSvg``, ``mathtext.MathtextBackendCairo``; use
+ `.MathtextBackendPath` instead.
+- ``mathtext.Node`` and all its subclasses
+- ``mathtext.NUM_SIZE_LEVELS``
+- ``mathtext.Parser``
+- ``mathtext.Ship``
+- ``mathtext.SHRINK_FACTOR`` and ``mathtext.GROW_FACTOR``
+- ``mathtext.stix_virtual_fonts``,
+- ``mathtext.tex2uni``
+- ``backend_pgf.TmpDirCleaner``
+- ``backend_ps.GraphicsContextPS``; use ``GraphicsContextBase`` instead.
+- ``backend_wx.IDLE_DELAY``
+- ``axes_grid1.parasite_axes.ParasiteAxesAuxTransBase``; use
+ `.ParasiteAxesBase` instead.
+- ``axes_grid1.parasite_axes.ParasiteAxesAuxTrans``; use `.ParasiteAxes`
+ instead.
+
+The following class attributes have been removed:
+
+- ``Line2D.validCap`` and ``Line2D.validJoin``; validation is centralized in
+ ``rcsetup``.
+- ``Patch.validCap`` and ``Patch.validJoin``; validation is centralized in
+ ``rcsetup``.
+- ``renderer.M``, ``renderer.eye``, ``renderer.vvec``,
+ ``renderer.get_axis_position`` placed on the Renderer during 3D Axes draw;
+ these attributes are all available via `.Axes3D`, which can be accessed via
+ ``self.axes`` on all `.Artist`\s.
+- ``RendererPdf.mathtext_parser``, ``RendererPS.mathtext_parser``,
+ ``RendererSVG.mathtext_parser``, ``RendererCairo.mathtext_parser``
+- ``StandardPsFonts.pswriter``
+- ``Subplot.figbox``; use `.Axes.get_position` instead.
+- ``Subplot.numRows``; ``ax.get_gridspec().nrows`` instead.
+- ``Subplot.numCols``; ``ax.get_gridspec().ncols`` instead.
+- ``SubplotDivider.figbox``
+- ``cids``, ``cnt``, ``observers``, ``change_observers``, and
+ ``submit_observers`` on all `.Widget`\s
+
+The following class methods have been removed:
+
+- ``Axis.cla()``; use `.Axis.clear` instead.
+- ``RadialAxis.cla()`` and ``ThetaAxis.cla()``; use `.RadialAxis.clear` or
+ `.ThetaAxis.clear` instead.
+- ``Spine.cla()``; use `.Spine.clear` instead.
+- ``ContourLabeler.get_label_coords()``; there is no replacement as it was
+ considered an internal helper.
+- ``FancyArrowPatch.get_dpi_cor`` and ``FancyArrowPatch.set_dpi_cor``
+
+- ``FigureCanvas.get_window_title()`` and ``FigureCanvas.set_window_title()``;
+ use `.FigureManagerBase.get_window_title` or
+ `.FigureManagerBase.set_window_title` if using pyplot, or use GUI-specific
+ methods if embedding.
+- ``FigureManager.key_press()`` and ``FigureManager.button_press()``; trigger
+ the events directly on the canvas using
+ ``canvas.callbacks.process(event.name, event)`` for key and button events.
+
+- ``RendererAgg.get_content_extents()`` and
+ ``RendererAgg.tostring_rgba_minimized()``
+- ``NavigationToolbar2Wx.get_canvas()``
+
+- ``ParasiteAxesBase.update_viewlim()``; use `.ParasiteAxesBase.apply_aspect`
+ instead.
+- ``Subplot.get_geometry()``; use `.SubplotBase.get_subplotspec` instead.
+- ``Subplot.change_geometry()``; use `.SubplotBase.set_subplotspec` instead.
+- ``Subplot.update_params()``; this method did nothing.
+- ``Subplot.is_first_row()``; use ``ax.get_subplotspec().is_first_row``
+ instead.
+- ``Subplot.is_first_col()``; use ``ax.get_subplotspec().is_first_col``
+ instead.
+- ``Subplot.is_last_row()``; use ``ax.get_subplotspec().is_last_row`` instead.
+- ``Subplot.is_last_col()``; use ``ax.get_subplotspec().is_last_col`` instead.
+- ``SubplotDivider.change_geometry()``; use `.SubplotDivider.set_subplotspec`
+ instead.
+- ``SubplotDivider.get_geometry()``; use `.SubplotDivider.get_subplotspec`
+ instead.
+- ``SubplotDivider.update_params()``
+- ``get_depth``, ``parse``, ``to_mask``, ``to_rgba``, and ``to_png`` of
+ `.MathTextParser`; use `.mathtext.math_to_image` instead.
+
+- ``MovieWriter.cleanup()``; the cleanup logic is instead fully implemented in
+ `.MovieWriter.finish` and ``cleanup`` is no longer called.
+
+Functions
+~~~~~~~~~
+
+The following functions have been removed;
+
+- ``backend_template.new_figure_manager()``,
+ ``backend_template.new_figure_manager_given_figure()``, and
+ ``backend_template.draw_if_interactive()`` have been removed, as part of the
+ introduction of the simplified backend API.
+- Deprecation-related re-imports ``cbook.deprecated()``, and
+ ``cbook.warn_deprecated()``.
+- ``colorbar.colorbar_factory()``; use `.Colorbar` instead.
+ ``colorbar.make_axes_kw_doc()``
+- ``mathtext.Error()``
+- ``mathtext.ship()``
+- ``mathtext.tex2uni()``
+- ``axes_grid1.parasite_axes.parasite_axes_auxtrans_class_factory()``; use
+ `.parasite_axes_class_factory` instead.
+- ``sphinext.plot_directive.align()``; use
+ ``docutils.parsers.rst.directives.images.Image.align`` instead.
+
+Arguments
+~~~~~~~~~
+
+The following arguments have been removed:
+
+- *dpi* from ``print_ps()`` in the PS backend and ``print_pdf()`` in the PDF
+ backend. Instead, the methods will obtain the DPI from the ``savefig``
+ machinery.
+- *dpi_cor* from `~.FancyArrowPatch`
+- *minimum_descent* from ``TextArea``; it is now effectively always True
+- *origin* from ``FigureCanvasWx.gui_repaint()``
+- *project* from ``Line3DCollection.draw()``
+- *renderer* from `.Line3DCollection.do_3d_projection`,
+ `.Patch3D.do_3d_projection`, `.PathPatch3D.do_3d_projection`,
+ `.Path3DCollection.do_3d_projection`, `.Patch3DCollection.do_3d_projection`,
+ `.Poly3DCollection.do_3d_projection`
+- *resize_callback* from the Tk backend; use
+ ``get_tk_widget().bind('', ..., True)`` instead.
+- *return_all* from ``gridspec.get_position()``
+- Keyword arguments to ``gca()``; there is no replacement.
+
+rcParams
+~~~~~~~~
+
+The setting :rc:`ps.useafm` no longer has any effect on `matplotlib.mathtext`.
diff --git a/doc/users/github_stats.rst b/doc/users/github_stats.rst
index 001031da6f44..e23d1e8f6fd0 100644
--- a/doc/users/github_stats.rst
+++ b/doc/users/github_stats.rst
@@ -1,130 +1,1295 @@
.. _github-stats:
-GitHub statistics for 3.5.3 (Aug 10, 2022)
+GitHub statistics for 3.6.0 (Sep 15, 2022)
==========================================
-GitHub statistics for 2022/05/03 (tag: v3.5.2) - 2022/08/10
+GitHub statistics for 2021/11/16 (tag: v3.5.0) - 2022/09/15
These lists are automatically generated, and may be incomplete or contain duplicates.
-We closed 19 issues and merged 66 pull requests.
-The full list can be seen `on GitHub `__
+We closed 202 issues and merged 894 pull requests.
+The full list can be seen `on GitHub `__
-The following 20 authors contributed 99 commits.
+The following 174 authors contributed 4425 commits.
+* Abhishek K M
+* Adeel Hassan
+* agra
+* Aitik Gupta
+* ambi7
+* Andras Deak
+* Andres Martinez
+* Andrew Fennell
+* andrzejnovak
+* Andrés Martínez
+* Anna Mastori
+* AnnaMastori
+* Ante Sikic
* Antony Lee
+* arndRemy
+* Ben Root
* Biswapriyo Nath
+* cavesdev
+* Clément Phan
+* Clément Walter
+* code-review-doctor
+* Connor Cozad
+* Constantine Evans
+* Croadden
+* daniilS
+* Danilo Palumbo
* David Gilbertson
+* David Ketcheson
+* David Matos
+* David Poznik
+* David Stansby
+* Davide Sandonà
+* dependabot[bot]
+* dermasugita
+* Diego Solano
+* Dimitri Papadopoulos
+* dj4t9n
+* Dmitriy Fishman
* DWesl
+* Edouard Berthe
+* eindH
* Elliott Sales de Andrade
+* Eric Firing
+* Eric Larson
+* Eric Prestat
+* Federico Ariza
+* Felix Nößler
+* Fernando
+* Gajendra Pal
+* gajendra0180
* GavinZhang
* Greg Lucas
+* hannah
+* Hansin Ahuja
+* Harshal Prakash Patankar
+* Hassan Kibirige
+* Haziq Khurshid
+* Henry
+* henrybeUM
+* Hood
+* Hood Chatham
+* Ian Hunt-Isaak
+* Ian Thomas
+* igurin-invn
+* ikhebgeenaccount
+* Isha Mehta
+* Jake Bowhay
+* Jake Li
+* Jake Lishman
+* Jake VanderPlas
+* Jakub Klus
+* James Tocknell
+* Jan-Hendrik Müller
+* Jay Joshi
+* Jay Stanley
+* jayjoshi112711
+* Jeff Beck
* Jody Klymak
+* Joel Frederico
+* Joseph Fox-Rabinovitz
+* Josh Soref
+* Jouni K. Seppänen
* Kayran Schmidt
+* kdpenner
+* Kian Eliasi
+* Kinshuk Dua
+* kislovskiy
+* KIU Shueng Chuan
+* kjain
+* kolibril13
+* krassowski
+* Krish-sysadmin
+* Leeh Peter
+* lgfunderburk
+* Liam Toney
+* Lucas Ricci
+* Luke Davis
+* luz paz
+* mackopes
+* MAKOMO
+* MalikIdreesHasa
+* Marcin Swaltek
+* Mario
+* Mario Sergio Valdés Tresanco
+* martinRenou
* Matthew Feickert
+* Matthias Bussonnier
+* Mauricio Collares
+* MeeseeksMachine
+* melissawm
+* Mr-Milk
+* Navid C. Constantinou
* Nickolaos Giannatos
+* Nicolas P. Rougier
+* Niyas Sait
+* noatamir
+* ojeda-e
+* Olivier Gauthé
* Oscar Gustafsson
+* patquem
+* Philipp Rohde
+* Pieter Eendebak
+* Pieter P
+* Péter Leéh
+* Qijia Liu
+* Quentin Peter
+* Raphael Quast
+* rditlar9
+* Richard Penney
+* richardsheridan
+* Rike-Benjamin Schuppner
+* Robert Cimrman
+* Roberto Toro
+* root
* Ruth Comer
+* Ruth G. N
+* Ruth Nainggolan
+* Ryan May
+* Rémi Achard
* SaumyaBhushan
* Scott Jones
* Scott Shambaugh
+* selormtamakloe
+* Simon Hoxbro
+* skywateryang
+* Stefanie Molin
+* Steffen Rehberg
+* stone
+* Sven Eschlbeck
+* sveneschlbeck
+* takimata
* tfpf
* Thomas A Caswell
* Tim Hoffmann
+* Tobias Megies
+* Tomas Hrnciar
+* Tomasz Kuliński
+* trichter
+* unknown
+* Uwe Hubert
+* vfdev-5
+* Vishal Chandratreya
+* Vishal Pankaj Chandratreya
+* Vishnu V K
+* vk0812
+* Vlad Korolev
+* Will Qian
+* William Qian
+* wqh17101
* wsykala
+* yaaun
+* Yannic Schroeder
+* yuanx749
+* 渡邉 美希
GitHub issues and pull requests:
-Pull Requests (66):
-
-* :ghpull:`23591`: Backport PR #23549 on branch v3.5.x (Don't clip colorbar dividers)
-* :ghpull:`23593`: STY: Fix whitespace error from new flake8
-* :ghpull:`23549`: Don't clip colorbar dividers
-* :ghpull:`23528`: Backport PR #23523 on branch v3.5.x (TST: Update Quantity test class)
-* :ghpull:`23523`: TST: Update Quantity test class
-* :ghpull:`23508`: Add explicit registration of units in examples
-* :ghpull:`23515`: Backport PR #23462: Fix AttributeError for pickle load of Figure class
-* :ghpull:`23518`: Backport PR #23514 on branch v3.5.x (Fix doc build)
-* :ghpull:`23517`: Backport PR #23511 on branch v3.5.x (supporting IBM i OS)
-* :ghpull:`23511`: supporting IBM i OS
-* :ghpull:`23462`: Fix AttributeError for pickle load of Figure class
-* :ghpull:`23488`: Backport PR #23066 on branch v3.5.x (BLD: Define PyErr_SetFromWindowsErr on Cygwin.)
-* :ghpull:`23066`: BLD: Define PyErr_SetFromWindowsErr on Cygwin.
-* :ghpull:`23479`: Pin setuptools_scm on v3.5.x
-* :ghpull:`22998`: Backport PR #22987 on branch v3.5.x (CI: bump test limit from tkagg on osx)
-* :ghpull:`23478`: Backport PR #23476: FIX: reset to original DPI in getstate
-* :ghpull:`23476`: FIX: reset to original DPI in getstate
-* :ghpull:`23458`: Backport PR #23445 on branch v3.5.x (Compare thread native ids when checking whether running on main thread.)
-* :ghpull:`23440`: Backport PR #23430 on branch v3.5.x (Fix divide by 0 runtime warning)
-* :ghpull:`23430`: Fix divide by 0 runtime warning
-* :ghpull:`23344`: Backport PR #23333: Fix errorbar handling of nan.
-* :ghpull:`23333`: Fix errorbar handling of nan.
-* :ghpull:`23338`: Backport PR #23278: Remove internal use of get/set dpi
-* :ghpull:`23331`: Backport PR #22835 on branch v3.5.x (Fix BoundaryNorm cursor data output)
-* :ghpull:`22835`: Fix BoundaryNorm cursor data output
-* :ghpull:`23292`: Backport PR #23232 on branch v3.5.x (Fix passing stem markerfmt positionally when locs are not given)
-* :ghpull:`23275`: Backport PR #23260 on branch v3.5.x (Fix Colorbar extend patches to have correct alpha)
-* :ghpull:`23312`: Pin to an older pydata-sphinx-theme for v3.5.x
-* :ghpull:`23278`: Remove internal use of get/set dpi
-* :ghpull:`23232`: Fix passing stem markerfmt positionally when locs are not given
-* :ghpull:`22865`: Fix issue with colorbar extend and drawedges
-* :ghpull:`23260`: Fix Colorbar extend patches to have correct alpha
-* :ghpull:`23245`: Backport PR #23144 on branch v3.5.x (Only import setuptools_scm when we are in a matplotlib git repo)
-* :ghpull:`23144`: Only import setuptools_scm when we are in a matplotlib git repo
-* :ghpull:`23242`: Backport PR #23203 on branch v3.5.x (Honour ``panchor`` keyword for colorbar on subplot)
-* :ghpull:`23203`: Honour ``panchor`` keyword for colorbar on subplot
-* :ghpull:`23228`: Backport PR #23209 on branch v3.5.x (Fix the vertical alignment of overunder symbols.)
-* :ghpull:`23209`: Fix the vertical alignment of overunder symbols.
-* :ghpull:`23184`: Backport PR #23174: Make sure SubFigure has _cachedRenderer
-* :ghpull:`23194`: Backport PR #23095: Try to unbreak CI by xfailing OSX Tk tests
-* :ghpull:`23113`: Backport PR #23057 and #23106
-* :ghpull:`23185`: Backport PR #23168 on branch v3.5.x (Corrected docstring for artist.Artist.set_agg_filter)
-* :ghpull:`23168`: Corrected docstring for artist.Artist.set_agg_filter
-* :ghpull:`23174`: Make sure SubFigure has _cachedRenderer
-* :ghpull:`23110`: Tweak subprocess_run_helper.
-* :ghpull:`23138`: Backport PR #23137 on branch v3.5.x (DOC fix typo)
-* :ghpull:`23137`: DOC fix typo
-* :ghpull:`23125`: Backport PR #23122 on branch v3.5.x (Remove redundant rcparam default)
-* :ghpull:`23120`: Backport PR #23115 on branch v3.5.x (DOC fixed duplicate/wrong default)
-* :ghpull:`23095`: Try to unbreak CI by xfailing OSX Tk tests
-* :ghpull:`23106`: Reuse subprocess_run_helper in test_pylab_integration.
-* :ghpull:`23112`: Backport PR #23111 on branch v3.5.x (Fix _g_sig_digits for value<0 and delta=0.)
-* :ghpull:`23111`: Fix _g_sig_digits for value<0 and delta=0.
-* :ghpull:`23057`: FIX: ensure switching the backend installs repl hook
-* :ghpull:`23075`: Backport PR #23069 on branch v3.5.x (TST: forgive more failures on pyside2 / pyside6 cross imports)
-* :ghpull:`23069`: TST: forgive more failures on pyside2 / pyside6 cross imports
-* :ghpull:`22981`: Backport PR #22979 on branch v3.5.x (Skip additional backend tests on import error)
-* :ghpull:`23064`: Backport PR #22975 on branch v3.5.x (MNT: fix __array__ to numpy)
-* :ghpull:`22975`: MNT: fix __array__ to numpy
-* :ghpull:`23058`: Backport PR #23051 on branch v3.5.x (Fix variable initialization due to jump bypassing it)
-* :ghpull:`23051`: Fix variable initialization due to jump bypassing it
-* :ghpull:`23010`: Backport PR #23000 on branch v3.5.x (Additional details on VS install on installation page)
-* :ghpull:`22995`: Backport PR #22994 on branch v3.5.x (Docs: ignore >>> on code prompts on documentation prompts)
-* :ghpull:`23001`: CI: Add trivial pre-commit.ci config to avoid CI failure
-* :ghpull:`22987`: CI: bump test limit from tkagg on osx
-* :ghpull:`22979`: Skip additional backend tests on import error
-
-Issues (19):
-
-* :ghissue:`22864`: [Bug]: Colorbar with drawedges=True and extend='both' does not draw edges at extremities
-* :ghissue:`23382`: [TST] Upcoming dependency test failures
-* :ghissue:`23470`: [Bug]: fig.canvas.mpl_connect in 3.5.2 not registering events in jupyter lab unless using widget pan or zoom controls
-* :ghissue:`22997`: [Bug]: Cygwin build fails due to use of Windows-only functions in _tkagg.cpp
-* :ghissue:`23471`: [Bug]: DPI of a figure is doubled after unpickling on M1 Mac
-* :ghissue:`23050`: [Doc]: Docstring for artist.Artist.set_agg_filter is incorrect
-* :ghissue:`23307`: [Bug]: PEX warns about missing ``setuptools`` from ``install_requires`` in matplotlib
-* :ghissue:`23330`: [Bug]: Missing values cause exception in errorbar plot
-* :ghissue:`21915`: [Bug]: scalar mappable format_cursor_data crashes on BoundarNorm
-* :ghissue:`22970`: [Bug]: Colorbar extend patches do not have correct alpha
-* :ghissue:`23114`: [Bug]: matplotlib __init__.py checks for .git folder 2 levels up, then errors due to setup tools_scm
-* :ghissue:`23157`: [Bug]: colorbar ignores keyword panchor=False
-* :ghissue:`23229`: [Bug]: matplotlib==3.5.2 breaks ipywidgets
-* :ghissue:`18085`: vertical alignment of \sum depends on the presence of subscripts and superscripts
-* :ghissue:`23173`: [Bug]: Crash when adding clabels to subfigures
-* :ghissue:`23108`: [Bug]: Imshow with all negative values leads to math domain errors.
-* :ghissue:`23042`: [Bug]: Figures fail to redraw with IPython
-* :ghissue:`23004`: [Bug]: test failure of test_cross_Qt_imports in 3.5.2
-* :ghissue:`22973`: [Bug]: v3.5.2 causing plot to crash when plotting object with ``__array__`` method
+Pull Requests (894):
+
+* :ghpull:`23814`: Consolidate release notes for 3.6
+* :ghpull:`23899`: Backport PR #23885 on branch v3.6.x (DOC: Rearrange navbar-end elements)
+* :ghpull:`23898`: Backport PR #23892 on branch v3.6.x (DOC: Fix docs for linestyles in contour)
+* :ghpull:`23885`: DOC: Rearrange navbar-end elements
+* :ghpull:`23894`: Backport PR #23881 on branch v3.6.x (Fix Pillow compatibility in example)
+* :ghpull:`23897`: Backport PR #23887 on branch v3.6.x (Add missing label argument to barh docs)
+* :ghpull:`23892`: DOC: Fix docs for linestyles in contour
+* :ghpull:`23887`: Add missing label argument to barh docs
+* :ghpull:`23893`: Backport PR #23886 on branch v3.6.x (CI: prefer (older) binaries over (newer) sdists)
+* :ghpull:`23881`: Fix Pillow compatibility in example
+* :ghpull:`23886`: CI: prefer (older) binaries over (newer) sdists
+* :ghpull:`23880`: Backport PR #23862 on branch v3.6.x (Remove triggering of deprecation warning in AnchoredEllipse)
+* :ghpull:`23862`: Remove triggering of deprecation warning in AnchoredEllipse
+* :ghpull:`23879`: Backport PR #23864 on branch v3.6.x (Correct and improve documentation for anchored artists)
+* :ghpull:`23877`: Backport PR #23841 on branch v3.6.x (clarified that hist computes histogram on unbinned data)
+* :ghpull:`23872`: Backport PR #23871 on branch v3.6.x (DOC: Fix formatting of pick event demo example)
+* :ghpull:`23841`: clarified that hist computes histogram on unbinned data
+* :ghpull:`23864`: Correct and improve documentation for anchored artists
+* :ghpull:`23871`: DOC: Fix formatting of pick event demo example
+* :ghpull:`23869`: Backport PR #23867 on branch v3.6.x (DOC: fix deprecation warnings in examples)
+* :ghpull:`23867`: DOC: fix deprecation warnings in examples
+* :ghpull:`23858`: Backport PR #23855 on branch v3.6.x (DOC: fix deprecation warnings)
+* :ghpull:`23859`: Backport PR #23844 on branch v3.6.x (Further improve dev setup instructions)
+* :ghpull:`23844`: Further improve dev setup instructions
+* :ghpull:`23855`: DOC: fix deprecation warnings
+* :ghpull:`23854`: Backport PR #23852 on branch v3.6.x (Fix cross-compiling internal freetype)
+* :ghpull:`23852`: Fix cross-compiling internal freetype
+* :ghpull:`23853`: Backport PR #23830 on branch v3.6.x (Start testing on Python 3.11)
+* :ghpull:`23830`: Start testing on Python 3.11
+* :ghpull:`23851`: Backport PR #23850 on branch v3.6.x (removed single word in documenting doc)
+* :ghpull:`23850`: removed single word in documenting doc
+* :ghpull:`23848`: Backport PR #23843 on branch v3.6.x (Clarify that pycairo>=1.14.0 is needed.)
+* :ghpull:`23843`: Clarify that pycairo>=1.14.0 is needed.
+* :ghpull:`23842`: Backport PR #23840 on branch v3.6.x (Remove documentation for axes_grid)
+* :ghpull:`23838`: Backport PR #23834 on branch v3.6.x (Revert "Refactor handling of tick and ticklabel visibility in Axis.clear")
+* :ghpull:`23840`: Remove documentation for axes_grid
+* :ghpull:`23837`: Backport PR #23833 on branch v3.6.x (Remove search field from sidebar)
+* :ghpull:`23836`: Backport PR #23823 on branch v3.6.x ([DOC] Improve dev setup description)
+* :ghpull:`23834`: Revert "Refactor handling of tick and ticklabel visibility in Axis.clear"
+* :ghpull:`23833`: Remove search field from sidebar
+* :ghpull:`23823`: [DOC] Improve dev setup description
+* :ghpull:`23822`: Backport PR #23813 on branch v3.6.x (Triplot duplicated label)
+* :ghpull:`23813`: Triplot duplicated label
+* :ghpull:`23811`: Backport PR #23805 on branch v3.6.x (sphinxext: Do not copy plot_directive.css's metadata)
+* :ghpull:`23805`: sphinxext: Do not copy plot_directive.css's metadata
+* :ghpull:`23800`: Backport PR #23785 on branch v3.6.x (FIX: ensure type stability for missing cmaps in ``set_cmap``)
+* :ghpull:`23799`: Backport PR #23790 on branch v3.6.x (DOC: Add cache busting to all static assets)
+* :ghpull:`23785`: FIX: ensure type stability for missing cmaps in ``set_cmap``
+* :ghpull:`23790`: DOC: Add cache busting to all static assets
+* :ghpull:`23791`: Backport PR #23774 on branch v3.6.x (Correct rcParams-name in AutoDateFormatter doc-string)
+* :ghpull:`23792`: Backport PR #23781 on branch v3.6.x (ci: Add plot types to sphinx-gallery artifacts)
+* :ghpull:`23789`: Backport PR #23786 on branch v3.6.x (DOC: fontfallback works for most of the backends)
+* :ghpull:`23788`: Backport PR #23784 on branch v3.6.x (DOC: Fix num2date docstring)
+* :ghpull:`23786`: DOC: fontfallback works for most of the backends
+* :ghpull:`23784`: DOC: Fix num2date docstring
+* :ghpull:`23781`: ci: Add plot types to sphinx-gallery artifacts
+* :ghpull:`23783`: Backport PR #23782 on branch v3.6.x (Remove ``Axes.cla`` from examples)
+* :ghpull:`23782`: Remove ``Axes.cla`` from examples
+* :ghpull:`23774`: Correct rcParams-name in AutoDateFormatter doc-string
+* :ghpull:`23773`: Backport PR #23772 on branch v3.6.x (3d plots what's new cleanups)
+* :ghpull:`23772`: 3d plots what's new cleanups
+* :ghpull:`23765`: Backport PR #23762 on branch v3.6.x (FIX: legend handler warning too liberal)
+* :ghpull:`23762`: FIX: legend handler warning too liberal
+* :ghpull:`23759`: Backport PR #23686 on branch v3.6.x (Improve matplotlib.pyplot importtime by caching ArtistInspector)
+* :ghpull:`23686`: Improve matplotlib.pyplot importtime by caching ArtistInspector
+* :ghpull:`23756`: Backport PR #23569 on branch v3.6.x (Fix hidden xlabel bug in colorbar)
+* :ghpull:`23755`: Backport PR #23742 on branch v3.6.x (FIX: unbreak ipympl)
+* :ghpull:`23569`: Fix hidden xlabel bug in colorbar
+* :ghpull:`23742`: FIX: unbreak ipympl
+* :ghpull:`23752`: Backport PR #23750 on branch v3.6.x (Fix rcParams documentation)
+* :ghpull:`23749`: Backport PR #23735 on branch v3.6.x (Correctly handle Axes subclasses that override cla)
+* :ghpull:`23735`: Correctly handle Axes subclasses that override cla
+* :ghpull:`23748`: Backport PR #23746 on branch v3.6.x (DOC: add numpydoc docstring + commentary to Axis.get_ticklocs)
+* :ghpull:`23747`: Backport PR #23721 on branch v3.6.x (3d plot view angle documentation)
+* :ghpull:`23746`: DOC: add numpydoc docstring + commentary to Axis.get_ticklocs
+* :ghpull:`23721`: 3d plot view angle documentation
+* :ghpull:`23744`: Backport PR #23740 on branch v3.6.x (Clarify error for colorbar with unparented mappable)
+* :ghpull:`23741`: Backport PR #23674 on branch v3.6.x (Re-rename builtin seaborn styles to not include a dot.)
+* :ghpull:`23740`: Clarify error for colorbar with unparented mappable
+* :ghpull:`23674`: Re-rename builtin seaborn styles to not include a dot.
+* :ghpull:`23738`: Backport PR #23639 on branch v3.6.x (Adding the new contributor meeting)
+* :ghpull:`23739`: Backport PR #23712 on branch v3.6.x (FIX: do not try to help CPython with garbage collection)
+* :ghpull:`23712`: FIX: do not try to help CPython with garbage collection
+* :ghpull:`23639`: Adding the new contributor meeting
+* :ghpull:`23732`: Backport PR #23729 on branch v3.6.x (Use cleaner recursion check in PyQt FigureCanvas' resizeEvent.)
+* :ghpull:`23734`: Backport PR #23733 on branch v3.6.x (DOC: Update theme configuration for upcoming changes)
+* :ghpull:`23733`: DOC: Update theme configuration for upcoming changes
+* :ghpull:`23728`: Backport PR #23722 on branch v3.6.x (Restore deprecation class aliases in cbook)
+* :ghpull:`23729`: Use cleaner recursion check in PyQt FigureCanvas' resizeEvent.
+* :ghpull:`23726`: Backport PR #23711 on branch v3.6.x (Fix deprecation messages for vendoring unused things)
+* :ghpull:`23722`: Restore deprecation class aliases in cbook
+* :ghpull:`23727`: Backport PR #23724 on branch v3.6.x (Fix/harmonize spacing in dependencies.rst.)
+* :ghpull:`23724`: Fix/harmonize spacing in dependencies.rst.
+* :ghpull:`23711`: Fix deprecation messages for vendoring unused things
+* :ghpull:`23715`: Backport PR #23708 on branch v3.6.x (Loosen up test_Normalize test)
+* :ghpull:`23713`: Backport PR #23710 on branch v3.6.x (Fix cmap deprecations)
+* :ghpull:`23708`: Loosen up test_Normalize test
+* :ghpull:`23710`: Fix cmap deprecations
+* :ghpull:`23696`: Backport PR #23695 on branch v3.6.x (Document polar handling of _interpolation_steps.)
+* :ghpull:`23706`: Backport PR #23705 on branch v3.6.x (DOC: Added link to class under discussion)
+* :ghpull:`23705`: DOC: Added link to class under discussion
+* :ghpull:`23695`: Document polar handling of _interpolation_steps.
+* :ghpull:`23668`: Api deprecate cmap functions
+* :ghpull:`23049`: Add ``minor`` keyword argument to ``plt.x/yticks``
+* :ghpull:`23665`: Harmonize docstrings for boxstyle/connectionstyle/arrowstyle.
+* :ghpull:`23636`: FIX: macosx flush_events should process all events
+* :ghpull:`23555`: Uncamelcase offsetTrans in draw_path_collection.
+* :ghpull:`23682`: Fix generated documentation for deprecated modules
+* :ghpull:`23678`: Get rcParams from mpl
+* :ghpull:`23571`: Simplify _bind_draw_path_function.
+* :ghpull:`23673`: DOC: Highlight information about avoiding labels in legend
+* :ghpull:`22506`: Replace MathtextBackend mechanism.
+* :ghpull:`23340`: Set correct path for Arc
+* :ghpull:`23562`: Fix issue with get_edgecolor and get_facecolor in 3D plots
+* :ghpull:`23634`: make.bat: Don't override SPHINXOPTS/O from the environment
+* :ghpull:`23675`: Deprecate helper functions in axis3d
+* :ghpull:`23676`: MNT: Get rcParams from mpl
+* :ghpull:`23677`: TST: Use article class when checking for pgf
+* :ghpull:`23669`: CI: Azure update from ubuntu-18.04 to ubuntu-latest and ubuntu-20.04
+* :ghpull:`23670`: Add bar color demo.
+* :ghpull:`23644`: Standardize edge-on axis locations when viewing primary 3d axis planes
+* :ghpull:`23563`: Fix issue with drawing 3D lines where points are from nparray
+* :ghpull:`23666`: MNT: Deprecate macosx prepare subplots tool
+* :ghpull:`23572`: Deprecate ``get_grid_positions(..., raw=True)``.
+* :ghpull:`23525`: Add functionality to label individual bars with Axes.bar()
+* :ghpull:`23667`: Fix flake8 errors introduced by crossed PRs
+* :ghpull:`23554`: MNT: Remove unused imports
+* :ghpull:`23659`: Simplify/fix save_diff_image.
+* :ghpull:`23663`: Small cleanups to _find_fonts_by_props.
+* :ghpull:`23662`: Add tolerance to test failing on ppc64le
+* :ghpull:`23623`: MNT: remove _gridspecs attribute on Figure classes
+* :ghpull:`23654`: Reverts macosx change to ARC
+* :ghpull:`23661`: Remove unused fontsize argument from private mathtext _get_info.
+* :ghpull:`23655`: Merge branch v3.5.x into main
+* :ghpull:`23658`: Increase tolerance on multi-font tests
+* :ghpull:`23657`: Add eps to extension list in image triager
+* :ghpull:`23656`: Fix broken link to MathML torture tests.
+* :ghpull:`23649`: CI: Use anaconda-client v1.10.0 for upload of nightlies
+* :ghpull:`23647`: Allow any color format to be used for axis3d.Axis.set_pane_color
+* :ghpull:`23643`: Enable wheels for PyPy 3.8+
+* :ghpull:`23621`: DOC: update and extend fonts explanation
+* :ghpull:`23612`: CI: try installing a different version of noto on OSX
+* :ghpull:`23619`: add pikepdf and visual c++ dependency
+* :ghpull:`23631`: Leave out ``barh`` from the basic plot types.
+* :ghpull:`23637`: BLD: Add Python 3.11 builds to CI
+* :ghpull:`23632`: Add discouraged admonitions
+* :ghpull:`23620`: Doc update deps
+* :ghpull:`23627`: Bump pypa/cibuildwheel from 2.8.1 to 2.9.0
+* :ghpull:`23628`: Change Title Case to Upper lower in templates
+* :ghpull:`23206`: Change exception type for incorrect SVG date metadata
+* :ghpull:`23387`: Remove setuptools_scm_git_archive dependency and add sdist test
+* :ghpull:`23605`: Fix issues in examples, docs, and tutorials
+* :ghpull:`23618`: [Doc]: Document the position parameter in apply_aspect()
+* :ghpull:`23355`: Revert "Try to unbreak CI by xfailing OSX Tk tests"
+* :ghpull:`23610`: TST: be more forgiving about IDing Noto
+* :ghpull:`23609`: print version number when building docs
+* :ghpull:`20832`: Implement multi-font embedding for PS Backend
+* :ghpull:`20804`: Implement multi-font embedding for PDF Backend
+* :ghpull:`23202`: MNT: Remove cached renderer from figure
+* :ghpull:`23497`: Avoid gridspec in more examples
+* :ghpull:`23602`: Editing "issues for new contributors"
+* :ghpull:`23600`: DOC: view_init docstring for 3d axes primary view angles
+* :ghpull:`23587`: BUG:datetime list starting with none
+* :ghpull:`23559`: re-base of font fallback for pdf and eps output + SVG support
+* :ghpull:`23557`: BLD: update the manylinux versions used
+* :ghpull:`23596`: Minor cleanup of axes_grid1
+* :ghpull:`23594`: Expire deprecation on passing bytes to FT2Font.set_text
+* :ghpull:`23435`: Add conda env to setup instructions
+* :ghpull:`23574`: Move colorbar() doc to method itself.
+* :ghpull:`23584`: Bump Ubuntu to 20.04 on GitHub Actions
+* :ghpull:`23561`: Clean up code in tri
+* :ghpull:`23582`: Cleanup axis3d.Axis.draw
+* :ghpull:`23510`: Refactor Widget tests
+* :ghpull:`20718`: Circle: Build docs in parallel.
+* :ghpull:`22452`: ENH: add ability to remove layout engine
+* :ghpull:`23516`: warning when scatter plot color settings discarded
+* :ghpull:`23577`: apply_aspect cleanups
+* :ghpull:`23575`: Cleanup parasite_simple example.
+* :ghpull:`23567`: Remove noop setattr_cm.
+* :ghpull:`23412`: Fix dash offset bug in Patch
+* :ghpull:`21756`: MNT: Clean up some UTF strings and memory autorelease
+* :ghpull:`23558`: MNT: Use UTF-8 string in macosx backend
+* :ghpull:`23550`: Change exception types, improve argument checking, and cleanups in mpl_toolkits
+* :ghpull:`23196`: Unify set_pickradius argument
+* :ghpull:`20740`: Implement Font-Fallback in Matplotlib
+* :ghpull:`22566`: Add rcparam for figure label size and weight
+* :ghpull:`23551`: Remove transform arguments from _iter_collection
+* :ghpull:`23444`: Deduplicate common parts in LatexManager.{__init__,_setup_latex_process}
+* :ghpull:`23017`: [ENH] : Provide axis('equal') for Axes3D (replace PR #22705)
+* :ghpull:`22950`: Simplify definition of mathtext symbols & correctly end tokens in mathtext parsing
+* :ghpull:`23409`: Provide axis('equal') for Axes3D (replaces PR #23017)
+* :ghpull:`23434`: Fix array-like linewidth for 3d scatter
+* :ghpull:`23500`: Move the common implementation of Axes.set_x/y/zscale to Axis.
+* :ghpull:`23533`: Add tests for sankey and minor fixes
+* :ghpull:`23535`: Make margins error as claimed in doc-string
+* :ghpull:`23546`: Simplify impl. of functions optionally used as context managers.
+* :ghpull:`23494`: Fix various issues from SonarQube
+* :ghpull:`23529`: Add workflow dispatch GitHub CI
+* :ghpull:`23539`: Small improvements to WebAgg example
+* :ghpull:`23541`: Change doc-build CI install order
+* :ghpull:`23526`: DOC: make "family" less ambiguous in FontProperties docs
+* :ghpull:`23537`: Move the deprecated RendererGTK{3,4}Cairo to a single place.
+* :ghpull:`23140`: [Features] Allow setting legend title alignment
+* :ghpull:`23538`: Fix imprecise docs re: backend dependencies.
+* :ghpull:`23532`: Add test for RGBAxes
+* :ghpull:`23453`: Add more tests for mplot3d
+* :ghpull:`23501`: Let Axes.clear iterate over Axises.
+* :ghpull:`23469`: Inline _init_axis_artists & _init_gridlines into clear.
+* :ghpull:`23475`: Add markerfacealt to pass-through arguments for error bar lines
+* :ghpull:`23527`: STY: fix whitespace on an assert
+* :ghpull:`23495`: Fix sgskip'd examples
+* :ghpull:`23404`: Restore matplotlib.__doc__ in Sphinx docs
+* :ghpull:`23507`: Add hint when More than {max_open_warning} figures have been opened
+* :ghpull:`23499`: Fix outdated comment re: event handlers in test_backends_interactive.
+* :ghpull:`23498`: Fix direct instantiation of webagg_core managers.
+* :ghpull:`23504`: Clarify formatting of the code-for-reproduction field in bug reports.
+* :ghpull:`23489`: Add missing test data to install
+* :ghpull:`23482`: Mathtext spaces must be independent of font style.
+* :ghpull:`23486`: Bump pypa/cibuildwheel from 2.8.0 to 2.8.1
+* :ghpull:`23461`: Tweak Axes repr.
+* :ghpull:`16931`: Make it easier to improve UI event metadata.
+* :ghpull:`23468`: Display grid in floating axes example.
+* :ghpull:`23467`: Remove old handling for factor=None in axisartist.
+* :ghpull:`23443`: Try running the pgf backend off the article class.
+* :ghpull:`23373`: Fix pan/zoom crashing when widget lock is unavailable
+* :ghpull:`23466`: Update filename in example.
+* :ghpull:`23464`: Deprecate macos close handler.
+* :ghpull:`23463`: Deprecate Tick.label
+* :ghpull:`23455`: Deprecate properties w_xaxis, w_yaxis, and w_zaxis
+* :ghpull:`23448`: Tweak callbacks to generate pick events.
+* :ghpull:`23233`: Default stem marker color follows the linecolor
+* :ghpull:`23452`: Generalize Axes __repr__ to 3D
+* :ghpull:`23445`: Compare thread native ids when checking whether running on main thread.
+* :ghpull:`20752`: Set norms using scale names.
+* :ghpull:`23438`: DOC: numpydoc-ify date Locator classes
+* :ghpull:`23427`: Tweak pgf escapes.
+* :ghpull:`23432`: Fixed typo in docs animation api
+* :ghpull:`23420`: Clean up test_chunksize_fails()
+* :ghpull:`23415`: Minor improvements to units_sample example
+* :ghpull:`21339`: Added linear scaling test to Hexbin marginals
+* :ghpull:`23414`: Bump pypa/cibuildwheel from 2.7.0 to 2.8.0
+* :ghpull:`23413`: Combine chunk size tests into one
+* :ghpull:`23403`: Small cleanup to VertexSelector.
+* :ghpull:`23291`: In the new/simplified backend API, don't customize draw_if_interactive.
+* :ghpull:`23350`: Fixed SVG-as-text image comparison tests.
+* :ghpull:`23406`: DOC: Fix calculation of bin centers in multi-histogram
+* :ghpull:`23407`: TST: Add missing warning type to pytest.warns
+* :ghpull:`23402`: Link 3D animation examples to one another.
+* :ghpull:`23401`: Upload wheel artifacts from the correct directory
+* :ghpull:`23374`: GOV: point CoC reports at CoC steering council subcomittee mailing list
+* :ghpull:`23393`: Clean up formatting of custom cmap example
+* :ghpull:`23146`: Update cibuildwheel
+* :ghpull:`23368`: Add a helper to generate closed paths.
+* :ghpull:`20220`: DOC: add mission statement
+* :ghpull:`22364`: Tweak mathtext/tex docs.
+* :ghpull:`23377`: Use tick_params more often over tick iteration
+* :ghpull:`22820`: [Doc] consolidate ``rect`` documentation
+* :ghpull:`23371`: Default animation.convert_args to ["-layers", "OptimizePlus"].
+* :ghpull:`23148`: DOC: change address to send security issues to
+* :ghpull:`23365`: DOC: add new showcase example, replace gendered one
+* :ghpull:`23033`: Fix issue with tex-encoding on non-Unicode platforms
+* :ghpull:`23358`: Shorten/clarify definition of extension types.
+* :ghpull:`23370`: Small cleanups to animation.
+* :ghpull:`23364`: Rename/change signature of PyGlyph_new.
+* :ghpull:`23363`: Simplify FigureCanvas multiple inheritance init by swapping bases order.
+* :ghpull:`23366`: MNT: use devel version of theme
+* :ghpull:`23357`: Fixed decimal points not appearing at end of Mathtext string.
+* :ghpull:`23351`: DOC/MNT install docs with dev version of sphinx theme
+* :ghpull:`23349`: CI: Remove old scipy-wheels-nightly uploads to ensure space
+* :ghpull:`23348`: Support multi-figure MultiCursor; prepare improving its signature.
+* :ghpull:`23360`: embedding_in_tk_sgskip.py: use root.destroy
+* :ghpull:`23354`: MNT: Use list comprehension
+* :ghpull:`23299`: FIX/API: do not reset backend key in rc_context
+* :ghpull:`23191`: ENH: add width_ratios and height_ratios to subplots
+* :ghpull:`23060`: MNT: Change objective C code to Automatic Reference Counting (ARC)
+* :ghpull:`23347`: Simplify/improve check for pycairo in Gtk-based backends.
+* :ghpull:`23316`: DOC: improve spines crosslinking
+* :ghpull:`23100`: Remove custom backend_nbagg.show(), putting logic in manager show.
+* :ghpull:`23342`: FIX: make sure addFont test removes the test font
+* :ghpull:`23266`: negative_linestyles kwarg in contour.py
+* :ghpull:`23332`: Validate Text linespacing on input.
+* :ghpull:`23336`: Remove ineffective exclusion of Arcs without parent Axes.
+* :ghpull:`23341`: MNT: Use '--pytest-test-first' option for naming clarity
+* :ghpull:`23337`: Remove now inexistent "datapath" rcParam from style blacklist.
+* :ghpull:`22004`: Make RendererCairo auto-infer surface size.
+* :ghpull:`23208`: ENH: enable stripey lines
+* :ghpull:`23288`: Correct URL area with rotated texts in PDFs
+* :ghpull:`23197`: Add tests for pan
+* :ghpull:`22167`: Deprecate selector ``visible`` attribute
+* :ghpull:`23322`: Cleanup FontProperties examples.
+* :ghpull:`23321`: Tweak examples capitalization/punctuation.
+* :ghpull:`23270`: Fix handling of nonmath hyphens in mathtext.
+* :ghpull:`23310`: Move Cursor demo from examples/misc to examples/event_handling
+* :ghpull:`23313`: Drop CSS styles that are in mpl-sphinx-theme
+* :ghpull:`23314`: Don't draw invisible 3D Axes
+* :ghpull:`23302`: Deprecate stem(..., use_line_collection=False)
+* :ghpull:`23309`: Remove front page examples
+* :ghpull:`23282`: Backport PR #22865 on branch v3.5.x (Fix issue with colorbar extend and drawedges)
+* :ghpull:`23231`: Add pytest-xvfb as test dependency
+* :ghpull:`23318`: No need to return OrderedDict from _gen_axes_spines.
+* :ghpull:`23295`: Replace re.sub by the faster str.translate.
+* :ghpull:`23300`: Modify example of "Fig Axes Customize Simple"
+* :ghpull:`23014`: Improve consistency in LogLocator and LogFormatter API
+* :ghpull:`23286`: Refactor URL handling in PDF backend
+* :ghpull:`23065`: Fix test_image_comparison_expect_rms
+* :ghpull:`23294`: Simplify binary data handling in ps backend.
+* :ghpull:`23284`: DOC: Switch to HTML5 and cleanup CSS
+* :ghpull:`23276`: Add get/set methods for DPI in SubFigure
+* :ghpull:`23207`: Update build environment and improve test
+* :ghpull:`23213`: DEV: Add name-tests-test to pre-commit hooks
+* :ghpull:`23289`: Properly make Name.hexify go through a deprecation cycle.
+* :ghpull:`23177`: Deprecate positional passing of most Artist constructor parameters
+* :ghpull:`23287`: Minor tweaks to pdf Name.
+* :ghpull:`23285`: In mathtext, replace manual caching (via ``glyphd``) by lru_cache.
+* :ghpull:`23034`: Correctly read the 'style' argument while processing 'genfrac'.
+* :ghpull:`23247`: Support inverted parentheses in mathtext.
+* :ghpull:`23190`: Deprecate unused methods in axis.py
+* :ghpull:`23219`: MNT: Rename example files with 'test' in name
+* :ghpull:`23277`: MNT: Remove dead code in SVG backend
+* :ghpull:`23261`: Bump actions/setup-python from 3 to 4
+* :ghpull:`23264`: Changing environment.yml for it to work on Windows
+* :ghpull:`23269`: MNT: Remove dead code in Colorbar
+* :ghpull:`23262`: Simplify qt_compat, in particular post-removal of qt4 support.
+* :ghpull:`23263`: Private helper to get requested backend without triggering resolution.
+* :ghpull:`23243`: Fix spacing after mathtext operators with sub/superscripts
+* :ghpull:`22839`: Fix spacing after mathtext operators with sub/superscripts
+* :ghpull:`23256`: DOC: Add note about Inkscape install on Windows
+* :ghpull:`23258`: DOC: remove Blue Book url
+* :ghpull:`23255`: Add a helper to generate mathtext error strings.
+* :ghpull:`23246`: Fix argument checking for set_interpolation_stage
+* :ghpull:`22881`: Support not embedding glyphs in svg mathtests.
+* :ghpull:`23198`: Rename ncol parameter in legend to ncols
+* :ghpull:`23251`: Small simplifications to mathtext tests.
+* :ghpull:`23249`: Don't allow ``r"$\left\\|\right.$"``, as in TeX.
+* :ghpull:`23248`: Rename test markers
+* :ghpull:`22507`: Remove *math* parameter of various mathtext internal APIs.
+* :ghpull:`23192`: Add tests, improve error messages in axis/_base, and code cleanup
+* :ghpull:`23241`: Fix invalid value in radio buttons example
+* :ghpull:`23187`: Correct docs and use keyword arguments in _mathtext.py
+* :ghpull:`23045`: MNT: Merge locally defined test marks
+* :ghpull:`22289`: ENH: compressed layout
+* :ghpull:`23237`: Expire BoxStyle._Base deprecation.
+* :ghpull:`23225`: DOC: Fix version switcher links to documentation
+* :ghpull:`23221`: DOC: recommend numpy random number generator class
+* :ghpull:`23223`: Changed offset reference, add small doc
+* :ghpull:`23215`: DOC: link the transforms tutorial from the module
+* :ghpull:`23201`: Rework tricontour and tricontourf documentation
+* :ghpull:`23013`: Add tests for date module
+* :ghpull:`23188`: Mnt new default dates
+* :ghpull:`22745`: MNT: Don't require renderer for window_extent and tightbbox
+* :ghpull:`23077`: MNT: Remove keyword arguments to gca()
+* :ghpull:`23182`: Simplify webagg blitting.
+* :ghpull:`23181`: Init FigureCanvasAgg._lastKey in ``__init__``.
+* :ghpull:`23175`: Point the version switcher to a name listed in switcher.json
+* :ghpull:`22669`: Cleanup documentation generation for pyplot
+* :ghpull:`22519`: fix markevery plot option with nans in data
+* :ghpull:`21584`: Move towards having get_shared_{x,y}_axes return immutable views.
+* :ghpull:`23170`: ENH: update ticks when requesting labels
+* :ghpull:`23169`: DOC: Migrate to sphinx-design
+* :ghpull:`23180`: Improve docstring of triplot() and PatchCollection
+* :ghpull:`23153`: Restore accidentally removed pytest.ini and tests.py.
+* :ghpull:`23166`: Deprecate passing most Legend arguments positionally
+* :ghpull:`23165`: DOCS Fix a few typos
+* :ghpull:`23167`: DOCS fix typo
+* :ghpull:`23062`: Add stackplot to plot types listing
+* :ghpull:`23161`: Added my (open access) book
+* :ghpull:`23141`: Minor fix for astropy units support broken in earlier PR
+* :ghpull:`23156`: No longer call draw_if_interactive in parasite_axes.
+* :ghpull:`23150`: DOC fix typo
+* :ghpull:`23149`: DOCS remove duplicate text
+* :ghpull:`23145`: Fix format error in switcher.json
+* :ghpull:`21755`: MNT: Clean up macosx backend set_message
+* :ghpull:`23128`: DOCS Fix typos
+* :ghpull:`23130`: Drop pytest warning config in nightly tests
+* :ghpull:`23135`: Unpin coverage again
+* :ghpull:`23133`: Make module deprecation messages consistent
+* :ghpull:`23134`: Remove newline from start of deprecation warnings
+* :ghpull:`22964`: Fix spelling errors
+* :ghpull:`22929`: Handle NaN in bar labels and error bars
+* :ghpull:`23093`: MNT: Removing 3.4 deprecations
+* :ghpull:`23090`: Derive new_figure_manager from FigureCanvas.new_manager.
+* :ghpull:`23099`: Remove unneeded cutout for webagg in show().
+* :ghpull:`23097`: Tweak check for IPython pylab mode.
+* :ghpull:`23088`: Improve error for invalid format strings / misspelled data keys.
+* :ghpull:`23092`: Ensure updated monkey-patching of sphinx-gallery EXAMPLE_HEADER
+* :ghpull:`23087`: Fix width/height inversion in dviread debug helper.
+* :ghpull:`23089`: Normalize tk load failures to ImportErrors.
+* :ghpull:`23091`: Move test that fig.add_axes() needs parameters
+* :ghpull:`23067`: more explicit in windows doc build instructions
+* :ghpull:`23081`: MNT: Deprecate date_ticker_factory
+* :ghpull:`23079`: MNT: Remove key_press and button_press from FigureManager
+* :ghpull:`23076`: MNT: Remove positional argument handling in LineCollection
+* :ghpull:`23078`: MNT: Remove deprecated axis.cla()
+* :ghpull:`23054`: Slightly simplify tcl/tk load in extension.
+* :ghpull:`23073`: MNT: Remove dummy_threading because threading is always available
+* :ghpull:`22405`: DOC: put the gallery keywords in the meta tag
+* :ghpull:`23071`: Fix installing contourpy on CI
+* :ghpull:`23068`: Slight refactor of _c_internal_utils to linewrap it better.
+* :ghpull:`23070`: Pathlibify autotools invocation in build.
+* :ghpull:`22755`: Maybe run autogen as part of freetype install
+* :ghpull:`23063`: doc: mathtext example: use axhspan() instead of fill_between() for backdrop rectangle shading
+* :ghpull:`23055`: Cleanup Annotation.update_position.
+* :ghpull:`22567`: Use contourpy for quad contour calculations
+* :ghpull:`22801`: TST: fully parameterize test_lazy_linux_headless
+* :ghpull:`22180`: ENH: Use rcParams savefig.directory on macosx backend
+* :ghpull:`23048`: Add rrulewrapper to docs
+* :ghpull:`23047`: Fix issue with hist and float16 data
+* :ghpull:`23044`: Fix missing section header for nightly builds
+* :ghpull:`23029`: Demonstrate both usetex and non-usetex in demo_text_path.py.
+* :ghpull:`23038`: Factor out errorevery parsing for 2D and 3D errorbars.
+* :ghpull:`23036`: Suppress traceback chaining for tex subprocess failures.
+* :ghpull:`23037`: Suppress exception chaining in FontProperties.
+* :ghpull:`23020`: Add test to close legend issue
+* :ghpull:`23031`: Specify that style files are utf-8.
+* :ghpull:`22991`: Enable ``plt.sca`` on subfigure's axes
+* :ghpull:`23030`: DOC: Fix charset declaration in redirects
+* :ghpull:`23022`: Fix some possible encoding issues for non-utf8 systems.
+* :ghpull:`23023`: Bump docker/setup-qemu-action from 1 to 2
+* :ghpull:`23024`: DOC: do not suggest to sudo pip install Matplotlib
+* :ghpull:`23018`: Fix typo in font family
+* :ghpull:`22627`: ENH: rect for constrained_layout
+* :ghpull:`22891`: Font example monospace
+* :ghpull:`23006`: docs: add subplot-mosaic string compact notation
+* :ghpull:`23009`: Fixed installation guide command typo
+* :ghpull:`22926`: Fix RangeSlider for same init values #22686
+* :ghpull:`22989`: Merge v3.5.x back into main
+* :ghpull:`22993`: STY: Fix typos in colormap
+* :ghpull:`22777`: DEV: Add codespell to pre-commit hooks
+* :ghpull:`22940`: Fixed dpi bug in rainbow text example
+* :ghpull:`22298`: MNT: Remove cmap_d colormap access
+* :ghpull:`22387`: Add a registry for color sequences
+* :ghpull:`21594`: Document text alignment
+* :ghpull:`22967`: TST: Add some tests for QuadMesh contains function
+* :ghpull:`22936`: ENH: Add full-screen toggle to the macosx backend
+* :ghpull:`22886`: MNT: remove mpl_toolkits.axes_grid
+* :ghpull:`22952`: Make MarkerStyle immutable
+* :ghpull:`22953`: MNT: Move set_cursor to the FigureCanvas
+* :ghpull:`18854`: Standardize creation of FigureManager from a given FigureCanvas class.
+* :ghpull:`22925`: Standardize creation of FigureManager from a given FigureCanvas class.
+* :ghpull:`22875`: Remove Forward definitions where possible.
+* :ghpull:`22928`: ENH: Add option to disable raising the window for macosx
+* :ghpull:`22912`: DOC: Better doc of colors
+* :ghpull:`22931`: BUG: Fix regression with ls=(0, ())
+* :ghpull:`22909`: FIX: skip sub directories when finding fonts on windows
+* :ghpull:`22911`: Clarify docstring of [un]install_repl_displayhook()
+* :ghpull:`22919`: CI: Add concurrency skips for GH Actions
+* :ghpull:`22899`: Fix documentation markup issues
+* :ghpull:`22906`: Clarify logic for repl displayhook.
+* :ghpull:`22892`: Remove support for IPython<4.
+* :ghpull:`22896`: Remove python-dateutil as test requirement
+* :ghpull:`22885`: Deprecate two-layered backend_pdf.Op enum.
+* :ghpull:`22883`: Tweak argument checking in tripcolor().
+* :ghpull:`22884`: Missing ``f`` prefix on f-strings fix
+* :ghpull:`22877`: Small cleanups to mathtext.
+* :ghpull:`21374`: Snap selectors
+* :ghpull:`22824`: Remove some unnecessary extra boundaries for colorbars with extensions.
+* :ghpull:`21448`: Use named groups in mathtext parser.
+* :ghpull:`22609`: Improve usability of dviread.Text by third parties.
+* :ghpull:`22809`: STY: Apply pre-commit hooks to codebase
+* :ghpull:`22730`: Fix removed cross-references
+* :ghpull:`22857`: Slightly simplify twin axes detection in MEP22 zoom.
+* :ghpull:`22813`: MNT: Deprecate figure callbacks
+* :ghpull:`22802`: MNT: make Axes.cla an alias for Axes.clear in all cases
+* :ghpull:`22855`: Remove non-needed remove_text=False.
+* :ghpull:`22854`: TST: Avoid floating point errors in asinh ticker
+* :ghpull:`22850`: Simplify tick creation
+* :ghpull:`22841`: Fix Tk error when updating toolbar checkbutton images
+* :ghpull:`22707`: Proposed ENH: Allow user to turn off breaking of streamlines in streamplot (rebased)
+* :ghpull:`22826`: Bump actions/upload-artifact from 2 to 3
+* :ghpull:`22825`: Bump codecov/codecov-action from 2 to 3
+* :ghpull:`22821`: Use bool for bool keyword arguments
+* :ghpull:`22815`: Fix pickling of globally available, dynamically generated norm classes.
+* :ghpull:`22702`: Doc tweak transform tutorial
+* :ghpull:`22613`: DOC: Add links to explicit vs implicit API everywhere "OO" is used
+* :ghpull:`22712`: Use repr in error messages
+* :ghpull:`22794`: Fix ps export of colored hatches with no linewidth
+* :ghpull:`22797`: Deprecate functions in backends
+* :ghpull:`22608`: Axes.inset_axes: enable Axes subclass creation
+* :ghpull:`22795`: Replace "marker simplification" by "marker subsampling" in docs.
+* :ghpull:`22768`: Fix inkscape tests
+* :ghpull:`22791`: Tweak _ConverterError reporting.
+* :ghpull:`22447`: Improve bar_label annotation
+* :ghpull:`22710`: Fix the error- TypeError: 'float' object is not iterable
+* :ghpull:`22444`: Revert "CI: skip test to work around gs bug"
+* :ghpull:`22785`: CI: Update weekly dependency test job
+* :ghpull:`22784`: Fix 'misspelled' transform variable
+* :ghpull:`22778`: Fix LaTeX formatting in examples
+* :ghpull:`22779`: Improve mlab documentation (and example)
+* :ghpull:`22759`: MNT: Skip existing wheels during nightly wheel upload
+* :ghpull:`22751`: BLD: do not put an upper bound on pyparsing
+* :ghpull:`22752`: DOC: Correct nightly wheels pip install command
+* :ghpull:`22742`: Fix deprecation of backend_tools.ToolBase.destroy
+* :ghpull:`22725`: Move towards making texmanager stateless.
+* :ghpull:`22734`: Added clim support to tripcolor
+* :ghpull:`22733`: CI: Add GHA workflow to upload nightly wheels
+* :ghpull:`21637`: Also upload a subset of nightly wheels
+* :ghpull:`22698`: Correct cross-references in documentation
+* :ghpull:`22263`: DOC: condense version switcher
+* :ghpull:`22361`: Revert datetime usetex ticklabels to use default tex font.
+* :ghpull:`22721`: Small style fixes.
+* :ghpull:`22356`: Cleanup tripcolor()
+* :ghpull:`22360`: Let TeX handle multiline strings itself.
+* :ghpull:`22418`: Deprecate auto-removal of overlapping Axes by plt.subplot{,2grid}.
+* :ghpull:`22722`: Rename confusingly-named cm_fallback.
+* :ghpull:`22697`: Deprecate in testing.decorators
+* :ghpull:`22556`: Add text.parse_math rcParams
+* :ghpull:`22163`: Change colour of Tk toolbar icons on dark backgrounds
+* :ghpull:`22704`: Small simplification to textpath.
+* :ghpull:`22498`: TST: increase coverage on tk tests
+* :ghpull:`21425`: Make Axis3D constructor signature closer to the one of 2D axis.
+* :ghpull:`22665`: Improve error message for incorrect color string
+* :ghpull:`22685`: Rewrite plot format detection from sphinx build target
+* :ghpull:`22670`: Update deprecated vmImage 'vs2017-win2016' in azure pipelines
+* :ghpull:`22503`: Deprecate backend_qt.qApp.
+* :ghpull:`22683`: Add missing space before : for parameters
+* :ghpull:`22591`: Fix Path/str-discrepancy in FontManager.addpath and improve documentation
+* :ghpull:`22680`: Bump actions/cache from 2 to 3
+* :ghpull:`22659`: Add description on quiver head parameters
+* :ghpull:`22668`: Raise on missing closing quotes in matplotlibrc
+* :ghpull:`22675`: Tweak colorbar_placement example.
+* :ghpull:`22276`: Merge "Scatter Symbol" and "Scatter Custom Symbol" examples
+* :ghpull:`22658`: Remove reference to now-deleted reminder note.
+* :ghpull:`22652`: Update documentation example and fix See also
+* :ghpull:`22587`: Refactor handling of tick and ticklabel visibility in Axis.clear()
+* :ghpull:`22148`: MNT: Deprecate ``docstring``
+* :ghpull:`22170`: Add example to polygon selector docstring showing how to set vertices programmatically
+* :ghpull:`22650`: Fix new leak in ft2font introduced in #22604
+* :ghpull:`22644`: FIX: Flush events after closing figures in macosx backend
+* :ghpull:`22643`: Suppress exception chaining in colormap lookup.
+* :ghpull:`22639`: ENH: MacOSX backend to use sRGB instead of GenericRGB colorspace
+* :ghpull:`22509`: Simplifications to ToolManager.{add,remove}_tool.
+* :ghpull:`22633`: DOC: remove space in directive.
+* :ghpull:`22631`: Add space between individual transform components in svg output.
+* :ghpull:`22523`: MNT: Use a context manager to change the norm in colorbar code
+* :ghpull:`22615`: FIX: Change get_axis_map to axis_map now
+* :ghpull:`22508`: Move tracking of autoscale status to Axis.
+* :ghpull:`22547`: Small cleanups around TexManager usage.
+* :ghpull:`22511`: Remove redundant rcParam-lookup in patches
+* :ghpull:`22516`: Expire deprecations in backends
+* :ghpull:`22612`: Updated grammar to reflect more common usage of output vs outputted in animation.py
+* :ghpull:`22589`: Support quoted strings in matplotlibrc
+* :ghpull:`22604`: MNT: Fix types in C-code to reduce warnings
+* :ghpull:`22610`: Fix alternative suggestion in epoch2num() deprecation
+* :ghpull:`22554`: Prepare for making create_dummy_axis not necessary.
+* :ghpull:`22607`: ENH: Add dark/light mode theme to the buttons
+* :ghpull:`21790`: FIX: Update blitting and drawing on the macosx backend
+* :ghpull:`22175`: FIX: Update macosx animation handling
+* :ghpull:`22569`: Require non-zero dash value
+* :ghpull:`22544`: Correct paper sizes
+* :ghpull:`20470`: Issues warnings for legend handles without handlers
+* :ghpull:`22558`: MNT: Simplify imports
+* :ghpull:`22580`: fix doc for annotation_clip parameter
+* :ghpull:`22581`: DOC: fix various typos
+* :ghpull:`22573`: Bump actions/setup-python from 2 to 3
+* :ghpull:`22568`: Rename qhull source to _qhull_wrapper.cpp.
+* :ghpull:`22561`: FIX: Handle stopped animation figure resize
+* :ghpull:`22562`: TST: Add a frame test for animations
+* :ghpull:`22514`: Expire deprecations in cbook.deprecation
+* :ghpull:`22555`: Use picklable callbacks for DraggableBase.
+* :ghpull:`22552`: Tweak dependency checking in doc/conf.py.
+* :ghpull:`22550`: Require sphinx>=3 & numpydoc>=1.0 for building docs.
+* :ghpull:`22539`: Deprecate toplevel mpl.text.get_rotation; normalize rotations early.
+* :ghpull:`22502`: Cleanup unused imports and variables in backends
+* :ghpull:`20071`: Document, test, and simplify impl. of auto_adjustable_area.
+* :ghpull:`22366`: Deprecation removal/updates in axes3d
+* :ghpull:`22484`: Simplify the internal API to connect picklable callbacks.
+* :ghpull:`22417`: Support passing rgbaFace as an array to agg's draw_path.
+* :ghpull:`22412`: Turn _get_axis_map() into a property and remove _get_axis_list()
+* :ghpull:`22486`: Expire deprecations in lines and patches
+* :ghpull:`22512`: Increase coverage
+* :ghpull:`22504`: Simplify FontProperties init.
+* :ghpull:`22497`: Remove entries of MathTextParser._backend_mapping deprecated in 3.4.
+* :ghpull:`22487`: Don't key MathTextParser cache off a mutable FontProperties.
+* :ghpull:`22468`: Turn _mathtext.ship into a plain function.
+* :ghpull:`22490`: Deprecate unused, untested Affine2D.identity().
+* :ghpull:`22491`: Linewrap setupext to 79 character lines.
+* :ghpull:`22488`: Some more maintenance for mathtext internal implementation.
+* :ghpull:`22485`: Change string representation of AxesImage
+* :ghpull:`22240`: Add minimum macosx version
+* :ghpull:`22480`: Remove _point_size_reduction.
+* :ghpull:`22204`: Cleanup _mathtext internal API
+* :ghpull:`22469`: Improve readability of mathtext internal structures.
+* :ghpull:`22477`: Un-pyplot some examples which were already explicitly referencing axes.
+* :ghpull:`22467`: Small cleanup to font handling in agg.
+* :ghpull:`21178`: Add asinh axis scaling (*smooth* symmetric logscale)
+* :ghpull:`22411`: Move cbook._define_aliases() to _api.define_aliases()
+* :ghpull:`22465`: Deprecate unused AddList.
+* :ghpull:`22451`: Clarify error message for bad keyword arguments.
+* :ghpull:`21267`: Cleanup AnnotationBbox.
+* :ghpull:`22464`: Small improvements related to radar_chart example.
+* :ghpull:`22421`: Make most params to figure()/Figure() kwonly.
+* :ghpull:`22457`: Copy arrowprops argument to FancyAnnotationBbox.
+* :ghpull:`22454`: move ``_toolbar_2`` from webagg_core to webagg
+* :ghpull:`22413`: Remove some trivial private getters/setters in axisartist
+* :ghpull:`21634`: TST: Add future dependency tests as a weekly CI job
+* :ghpull:`22079`: Share FigureManager class between gtk3 and gtk4.
+* :ghpull:`22440`: Clarify warning about labels with leading underscores.
+* :ghpull:`17488`: Make error message explicit in legend.py
+* :ghpull:`22453`: Simplify impl. of polar limits setting API.
+* :ghpull:`22449`: Small cleanup to quiver.
+* :ghpull:`22415`: Make emit and auto args of set_{x,y,z}lim keyword only.
+* :ghpull:`22422`: Deprecate backend_ps.convert_psfrags.
+* :ghpull:`22194`: Drop support for Python 3.7
+* :ghpull:`22234`: Partial fix for grid alpha
+* :ghpull:`22433`: Fix ambiguous link targets in docs.
+* :ghpull:`22420`: Update plt.figure() docstring.
+* :ghpull:`22388`: Make signature of Axes.annotate() more explicit.
+* :ghpull:`22419`: Remove "Matplotlib version" from docs issue template
+* :ghpull:`22423`: Avoid indiscriminate glob-remove in xpdf_distill.
+* :ghpull:`22406`: [DOC]: Removed a redundant 'The'
+* :ghpull:`21442`: Factor out common limits handling for x/y/z axes.
+* :ghpull:`22397`: Axes capitalization in widgets and axes3d
+* :ghpull:`22394`: Tweak Axes3D docstrings that refer to 2D plotting methods.
+* :ghpull:`22383`: TST: fix doc build
+* :ghpull:`21877`: DOC: attempt to explain the main different APIs
+* :ghpull:`21238`: Raise when unknown signals are connected to CallbackRegistries.
+* :ghpull:`22345`: MNT: make layout deprecations pending
+* :ghpull:`21597`: FIX: Remove the deepcopy override from transforms
+* :ghpull:`22370`: Replace tabs with spaces in C code.
+* :ghpull:`22371`: Corrected a mistake in comments (Issue #22369)
+* :ghpull:`21352`: Refactor hexbin().
+* :ghpull:`19214`: Improve autoscaling for high order Bezier curves
+* :ghpull:`22268`: Deprecated is_decade and is_close_to_int
+* :ghpull:`22359`: Slightly refactor TeX source generation.
+* :ghpull:`22365`: Remove deprecated ``MovieWriter.cleanup``
+* :ghpull:`22363`: Properly capitalize "Unicode".
+* :ghpull:`22025`: Deprecate various custom FigureFrameWx attributes/methods.
+* :ghpull:`21391`: Reuse imsave()'s background-blending code in FigureCanvasAgg.print_jpeg.
+* :ghpull:`22026`: Simplify wxframe deletion.
+* :ghpull:`22351`: Fix "trailing" whitespace in C docstrings.
+* :ghpull:`22342`: Docstrings for _qhull.
+* :ghpull:`21836`: Slightly shorten ft2font init.
+* :ghpull:`21962`: Privatize various internal APIs of backend_pgf.
+* :ghpull:`22114`: Rewrite AxesStack independently of cbook.Stack.
+* :ghpull:`22332`: Let TransformedPatchPath inherit most functionality from TransformedPath.
+* :ghpull:`22292`: Cleanup Axis._translate_tick_kw
+* :ghpull:`22339`: wx.App() should be init'ed in new_figure_manager_given_figure
+* :ghpull:`22315`: More standardization of floating point slop in mpl_toolkits.
+* :ghpull:`22337`: DOC: More cleanup axes -> Axes
+* :ghpull:`22323`: Replace sole use of maxdict by lru_cache.
+* :ghpull:`22229`: FIX: make safe to add / remove artists during ArtistList iteration
+* :ghpull:`22196`: ``dates`` classes and functions support ``tz`` both as string and ``tzinfo``
+* :ghpull:`22161`: Add box when setting ``PolygonSelector.verts``
+* :ghpull:`19368`: Raise warning and downsample if data given to _image.resample is too large
+* :ghpull:`22250`: Unify toolbar init across backends.
+* :ghpull:`22304`: Added tests for ContourSet.legend_elements
+* :ghpull:`21583`: Add pre-commit config and dev instructions
+* :ghpull:`21547`: Custom cap widths in box and whisker plots in bxp() and boxplot()
+* :ghpull:`20887`: Implement a consistent behavior in TkAgg backend for bad blit bbox
+* :ghpull:`22317`: Rename outdated seaborn styles.
+* :ghpull:`22271`: Rework/fix Text layout cache.
+* :ghpull:`22097`: In mpl_toolkits, use the same floating point slop as for standard ticks.
+* :ghpull:`22295`: Display bad format string in error message.
+* :ghpull:`22287`: Removed unused code and variables
+* :ghpull:`22244`: MNT: colorbar locators properties
+* :ghpull:`22270`: Expanded documentation of Axis.set_ticks as per discussion in issue #22262
+* :ghpull:`22280`: Simplify FontProperties.copy().
+* :ghpull:`22174`: Give the Tk toolbar buttons a flat look
+* :ghpull:`22046`: Add the ability to change the focal length of the camera for 3D plots
+* :ghpull:`22251`: Colorbar docstring reorg
+* :ghpull:`21933`: MNT: privatize colorbar attr
+* :ghpull:`22258`: DOC: fix version switcher
+* :ghpull:`22261`: DOC: fix switcher json
+* :ghpull:`22154`: Add some tests for minspan{x,y} in RectangleSelector
+* :ghpull:`22246`: DOC: add dropdown
+* :ghpull:`22133`: Deprecated ``afm``, ``fontconfig_pattern``, and ``type1font``
+* :ghpull:`22249`: DOC: More capitalization of Axes
+* :ghpull:`22021`: Ensure that all toolbar (old/new) subclasses can be init'ed consistently
+* :ghpull:`22213`: Improve ft2font error reporting.
+* :ghpull:`22245`: Deprecate cleared kwarg to get_renderer.
+* :ghpull:`22239`: Fix typos
+* :ghpull:`22216`: turn off the grid after creating colorbar axes
+* :ghpull:`22055`: FIX: Return value instead of enum in get_capstyle/_joinstyle
+* :ghpull:`22228`: Remove some unnecessary getattrs.
+* :ghpull:`20426`: ENH: Layout engine
+* :ghpull:`22224`: Trivial doc fix to annotations tutorial.
+* :ghpull:`21894`: Jointly track x and y in PolygonSelector.
+* :ghpull:`22205`: Bump minimum NumPy to 1.19
+* :ghpull:`22203`: Factor out underline-thickness lookups in mathtext.
+* :ghpull:`22189`: DOC: Add hatch API to reference
+* :ghpull:`22084`: Clean up 3d plot box_aspect zooming
+* :ghpull:`22098`: Expire axes_grid1/axisartist deprecations.
+* :ghpull:`22013`: Use standard toolbar in wx.
+* :ghpull:`22160`: Removed unused variables etc.
+* :ghpull:`22179`: FIX: macosx check case-insensitive app name
+* :ghpull:`22157`: Improved coverage of mathtext and removed unused code
+* :ghpull:`21781`: Use a fixture to get widget testing axes
+* :ghpull:`22140`: Ensure log formatters use Unicode minus
+* :ghpull:`21342`: Fix drawing animated artists changed in selector callback
+* :ghpull:`22134`: Deprecated ``tight_bbox`` and ``tight_layout`` modules
+* :ghpull:`21965`: Switch transOffset to offset_transform.
+* :ghpull:`22145`: Make Tk windows use the same icon as other backends
+* :ghpull:`22107`: Expire mathttext-related deprecations
+* :ghpull:`22139`: FIX: width/height were reversed in macosx rectangle creation
+* :ghpull:`22123`: Deprecate accepting arbitrary parameters in some get_window_extent() methods
+* :ghpull:`22122`: Hint at draw_without_rendering() in Text.get_window_extent
+* :ghpull:`22120`: Drop dependency on scipy in the docs.
+* :ghpull:`22063`: FIX: Autoposition title when yaxis has offset
+* :ghpull:`22119`: Micro-optimize skew().
+* :ghpull:`22109`: Remove unnecessary null checks in macosx.m, and some more maintenance
+* :ghpull:`21977`: Add corner coordinate helper methods to Ellipse/Rectangle
+* :ghpull:`21830`: Add option of bounding box for PolygonSelector
+* :ghpull:`22115`: Turn _localaxes into a plain list.
+* :ghpull:`22108`: Micro-optimize rotation transform.
+* :ghpull:`22043`: Cleanup differential equations examples.
+* :ghpull:`22080`: Simple style(ish) fixes.
+* :ghpull:`22110`: Right-aligned status text in backends
+* :ghpull:`21873`: DOC: Update and consolidate Custom Tick Formatter for Time Series example
+* :ghpull:`22112`: Fix a small typo
+* :ghpull:`20117`: Very soft-deprecate AxesDivider.new_{horizontal,vertical}.
+* :ghpull:`22034`: Update lines_with_ticks_demo.py
+* :ghpull:`22102`: DOC: rename usage tutorial to quick_start
+* :ghpull:`19228`: Validate text rotation in setter
+* :ghpull:`22081`: Expire colorbar-related deprecations.
+* :ghpull:`22008`: Added color keyword argument to math_to_image
+* :ghpull:`22058`: Remove exprired mplot3d deprecations for 3.6
+* :ghpull:`22073`: DOC: Add new tutorial to external resources.
+* :ghpull:`22054`: MNT: Set CapStyle member names automatically
+* :ghpull:`22061`: De-duplicate mplot3D API docs
+* :ghpull:`22075`: Remove unnecessary ``.figure`` qualifier in docs.
+* :ghpull:`22051`: Make required_interactive_framework required on FigureCanvas.
+* :ghpull:`22050`: Deprecate the noop, unused FigureCanvasBase.resize.
+* :ghpull:`22030`: Add explanatory comments to "broken" horizontal bar plot example
+* :ghpull:`22001`: Fix: [Bug]: triplot with 'ls' argument yields TypeError #21995
+* :ghpull:`22045`: Fill in missing Axes3D box_aspect argument docstring
+* :ghpull:`22042`: Keep FontEntry helpers private.
+* :ghpull:`21042`: Make rcParams.copy() return a new RcParams instance.
+* :ghpull:`22032`: flipy only affects the drawing of texts, not of images.
+* :ghpull:`21993`: Added docstring to rrulewrapper class
+* :ghpull:`21935`: Significantly improve tight layout performance for cartopy axes
+* :ghpull:`22000`: Some gtk cleanups.
+* :ghpull:`21983`: Simplify canvas class control in FigureFrameWx.
+* :ghpull:`21985`: Slightly tighten the _get_layout_cache_key API.
+* :ghpull:`22020`: Simplify wx _print_image.
+* :ghpull:`22010`: Fix syntax highlighting in contrib guide.
+* :ghpull:`22003`: Initialize RendererCairo.{width,height} in constructor.
+* :ghpull:`21992`: Use _make_classic_style_pseudo_toolbar more.
+* :ghpull:`21916`: Fix picklability of make_norm_from_scale norms.
+* :ghpull:`21981`: FigureCanvasCairo can init RendererCairo; kill RendererCairo subclasses.
+* :ghpull:`21986`: InvLogTransform should only return masked arrays for masked inputs.
+* :ghpull:`21991`: PEP8ify wx callback names.
+* :ghpull:`21975`: DOC: remove experimental tag from CL
+* :ghpull:`21989`: Autoinfer norm bounds.
+* :ghpull:`21980`: Removed loaded modules logging
+* :ghpull:`21982`: Deprecate duplicated FigureManagerGTK{3,4}Agg classes.
+* :ghpull:`21963`: Clarify current behavior of draw_path_collection.
+* :ghpull:`21974`: Reword inset axes example.
+* :ghpull:`21835`: Small improvements to interactive examples
+* :ghpull:`21050`: Store dash_pattern as single attribute, not two.
+* :ghpull:`21557`: Fix transparency when exporting to png via pgf backend.
+* :ghpull:`21904`: Added _repr_html_ for fonts
+* :ghpull:`21696`: Use cycling iterators in RendererBase.
+* :ghpull:`21955`: Refactor common parts of ImageMagick{,File}Writer.
+* :ghpull:`21952`: Clarify coordinates for RectangleSelector properties
+* :ghpull:`21964`: Fix some more missing references.
+* :ghpull:`21516`: Make _request_autoscale_view more generalizable to 3D.
+* :ghpull:`21947`: Slightly cleanup RendererBase docs.
+* :ghpull:`21961`: Privatize various internal APIs of backend_pgf.
+* :ghpull:`21956`: Remove tests for avconv animation writers.
+* :ghpull:`21954`: DOC: Move Animation and MovieWriter inheritance diagrams ...
+* :ghpull:`21780`: Add a click_and_move widget test helper
+* :ghpull:`21941`: Merge branch v3.5.x into main
+* :ghpull:`21936`: Small ``__getstate__`` cleanups.
+* :ghpull:`21939`: Update comment re: register_at_fork.
+* :ghpull:`21910`: Fold _rgbacache into _imcache.
+* :ghpull:`21921`: Clean up RectangleSelector move code
+* :ghpull:`21925`: Drop labelling from PR welcome action
+* :ghpull:`14930`: Set Dock icon on the macosx backend
+* :ghpull:`21920`: Improve square state calculation in RectangleSelector
+* :ghpull:`21919`: Fix use_data_coordinates docstring
+* :ghpull:`21881`: Add a PolygonSelector.verts setter
+* :ghpull:`20839`: Fix centre and square state and add rotation for rectangle selector
+* :ghpull:`21874`: DOC: Add Date Tick Locators and Formatters example
+* :ghpull:`21799`: Added get_font_names() to fontManager
+* :ghpull:`21871`: DOC: Code from markevery_prop_cycle moved to test.
+* :ghpull:`21395`: Expire _check_savefig_extra_args-related deprecations.
+* :ghpull:`21867`: Remove unused bbox arg to _convert_agg_to_wx_bitmap.
+* :ghpull:`21868`: Use partialmethod for better signatures in backend_ps.
+* :ghpull:`21520`: Shorten some inset_locator docstrings.
+* :ghpull:`21737`: Update the "Rotating a 3D plot" gallery example to show all 3 rotation axes
+* :ghpull:`21851`: Re-order a widget test function
+* :ghpull:`10762`: Normalization of elevation and azimuth angles for surface plots
+* :ghpull:`21426`: Add ability to roll the camera in 3D plots
+* :ghpull:`21822`: Replace NSDictionary by switch-case.
+* :ghpull:`21512`: MNT: Add modifier key press handling to macosx backend
+* :ghpull:`21784`: Set macOS icon when using Qt backend
+* :ghpull:`21748`: Shorten PyObjectType defs in macosx.m.
+* :ghpull:`21809`: MNT: Turn all macosx warnings into errors while building
+* :ghpull:`21792`: Fix missing return value in closeButtonPressed.
+* :ghpull:`21767`: Inherit many macos backend docstrings.
+* :ghpull:`21766`: Don't hide build log on GHA.
+* :ghpull:`21728`: Factor out some macosx gil handling for py-method calls from callbacks.
+* :ghpull:`21754`: Update gitattributes so that objc diffs are correctly contextualized.
+* :ghpull:`21752`: Add a helper for directly output pdf streams.
+* :ghpull:`21750`: Don't sort pdf dicts.
+* :ghpull:`21745`: DOC: Clarify Coords Report Example
+* :ghpull:`21746`: Fix/add docstring signatures to many C++ methods.
+* :ghpull:`21631`: DOC: change gridspec tutorial to arranging_axes tutorial
+* :ghpull:`21318`: FIX: better error message for shared axes and axis('equal')
+* :ghpull:`21519`: mark_inset should manually unstale axes limits before drawing itself.
+* :ghpull:`21724`: Fix copyright date with SOURCE_DATE_EPOCH set
+* :ghpull:`21398`: FIX: logic of title repositioning
+* :ghpull:`21717`: Simplify macosx toolbar init.
+* :ghpull:`21690`: Whitespace/braces/#defines cleanup to macosx.
+* :ghpull:`21695`: Use _api.check_shape more.
+* :ghpull:`21698`: Small code cleanups and style fixes.
+* :ghpull:`21529`: Delay-load keymaps in toolmanager.
+* :ghpull:`21525`: Fix support for clim in scatter.
+* :ghpull:`21697`: Drop non-significant zeros from ps output.
+* :ghpull:`21692`: CI: Remove CI test runs from forks of matplotlib
+* :ghpull:`21591`: Make ToolFullScreen a Tool, not a ToolToggle.
+* :ghpull:`21677`: Simplify test for negative xerr/yerr.
+* :ghpull:`21657`: Replace some image_comparisons by return-value-tests/check_figures_e…
+* :ghpull:`21664`: Merge 3.5.x into main
+* :ghpull:`21490`: Make Line2D copy its inputs
+* :ghpull:`21639`: Skip some uses of packaging's PEP440 version for non-Python versions.
+* :ghpull:`21604`: Fix centre square rectangle selector part 1
+* :ghpull:`21593`: Check for images added-and-modified in a same PR
+* :ghpull:`20750`: Shorten issue templates
+* :ghpull:`21590`: Make gtk3 full_screen_toggle more robust against external changes.
+* :ghpull:`21582`: Organize checklist in PR template
+* :ghpull:`21580`: Rename/remove _lastCursor, as needed.
+* :ghpull:`21567`: Removed the range parameter from the validate_whiskers function's err…
+* :ghpull:`21565`: Further remove remnants of offset_position.
+* :ghpull:`21542`: [ENH]: Use new style format strings for colorbar ticks
+* :ghpull:`21564`: Skip invisible artists when doing 3d projection.
+* :ghpull:`21558`: Various small fixes for streamplot().
+* :ghpull:`21544`: Return minorticks as array, not as list.
+* :ghpull:`21546`: Added links to the mosaic docs in figure and pyplot module docstrings
+* :ghpull:`21545`: Turn mouseover into a mpl-style getset_property.
+* :ghpull:`21537`: Remove unnecessary False arg when constructing wx.App.
+* :ghpull:`21536`: Reword margins docstrings, and fix bounds on zmargin values.
+* :ghpull:`21535`: typo-correction-on-line-185
+* :ghpull:`21534`: Do not use space in directive calling.
+* :ghpull:`21494`: Adding tutorial links for blitting in widgets.py
+* :ghpull:`21407`: Stash exceptions when FT2Font closes the underlying stream.
+* :ghpull:`21431`: set_ticks([single_tick]) should also expand view limits.
+* :ghpull:`21444`: Make pipong example self-contained.
+* :ghpull:`21392`: Add label about workflow to new contributor PRs
+* :ghpull:`21440`: Install sphinx-panels along with development setup
+* :ghpull:`21434`: Remove coords_flat variable
+* :ghpull:`21415`: Move gui_support.macosx option to packages section.
+* :ghpull:`21412`: Privatize some SVG internal APIs.
+* :ghpull:`21401`: Uncamelcase some internal variables in axis.py; rename _get_tick_bboxes.
+* :ghpull:`21417`: Use Bbox.unit() more.
+* :ghpull:`20253`: Simplify parameter handling in FloatingAxesBase.
+* :ghpull:`21379`: Simplify filename tracking in FT2Font.
+* :ghpull:`21278`: Clear findfont cache when calling addfont().
+* :ghpull:`21400`: Use bbox.{size,bounds,width,height,p0,...} where appropriate.
+* :ghpull:`21408`: Reword annotations tutorial section titles.
+* :ghpull:`21371`: Rename default branch
+* :ghpull:`21389`: Log pixel coordinates in event_handling coords_demo example on terminal/console
+* :ghpull:`21376`: Factor common parts of saving to different formats using pillow.
+* :ghpull:`21377`: Enable tests for text path based markers
+* :ghpull:`21283`: Demonstrate inset_axes in scatter_hist example.
+* :ghpull:`21356`: Raise an exception when find_tex_file fails to find a file.
+* :ghpull:`21362`: Simplify wording of allowed errorbar() error values
+* :ghpull:`21274`: ENH: Add support to save images in WebP format
+* :ghpull:`21289`: Simplify _init_legend_box.
+* :ghpull:`21256`: Make image_comparison work even without the autoclose fixture.
+* :ghpull:`21343`: Fix type1font docstring markup/punctuation.
+* :ghpull:`21341`: Fix trivial docstring typo.
+* :ghpull:`21301`: Simplify ``Colormap.__call__`` a bit.
+* :ghpull:`21280`: Make ``Path.__deepcopy__`` interact better with subclasses, e.g. TextPath.
+* :ghpull:`21266`: Fix #21101 Add validator to errorbar method
+* :ghpull:`20921`: Fix problem with (deep)copy of TextPath
+* :ghpull:`20914`: 19195 rotated markers
+* :ghpull:`21276`: Add language about not assigning issues
+* :ghpull:`20715`: Improve Type-1 font parsing
+* :ghpull:`21218`: Parametrize/simplify test_missing_psfont.
+* :ghpull:`21213`: Compress comments in make_image.
+* :ghpull:`21187`: Deprecate error_msg_foo helpers.
+* :ghpull:`21190`: Deprecate mlab.stride_windows.
+* :ghpull:`21152`: Rename ``**kw`` to ``**kwargs``.
+* :ghpull:`21087`: Move colormap examples from userdemo to images_contours_and_fields.
+* :ghpull:`21074`: Deprecate MarkerStyle(None).
+* :ghpull:`20990`: Explicit registration of canvas-specific tool subclasses.
+* :ghpull:`21049`: Simplify setting Legend attributes
+* :ghpull:`21056`: Deprecate support for no-args MarkerStyle().
+* :ghpull:`21059`: Remove dummy test command from setup.py
+* :ghpull:`21015`: Prepare for rcParams.copy() returning a new RcParams instance in the future
+* :ghpull:`21021`: Factor out for_layout_only backcompat support in get_tightlayout.
+* :ghpull:`21023`: Inline ToolManager._trigger_tool to its sole call site.
+* :ghpull:`21005`: Test the rcParams deprecation machinery.
+* :ghpull:`21010`: Avoid TransformedBbox where unneeded.
+* :ghpull:`21019`: Reword custom_ticker1 example.
+* :ghpull:`20995`: Deprecate some backend_gtk3 helper globals.
+* :ghpull:`21004`: Remove now-unused rcParams _deprecated entries.
+* :ghpull:`20986`: Make HandlerLine2D{,Compound} inherit constructors from HandlerNpoints.
+* :ghpull:`20974`: Rename symbol_name to glyph_name where appropriate.
+* :ghpull:`20961`: Small cleanups to math_to_image.
+* :ghpull:`20957`: legend_handler_map cleanups.
+* :ghpull:`20955`: Remove unused HostAxes._get_legend_handles.
+* :ghpull:`20851`: Try to install the Noto Sans CJK font
+
+Issues (202):
+
+* :ghissue:`23827`: backend_gtk3agg.py calls set_device_scale
+* :ghissue:`23560`: [Doc]: mpl_toolkits.axes_grid still mentioned as maintained
+* :ghissue:`23794`: [Doc]: Version switcher broken in devdocs
+* :ghissue:`23806`: [Bug]: possible regression in axis ticks handling in matplotlib 3.6.0rc2
+* :ghissue:`22965`: [Bug]: triplot duplicates label legend
+* :ghissue:`23807`: streamplot raises ValueError when the input is zeros
+* :ghissue:`23761`: [Bug]: False positive legend handler warnings in 3.6.0.rc1
+* :ghissue:`23398`: [Bug]: Newer versions of matplotlib ignore xlabel on colorbar axis
+* :ghissue:`23699`: [Bug]: Bug with toolbar instantiation in notebook
+* :ghissue:`23745`: [Doc]: Minor rcParams/matplotlibrc doc issues
+* :ghissue:`23717`: [Bug]: AxesSubplot.get_yticks not returning the actual printed ticks
+* :ghissue:`21508`: [Doc]: Create diagram to show rotation directions for 3D plots
+* :ghissue:`23709`: [Bug]: colorbar with unattached mappables can't steal space
+* :ghissue:`23701`: [Bug]: plt.figure(), plt.close() leaks memory
+* :ghissue:`22409`: [Bug]: AttributeError: 'QResizeEvent' object has no attribute 'pos'
+* :ghissue:`19609`: DeprecationWarning when changing color maps
+* :ghissue:`23716`: MatplotlibDeprecationWarning removal hard-breaks seaborn in 3.6rc1
+* :ghissue:`23719`: [Bug]: register_cmap deprecation message seems wrong
+* :ghissue:`23707`: test_Normalize fails on aarch64/ppc64le/s390x
+* :ghissue:`21107`: [MNT]: Should plt.xticks() get a minor keyword argument
+* :ghissue:`23679`: [Doc]: Deprecated modules not in docs
+* :ghissue:`19550`: Arc and pathpatch_2d_to_3d plots full ellipse
+* :ghissue:`23329`: [Bug]: ``plt.autoscale()`` fails for partial ``Arc``
+* :ghissue:`11266`: Arc patch ignoring theta1/theta2 when added to Axes via PatchCollection
+* :ghissue:`4067`: 'Poly3DCollection' object has no attribute '_facecolors2d'
+* :ghissue:`23622`: [MNT]: make.bat not parsing sphinxopt
+* :ghissue:`23459`: [Bug]: 'Line3D' object has no attribute '_verts3d'
+* :ghissue:`23653`: [Bug]: macosx subplot tool causes segfault when window closed
+* :ghissue:`23660`: [Bug]: Test test_figure.py::test_subfigure_ss[png] FAILED on ppc64le
+* :ghissue:`23645`: [MNT]: Python 3.11 manylinux wheels
+* :ghissue:`23650`: TTF fonts loaded from file are not embedded/displayed properly when saved to pdf
+* :ghissue:`23583`: [Doc]: Document the position parameter in apply_aspect()
+* :ghissue:`23386`: setuptools_scm-git-archive is obsolete
+* :ghissue:`23220`: [Doc]: Clarify ``offset`` parameter in linestyle
+* :ghissue:`22746`: [Doc]: Document that rcParams['font.family'] can be a list
+* :ghissue:`8187`: Axes doesn't have ````legends```` attribute?
+* :ghissue:`23580`: [Bug]: TypeError when plotting against list of datetime.date where 0th element of list is None
+* :ghissue:`15514`: Relevant methods are only documented in base classes and thus not easily discoverable
+* :ghissue:`21611`: DOC: Add conda environment instructions to developers guide
+* :ghissue:`23487`: [Bug]: scatter plot color settings discarded unless c given
+* :ghissue:`22977`: [Bug]: offset dash linestyle has no effect in patch objects
+* :ghissue:`18883`: Matplotlib would not try to apply all the font in font list to draw all characters in the given string.
+* :ghissue:`22570`: [ENH]: Provide ``axis('equal')`` for ``Axes3D``.
+* :ghissue:`23433`: [Bug]: array-like linewidth raises an error for scatter3D
+* :ghissue:`12388`: Legend Title Left Alignment
+* :ghissue:`23375`: [Bug]: markerfacecoloralt not supported when drawing errorbars
+* :ghissue:`17973`: DOC: matplotlib.__doc__ not included in online docs ?
+* :ghissue:`23474`: [Bug]: ``\,`` and ``\mathrm{\,}`` are not identical in Mathtext when using CM and STIX
+* :ghissue:`8715`: event handlers have different signatures across backends
+* :ghissue:`18271`: PGF uses the minimal document class
+* :ghissue:`23324`: [Bug]: Exception not handled in widgetlock()
+* :ghissue:`15710`: doc for type of tz parameter is inconsistent throughout dates.py
+* :ghissue:`21165`: Hexbin marginals need a test for linear scaling
+* :ghissue:`23105`: [MNT]: Deprecate per-backend customization of draw_if_interactive
+* :ghissue:`23147`: [Bug]: with setuptools>=60, cannot find msbuild
+* :ghissue:`23379`: [Bug]: Offset notation on y-axis can overlap with a long title
+* :ghissue:`22819`: [Doc]: Make rect argument consistent in the docstrings
+* :ghissue:`23172`: [Bug]: Calling matplotlib.pyplot.show() outside of matplotlib.pyplot.rc_context no longer works
+* :ghissue:`23019`: [Bug]: ``UnicodeDecodeError`` when using some special and accented characters in TeX
+* :ghissue:`23334`: [Doc]: Tk embedding example crashes Spyder
+* :ghissue:`23298`: [Bug]: get_backend() clears figures from Gcf.figs if they were created under rc_context
+* :ghissue:`21942`: [ENH]: add width/height_ratios to subplots and friends
+* :ghissue:`23028`: [ENH]: contour kwarg for negative_linestyle
+* :ghissue:`19223`: Certain non-hashable parameters to text() give cryptic error messages
+* :ghissue:`18351`: Add the ability to plot striped lines
+* :ghissue:`23205`: [Bug]: URL-area not rotated in PDFs
+* :ghissue:`23268`: [Bug]: hyphen renders different length depending on presence of MathText
+* :ghissue:`23308`: [Bug]: set_visible() not working for 3d projection
+* :ghissue:`23296`: Set_color method for line2d object in latest document not work
+* :ghissue:`22992`: [Bug]: test_image_comparison_expect_rms nondeterministic failure
+* :ghissue:`23008`: [ENH]: Use ``\genfrac`` in display style?
+* :ghissue:`23214`: [MNT]: Rename examples with "test" in the name
+* :ghissue:`17852`: Thin space missing after mathtext operators
+* :ghissue:`12078`: Inconsistency in keyword-arguments ncol/ncols, nrow/nrows
+* :ghissue:`23239`: [Doc]: steps is not implemented in line styles.
+* :ghissue:`23151`: [MNT]: default date limits...
+* :ghissue:`9462`: Misaligned bottoms of subplots for png output with bbox_inches='tight'
+* :ghissue:`21369`: [Bug]: ax.invert_xaxis() and ax.invert_yaxis() both flip the X axis
+* :ghissue:`20797`: ``macosx`` cursors break with images
+* :ghissue:`23084`: [TST] Upcoming dependency test failures
+* :ghissue:`22910`: [Bug]: bar_label fails with nan errorbar values
+* :ghissue:`23074`: [Bug]: matplotlib crashes if ``_tkinter`` doesn't have ``__file__``
+* :ghissue:`23083`: [Bug]: Confusing error messages
+* :ghissue:`22391`: [Doc]: Remove "keywords" line at the bottom of all examples
+* :ghissue:`20202`: Daylocator causes frozen computer when used with FuncAnimation
+* :ghissue:`22529`: Replace C++ quad contouring code with use of ContourPy
+* :ghissue:`21710`: [ENH]: macosx backend does not respect rcParams["savefig.directory"]
+* :ghissue:`21880`: [Doc]: rrulewrapper not included in API docs
+* :ghissue:`22622`: [Bug]: Gaps and overlapping areas between bins when using float16
+* :ghissue:`23043`: [TST] Upcoming dependency test failures
+* :ghissue:`17960`: Line2D object markers are lost when retrieved from legend.get_lines() when linestyle='None'
+* :ghissue:`23026`: [MNT]: Require that matplotlibrc/style files use utf-8 (or have an encoding cookie)
+* :ghissue:`22947`: [Bug]: Can't use ``plt.sca()`` on axes created using subfigures
+* :ghissue:`22623`: [ENH]: support rect with constrained_layout ("layout only to part of the figure")
+* :ghissue:`22917`: "ab;cd" missing in subplot_mosaic tutorial
+* :ghissue:`22686`: [Bug]: can not give init value for RangeSlider widget
+* :ghissue:`22740`: [MNT]: Add codespell to pre-commit hooks
+* :ghissue:`22893`: rainbow text example is broken
+* :ghissue:`21571`: [Doc]: Clarify text positioning
+* :ghissue:`22092`: [Bug]: Configure subplots dialog freezes for TkAgg with toolmanager
+* :ghissue:`22760`: [Bug]: Macosx legend picker doesn't work anymore
+* :ghissue:`16369`: Call to input blocks slider input on osx with the default agg 'MacOSX'. It works fine on when TkAgg is used.
+* :ghissue:`22915`: [Bug]: figure.raise_window rcParam does not work on MacOSX backend
+* :ghissue:`22930`: [Bug]: Regression in dashes due to #22569
+* :ghissue:`22859`: [Bug]: findSystemFonts should not look in subdirectories of C:\Windows\Fonts\
+* :ghissue:`22882`: Missing ``f`` prefix on f-strings
+* :ghissue:`22738`: [MNT]: make Axes.cla an alias for Axes.clear in all cases
+* :ghissue:`22708`: [TST] Upcoming dependency test failures
+* :ghissue:`8388`: Proposed ENH: Allow user to turn off breaking of streamlines in streamplot
+* :ghissue:`20755`: [Bug]: make_norm_from_scale should create picklable classes even when used in-line.
+* :ghissue:`18249`: Expand the explanation of the Object-Oriented interface
+* :ghissue:`22792`: [Bug]: .eps greyscale hatching of patches when lw=0
+* :ghissue:`22630`: [ENH]: enable passing of projection keyword to Axes.inset_axes
+* :ghissue:`22414`: [Bug]: bar_label overlaps bars when y-axis is inverted
+* :ghissue:`22726`: [Bug]: tripcolor ignores clim
+* :ghissue:`21635`: [ENH]: Add a nightly wheel build
+* :ghissue:`9994`: document where nightly wheels are published
+* :ghissue:`22350`: [Bug]: text.usetex Vs. DateFormatter
+* :ghissue:`4976`: missing imshow() subplots when using tight_layout()
+* :ghissue:`22150`: [ENH]: Tool icons are hardly visible in Tk when using a dark theme
+* :ghissue:`22662`: Leave color parameter empty should be fine[ENH]:
+* :ghissue:`22671`: [Doc]: plot_format adaption invalidates sphinx cache
+* :ghissue:`22582`: [Bug]: FontManager.addfont doesn't accept pathlib.Path of TTF font
+* :ghissue:`22657`: [ENH]: vector map
+* :ghissue:`16181`: The great API cleanup
+* :ghissue:`22636`: [Bug]: Infinite loop when there is single double quote in matplotlibrc
+* :ghissue:`22266`: [Doc]: Improve examples in documentation
+* :ghissue:`11861`: Figure does not close until script finishes execution
+* :ghissue:`19288`: Escape # character in matplotlibrc
+* :ghissue:`22579`: [Bug]: Replacement for epoch2num behaves differently (does not accept arrays)
+* :ghissue:`22605`: [Bug]: Tool contrast low with dark theme on macosx backend
+* :ghissue:`17642`: bring osx backend flush_events to feature parity with other backend
+* :ghissue:`19268`: Drawing the canvas does not populate ticklabels on MacOSX backend
+* :ghissue:`17445`: MacOSX does not render frames in which new artists are added when blitting
+* :ghissue:`10980`: Current versions cannot reproduce rotate_axes_3d_demo.py
+* :ghissue:`18451`: MacOSX backend fails with animation in certain scripts
+* :ghissue:`22603`: [MNT]: Replace str(n)cpy etc with safe versions (C++)
+* :ghissue:`19121`: Handle and label not created for Text with label
+* :ghissue:`22563`: [Doc]: annotation_clip=None not correctly documented
+* :ghissue:`12528`: Empty axes on draw after blitted animation finishes
+* :ghissue:`20991`: [Bug]: Error when using path effect with a PolyCollection
+* :ghissue:`19563`: path_effects kwarg triggers exception on 3D scatterplot
+* :ghissue:`8650`: System Error in backend_agg. (with a fix!)
+* :ghissue:`20294`: ``AxesImage.__str__`` is wrong if the image does not span the full Axes.
+* :ghissue:`18066`: Document minimum supported OSX version for macos backend
+* :ghissue:`17018`: Add documentation about transparency of frame
+* :ghissue:`22403`: [MNT]: Confusing prompt in docs issue template
+* :ghissue:`8839`: mpl_connect silently does nothing when passed an invalid event type string
+* :ghissue:`22343`: [MNT]: Delay (or make pending) the deprecation of set_constrained_layout/set_tight_layout
+* :ghissue:`21554`: [Bug]: ``ValueError`` upon deepcopy of a ``Figure`` object
+* :ghissue:`22369`: [Doc]: Incorrect comment in example code for creating adjacent subplots
+* :ghissue:`19174`: connectionstyle arc3 with high rad value pushes up data interval of x-axis and y-axis.
+* :ghissue:`8351`: seaborn styles make "+", "x" markers invisible; proposed workaround for shipped styles
+* :ghissue:`22278`: Deprecate/remove maxdict
+* :ghissue:`19276`: imshow with very large arrays not working as expected
+* :ghissue:`22035`: [ENH]: Specify a custom focal length / FOV for the 3d camera
+* :ghissue:`22264`: [Bug]: new constrained_layout causes axes to go invisible(?)
+* :ghissue:`21774`: [MNT]: Improvements to widget tests
+* :ghissue:`18722`: Consider removing AFM+mathtext support
+* :ghissue:`21540`: [Bug]: cm fontset in log scale does not use Unicode minus
+* :ghissue:`22062`: [Bug]: Autopositioned title overlaps with offset text
+* :ghissue:`22093`: [Bug]: AttributeError: 'AxesSubplot' object has no attribute 'add_text'
+* :ghissue:`22012`: [Bug]: Mouseover coordinate/value text should be right aligned
+* :ghissue:`21995`: [Bug]: triplot with 'ls' argument yields TypeError
+* :ghissue:`20249`: MatplotlibDeprecationWarning when updating rcparams
+* :ghissue:`15781`: MatplotlibDeprecationWarning examples.directory is deprecated
+* :ghissue:`13118`: No MatplotlibDeprecationWarning for default rcParams
+* :ghissue:`21978`: Remove logging debug of loaded modules
+* :ghissue:`11738`: pgf backend doesn't make background transparent
+* :ghissue:`18039`: Add ``_repr_html_`` for fonts
+* :ghissue:`21970`: [Bug]: tight layout breaks with toolbar.push_current()
+* :ghissue:`14850`: No icon showing up with macosx backend
+* :ghissue:`17283`: Create Date Formatter/Locator Reference
+* :ghissue:`21761`: [Doc]: add how to know available fonts...
+* :ghissue:`21863`: [Doc]: Remove example "prop_cycle property markevery in rcParams"
+* :ghissue:`10241`: Axes3D.view_init elevation issue between 270 and 360 degrees
+* :ghissue:`14453`: add third angle to view_init()
+* :ghissue:`20486`: Modifier key press events not recognized on MacOSX backend
+* :ghissue:`9837`: MacOS: Key modifiers deprecated
+* :ghissue:`11416`: RuntimeError: adjustable='datalim' is not allowed when both axes are shared.
+* :ghissue:`17711`: inset_locator.mark_inset() misplaces box connectors
+* :ghissue:`20854`: [Doc]: Incorrect copyright start year at the bottom of devdocs page
+* :ghissue:`21394`: [Bug]: Subplot title does not obey padding
+* :ghissue:`20998`: [Bug]: ToolManager does not respect rcParams["keymap."] set after import time
+* :ghissue:`7075`: Superscripts in axis label cut when saving .eps with bbox_inches="tight"
+* :ghissue:`21514`: [Doc]: Error message of validate_whiskers is not updated
+* :ghissue:`21532`: [Doc]: subplot_mosaic docstring should link to the tutorial
+* :ghissue:`16550`: Docs: performance discussion of tight_layout
+* :ghissue:`21378`: [ENH]: use new style format strings for colorbar ticks
+* :ghissue:`19323`: Streamplot color mapping fails on (near-)empty array.
+* :ghissue:`19559`: Axes.get_xticks() returns a numpy array but Axes.get_xticks(minor=True) returns a plain list
+* :ghissue:`21526`: [Doc]: Little Typo on Introductory Tutorial
+* :ghissue:`19195`: Rotate Markers in functions like plot, scatter, etcetera
+* :ghissue:`21364`: [Bug]: double free when FT2Font constructor is interrupted by KeyboardInterrupt
+* :ghissue:`16581`: Can't not refresh new font in running interpreter
+* :ghissue:`21162`: [ENH]: saving images in webp format
+* :ghissue:`18168`: The example of the testing decorator does not work.
+* :ghissue:`20943`: [Bug]: Deepcopy of TextPath fails
+* :ghissue:`21101`: [Bug]: Errorbars separated from markers with negative errors
+* :ghissue:`17986`: MEP22 per-backend tool registration
+* :ghissue:`4938`: Feature request: add option to disable mathtext parsing
+* :ghissue:`11435`: plt.subplot eats my subplots
Previous GitHub statistics
diff --git a/doc/users/next_whats_new/3d_plot_aspects.rst b/doc/users/next_whats_new/3d_plot_aspects.rst
deleted file mode 100644
index a65160b4face..000000000000
--- a/doc/users/next_whats_new/3d_plot_aspects.rst
+++ /dev/null
@@ -1,33 +0,0 @@
-Set equal aspect ratio for 3D plots
------------------------------------
-
-Users can set the aspect ratio for the X, Y, Z axes of a 3D plot to be 'equal',
-'equalxy', 'equalxz', or 'equalyz' rather than the default of 'auto'.
-
-.. plot::
- :include-source: true
-
- import matplotlib.pyplot as plt
- import numpy as np
- from itertools import combinations, product
-
- aspects = ('auto', 'equal', 'equalxy', 'equalyz', 'equalxz')
- fig, axs = plt.subplots(1, len(aspects), subplot_kw={'projection': '3d'})
-
- # Draw rectangular cuboid with side lengths [1, 1, 5]
- r = [0, 1]
- scale = np.array([1, 1, 5])
- pts = combinations(np.array(list(product(r, r, r))), 2)
- for start, end in pts:
- if np.sum(np.abs(start - end)) == r[1] - r[0]:
- for ax in axs:
- ax.plot3D(*zip(start*scale, end*scale), color='C0')
-
- # Set the aspect ratios
- for i, ax in enumerate(axs):
- ax.set_box_aspect((3, 4, 5))
- ax.set_aspect(aspects[i])
- ax.set_title(f"set_aspect('{aspects[i]}')")
-
- fig.set_size_inches(13, 3)
- plt.show()
diff --git a/doc/users/next_whats_new/3d_plot_focal_length.rst b/doc/users/next_whats_new/3d_plot_focal_length.rst
deleted file mode 100644
index 41750851dc06..000000000000
--- a/doc/users/next_whats_new/3d_plot_focal_length.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-Give the 3D camera a custom focal length
-----------------------------------------
-
-Users can now better mimic real-world cameras by specifying the focal length of
-the virtual camera in 3D plots. The default focal length of 1 corresponds to a
-Field of View (FOV) of 90 deg, and is backwards-compatible with existing 3D
-plots. An increased focal length between 1 and infinity "flattens" the image,
-while a decreased focal length between 1 and 0 exaggerates the perspective and
-gives the image more apparent depth.
-
-The focal length can be calculated from a desired FOV via the equation:
-
-.. mathmpl::
-
- focal\_length = 1/\tan(FOV/2)
-
-.. plot::
- :include-source: true
-
- from mpl_toolkits.mplot3d import axes3d
- import matplotlib.pyplot as plt
- from numpy import inf
- fig, axs = plt.subplots(1, 3, subplot_kw={'projection': '3d'})
- X, Y, Z = axes3d.get_test_data(0.05)
- focal_lengths = [0.2, 1, inf]
- for ax, fl in zip(axs, focal_lengths):
- ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
- ax.set_proj_type('persp', focal_length=fl)
- ax.set_title(f"focal_length = {fl}")
- fig.set_size_inches(10, 4)
- plt.show()
diff --git a/doc/users/next_whats_new/3d_plot_roll_angle.rst b/doc/users/next_whats_new/3d_plot_roll_angle.rst
deleted file mode 100644
index 66674297077b..000000000000
--- a/doc/users/next_whats_new/3d_plot_roll_angle.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-3D plots gained a 3rd "roll" viewing angle
-------------------------------------------
-
-3D plots can now be viewed from any orientation with the addition of a 3rd roll
-angle, which rotates the plot about the viewing axis. Interactive rotation
-using the mouse still only controls elevation and azimuth, meaning that this
-feature is relevant to users who create more complex camera angles
-programmatically. The default roll angle of 0 is backwards-compatible with
-existing 3D plots.
-
-.. plot::
- :include-source: true
-
- from mpl_toolkits.mplot3d import axes3d
- import matplotlib.pyplot as plt
- fig = plt.figure()
- ax = fig.add_subplot(projection='3d')
- X, Y, Z = axes3d.get_test_data(0.05)
- ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
- ax.view_init(elev=0, azim=0, roll=30)
- ax.set_title('elev=0, azim=0, roll=30')
- plt.show()
diff --git a/doc/users/next_whats_new/asinh_scale.rst b/doc/users/next_whats_new/asinh_scale.rst
deleted file mode 100644
index 69238ebe220a..000000000000
--- a/doc/users/next_whats_new/asinh_scale.rst
+++ /dev/null
@@ -1,32 +0,0 @@
-New axis scale ``asinh`` (experimental)
----------------------------------------
-
-The new ``asinh`` axis scale offers an alternative to ``symlog`` that
-smoothly transitions between the quasi-linear and asymptotically logarithmic
-regions of the scale. This is based on an arcsinh transformation that
-allows plotting both positive and negative values that span many orders
-of magnitude.
-
-.. plot::
-
- import matplotlib.pyplot as plt
- import numpy as np
-
- fig, (ax0, ax1) = plt.subplots(1, 2, sharex=True)
- x = np.linspace(-3, 6, 100)
-
- ax0.plot(x, x)
- ax0.set_yscale('symlog')
- ax0.grid()
- ax0.set_title('symlog')
-
- ax1.plot(x, x)
- ax1.set_yscale('asinh')
- ax1.grid()
- ax1.set_title(r'$sinh^{-1}$')
-
- for p in (-2, 2):
- for ax in (ax0, ax1):
- c = plt.Circle((p, p), radius=0.5, fill=False,
- color='red', alpha=0.8, lw=3)
- ax.add_patch(c)
diff --git a/doc/users/next_whats_new/bar_plot_labels.rst b/doc/users/next_whats_new/bar_plot_labels.rst
deleted file mode 100644
index 6da57a317f59..000000000000
--- a/doc/users/next_whats_new/bar_plot_labels.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-Easier labelling of bars in bar plot
-------------------------------------
-
-The ``label`` argument of `~matplotlib.axes.Axes.bar` can now
-be passed a list of labels for the bars.
-
-.. code-block:: python
-
- import matplotlib.pyplot as plt
-
- x = ["a", "b", "c"]
- y = [10, 20, 15]
-
- fig, ax = plt.subplots()
- bar_container = ax.barh(x, y, label=x)
- [bar.get_label() for bar in bar_container]
diff --git a/doc/users/next_whats_new/color_support_for_math_to_image.rst b/doc/users/next_whats_new/color_support_for_math_to_image.rst
deleted file mode 100644
index 3c4f376349a6..000000000000
--- a/doc/users/next_whats_new/color_support_for_math_to_image.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-``math_to_image`` now has a *color* keyword argument
---------------------------------------------------------
-
-To easily support external libraries that rely on the MathText rendering of
-Matplotlib to generate equation images, a *color* keyword argument was added
-to `~matplotlib.mathtext.math_to_image`.
-
-.. code-block:: python
-
- from matplotlib import mathtext
- mathtext.math_to_image('$x^2$', 'filename.png', color='Maroon')
diff --git a/doc/users/next_whats_new/custom_cap_widths.rst b/doc/users/next_whats_new/custom_cap_widths.rst
deleted file mode 100644
index 137b9b6839f8..000000000000
--- a/doc/users/next_whats_new/custom_cap_widths.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-Custom cap widths in box and whisker plots in bxp() and boxplot()
------------------------------------------------------------------
-
-New bxp() and boxplot() parameter capwidths allows to control the
-widths of the caps in box and whisker plots.
-
-.. plot::
- :include-source: true
-
- import matplotlib.pyplot as plt
- import numpy as np
- x = np.linspace(-7, 7, 140)
- x = np.hstack([-25, x, 25])
- fig, ax = plt.subplots()
- ax.boxplot([x, x], notch=True, capwidths=[0.01, 0.2])
- plt.show()
diff --git a/doc/users/next_whats_new/double_quotes_matplolibrc.rst b/doc/users/next_whats_new/double_quotes_matplolibrc.rst
deleted file mode 100644
index e40c1be750b2..000000000000
--- a/doc/users/next_whats_new/double_quotes_matplolibrc.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Double-quoted strings in matplotlibrc
--------------------------------------
-
-You can now use double-quotes around strings. This allows using the '#'
-character in strings. Without quotes, '#' is interpreted as start of a comment.
-In particular, you can now define hex-colors:
-
-.. code-block:: none
-
- grid.color: "#b0b0b0"
diff --git a/doc/users/next_whats_new/extending_MarkerStyle.rst b/doc/users/next_whats_new/extending_MarkerStyle.rst
deleted file mode 100644
index f31585a70b1c..000000000000
--- a/doc/users/next_whats_new/extending_MarkerStyle.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-New customization of MarkerStyle
---------------------------------
-
-New MarkerStyle parameters allow control of join style and cap style, and for
-the user to supply a transformation to be applied to the marker (e.g. a rotation).
-
-.. plot::
- :include-source: true
-
- import matplotlib.pyplot as plt
- from matplotlib.markers import MarkerStyle
- from matplotlib.transforms import Affine2D
- fig, ax = plt.subplots(figsize=(6, 1))
- fig.suptitle('New markers', fontsize=14)
- for col, (size, rot) in enumerate(zip([2, 5, 10], [0, 45, 90])):
- t = Affine2D().rotate_deg(rot).scale(size)
- ax.plot(col, 0, marker=MarkerStyle("*", transform=t))
- ax.axis("off")
- ax.set_xlim(-0.1, 2.4)
diff --git a/doc/users/next_whats_new/figure_label_rcparams.rst b/doc/users/next_whats_new/figure_label_rcparams.rst
deleted file mode 100644
index 149da1e92cf0..000000000000
--- a/doc/users/next_whats_new/figure_label_rcparams.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Allow setting figure label size and weight globally and separately from title
------------------------------------------------------------------------------
-
-The figure labels, ``Figure.supxlabel`` and ``Figure.supylabel``, size and
-weight can be set separately from the figure title. Use :rc:`figure.labelsize`
-and :rc:`figure.labelweight`.
-
-Note that if you have locally changed :rc:`figure.titlesize` or
-:rc:`figure.titleweight`, you must now also change the introduced parameters
-for a consistent result.
diff --git a/doc/users/next_whats_new/fix_dash_offset_Patch.rst b/doc/users/next_whats_new/fix_dash_offset_Patch.rst
deleted file mode 100644
index 7be55858f70f..000000000000
--- a/doc/users/next_whats_new/fix_dash_offset_Patch.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix the dash offset of the Patch class
---------------------------------------
-Traditionally, when setting the linestyle on a `.Patch` object using a dash tuple the
-offset was ignored. Now the offset is passed to the draw method of Patch as expected
-and it can be used as it is used with Line2D objects.
diff --git a/doc/users/next_whats_new/font_fallback.rst b/doc/users/next_whats_new/font_fallback.rst
deleted file mode 100644
index 51d9143147ce..000000000000
--- a/doc/users/next_whats_new/font_fallback.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-Font fallback
--------------
-
-It is now possible to specify a list of fonts families and Matplotlib
-will try them in order to locate a required glyph.
-
-.. plot::
- :caption: Demonstration of mixed English and Chinese text with font fallback.
- :alt: The phrase "There are 几个汉字 in between!" rendered in various fonts.
- :include-source: True
-
- import matplotlib.pyplot as plt
-
- text = "There are 几个汉字 in between!"
-
- plt.rcParams["font.size"] = 20
- fig = plt.figure(figsize=(4.75, 1.85))
- fig.text(0.05, 0.85, text, family=["WenQuanYi Zen Hei"])
- fig.text(0.05, 0.65, text, family=["Noto Sans CJK JP"])
- fig.text(0.05, 0.45, text, family=["DejaVu Sans", "Noto Sans CJK JP"])
- fig.text(0.05, 0.25, text, family=["DejaVu Sans", "WenQuanYi Zen Hei"])
-
- plt.show()
-
-
-This currently works with the Agg (and all of the GUI embeddings), svg, pdf,
-ps, and inline backends.
diff --git a/doc/users/next_whats_new/inset_axes_improvements.rst b/doc/users/next_whats_new/inset_axes_improvements.rst
deleted file mode 100644
index ad4918120a84..000000000000
--- a/doc/users/next_whats_new/inset_axes_improvements.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Axes.inset_axes flexibility
----------------------------
-
-`matplotlib.axes.Axes.inset_axes` now accepts the *projection*, *polar* and
-*axes_class* keyword arguments, so that subclasses of `matplotlib.axes.Axes` may
-be returned.
diff --git a/doc/users/next_whats_new/layout_engine.rst b/doc/users/next_whats_new/layout_engine.rst
deleted file mode 100644
index 9304ee9771e0..000000000000
--- a/doc/users/next_whats_new/layout_engine.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-New ``layout_engine`` module
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Matplotlib ships with ``tight_layout`` and ``constrained_layout`` layout
-engines. A new ``layout_engine`` module is provided to allow downstream
-libraries to write their own layout engines and `~.figure.Figure` objects can
-now take a `.LayoutEngine` subclass as an argument to the *layout* parameter.
diff --git a/doc/users/next_whats_new/legend_align.rst b/doc/users/next_whats_new/legend_align.rst
deleted file mode 100644
index 4a1d479c8e27..000000000000
--- a/doc/users/next_whats_new/legend_align.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Legend can control alignment of title and handles
--------------------------------------------------
-
-`.Legend` now supports control the alignment of title and handles via the
-keyword argument ``alignment``. You can also use `.Legend.set_alignment`
-to control the alignment on existing Legends.
diff --git a/doc/users/next_whats_new/list_font_names.rst b/doc/users/next_whats_new/list_font_names.rst
deleted file mode 100644
index d3737cd8ba55..000000000000
--- a/doc/users/next_whats_new/list_font_names.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-List of available font names
-------------------------------
-
-The list of available fonts are now easily accessible. Get a list of the
-available font names in matplotlib with:
-
-.. code-block:: python
-
- from matplotlib import font_manager
- font_manager.get_font_names()
diff --git a/doc/users/next_whats_new/marker_none.rst b/doc/users/next_whats_new/marker_none.rst
deleted file mode 100644
index b37f07ea1333..000000000000
--- a/doc/users/next_whats_new/marker_none.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``marker`` can now be set to the string "none"
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-... to mean *no-marker*, consistently with other APIs which support the
-lowercase version. Using "none" is recommended over using "None", to avoid
-confusion with the None object.
diff --git a/doc/users/next_whats_new/min_macos_version.rst b/doc/users/next_whats_new/min_macos_version.rst
deleted file mode 100644
index 8d3a8f04fcdb..000000000000
--- a/doc/users/next_whats_new/min_macos_version.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-New minimum macOS version
--------------------------
-The macosx backend now requires macOS >= 10.12.
diff --git a/doc/users/next_whats_new/modify_stairs_fill_edge_behaviour.rst b/doc/users/next_whats_new/modify_stairs_fill_edge_behaviour.rst
deleted file mode 100644
index 1dc24a20907a..000000000000
--- a/doc/users/next_whats_new/modify_stairs_fill_edge_behaviour.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-stairs(..., fill=True) to hide patch edge by setting lw=0
----------------------------------------------------------
-
-``stairs(..., fill=True)`` would previously hide Patch
-edge by setting edgecolor="none". Calling ``set_color()``
-on the Patch after would make the Patch appear larger.
-Updated treatment prevents this. Likewise calling
-``stairs(..., fill=True, lw=3)`` will behave more
-transparently.
diff --git a/doc/users/next_whats_new/multicursor_multifigure.rst b/doc/users/next_whats_new/multicursor_multifigure.rst
deleted file mode 100644
index 04b39f9d0c56..000000000000
--- a/doc/users/next_whats_new/multicursor_multifigure.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-``MultiCursor`` now supports Axes split over multiple figures
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Previously, `.MultiCursor` only worked if all target Axes belonged to the same
-figure.
-
-As a consequence of this change, the first argument to the `.MultiCursor`
-constructor has become unused (it was previously the joint canvas of all Axes,
-but the canvases are now directly inferred from the list of Axes).
diff --git a/doc/users/next_whats_new/no_broken_streamlines.rst b/doc/users/next_whats_new/no_broken_streamlines.rst
deleted file mode 100644
index 7160cd7caca0..000000000000
--- a/doc/users/next_whats_new/no_broken_streamlines.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-Add option to plt.streamplot to not break streamlines
------------------------------------------------------
-
-It is now possible to specify that streamplots have continuous, unbroken
-streamlines. Previously streamlines would end to limit the number of lines
-within a single grid cell. See the difference between the plots below:
-
-.. plot::
-
- import matplotlib.pyplot as plt
- import numpy as np
-
- w = 3
- Y, X = np.mgrid[-w:w:100j, -w:w:100j]
- U = -1 - X**2 + Y
- V = 1 + X - Y**2
- speed = np.sqrt(U**2 + V**2)
-
- fig, (ax0, ax1) = plt.subplots(1, 2, sharex=True)
-
- ax0.streamplot(X, Y, U, V, broken_streamlines=True)
- ax0.set_title('broken_streamlines=True')
-
- ax1.streamplot(X, Y, U, V, broken_streamlines=False)
- ax1.set_title('broken_streamlines=False')
diff --git a/doc/users/next_whats_new/plt_xyticks_support_minor.rst b/doc/users/next_whats_new/plt_xyticks_support_minor.rst
deleted file mode 100644
index fef2ce764113..000000000000
--- a/doc/users/next_whats_new/plt_xyticks_support_minor.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-``plt.xticks`` and ``plt.yticks`` support *minor* keyword argument
-------------------------------------------------------------------
-
-It is now possible to set or get minor ticks using `.pyplot.xticks` and
-`.pyplot.yticks` by setting ``minor=True``.
-
-.. plot::
- :include-source: true
-
- import matplotlib.pyplot as plt
- plt.figure()
- plt.plot([1, 2, 3, 3.5], [2, 1, 0, -0.5])
- plt.xticks([1, 2, 3], ["One", "Zwei", "Trois"])
- plt.xticks([1.414, 2.5, 3.142],
- [r"$\sqrt{2}$", r"$\frac{5}{2}$", r"$\pi$"], minor=True)
diff --git a/doc/users/next_whats_new/polygon_selector_box.rst b/doc/users/next_whats_new/polygon_selector_box.rst
deleted file mode 100644
index 10116e6c75fb..000000000000
--- a/doc/users/next_whats_new/polygon_selector_box.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-PolygonSelector bounding boxes
-------------------------------
-`~matplotlib.widgets.PolygonSelector` now has a *draw_bounding_box* argument, which
-when set to `True` will draw a bounding box around the polygon once it is
-complete. The bounding box can be resized and moved, allowing the points of
-the polygon to be easily resized.
diff --git a/doc/users/next_whats_new/polygon_vert_setter.rst b/doc/users/next_whats_new/polygon_vert_setter.rst
deleted file mode 100644
index 37dc442e79ea..000000000000
--- a/doc/users/next_whats_new/polygon_vert_setter.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Setting PolygonSelector vertices
---------------------------------
-The vertices of `~matplotlib.widgets.PolygonSelector` can now be set
-programmatically by using the `~matplotlib.widgets.PolygonSelector.verts`
-property. Setting the vertices this way will reset the selector, and create
-a new complete selector with the supplied vertices.
diff --git a/doc/users/next_whats_new/rectangle_patch_rotation.rst b/doc/users/next_whats_new/rectangle_patch_rotation.rst
deleted file mode 100644
index ba3c1b336604..000000000000
--- a/doc/users/next_whats_new/rectangle_patch_rotation.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Rectangle patch rotation point
-------------------------------
-
-The rotation point of the `~matplotlib.patches.Rectangle` can now be set to 'xy',
-'center' or a 2-tuple of numbers.
diff --git a/doc/users/next_whats_new/rename_ncol_keyword_in_legend.rst b/doc/users/next_whats_new/rename_ncol_keyword_in_legend.rst
deleted file mode 100644
index 54db966bf8a9..000000000000
--- a/doc/users/next_whats_new/rename_ncol_keyword_in_legend.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-``ncol`` keyword argument to ``legend`` renamed to ``ncols``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ``ncol`` keyword argument to `~.Axes.legend` for controlling the number of
-columns is renamed to ``ncols`` for consistency with the ``ncols`` and
-``nrows`` keywords of `~.Figure.subplots` and `~.GridSpec`.
-``ncol`` is still supported though.
diff --git a/doc/users/next_whats_new/resample_colormaps.rst b/doc/users/next_whats_new/resample_colormaps.rst
deleted file mode 100644
index f2fbe4da4d83..000000000000
--- a/doc/users/next_whats_new/resample_colormaps.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-Colormap method for creating a different lookup table size
-----------------------------------------------------------
-The new method `.Colormap.resampled` creates a new `.Colormap` instance
-with the specified lookup table size. This is a replacement for manipulating
-the lookup table size via ``get_cmap``.
-
-Use::
-
- get_cmap(name).resampled(N)
-
-instead of::
-
- get_cmap(name, lut=N)
diff --git a/doc/users/next_whats_new/selector_improvement.rst b/doc/users/next_whats_new/selector_improvement.rst
deleted file mode 100644
index f19282335705..000000000000
--- a/doc/users/next_whats_new/selector_improvement.rst
+++ /dev/null
@@ -1,40 +0,0 @@
-Selectors improvement: rotation, aspect ratio correction and add/remove state
------------------------------------------------------------------------------
-
-The `~matplotlib.widgets.RectangleSelector` and
-`~matplotlib.widgets.EllipseSelector` can now be rotated interactively between
--45° and 45°. The range limits are currently dictated by the implementation.
-The rotation is enabled or disabled by striking the *r* key
-('r' is the default key mapped to 'rotate' in *state_modifier_keys*) or by calling
-``selector.add_state('rotate')``.
-
-The aspect ratio of the axes can now be taken into account when using the
-"square" state. This is enabled by specifying ``use_data_coordinates='True'`` when
-the selector is initialized.
-
-In addition to changing selector state interactively using the modifier keys
-defined in *state_modifier_keys*, the selector state can now be changed
-programmatically using the *add_state* and *remove_state* methods.
-
-
-.. code-block:: python
-
- import matplotlib.pyplot as plt
- from matplotlib.widgets import RectangleSelector
- import numpy as np
-
- values = np.arange(0, 100)
-
- fig = plt.figure()
- ax = fig.add_subplot()
- ax.plot(values, values)
-
- selector = RectangleSelector(ax, print, interactive=True,
- drag_from_anywhere=True,
- use_data_coordinates=True)
- selector.add_state('rotate') # alternatively press 'r' key
- # rotate the selector interactively
-
- selector.remove_state('rotate') # alternatively press 'r' key
-
- selector.add_state('square')
diff --git a/doc/users/next_whats_new/snap_selector.rst b/doc/users/next_whats_new/snap_selector.rst
deleted file mode 100644
index 9ff0ccd87e0c..000000000000
--- a/doc/users/next_whats_new/snap_selector.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-SpanSelector widget can now be snapped to specified values
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The SpanSelector widget can now be snapped to values specified by the *snap_values*
-argument.
diff --git a/doc/users/next_whats_new/striped_lines.rst b/doc/users/next_whats_new/striped_lines.rst
deleted file mode 100644
index dff1205a5db1..000000000000
--- a/doc/users/next_whats_new/striped_lines.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-Striped lines (experimental)
-----------------------------
-
-New *gapcolor* parameter enables the creation of striped lines.
-
-.. plot::
- :include-source: true
-
- import matplotlib.pyplot as plt
- import numpy as np
-
- x = np.linspace(1., 3., 10)
- y = x**3
-
- fig, ax = plt.subplots()
- ax.plot(x, y, linestyle='--', color='orange', gapcolor='blue',
- linewidth=3, label='a striped line')
- ax.legend()
- plt.show()
diff --git a/doc/users/next_whats_new/strnorm.rst b/doc/users/next_whats_new/strnorm.rst
deleted file mode 100644
index 42be191f2d55..000000000000
--- a/doc/users/next_whats_new/strnorm.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Setting norms with strings
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-Norms can now be set (e.g. on images) using the string name of the
-corresponding scale, e.g. ``imshow(array, norm="log")``. Note that in that
-case, it is permissible to also pass *vmin* and *vmax*, as a new Norm instance
-will be created under the hood.
diff --git a/doc/users/next_whats_new/url_active_areas_rotate.rst b/doc/users/next_whats_new/url_active_areas_rotate.rst
deleted file mode 100644
index 6c6d29be86fa..000000000000
--- a/doc/users/next_whats_new/url_active_areas_rotate.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-The active URL area rotates when link text is rotated
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-When link text is rotated in a matplotlib figure, the active URL
-area will now include the link area. Previously, the active area
-remained in the original, non-rotated, position.
diff --git a/doc/users/next_whats_new/use_contourpy.rst b/doc/users/next_whats_new/use_contourpy.rst
deleted file mode 100644
index 31be55804d1a..000000000000
--- a/doc/users/next_whats_new/use_contourpy.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-New external dependency ContourPy used for quad contour calculations
---------------------------------------------------------------------
-
-Previously Matplotlib shipped its own C++ code for calculating the contours of
-quad grids. Now the external library
-`ContourPy `_ is used instead. There
-is a choice of four algorithms to use, controlled by the *algorithm* keyword
-argument to the functions `~matplotlib.axes.Axes.contour` and
-`~matplotlib.axes.Axes.contourf`. The default behaviour is to use
-``algorithm='mpl2014'`` which is the same algorithm that Matplotlib has been
-using since 2014.
-
-See the `ContourPy documentation `_ for
-further details of the different algorithms.
-
-.. note::
-
- Contour lines and polygons produced by ``algorithm='mpl2014'`` will be the
- same as those produced before this change to within floating-point
- tolerance. The exception is for duplicate points, i.e. contours containing
- adjacent (x, y) points that are identical; previously the duplicate points
- were removed, now they are kept. Contours affected by this will produce the
- same visual output, but there will be a greater number of points in the
- contours.
-
- The locations of contour labels obtained by using
- `~matplotlib.axes.Axes.clabel` may also be different.
diff --git a/doc/users/next_whats_new/width_height_ratios.rst b/doc/users/next_whats_new/width_height_ratios.rst
deleted file mode 100644
index 017c34a55cc4..000000000000
--- a/doc/users/next_whats_new/width_height_ratios.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-``subplots``, ``subplot_mosaic`` accept *height_ratios* and *width_ratios* arguments
-------------------------------------------------------------------------------------
-
-The relative width and height of columns and rows in `~.Figure.subplots` and
-`~.Figure.subplot_mosaic` can be controlled by passing *height_ratios* and
-*width_ratios* keyword arguments to the methods. Previously, this required
-passing the ratios in *gridspec_kws* arguments.
diff --git a/doc/users/next_whats_new/windows_arm64.rst b/doc/users/next_whats_new/windows_arm64.rst
deleted file mode 100644
index b649872ff2e5..000000000000
--- a/doc/users/next_whats_new/windows_arm64.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-Windows on Arm support
-----------------------
-
-Preliminary support for windows on arm64 target added.
-
-Matplotlib for windows/arm64 requires FreeType 2.11 or above.
-
-No binary wheels are available yet but can be built from source.
diff --git a/doc/users/prev_whats_new/github_stats_3.5.3.rst b/doc/users/prev_whats_new/github_stats_3.5.3.rst
new file mode 100644
index 000000000000..bafd6d5c27eb
--- /dev/null
+++ b/doc/users/prev_whats_new/github_stats_3.5.3.rst
@@ -0,0 +1,127 @@
+.. _github-stats-3-5-3:
+
+GitHub statistics for 3.5.3 (Aug 10, 2022)
+==========================================
+
+GitHub statistics for 2022/05/03 (tag: v3.5.2) - 2022/08/10
+
+These lists are automatically generated, and may be incomplete or contain duplicates.
+
+We closed 19 issues and merged 66 pull requests.
+The full list can be seen `on GitHub `__
+
+The following 20 authors contributed 99 commits.
+
+* Antony Lee
+* Biswapriyo Nath
+* David Gilbertson
+* DWesl
+* Elliott Sales de Andrade
+* GavinZhang
+* Greg Lucas
+* Jody Klymak
+* Kayran Schmidt
+* Matthew Feickert
+* Nickolaos Giannatos
+* Oscar Gustafsson
+* Ruth Comer
+* SaumyaBhushan
+* Scott Jones
+* Scott Shambaugh
+* tfpf
+* Thomas A Caswell
+* Tim Hoffmann
+* wsykala
+
+GitHub issues and pull requests:
+
+Pull Requests (66):
+
+* :ghpull:`23591`: Backport PR #23549 on branch v3.5.x (Don't clip colorbar dividers)
+* :ghpull:`23593`: STY: Fix whitespace error from new flake8
+* :ghpull:`23549`: Don't clip colorbar dividers
+* :ghpull:`23528`: Backport PR #23523 on branch v3.5.x (TST: Update Quantity test class)
+* :ghpull:`23523`: TST: Update Quantity test class
+* :ghpull:`23508`: Add explicit registration of units in examples
+* :ghpull:`23515`: Backport PR #23462: Fix AttributeError for pickle load of Figure class
+* :ghpull:`23518`: Backport PR #23514 on branch v3.5.x (Fix doc build)
+* :ghpull:`23517`: Backport PR #23511 on branch v3.5.x (supporting IBM i OS)
+* :ghpull:`23511`: supporting IBM i OS
+* :ghpull:`23462`: Fix AttributeError for pickle load of Figure class
+* :ghpull:`23488`: Backport PR #23066 on branch v3.5.x (BLD: Define PyErr_SetFromWindowsErr on Cygwin.)
+* :ghpull:`23066`: BLD: Define PyErr_SetFromWindowsErr on Cygwin.
+* :ghpull:`23479`: Pin setuptools_scm on v3.5.x
+* :ghpull:`22998`: Backport PR #22987 on branch v3.5.x (CI: bump test limit from tkagg on osx)
+* :ghpull:`23478`: Backport PR #23476: FIX: reset to original DPI in getstate
+* :ghpull:`23476`: FIX: reset to original DPI in getstate
+* :ghpull:`23458`: Backport PR #23445 on branch v3.5.x (Compare thread native ids when checking whether running on main thread.)
+* :ghpull:`23440`: Backport PR #23430 on branch v3.5.x (Fix divide by 0 runtime warning)
+* :ghpull:`23430`: Fix divide by 0 runtime warning
+* :ghpull:`23344`: Backport PR #23333: Fix errorbar handling of nan.
+* :ghpull:`23333`: Fix errorbar handling of nan.
+* :ghpull:`23338`: Backport PR #23278: Remove internal use of get/set dpi
+* :ghpull:`23331`: Backport PR #22835 on branch v3.5.x (Fix BoundaryNorm cursor data output)
+* :ghpull:`22835`: Fix BoundaryNorm cursor data output
+* :ghpull:`23292`: Backport PR #23232 on branch v3.5.x (Fix passing stem markerfmt positionally when locs are not given)
+* :ghpull:`23275`: Backport PR #23260 on branch v3.5.x (Fix Colorbar extend patches to have correct alpha)
+* :ghpull:`23312`: Pin to an older pydata-sphinx-theme for v3.5.x
+* :ghpull:`23278`: Remove internal use of get/set dpi
+* :ghpull:`23232`: Fix passing stem markerfmt positionally when locs are not given
+* :ghpull:`22865`: Fix issue with colorbar extend and drawedges
+* :ghpull:`23260`: Fix Colorbar extend patches to have correct alpha
+* :ghpull:`23245`: Backport PR #23144 on branch v3.5.x (Only import setuptools_scm when we are in a matplotlib git repo)
+* :ghpull:`23144`: Only import setuptools_scm when we are in a matplotlib git repo
+* :ghpull:`23242`: Backport PR #23203 on branch v3.5.x (Honour ``panchor`` keyword for colorbar on subplot)
+* :ghpull:`23203`: Honour ``panchor`` keyword for colorbar on subplot
+* :ghpull:`23228`: Backport PR #23209 on branch v3.5.x (Fix the vertical alignment of overunder symbols.)
+* :ghpull:`23209`: Fix the vertical alignment of overunder symbols.
+* :ghpull:`23184`: Backport PR #23174: Make sure SubFigure has _cachedRenderer
+* :ghpull:`23194`: Backport PR #23095: Try to unbreak CI by xfailing OSX Tk tests
+* :ghpull:`23113`: Backport PR #23057 and #23106
+* :ghpull:`23185`: Backport PR #23168 on branch v3.5.x (Corrected docstring for artist.Artist.set_agg_filter)
+* :ghpull:`23168`: Corrected docstring for artist.Artist.set_agg_filter
+* :ghpull:`23174`: Make sure SubFigure has _cachedRenderer
+* :ghpull:`23110`: Tweak subprocess_run_helper.
+* :ghpull:`23138`: Backport PR #23137 on branch v3.5.x (DOC fix typo)
+* :ghpull:`23137`: DOC fix typo
+* :ghpull:`23125`: Backport PR #23122 on branch v3.5.x (Remove redundant rcparam default)
+* :ghpull:`23120`: Backport PR #23115 on branch v3.5.x (DOC fixed duplicate/wrong default)
+* :ghpull:`23095`: Try to unbreak CI by xfailing OSX Tk tests
+* :ghpull:`23106`: Reuse subprocess_run_helper in test_pylab_integration.
+* :ghpull:`23112`: Backport PR #23111 on branch v3.5.x (Fix _g_sig_digits for value<0 and delta=0.)
+* :ghpull:`23111`: Fix _g_sig_digits for value<0 and delta=0.
+* :ghpull:`23057`: FIX: ensure switching the backend installs repl hook
+* :ghpull:`23075`: Backport PR #23069 on branch v3.5.x (TST: forgive more failures on pyside2 / pyside6 cross imports)
+* :ghpull:`23069`: TST: forgive more failures on pyside2 / pyside6 cross imports
+* :ghpull:`22981`: Backport PR #22979 on branch v3.5.x (Skip additional backend tests on import error)
+* :ghpull:`23064`: Backport PR #22975 on branch v3.5.x (MNT: fix __array__ to numpy)
+* :ghpull:`22975`: MNT: fix __array__ to numpy
+* :ghpull:`23058`: Backport PR #23051 on branch v3.5.x (Fix variable initialization due to jump bypassing it)
+* :ghpull:`23051`: Fix variable initialization due to jump bypassing it
+* :ghpull:`23010`: Backport PR #23000 on branch v3.5.x (Additional details on VS install on installation page)
+* :ghpull:`22995`: Backport PR #22994 on branch v3.5.x (Docs: ignore >>> on code prompts on documentation prompts)
+* :ghpull:`23001`: CI: Add trivial pre-commit.ci config to avoid CI failure
+* :ghpull:`22987`: CI: bump test limit from tkagg on osx
+* :ghpull:`22979`: Skip additional backend tests on import error
+
+Issues (19):
+
+* :ghissue:`22864`: [Bug]: Colorbar with drawedges=True and extend='both' does not draw edges at extremities
+* :ghissue:`23382`: [TST] Upcoming dependency test failures
+* :ghissue:`23470`: [Bug]: fig.canvas.mpl_connect in 3.5.2 not registering events in jupyter lab unless using widget pan or zoom controls
+* :ghissue:`22997`: [Bug]: Cygwin build fails due to use of Windows-only functions in _tkagg.cpp
+* :ghissue:`23471`: [Bug]: DPI of a figure is doubled after unpickling on M1 Mac
+* :ghissue:`23050`: [Doc]: Docstring for artist.Artist.set_agg_filter is incorrect
+* :ghissue:`23307`: [Bug]: PEX warns about missing ``setuptools`` from ``install_requires`` in matplotlib
+* :ghissue:`23330`: [Bug]: Missing values cause exception in errorbar plot
+* :ghissue:`21915`: [Bug]: scalar mappable format_cursor_data crashes on BoundarNorm
+* :ghissue:`22970`: [Bug]: Colorbar extend patches do not have correct alpha
+* :ghissue:`23114`: [Bug]: matplotlib __init__.py checks for .git folder 2 levels up, then errors due to setup tools_scm
+* :ghissue:`23157`: [Bug]: colorbar ignores keyword panchor=False
+* :ghissue:`23229`: [Bug]: matplotlib==3.5.2 breaks ipywidgets
+* :ghissue:`18085`: vertical alignment of \sum depends on the presence of subscripts and superscripts
+* :ghissue:`23173`: [Bug]: Crash when adding clabels to subfigures
+* :ghissue:`23108`: [Bug]: Imshow with all negative values leads to math domain errors.
+* :ghissue:`23042`: [Bug]: Figures fail to redraw with IPython
+* :ghissue:`23004`: [Bug]: test failure of test_cross_Qt_imports in 3.5.2
+* :ghissue:`22973`: [Bug]: v3.5.2 causing plot to crash when plotting object with ``__array__`` method
diff --git a/doc/users/prev_whats_new/whats_new_3.6.0.rst b/doc/users/prev_whats_new/whats_new_3.6.0.rst
new file mode 100644
index 000000000000..b7bb958d67ad
--- /dev/null
+++ b/doc/users/prev_whats_new/whats_new_3.6.0.rst
@@ -0,0 +1,872 @@
+=============================================
+What's new in Matplotlib 3.6.0 (Sep 15, 2022)
+=============================================
+
+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
+
+Figure and Axes creation / management
+=====================================
+
+``subplots``, ``subplot_mosaic`` accept *height_ratios* and *width_ratios* arguments
+------------------------------------------------------------------------------------
+
+The relative width and height of columns and rows in `~.Figure.subplots` and
+`~.Figure.subplot_mosaic` can be controlled by passing *height_ratios* and
+*width_ratios* keyword arguments to the methods:
+
+.. plot::
+ :include-source: true
+
+ fig = plt.figure()
+ axs = fig.subplots(3, 1, sharex=True, height_ratios=[3, 1, 1])
+
+Previously, this required passing the ratios in *gridspec_kw* arguments::
+
+ fig = plt.figure()
+ axs = fig.subplots(3, 1, sharex=True,
+ gridspec_kw=dict(height_ratios=[3, 1, 1]))
+
+Constrained layout is no longer considered experimental
+-------------------------------------------------------
+
+The constrained layout engine and API is no longer considered experimental.
+Arbitrary changes to behaviour and API are no longer permitted without a
+deprecation period.
+
+New ``layout_engine`` module
+----------------------------
+
+Matplotlib ships with ``tight_layout`` and ``constrained_layout`` layout
+engines. A new `.layout_engine` module is provided to allow downstream
+libraries to write their own layout engines and `~.figure.Figure` objects can
+now take a `.LayoutEngine` subclass as an argument to the *layout* parameter.
+
+Compressed layout for fixed-aspect ratio Axes
+---------------------------------------------
+
+Simple arrangements of Axes with fixed aspect ratios can now be packed together
+with ``fig, axs = plt.subplots(2, 3, layout='compressed')``.
+
+With ``layout='tight'`` or ``'constrained'``, Axes with a fixed aspect ratio
+can leave large gaps between each other:
+
+.. plot::
+
+ fig, axs = plt.subplots(2, 2, figsize=(5, 3),
+ sharex=True, sharey=True, layout="constrained")
+ for ax in axs.flat:
+ ax.imshow([[0, 1], [2, 3]])
+ fig.suptitle("fixed-aspect plots, layout='constrained'")
+
+Using the ``layout='compressed'`` layout reduces the space between the Axes,
+and adds the extra space to the outer margins:
+
+.. plot::
+
+ fig, axs = plt.subplots(2, 2, figsize=(5, 3),
+ sharex=True, sharey=True, layout='compressed')
+ for ax in axs.flat:
+ ax.imshow([[0, 1], [2, 3]])
+ fig.suptitle("fixed-aspect plots, layout='compressed'")
+
+See :ref:`compressed_layout` for further details.
+
+Layout engines may now be removed
+---------------------------------
+
+The layout engine on a Figure may now be removed by calling
+`.Figure.set_layout_engine` with ``'none'``. This may be useful after computing
+layout in order to reduce computations, e.g., for subsequent animation loops.
+
+A different layout engine may be set afterwards, so long as it is compatible
+with the previous layout engine.
+
+``Axes.inset_axes`` flexibility
+-------------------------------
+
+`matplotlib.axes.Axes.inset_axes` now accepts the *projection*, *polar* and
+*axes_class* keyword arguments, so that subclasses of `matplotlib.axes.Axes`
+may be returned.
+
+.. plot::
+ :include-source: true
+
+ fig, ax = plt.subplots()
+
+ ax.plot([0, 2], [1, 2])
+
+ polar_ax = ax.inset_axes([0.75, 0.25, 0.2, 0.2], projection='polar')
+ polar_ax.plot([0, 2], [1, 2])
+
+WebP is now a supported output format
+-------------------------------------
+
+Figures may now be saved in WebP format by using the ``.webp`` file extension,
+or passing ``format='webp'`` to `~.Figure.savefig`. This relies on `Pillow
+`_ support for WebP.
+
+Garbage collection is no longer run on figure close
+---------------------------------------------------
+
+Matplotlib has a large number of circular references (between Figure and
+Manager, between Axes and Figure, Axes and Artist, Figure and Canvas, etc.) so
+when the user drops their last reference to a Figure (and clears it from
+pyplot's state), the objects will not immediately be deleted.
+
+To account for this we have long (since before 2004) had a `gc.collect` (of the
+lowest two generations only) in the closing code in order to promptly clean up
+after ourselves. However this is both not doing what we want (as most of our
+objects will actually survive) and due to clearing out the first generation
+opened us up to having unbounded memory usage.
+
+In cases with a very tight loop between creating the figure and destroying it
+(e.g. ``plt.figure(); plt.close()``) the first generation will never grow large
+enough for Python to consider running the collection on the higher generations.
+This will lead to unbounded memory usage as the long-lived objects are never
+re-considered to look for reference cycles and hence are never deleted.
+
+We now no longer do any garbage collection when a figure is closed, and rely on
+Python automatically deciding to run garbage collection periodically. If you
+have strict memory requirements, you can call `gc.collect` yourself but this
+may have performance impacts in a tight computation loop.
+
+Plotting methods
+================
+
+Striped lines (experimental)
+----------------------------
+
+The new *gapcolor* parameter to `~.Axes.plot` enables the creation of striped
+lines.
+
+.. plot::
+ :include-source: true
+
+ x = np.linspace(1., 3., 10)
+ y = x**3
+
+ fig, ax = plt.subplots()
+ ax.plot(x, y, linestyle='--', color='orange', gapcolor='blue',
+ linewidth=3, label='a striped line')
+ ax.legend()
+
+Custom cap widths in box and whisker plots in ``bxp`` and ``boxplot``
+---------------------------------------------------------------------
+
+The new *capwidths* parameter to `~.Axes.bxp` and `~.Axes.boxplot` allows
+controlling the widths of the caps in box and whisker plots.
+
+.. plot::
+ :include-source: true
+
+ x = np.linspace(-7, 7, 140)
+ x = np.hstack([-25, x, 25])
+ capwidths = [0.01, 0.2]
+
+ fig, ax = plt.subplots()
+ ax.boxplot([x, x], notch=True, capwidths=capwidths)
+ ax.set_title(f'{capwidths=}')
+
+Easier labelling of bars in bar plot
+------------------------------------
+
+The *label* argument of `~.Axes.bar` and `~.Axes.barh` can now be passed a list
+of labels for the bars. The list must be the same length as *x* and labels the
+individual bars. Repeated labels are not de-duplicated and will cause repeated
+label entries, so this is best used when bars also differ in style (e.g., by
+passing a list to *color*, as below.)
+
+.. plot::
+ :include-source: true
+
+ x = ["a", "b", "c"]
+ y = [10, 20, 15]
+ color = ['C0', 'C1', 'C2']
+
+ fig, ax = plt.subplots()
+ ax.bar(x, y, color=color, label=x)
+ ax.legend()
+
+New style format string for colorbar ticks
+------------------------------------------
+
+The *format* argument of `~.Figure.colorbar` (and other colorbar methods) now
+accepts ``{}``-style format strings.
+
+.. code-block:: python
+
+ fig, ax = plt.subplots()
+ im = ax.imshow(z)
+ fig.colorbar(im, format='{x:.2e}') # Instead of '%.2e'
+
+Linestyles for negative contours may be set individually
+--------------------------------------------------------
+
+The line style of negative contours may be set by passing the
+*negative_linestyles* argument to `.Axes.contour`. Previously, this style could
+only be set globally via :rc:`contour.negative_linestyles`.
+
+.. plot::
+ :include-source: true
+
+ delta = 0.025
+ x = np.arange(-3.0, 3.0, delta)
+ y = np.arange(-2.0, 2.0, delta)
+ 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, axs = plt.subplots(1, 2)
+
+ CS = axs[0].contour(X, Y, Z, 6, colors='k')
+ axs[0].clabel(CS, fontsize=9, inline=True)
+ axs[0].set_title('Default negative contours')
+
+ CS = axs[1].contour(X, Y, Z, 6, colors='k', negative_linestyles='dotted')
+ axs[1].clabel(CS, fontsize=9, inline=True)
+ axs[1].set_title('Dotted negative contours')
+
+Improved quad contour calculations via ContourPy
+------------------------------------------------
+
+The contouring functions `~.axes.Axes.contour` and `~.axes.Axes.contourf` have
+a new keyword argument *algorithm* to control which algorithm is used to
+calculate the contours. There is a choice of four algorithms to use, and the
+default is to use ``algorithm='mpl2014'`` which is the same algorithm that
+Matplotlib has been using since 2014.
+
+Previously Matplotlib shipped its own C++ code for calculating the contours of
+quad grids. Now the external library `ContourPy
+`_ is used instead.
+
+Other possible values of the *algorithm* keyword argument at this time are
+``'mpl2005'``, ``'serial'`` and ``'threaded'``; see the `ContourPy
+documentation `_ for further details.
+
+.. note::
+
+ Contour lines and polygons produced by ``algorithm='mpl2014'`` will be the
+ same as those produced before this change to within floating-point
+ tolerance. The exception is for duplicate points, i.e. contours containing
+ adjacent (x, y) points that are identical; previously the duplicate points
+ were removed, now they are kept. Contours affected by this will produce the
+ same visual output, but there will be a greater number of points in the
+ contours.
+
+ The locations of contour labels obtained by using `~.axes.Axes.clabel` may
+ also be different.
+
+``errorbar`` supports *markerfacecoloralt*
+------------------------------------------
+
+The *markerfacecoloralt* parameter is now passed to the line plotter from
+`.Axes.errorbar`. The documentation now accurately lists which properties are
+passed to `.Line2D`, rather than claiming that all keyword arguments are passed
+on.
+
+.. plot::
+ :include-source: true
+
+ x = np.arange(0.1, 4, 0.5)
+ y = np.exp(-x)
+
+ fig, ax = plt.subplots()
+ ax.errorbar(x, y, xerr=0.2, yerr=0.4,
+ linestyle=':', color='darkgrey',
+ marker='o', markersize=20, fillstyle='left',
+ markerfacecolor='tab:blue', markerfacecoloralt='tab:orange',
+ markeredgecolor='tab:brown', markeredgewidth=2)
+
+``streamplot`` can disable streamline breaks
+--------------------------------------------
+
+It is now possible to specify that streamplots have continuous, unbroken
+streamlines. Previously streamlines would end to limit the number of lines
+within a single grid cell. See the difference between the plots below:
+
+.. plot::
+
+ w = 3
+ Y, X = np.mgrid[-w:w:100j, -w:w:100j]
+ U = -1 - X**2 + Y
+ V = 1 + X - Y**2
+ speed = np.sqrt(U**2 + V**2)
+
+ fig, (ax0, ax1) = plt.subplots(1, 2, sharex=True)
+
+ ax0.streamplot(X, Y, U, V, broken_streamlines=True)
+ ax0.set_title('broken_streamlines=True')
+
+ ax1.streamplot(X, Y, U, V, broken_streamlines=False)
+ ax1.set_title('broken_streamlines=False')
+
+New axis scale ``asinh`` (experimental)
+---------------------------------------
+
+The new ``asinh`` axis scale offers an alternative to ``symlog`` that smoothly
+transitions between the quasi-linear and asymptotically logarithmic regions of
+the scale. This is based on an arcsinh transformation that allows plotting both
+positive and negative values that span many orders of magnitude.
+
+.. plot::
+
+ fig, (ax0, ax1) = plt.subplots(1, 2, sharex=True)
+ x = np.linspace(-3, 6, 100)
+
+ ax0.plot(x, x)
+ ax0.set_yscale('symlog')
+ ax0.grid()
+ ax0.set_title('symlog')
+
+ ax1.plot(x, x)
+ ax1.set_yscale('asinh')
+ ax1.grid()
+ ax1.set_title(r'$sinh^{-1}$')
+
+ for p in (-2, 2):
+ for ax in (ax0, ax1):
+ c = plt.Circle((p, p), radius=0.5, fill=False,
+ color='red', alpha=0.8, lw=3)
+ ax.add_patch(c)
+
+``stairs(..., fill=True)`` hides patch edge by setting linewidth
+----------------------------------------------------------------
+
+``stairs(..., fill=True)`` would previously hide Patch edges by setting
+``edgecolor="none"``. Consequently, calling ``set_color()`` on the Patch later
+would make the Patch appear larger.
+
+Now, by using ``linewidth=0``, this apparent size change is prevented. Likewise
+calling ``stairs(..., fill=True, linewidth=3)`` will behave more transparently.
+
+Fix the dash offset of the Patch class
+--------------------------------------
+
+Formerly, when setting the line style on a `.Patch` object using a dash tuple,
+the offset was ignored. Now the offset is applied to the Patch as expected and
+it can be used as it is used with `.Line2D` objects.
+
+Rectangle patch rotation point
+------------------------------
+
+The rotation point of the `~matplotlib.patches.Rectangle` can now be set to
+'xy', 'center' or a 2-tuple of numbers using the *rotation_point* argument.
+
+.. plot::
+
+ fig, ax = plt.subplots()
+
+ rect = plt.Rectangle((0, 0), 1, 1, facecolor='none', edgecolor='C0')
+ ax.add_patch(rect)
+ ax.annotate('Unrotated', (1, 0), color='C0',
+ horizontalalignment='right', verticalalignment='top',
+ xytext=(0, -3), textcoords='offset points')
+
+ for rotation_point, color in zip(['xy', 'center', (0.75, 0.25)],
+ ['C1', 'C2', 'C3']):
+ ax.add_patch(
+ plt.Rectangle((0, 0), 1, 1, facecolor='none', edgecolor=color,
+ angle=45, rotation_point=rotation_point))
+
+ if rotation_point == 'center':
+ point = 0.5, 0.5
+ elif rotation_point == 'xy':
+ point = 0, 0
+ else:
+ point = rotation_point
+ ax.plot(point[:1], point[1:], color=color, marker='o')
+
+ label = f'{rotation_point}'
+ if label == 'xy':
+ label += ' (default)'
+ ax.annotate(label, point, color=color,
+ xytext=(3, 3), textcoords='offset points')
+
+ ax.set_aspect(1)
+ ax.set_title('rotation_point options')
+
+Colors and colormaps
+====================
+
+Color sequence registry
+-----------------------
+
+The color sequence registry, `.ColorSequenceRegistry`, contains sequences
+(i.e., simple lists) of colors that are known to Matplotlib by name. This will
+not normally be used directly, but through the universal instance at
+`matplotlib.color_sequences`.
+
+Colormap method for creating a different lookup table size
+----------------------------------------------------------
+
+The new method `.Colormap.resampled` creates a new `.Colormap` instance
+with the specified lookup table size. This is a replacement for manipulating
+the lookup table size via ``get_cmap``.
+
+Use::
+
+ get_cmap(name).resampled(N)
+
+instead of::
+
+ get_cmap(name, lut=N)
+
+Setting norms with strings
+--------------------------
+
+Norms can now be set (e.g. on images) using the string name of the
+corresponding scale, e.g. ``imshow(array, norm="log")``. Note that in that
+case, it is permissible to also pass *vmin* and *vmax*, as a new Norm instance
+will be created under the hood.
+
+Titles, ticks, and labels
+=========================
+
+``plt.xticks`` and ``plt.yticks`` support *minor* keyword argument
+------------------------------------------------------------------
+
+It is now possible to set or get minor ticks using `.pyplot.xticks` and
+`.pyplot.yticks` by setting ``minor=True``.
+
+.. plot::
+ :include-source: true
+
+ plt.figure()
+ plt.plot([1, 2, 3, 3.5], [2, 1, 0, -0.5])
+ plt.xticks([1, 2, 3], ["One", "Zwei", "Trois"])
+ plt.xticks([np.sqrt(2), 2.5, np.pi],
+ [r"$\sqrt{2}$", r"$\frac{5}{2}$", r"$\pi$"], minor=True)
+
+Legends
+=======
+
+Legend can control alignment of title and handles
+-------------------------------------------------
+
+`.Legend` now supports controlling the alignment of the title and handles via
+the keyword argument *alignment*. You can also use `.Legend.set_alignment` to
+control the alignment on existing Legends.
+
+.. plot::
+ :include-source: true
+
+ fig, axs = plt.subplots(3, 1)
+ for i, alignment in enumerate(['left', 'center', 'right']):
+ axs[i].plot(range(10), label='test')
+ axs[i].legend(title=f'{alignment=}', alignment=alignment)
+
+*ncol* keyword argument to ``legend`` renamed to *ncols*
+--------------------------------------------------------
+
+The *ncol* keyword argument to `~.Axes.legend` for controlling the number of
+columns is renamed to *ncols* for consistency with the *ncols* and *nrows*
+keywords of `~.Figure.subplots` and `~.GridSpec`. *ncol* remains supported for
+backwards compatibility, but is discouraged.
+
+Markers
+=======
+
+``marker`` can now be set to the string "none"
+----------------------------------------------
+
+The string "none" means *no-marker*, consistent with other APIs which support
+the lowercase version. Using "none" is recommended over using "None", to avoid
+confusion with the None object.
+
+Customization of ``MarkerStyle`` join and cap style
+---------------------------------------------------
+
+New `.MarkerStyle` parameters allow control of join style and cap style, and
+for the user to supply a transformation to be applied to the marker (e.g. a
+rotation).
+
+.. plot::
+ :include-source: true
+
+ from matplotlib.markers import CapStyle, JoinStyle, MarkerStyle
+ from matplotlib.transforms import Affine2D
+
+ fig, axs = plt.subplots(3, 1, layout='constrained')
+ for ax in axs:
+ ax.axis('off')
+ ax.set_xlim(-0.5, 2.5)
+
+ axs[0].set_title('Cap styles', fontsize=14)
+ for col, cap in enumerate(CapStyle):
+ axs[0].plot(col, 0, markersize=32, markeredgewidth=8,
+ marker=MarkerStyle('1', capstyle=cap))
+ # Show the marker edge for comparison with the cap.
+ axs[0].plot(col, 0, markersize=32, markeredgewidth=1,
+ markerfacecolor='none', markeredgecolor='lightgrey',
+ marker=MarkerStyle('1'))
+ axs[0].annotate(cap.name, (col, 0),
+ xytext=(20, -5), textcoords='offset points')
+
+ axs[1].set_title('Join styles', fontsize=14)
+ for col, join in enumerate(JoinStyle):
+ axs[1].plot(col, 0, markersize=32, markeredgewidth=8,
+ marker=MarkerStyle('*', joinstyle=join))
+ # Show the marker edge for comparison with the join.
+ axs[1].plot(col, 0, markersize=32, markeredgewidth=1,
+ markerfacecolor='none', markeredgecolor='lightgrey',
+ marker=MarkerStyle('*'))
+ axs[1].annotate(join.name, (col, 0),
+ xytext=(20, -5), textcoords='offset points')
+
+ axs[2].set_title('Arbitrary transforms', fontsize=14)
+ for col, (size, rot) in enumerate(zip([2, 5, 7], [0, 45, 90])):
+ t = Affine2D().rotate_deg(rot).scale(size)
+ axs[2].plot(col, 0, marker=MarkerStyle('*', transform=t))
+
+Fonts and Text
+==============
+
+Font fallback
+-------------
+
+It is now possible to specify a list of fonts families and Matplotlib will try
+them in order to locate a required glyph.
+
+.. plot::
+ :caption: Demonstration of mixed English and Chinese text with font fallback.
+ :alt: The phrase "There are 几个汉字 in between!" rendered in various fonts.
+ :include-source: True
+
+ plt.rcParams["font.size"] = 20
+ fig = plt.figure(figsize=(4.75, 1.85))
+
+ text = "There are 几个汉字 in between!"
+ fig.text(0.05, 0.85, text, family=["WenQuanYi Zen Hei"])
+ fig.text(0.05, 0.65, text, family=["Noto Sans CJK JP"])
+ fig.text(0.05, 0.45, text, family=["DejaVu Sans", "Noto Sans CJK JP"])
+ fig.text(0.05, 0.25, text, family=["DejaVu Sans", "WenQuanYi Zen Hei"])
+
+This currently works with the Agg (and all of the GUI embeddings), svg, pdf,
+ps, and inline backends.
+
+List of available font names
+----------------------------
+
+The list of available fonts are now easily accessible. To get a list of the
+available font names in Matplotlib use:
+
+.. code-block:: python
+
+ from matplotlib import font_manager
+ font_manager.get_font_names()
+
+``math_to_image`` now has a *color* keyword argument
+----------------------------------------------------
+
+To easily support external libraries that rely on the MathText rendering of
+Matplotlib to generate equation images, a *color* keyword argument was added to
+`~matplotlib.mathtext.math_to_image`.
+
+.. code-block:: python
+
+ from matplotlib import mathtext
+ mathtext.math_to_image('$x^2$', 'filename.png', color='Maroon')
+
+Active URL area rotates with link text
+--------------------------------------
+
+When link text is rotated in a figure, the active URL area will now include the
+rotated link area. Previously, the active area remained in the original,
+non-rotated, position.
+
+rcParams improvements
+=====================
+
+Allow setting figure label size and weight globally and separately from title
+-----------------------------------------------------------------------------
+
+For figure labels, ``Figure.supxlabel`` and ``Figure.supylabel``, the size and
+weight can be set separately from the figure title using :rc:`figure.labelsize`
+and :rc:`figure.labelweight`.
+
+.. plot::
+ :include-source: true
+
+ # Original (previously combined with below) rcParams:
+ plt.rcParams['figure.titlesize'] = 64
+ plt.rcParams['figure.titleweight'] = 'bold'
+
+ # New rcParams:
+ plt.rcParams['figure.labelsize'] = 32
+ plt.rcParams['figure.labelweight'] = 'bold'
+
+ fig, axs = plt.subplots(2, 2, layout='constrained')
+ for ax in axs.flat:
+ ax.set(xlabel='xlabel', ylabel='ylabel')
+
+ fig.suptitle('suptitle')
+ fig.supxlabel('supxlabel')
+ fig.supylabel('supylabel')
+
+Note that if you have changed :rc:`figure.titlesize` or
+:rc:`figure.titleweight`, you must now also change the introduced parameters
+for a result consistent with past behaviour.
+
+Mathtext parsing can be disabled globally
+-----------------------------------------
+
+The :rc:`text.parse_math` setting may be used to disable parsing of mathtext in
+all `.Text` objects (most notably from the `.Axes.text` method).
+
+Double-quoted strings in matplotlibrc
+-------------------------------------
+
+You can now use double-quotes around strings. This allows using the '#'
+character in strings. Without quotes, '#' is interpreted as start of a comment.
+In particular, you can now define hex-colors:
+
+.. code-block:: none
+
+ grid.color: "#b0b0b0"
+
+3D Axes improvements
+====================
+
+Standardized views for primary plane viewing angles
+---------------------------------------------------
+
+When viewing a 3D plot in one of the primary view planes (i.e., perpendicular
+to the XY, XZ, or YZ planes), the Axis will be displayed in a standard
+location. For further information on 3D views, see
+:ref:`toolkit_mplot3d-view-angles` and :doc:`/gallery/mplot3d/view_planes_3d`.
+
+Custom focal length for 3D camera
+---------------------------------
+
+The 3D Axes can now better mimic real-world cameras by specifying the focal
+length of the virtual camera. The default focal length of 1 corresponds to a
+Field of View (FOV) of 90°, and is backwards-compatible with existing 3D plots.
+An increased focal length between 1 and infinity "flattens" the image, while a
+decreased focal length between 1 and 0 exaggerates the perspective and gives
+the image more apparent depth.
+
+The focal length can be calculated from a desired FOV via the equation:
+
+.. mathmpl::
+
+ focal\_length = 1/\tan(FOV/2)
+
+.. plot::
+ :include-source: true
+
+ from mpl_toolkits.mplot3d import axes3d
+
+ X, Y, Z = axes3d.get_test_data(0.05)
+
+ fig, axs = plt.subplots(1, 3, figsize=(7, 4),
+ subplot_kw={'projection': '3d'})
+
+ for ax, focal_length in zip(axs, [0.2, 1, np.inf]):
+ ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
+ ax.set_proj_type('persp', focal_length=focal_length)
+ ax.set_title(f"{focal_length=}")
+
+3D plots gained a 3rd "roll" viewing angle
+------------------------------------------
+
+3D plots can now be viewed from any orientation with the addition of a 3rd roll
+angle, which rotates the plot about the viewing axis. Interactive rotation
+using the mouse still only controls elevation and azimuth, meaning that this
+feature is relevant to users who create more complex camera angles
+programmatically. The default roll angle of 0 is backwards-compatible with
+existing 3D plots.
+
+.. plot::
+ :include-source: true
+
+ from mpl_toolkits.mplot3d import axes3d
+
+ X, Y, Z = axes3d.get_test_data(0.05)
+
+ fig, ax = plt.subplots(subplot_kw={'projection': '3d'})
+
+ ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
+ ax.view_init(elev=0, azim=0, roll=30)
+ ax.set_title('elev=0, azim=0, roll=30')
+
+Equal aspect ratio for 3D plots
+-------------------------------
+
+Users can set the aspect ratio for the X, Y, Z axes of a 3D plot to be 'equal',
+'equalxy', 'equalxz', or 'equalyz' rather than the default of 'auto'.
+
+.. plot::
+ :include-source: true
+
+ from itertools import combinations, product
+
+ aspects = [
+ ['auto', 'equal', '.'],
+ ['equalxy', 'equalyz', 'equalxz'],
+ ]
+ fig, axs = plt.subplot_mosaic(aspects, figsize=(7, 6),
+ subplot_kw={'projection': '3d'})
+
+ # Draw rectangular cuboid with side lengths [1, 1, 5]
+ r = [0, 1]
+ scale = np.array([1, 1, 5])
+ pts = combinations(np.array(list(product(r, r, r))), 2)
+ for start, end in pts:
+ if np.sum(np.abs(start - end)) == r[1] - r[0]:
+ for ax in axs.values():
+ ax.plot3D(*zip(start*scale, end*scale), color='C0')
+
+ # Set the aspect ratios
+ for aspect, ax in axs.items():
+ ax.set_box_aspect((3, 4, 5))
+ ax.set_aspect(aspect)
+ ax.set_title(f'set_aspect({aspect!r})')
+
+Interactive tool improvements
+=============================
+
+Rotation, aspect ratio correction and add/remove state
+------------------------------------------------------
+
+The `.RectangleSelector` and `.EllipseSelector` can now be rotated
+interactively between -45° and 45°. The range limits are currently dictated by
+the implementation. The rotation is enabled or disabled by striking the *r* key
+('r' is the default key mapped to 'rotate' in *state_modifier_keys*) or by
+calling ``selector.add_state('rotate')``.
+
+The aspect ratio of the axes can now be taken into account when using the
+"square" state. This is enabled by specifying ``use_data_coordinates='True'``
+when the selector is initialized.
+
+In addition to changing selector state interactively using the modifier keys
+defined in *state_modifier_keys*, the selector state can now be changed
+programmatically using the *add_state* and *remove_state* methods.
+
+.. code-block:: python
+
+ from matplotlib.widgets import RectangleSelector
+
+ values = np.arange(0, 100)
+
+ fig = plt.figure()
+ ax = fig.add_subplot()
+ ax.plot(values, values)
+
+ selector = RectangleSelector(ax, print, interactive=True,
+ drag_from_anywhere=True,
+ use_data_coordinates=True)
+ selector.add_state('rotate') # alternatively press 'r' key
+ # rotate the selector interactively
+
+ selector.remove_state('rotate') # alternatively press 'r' key
+
+ selector.add_state('square')
+
+``MultiCursor`` now supports Axes split over multiple figures
+-------------------------------------------------------------
+
+Previously, `.MultiCursor` only worked if all target Axes belonged to the same
+figure.
+
+As a consequence of this change, the first argument to the `.MultiCursor`
+constructor has become unused (it was previously the joint canvas of all Axes,
+but the canvases are now directly inferred from the list of Axes).
+
+``PolygonSelector`` bounding boxes
+----------------------------------
+
+`.PolygonSelector` now has a *draw_bounding_box* argument, which when set to
+`True` will draw a bounding box around the polygon once it is complete. The
+bounding box can be resized and moved, allowing the points of the polygon to be
+easily resized.
+
+Setting ``PolygonSelector`` vertices
+------------------------------------
+
+The vertices of `.PolygonSelector` can now be set programmatically by using the
+`.PolygonSelector.verts` property. Setting the vertices this way will reset the
+selector, and create a new complete selector with the supplied vertices.
+
+``SpanSelector`` widget can now be snapped to specified values
+--------------------------------------------------------------
+
+The `.SpanSelector` widget can now be snapped to values specified by the
+*snap_values* argument.
+
+More toolbar icons are styled for dark themes
+---------------------------------------------
+
+On the macOS and Tk backends, toolbar icons will now be inverted when using a
+dark theme.
+
+Platform-specific changes
+=========================
+
+Wx backend uses standard toolbar
+--------------------------------
+
+Instead of a custom sizer, the toolbar is set on Wx windows as a standard
+toolbar.
+
+Improvements to macosx backend
+------------------------------
+
+Modifier keys handled more consistently
+.......................................
+
+The macosx backend now handles modifier keys in a manner more consistent with
+other backends. See the table in :ref:`event-connections` for further
+information.
+
+``savefig.directory`` rcParam support
+.....................................
+
+The macosx backend will now obey the :rc:`savefig.directory` setting. If set to
+a non-empty string, then the save dialog will default to this directory, and
+preserve subsequent save directories as they are changed.
+
+``figure.raise_window`` rcParam support
+.......................................
+
+The macosx backend will now obey the :rc:`figure.raise_window` setting. If set
+to False, figure windows will not be raised to the top on update.
+
+Full-screen toggle support
+..........................
+
+As supported on other backends, the macosx backend now supports toggling
+fullscreen view. By default, this view can be toggled by pressing the :kbd:`f`
+key.
+
+Improved animation and blitting support
+.......................................
+
+The macosx backend has been improved to fix blitting, animation frames with new
+artists, and to reduce unnecessary draw calls.
+
+macOS application icon applied on Qt backend
+--------------------------------------------
+
+When using the Qt-based backends on macOS, the application icon will now be
+set, as is done on other backends/platforms.
+
+New minimum macOS version
+-------------------------
+
+The macosx backend now requires macOS >= 10.12.
+
+Windows on ARM support
+----------------------
+
+Preliminary support for Windows on arm64 target has been added. This support
+requires FreeType 2.11 or above.
+
+No binary wheels are available yet but it may be built from source.
diff --git a/doc/users/project/citing.rst b/doc/users/project/citing.rst
index 572494012792..53c2591ebfbd 100644
--- a/doc/users/project/citing.rst
+++ b/doc/users/project/citing.rst
@@ -29,6 +29,9 @@ By version
.. START OF AUTOGENERATED
+v3.6.0
+ .. image:: ../../_static/zenodo_cache/7084615.svg
+ :target: https://doi.org/10.5281/zenodo.7084615
v3.5.3
.. image:: ../../_static/zenodo_cache/6982547.svg
:target: https://doi.org/10.5281/zenodo.6982547
diff --git a/doc/users/release_notes.rst b/doc/users/release_notes.rst
index 397332186bea..d90756cdf9ee 100644
--- a/doc/users/release_notes.rst
+++ b/doc/users/release_notes.rst
@@ -9,6 +9,15 @@ Release notes
.. include from another document so that it's easy to exclude this for releases
.. include:: release_notes_next.rst
+Version 3.6
+===========
+.. toctree::
+ :maxdepth: 1
+
+ prev_whats_new/whats_new_3.6.0.rst
+ ../api/prev_api_changes/api_changes_3.6.0.rst
+ github_stats.rst
+
Version 3.5
===========
.. toctree::
@@ -19,7 +28,7 @@ Version 3.5
../api/prev_api_changes/api_changes_3.5.3.rst
../api/prev_api_changes/api_changes_3.5.2.rst
../api/prev_api_changes/api_changes_3.5.0.rst
- github_stats.rst
+ prev_whats_new/github_stats_3.5.3.rst
prev_whats_new/github_stats_3.5.2.rst
prev_whats_new/github_stats_3.5.1.rst
prev_whats_new/github_stats_3.5.0.rst
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index fd78e6f94f19..77d25bbe3358 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -720,6 +720,7 @@ def find_all(self, pattern):
if pattern_re.search(key))
def copy(self):
+ """Copy this RcParams instance."""
rccopy = RcParams()
for k in self: # Skip deprecations and revalidation.
dict.__setitem__(rccopy, k, dict.__getitem__(self, k))
diff --git a/tools/cache_zenodo_svg.py b/tools/cache_zenodo_svg.py
index 8f264f468fe9..1a3d0493ed6d 100644
--- a/tools/cache_zenodo_svg.py
+++ b/tools/cache_zenodo_svg.py
@@ -63,6 +63,7 @@ def _get_xdg_cache_dir():
if __name__ == "__main__":
data = {
+ "v3.6.0": "7084615",
"v3.5.3": "6982547",
"v3.5.2": "6513224",
"v3.5.1": "5773480",