Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#3620: Defer searchindex.js rather than loading it via ajax #6091

Merged
merged 1 commit into from Feb 25, 2019
Merged

#3620: Defer searchindex.js rather than loading it via ajax #6091

merged 1 commit into from Feb 25, 2019

Conversation

ghost
Copy link

@ghost ghost commented Feb 21, 2019

Subject: Defer searchindex.js rather than loading it via ajax

Feature or Bugfix

  • Bugfix

Purpose

  • Content security policy is insecure when allowing inline scripts. So we need to remove them. However, searchindex.js is loaded via AJAX for reasons outlined in #322. However, the defer attribute equally accomplishes this task. Further, the script should be cached just fine even when using this method. Also, I'm not entirely sure what the purpose of searchindexloader is, but I was able to test this locally in Chromium and Firefox without issues.

Relates

@codecov
Copy link

codecov bot commented Feb 21, 2019

Codecov Report

Merging #6091 into 2.0 will decrease coverage by 0.02%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##              2.0    #6091      +/-   ##
==========================================
- Coverage   82.68%   82.65%   -0.03%     
==========================================
  Files         269      271       +2     
  Lines       39134    39168      +34     
  Branches     5849     5852       +3     
==========================================
+ Hits        32357    32374      +17     
- Misses       5442     5456      +14     
- Partials     1335     1338       +3
Impacted Files Coverage Δ
sphinx/__init__.py 73.91% <0%> (ø)
sphinx/make_mode.py 0% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0b2210c...55c5168. Read the comment docs.

@jumarko
Copy link

jumarko commented Feb 21, 2019

I quickly looked at it and it seems there is at least one other problematic script in search.html.

@ghost
Copy link
Author

ghost commented Feb 21, 2019

@jumarko Thanks. However, that shouldn't be a problem since it gets rendered into a <noscript> block in the end.

@tk0miya tk0miya added this to the 2.0.0 milestone Feb 22, 2019
Copy link
Member

@tk0miya tk0miya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. But it would be better to merge this to 2.0 branch. Could you change the target branch of this please?
Note: It seems Opera does not support defer keyword. So we have to check Opera works fine with this.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script

@ghost ghost changed the base branch from master to 2.0 February 22, 2019 01:05
@ghost
Copy link
Author

ghost commented Feb 22, 2019

According to caniuse Opera supports it. Maybe the MDN page is outdated? Someone with an Opera browser can test this script.

@tk0miya
Copy link
Member

tk0miya commented Feb 22, 2019

Thank you for quick work. LGTM!

According to caniuse Opera supports it.

Sounds good :-)

@tk0miya tk0miya requested a review from TimKam February 24, 2019 10:01
@tk0miya
Copy link
Member

tk0miya commented Feb 24, 2019

@TimKam do you have any comment for this?

Copy link
Member

@TimKam TimKam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see any issues, but think we make sure there are no browser compatibility issues. According to the entry at caniuse.com defer works fine in Opera, but there might be issues with Opera Mini. Let's test this before we merge.

@TimKam
Copy link
Member

TimKam commented Feb 24, 2019

@remyabel @tk0miya I just tested in the latest versions of Opera and Opera mini and it looks good :-)

@tk0miya tk0miya merged commit e049f86 into sphinx-doc:2.0 Feb 25, 2019
@tk0miya
Copy link
Member

tk0miya commented Feb 25, 2019

@TimKam thank you for confirming!

@remyabel Thank you for your contribution :-)

tk0miya added a commit to tk0miya/sphinx that referenced this pull request Feb 26, 2019
jkromwijk added a commit to jkromwijk/matplotlib that referenced this pull request Nov 10, 2019
Hopefully a more future-proof fix, removing the dependency on ajax and
searchtools.js altogether. (After loading, searchindex.js itself does
depend on searchtools.js, but both are updated with the version of
sphinx that is used, unlike this template.)

Because the script is loaded with `defer` and also right at the end of
the body, the size of searchindex.js should not block loading the rest
of the page (one of the arguments for using ajax).
clrpackages pushed a commit to clearlinux-pkgs/matplotlib that referenced this pull request Feb 2, 2021
…n 3.3.4

Adam Paszke (2):
      Vectorize patch extraction in Axes3D.plot_surface
      Add a fast path for NumPy arrays to Collection.set_verts

Adam Ruszkowski (1):
      Convert named_colors example to use Rectangle (#16467)

Alexander Rudy (3):
      Handle xunits for bins in axes.hist
      Add datetime64 check
      Assert that bins are correct

Amy Roberts (7):
      improve-matplotlibrc-tutorial: make path/URL option clearer
      improve-matplotlibrc-tutorial: fix flake8 compliance
      improve-matplotlibrc-tutorial: update introductory/customizing.py
      improve-matplotlibrc-tutorial: update tutorials/introductory/customizing.py
      improve-doc-contrib: improvements to contrib instructions for docs
      improve-doc-contrib: update links and references for doc contrib
      improve-doc-contrib: edits to dependencies for building docs

Antony Lee (699):
      Make sure that scatter3d copies its inputs.
      Simplify implementation of set_{x,y}bound.
      Cleanup _pylab_helpers.
      Vectorize Arc.draw.
      Simplify and generalize BezierSegment.
      Use fix_minus in format_data_short.
      Autogenerate gca(), gci() from boilerplate.py.
      Simplify SubplotParams.update().
      Explicitly list allowed "unused" imports, remove the rest.
      Simplify pdf image output.
      In findfont(fallback_to_default=False), throw if default font is missing.
      Cleanup font_manager.
      Dedupe SubplotSpec construction in mpl_toolkits.
      Don't fallback to view limits when autoscale()ing no data.
      Change layout of test_triager to avoid cropping images.
      Declare qt figureoptions tool in toolitems.
      Force autoscaling immediately after setting a scale.
      Correctly setup comparisons in test_compare_images.
      Turn gtk3 pan/zoom button into togglable buttons.
      Colorbar cleanup.
      Don't default axes_grid colorbar locator to MaxNLocator.
      More properties aliases.
      Unify fig.delaxes(ax) and ax.remove().
      Remove error_msg_qt from backend_qt4.
      Replace custom logging in wx by stdlib logging.
      Fixes for wx savefig dialog.
      Use ax.remove() in docs, not delaxes() -- the former is more general.
      Simplify sca().
      Make validate_movie_writer actually check registered writers.
      Sort missing_references.json.
      Always attach a manager attribute (possibly None) on canvas.
      Move non-gui warning message to backend_bases.
      Shorten RendererWx.get_wx_font.
      Don't generate double-reversed cmaps ("viridis_r_r", ...).
      Fix broken CI.
      Switch to using pillow for png as well.
      Reword hist() doc.
      Simplify implementation of vectorized date operations.
      Deprecate {NonUniformImage,PcolorImage}.is_grayscale.
      Move testing of Py3.8 to Travis.
      Don't link ft2font to zlib.
      Update build docs.
      Improve handling of alpha when saving to jpeg.
      When no gui event loop is running, propagate callback exceptions.
      Fix incorrect value check in axes_grid.
      Remove staticbuild option from setup.cfg.template.
      Fix invalid checks for axes_class parameter in ImageGrid.
      Default to local_freetype builds.
      Trivial style fixes to constrained_layout.
      Rewrite axline with custom Line2D subclass.
      Cleanup docs regarding compilers.
      Get rid of trivial compiler warning.
      Rename locator.den to the clearer locator.nbins in mpl_toolkits.
      Cleanup axisartist tutorial.
      Avoid really long lines in event handling docs.
      Small cleanups to backend docs.
      axisartist tutorial fixes.
      Add pgf to list of builtin backends in docs.
      Fix test suite compat with ghostscript 9.50.
      Skip failing pgf test when sfmath.sty is not present.
      Add a backend kwarg to savefig.
      Allow linking against a system qhull as well.
      Correctly size non-ASCII characters in agg backend.
      Remove logic for optionally building Agg and TkAgg.
      In the build, declare all (compulsory) extension modules together.
      Revert "Don't bother with manually resizing the Qt main window."
      In backend_pgf, directly open subprocess in utf8 mode.
      Simplify azure setup.
      Make it easier to test various animation writers in examples. (#15627)
      Note minimum supported version for fontconfig.
      Deprecate "U" mode passed to cbook.to_filehandle().
      Simplify axes_grid.Grid/axes_grid.ImageGrid construction.
      Remove some commented-out code from axes_grid.
      Simplify and unify character tracking in pdf and ps backends.
      Bump minimal numpy version to 1.12.
      Remove interpolation="nearest" from most examples.
      Fix examples claiming matplotlib can't plot np.datetime64.
      Simplify axes_pad handling in axes_grid.
      Docstring fix.
      Remove mention of Enthought Canopy from the docs.
      Simplify tk loader.
      Remove outdated license files.
      Fix some broken links.
      Don't mention tcl in tkagg commments anymore.
      Rely on findfont autofallback-to-default in pdf/ps backends.
      Simplify Tick and Axis initialization.
      np.concatenate cleanups.
      Make histogram_bin_edges private.
      Avoid RuntimeError at wx exit.
      Avoid a RuntimeError at animation shutdown with PySide2.
      Correctly handle high dpi in Pillow animation writer.
      Update missing-references.json.
      Handle upcoming deprecation of np.float.
      Improve mathtext.fontset docs and fix :mathmpl: cache bug.
      Fix some broken doc refs.
      Also test PySide2 on CI.
      Bump numpy dependency to >=1.15.
      Fix some incorrect ValueErrors.
      Parametrize some spectral tests.
      Make 3d plot accept scalars as arguments.
      Cleanup dates.py docstrings.
      Fix more broken refs.
      Don't explicitly list scalez kwarg in Axes3D constructor and docs.
      Suppress triage_tests warning on Py3.8.
      Cleanup some mplot3d docstrings.
      Small animation cleanup.
      Modernize FAQ entry for plt.show().
      Update boxplot/violinplot faq.
      Reword some docstrings.
      Directly dedent the spectral parameter docs.
      Some pathlibification.
      Don't bother disconnecting idle_draw at gtk shutdown.
      Cleanup `Colormap.__call__`.
      Slightly clarify the implementation of safe_masked_invalid.
      Remove incorrect statement re: colorbars in image tutorial.
      Cleanup some references to rcParams in docs.
      Cleanup dviread docs.
      Cleanup backend_bases docstrings.
      Cleanup many docstrings.
      In C extensions, use FutureWarning, not DeprecationWarning.
      Allow failure on nightly builds.
      Cleanup xticks/yticks docstrings.
      Optimize colors.to_rgba.
      Compactify a bit the EventCollection tests.
      Remove some references to Py2.
      Cleanup environment variables FAQ.
      Docstrings cleanup in matplotlib.axes.
      ffmpeg is available on default ubuntu packages now.
      Simplify Axes3D init.
      Avoid some uses of len-1 tuples.
      np.abs -> (builtins).abs
      Update markers docs.
      Fix validation of linestyle in rcparams and cycler.
      Suppress exception chaining on rc validator failure.
      Deprecate case-insensitive capstyles and joinstyles.
      Use True/False instead of 0/1 as booleans in backend_ps.
      Improve error when passing 0d array to scatter().
      Cleanup text.py docstrings.
      Fix AnnotationBbox docstring.
      Cleanup backend_bases docs.
      Deprecate unused illegal_s attribute.
      LassoSelection shouldn't useblit on canvas not supporting blitting.
      Correctly handle non-affine transData in Collection.get_datalim.
      Deemphasize ACCEPTS blocks in documenting_mpl docs.
      Cleanup legend docstrings.
      Improve doc for data kwarg.
      Rewrite test_cycles to avoid image comparison tests.
      More docstrings cleanup.
      Fix Annotation using different units and different coords on x/y.
      Define \mathdefault as a noop in the usetex preamble.
      Dedupe texmanager preamble construction.
      Remove mod_python specific code.
      Optimize setting units to None when they're already None.
      Update some widget docstrings.
      Remove unused cbook._lockstr.
      Don't hide exceptions in FontManager.addfont.
      Some unicode-support related cleanups.
      Use rc_context more.
      Merge the two usetex demos.
      Update backend_nbagg for removal of Gcf._activeQue.
      Restart pgf's latex instance after bad latex inputs.
      Cleanup span_where.
      Remove references to scipy cookbook.
      Fix some examples docstrings.
      Remove unnecessary :func:, :meth: from examples markup.
      Reuse colorbar outline and patch when updating the colorbar.
      Be more opinionated for setting up a dev env.
      Avoid setting dtypes as strings...
      Simplify Artist.update.
      Remove deprecated support for setting single property via multiple aliases.
      Avoid using np.matrix.
      Style fixes for axes_divider.
      Shorten wx _onMouseWheel.
      Add test.
      Templatize spectral helpers.
      Inherit the Artist.draw docstring in subclasses.
      Replace axes_size.Fraction by multiplication.
      Normalize aspect="equal" to aspect=1 in the setter.
      Simplify calls to AxesGrid/ImageGrid.
      Document support for no-args plt.subplot() call.
      Relayout some conditions in axes_grid.
      Keep parameter names in preprocess_data.
      Dedupe implementations of fill_between & fill_betweenx.
      Prevent FigureCanvasQT_draw_idle recursively calling itself.
      Fix docstring of hillshade().
      Fix home/forward/backward buttons for 3d plots.
      Make eventplot use the standard alias resolution mechanism.
      Update comments re: colors._vector_magnitude.
      Rely on pytest to record warnings, rather than doing it manually.
      Doc: use empty ScalarMappable for colorbars with no associated image.
      Cleanup contour_demo.
      Move colorbar label to constructor call in examples.
      Document that colorbar() takes a label kwarg.
      Add __repr__ to SubplotSpec.
      rcsetup cleanups.
      Unbreak CI.
      Fix deprecation message for axes_grid1.colorbar.
      Trivial docstring fix for cbook.deprecated.
      Simplify colorbar test.
      Cleanup pcolor_demo.
      Cleanup category.py docstrings.
      Cleanup path_editor example.
      Deprecate parameters to colorbar which have no effect.
      Defaut to writing animation frames to a temporary directory.
      Make animation blit cache robust against 3d viewpoint changes.
      Use C++ true/false in ttconv.
      Delay resolution of animation extra_args.
      Better error reporting on failure of cache_frame_data test.
      Simplify animation dont-start-on-save.
      Deprecate MovieWriter.{exec,args}_key, making them private.
      Update missing_references.
      In DraggableLegend, inherit DraggableBase.artist_picker.
      Fix incorrect doc regarding projections.
      Fix legend dragging.
      Minor fontproperty fixes.
      Reuse Grid.__init__ in ImageGrid.__init__.
      Fix more missing references.
      Deprecate update_datalim_bounds.
      Reword docstring of Line2D.contains.
      Deprecate some Transform aliases in scale.py.
      Avoid using np.r_, np.c_.
      Validate Line2D pickradius when setting it, not when reading it.
      Remove LICENSE_CONDA.
      Simplify transforms addition.
      Remove outdated comment re: blended transforms.
      Inline _init_axes_pad into Grid.__init__.
      Simple cleanups for contour.py.
      Cleanup hist() docstring.
      Fix trivial typo in deprecation warning message.
      Remove rcParams deprecated in mpl3.0/3.1.
      (Mostly) avoid the term "command" in the docs.
      Fix more missing references again.
      Add missing spaces after commas.
      Remove some dead branches from texmanager code.
      Numpydocify artist.getp().
      Deprecate setting Line2D's pickradius via set_picker.
      Colorbar cleanup.
      Remove ref. to non-existent method in animation tests.
      Fix overly long lines in examples & tutorials.
      Expire a mpl2.2-deprecated API.
      Deprecate old and little used formatters.
      Cleanup patches docstrings.
      Numpydoc ticklabel_format.
      Numpydoc ContourSet.find_nearest_contour.
      Deprecate unused features of normalize_kwargs.
      UnCamelCase examples.
      And more missing references.
      Further simplify setupext.
      Remove outdated statement in tight_layout guide.
      Deprecate the TTFPATH & AFMPATH environment variables.
      Make Figure._axobservers a CallbackRegistry.
      No need to remove figure.show when pickling.
      Dedupe boilerplate for "adoption" of figure into pyplot.
      Deprecate the empty matplotlib.compat.
      Fix overindented line in AnchoredOffsetbox doc.
      Simplify CallbackRegistry pickling.
      Cleanup animation examples.
      Cleanup animation docs.
      Make Animation.repeat_delay an int, not an int-or-None.
      And more missing refs.
      Reword ScalarFormatter docstrings.
      Remove some baseline images for plot() tests.
      Cleanup custom_scale example.
      Avoid using FontProperties when not needed.
      Update matplotlib.__doc__.
      Dedupe update of rcParams["backend"] in use() and in switch_backend()
      Fix spy(..., marker=<not-None>, origin="lower")
      Move mplot3d autoregistration api changes to 3.2.
      Tiny cleanups to set_xlabel(..., loc=...).
      Cleanup docstring of print_figure, savefig.
      Prefer using MouseButton to numeric values in docs and defaults.
      Update/cleanup pgf tutorial.
      Replace "unicode" by "str" in docs, messages when referring to the type.
      Cleanup backend_agg docstrings.
      Improve markup for rcParams in docs.
      Remove the private, unused _csv2rec.
      axisartist tutorial markup fixes.
      Fix doc CI by pointing to dev version of scipy docs.
      Revert "Fix doc CI by pointing to dev version of scipy docs."
      Don't recursively call draw_idle when updating artists at draw time.
      Don't default to negative radii in polar plot.
      Dedupe Legend.draw_frame which is the same as set_frame_on.
      Simplify Legend.get_children.
      Cleanup axes_demo.
      Remove duplicated computations in Axes.get_tightbbox.
      Cleanup Legend._auto_legend_data.
      Don't bother concatenating vertices in _auto_legend_data.
      Cleanup constrainedlayout_guide.
      Avoid repeatedly warning about too many figures open.
      Remove unnecessary Legend._approx_text_height. (#16312)
      Put doc for XAxis befor YAxis and likewise for XTick, YTick.
      Add sphinx doc for Axis.axis_name.
      Fix doc regarding deprecation of properties.
      Fix some more missing references.
      Document animation HTML writer.
      Document SymmetricalLogLocator parameters.
      Remove mention of now-removed --verbose-foo flags.
      Make Text.update_from copy usetex state.
      Cast vmin/vmax to floats before nonsingular-expanding them.
      Special-case usetex minus to zero depth.
      Dedupe ImageGrid doc from tutorial and docstring.
      Catch shadowed imports in style checks.
      Mark inkscape 1.0 as unsupported (at least for now).
      Shorten PyFT2Font_get_charmap.
      Allow directly passing explicit font paths.
      font_manager docs cleanup.
      Don't import rcParams but rather use mpl.rcParams.
      Remove outdated comment re: PYTHONHASHSEED and pytest.
      Deprecate avconv animation writers.
      Expire some APIs deprecated in mpl3.1.
      In SecondaryAxis.set_functions, reuse _set_scale's parent scale caching.
      Backend timer simplifications.
      Shorten the type1-to-unicode name table.
      Slightly improve streamplot code legibility.
      Style-fix some examples and update .flake8 per-file-ignores.
      Simplify demo_curvelinear_grid2.
      Remove unnecessary calls to np.array in examples.
      Reword intro to colors api docs.
      Rework pylab docstring.
      Expire deprecation of \stackrel.
      Parametrize some spectral tests.
      Remove a bunch of imports-within-tests.
      Replace matshow baseline test by check_figures_equal.
      Make kwargs names in scale.py not include the axis direction.
      Don't make InvertedLogTransform inherit from deprecated base class.
      Also change the kwarg names on semilogx/y and loglog.
      Also rename nonpos->nonpositive.
      Fix interaction between sticky_edges and shared axes.
      Expire deprecation of mathcircled.
      Enable more font_manager tests to be run locally.
      Update backend dependency docs.
      Remove some mentions of avconv, following its deprecation.
      Dedupe spectral plotting tests.
      Deprecate DraggableBase.artist_picker.
      Deprecate clear_temp param/attr of FileMovieWriter.
      Simplify formatting of matplotlibrc.template.
      Validate inputs to ScalarMappable constructor.
      Update missing-references.json.
      Rework exporting of backend functions in pyplot.
      Warn when trying to start a GUI event loop out of the main thread.
      Some explanatory comments.
      TST: Use functools.partial to shorten test decorators
      Add updated baseline images for the previous commits
      Fix usetex_baseline_test.
      Switch default of stem(use_line_collection=...) to True.
      Use vlines() and plot(), not stem(), in timeline example.
      Remove some APIs deprecated in mpl3.1.
      Prefer geomspace() to logspace().
      Don't forget to set stretch when exporting font as svg reference.
      Deprecate most ValidateInStrings validators.
      Simplify validate_color, and make it slightly stricter.
      Move Text kwargs init to end of Annotation init.
      Trivial style fix.
      Deemphasize basemap in user-facing docs.
      Dedupe timer attribute docs.
      Multi-dim transforms are non-separable by default.
      Doc markup cleanups.
      Factor out common parts of `__str__` for Transform subclasses.
      Fix doc for set_{x,y}label, and then some more.
      Fixes to boxplot() docstring & error messages.
      Update a comment re: minimum version of numpy working around bug.
      Reorder mathtext rcparams in matplotlibrc template.
      Refactor Annotation properties.
      Expire the _rename_parameters API changes.
      Improve test failure messages on warnings.
      Also deprecate ignorecase ValidateInStrings.
      Delay checking for existence of postscript distillers.
      Reformat/reword mathtext docstrings.
      Add a smoketest for ps.usedistiller="xpdf".
      Deprecate toggling axes navigatability using the keyboard.
      Update missing_references.json.
      More edits to Normalize docstrings.
      Update URL to pyparsing.
      Parametrize imshow antialiased tests.
      STY: Fix underindented continuation lines.
      Remove some remnants of hist{,2d}(normed=...).
      Style fix for dynamic axes subclass generation in mpl_toolkits.
      Use rc() less often in examples/tutorials.
      Rename font_bunch to psfont in textpath.
      Fix _preprocess_data for Py3.9.
      Deprecate recursionlimit kwarg to matplotlib.test().
      Remove warnings control from tests.py.
      Update usetex_fonteffects example.
      Minor docstring/references update.
      Cleanup dolphin example.
      Small unrelated cleanups.
      Cleanup testing.compare.
      Stricter validation of rcParams["axes.axisbelow"].
      Make backend_ps test robust against timestamp changes in ghostscript.
      Deprecate more rc validators.
      Fix edge-case in preprocess_data, if label_namer is optional and unset.
      Further simplify _preprocess_data.
      Cleanup quiver3d examples.
      Update custom boxstyles example.
      Update docstrings in figure.py.
      Remove unused, outdated division operators on jpl_units.
      Simplify setupext.download_or_cache.
      Update annotation tutorial.
      In docs, add multi-axes connectionpatches to Figure, not Axes.
      Cleanup fancybox_demo.
      Cleanup animation docstrings.
      Simplify docstring interpolation for Box/Arrow/ConnectionStyles.
      Turn mathtext.GlueSpec into a (private) namedtuple.
      Clarify tiny comment re: AnnotationBbox constructor.
      Docstring + import cleanups to legend.py.
      Update docstrings for plot_directive.
      Small edits to toolkits docs.
      Make the signature of Axes.draw() consistent with Artist.draw().
      Cleanup axes_size.
      Use Path.arc() to interpolate polar arcs.
      Simplify 3d axes callback setup.
      Deprecate DraggableBase.on_motion_blit.
      Deprecate support for dash-offset = None.
      Deprecate Artist.{set,get}_contains.
      Group all init of Legend.legendPatch together.
      Simplify validate_color_for_prop_cycle.
      Deprecate RendererCairo.font{weights,angles}
      backend_ps cleanup.
      Fix overindented lines.
      Deprecate validate_webagg_address.
      Deprecate autofmt_xdate(which=None) to mean which="major".
      Deprecate JPEG-specific kwargs and rcParams to savefig.
      Add tests for delete_parameter.
      Deprecate dviread.Encoding.
      Small style fix + microoptimization of _parse_enc.
      Deprecate {Locator,Axis}.{pan,zoom}.
      Deprecate arg-less calls to subplot_class_factory (and similar factories).
      Cleanup axes_rgb.
      Generic cleanup to hist().
      Use Path(..., closed=True) more.
      Some more path construction simplifications.
      Dedupe RGBAxes examples.
      Document behavior of savefig("extensionless-name").
      Cleanup image.py.
      Reword docstring of panning callbacks, and pass them a MouseButton.
      Deprecate Substitution.from_params.
      Standardize signature mismatch error messages.
      Simplify interactive zoom handling.
      _idDrag -> _id_drag.
      Disable draw_foo methods on renderer used to estimate tight extents.
      Various backend cleanups.
      pgf backend cleanups.
      Combine withEffect PathEffect definitions; update module docstring.
      Deduplicate code for text-to-path conversion in svg backend.
      Cleanup mpl_toolkits locators.
      Reword colorbar-with-axes-divider example.
      Reword axes_divider tutorial.
      Cleanup axes_divider examples.
      Simplify implementation of SubplotTool.
      Update image tutorial wrt. removal of native png handler.
      Further shorten quiver3d computation...
      Update CircleCI URL for downloading humor-sans.ttf.
      Avoid vstack() when possible.
      Update markup for collections docstrings.
      Make cursor text precision actually correspond to pointing precision.
      Update barchart_demo.
      One more instance of check_in_list.
      Deprecate some mathtext glue helper classes.
      Simple cleanups to formatters.
      Destroy figures by manager instance, not by number.
      Deprecate NavigationToolbar2QT.parent.
      Don't use deprecated Gtk add_with_viewport.
      Dedupe implementation of axes grid switching in toolmanager.
      Deprecate Path helpers in bezier.py
      Don't forget to export isdeleted on Qt4.
      Inline some more kwargs into setup.py's setup() call.
      Fix checking of X11 builds with PySide2.
      Disconnect manager when resizing figure for animation saving.
      Cleanup/update deprecations.
      Propagate signature-modifying decorators to pyplot wrappers.
      Remove font preamble caching in TexManager.
      Shorter Path import in setupext.
      Fix trivial docstring typos.
      Finish removing mentions of idle_event.
      Shorter event mocking in tests.
      Warn in the docs that MouseEvent.key can be wrong.
      Small cleanups to dviread.
      Make it possible to use rc_context as a decorator.
      Deprecate unused rcParams["animation.html_args"].
      Robustify `AffineBase.__eq__` against comparing to other classes.
      Move the debug-mode TransformNode.write_graphviz out.
      Use more kwonly arguments, less manual kwargs-popping.
      Simplify OldAutoLocator and AutoDateLocator.
      Use SubplotSpec.row/colspans more, and deprecate get_rows_columns.
      Add support for minor ticks in 3d axes.
      Deprecate support for Qt4.
      Cleanup many docstrings.
      Remove dot from suffix in testing.compare.
      Turn fontdict & minor into kwonly parameters for set_{x,y}ticklabels.
      Fix typo in implementation of quit_all_keys.
      set_tick_params(label1On=False) should also make offset text invisible.
      Cleanup new_fixed_axis examples.
      Cleanup demo_axes_hbox_divider.
      Fix use of psfrags in ps backend + usetex.
      Remove unused _read_ppm_image from macosx.m.
      Add test for close_event.
      Test the macosx backend on Travis.
      Tighten/cleanup wx backend.
      Cleanup and avoid refleaks OSX Timer__timer_start.
      Remove commented-out implementation and in-function import.
      Cleanup dates docstrings.
      Deprecate add_all parameter.
      Remove unused, private aliases Polygon._{get,set}_xy.
      Improve error for quoted values in matplotlibrc.
      Fix animation writer fallback.
      Add link to 3.2 min-supported-requirements.
      Simplify animation writer fallback.
      Slightly tighten the Bbox/Transform API.
      Move locking of fontlist.json *into* json_dump.
      Add some documentation for ExtremeFinder.
      Correctly disable more drawing methods in tight_bboxing renderer.
      Make plt.{r,theta}grids act as setters even when all args are kwargs.
      Cleanup shape manipulations.
      Simplify and robustify ConnectionPatch coordinates conversion.
      Simplify init of EventCollection.
      Warn if a temporary config/cache dir must be created.
      More stringent eventplot orientations.
      Cleanup imshow_extent tutorial.
      Fix table.Cell docstrings.
      Cleanups to contour docs.
      Avoid spurious deprecation warning in TextBox.
      Fix missing-references.json.
      Shorten implementation of Axes methods that just wrap Axis methods.
      Also templatize set_x/y/zticklabels.
      Also templatize x/y/zaxis_date.
      Use __set_name__ for better wrapping.
      More missing refs fixes.
      Simplify subgridspec example/tutorial.
      Fix minor doc typos.
      More missing refs fixes, and associated doc rewordings.
      Allow sharex/y after axes creation.
      Add GridSpec.subplots()
      Deprecate case-insensitive properties.
      Simplify and generalize _set_view_from_bbox.
      Cleanup multi_image example.
      Cleanups to Qt backend.
      Improve default formatter for Slider values.
      Use True instead of 1 for boolean parameters.
      Make sure slider uses "x" sign before multiplicative factor.
      Cleanup TextBox implementation.
      Avoid "wrapped C/C++ object has been deleted" when closing wx window.
      Deprecate {ContourSet,Quiver}.ax in favor of .axes.
      Simplify connection of the default key_press and button_press handlers.
      Fold table.CustomCell into Cell.
      TextBox improvements.
      Widgets cleanup.
      Cleanup/Simplify Cell._set_text_position.
      Make multiline docstrings start with a newline.
      Simplify interactive zoom handling.
      Simplify wx icon loading.
      Deprecate Locator.refresh and associated helpers.
      Make widgets.TextBox work also when embedding.
      Don't override update() in NavigationToolbar2Tk.
      Simplify pan/zoom toggling.
      Disable use of FreeType in dvipng for test reproducibility.
      Fix support for empty usetex strings.
      Fix baseline alignment when using usetex.
      Shorten comment & update link re: Qt focus policy.
      Remove duplicate canvas assignments.
      Dedupe _get_toolmanager and move it to base class init.
      Fix most instances of D404 ("docstring should not start with 'this'").
      Many docstring cleanups.
      Cleanup colors.py docstrings.
      Add tests for toolmanager.
      Deprecate text.latex.preview rcParam.
      Fix misindented block in example.
      Clarify that draw_event occurs after the canvas draw.
      Inline RGBAxes._config_axes to its only call site.
      Deprecate ScalarMappable.check_update and associated machinery.
      Correctly go through property setter when init'ing Timer interval.
      Make all parameters of ColorbarBase, except `ax`, keyword-only.
      Inline unsampled-image path; remove renderer kwarg from _check_unsampled_image.
      Fix polar tests.
      Small cleanups/simplifications/fixes to pie().
      Move polar tests to their own module.
      Switch tk pan/zoom to use togglable buttons.
      Inline some private helper methods in ColorbarBase + small refactors.
      Deprecate NavigationToolbar2GTK3.ctx.
      Draw unfilled hist()s with the zorder of lines.
      Fix missing attribute in _SVGConverter.
      Cleanup text.py.
      Deprecate AxisArtist.dpi_transform.
      Small cleanups.
      Document `Transform.__add__` and `.__sub__`.
      Replace use of Bbox.bounds by appropriate properties.
      Shorten tight_layout code.
      Add support for suptitle() in tight_layout().
      Simplify some axisartist code.
      Make params to pyplot.tight_layout keyword-only.
      Autogenerate subplots_adjust with boilerplate.py.
      Remove Patch visibility tracking by Legend & OffsetBox.
      Shorten and privatize qt's UiSubplotTool.
      Cleanup AxisArtist._init_ticks.
      Delete some unused attributes.  Use normal zorder defaulting.
      Deprecate offset_position="data".
      Fix eps + usetex combo.
      Deprecate support for running svg converter from path contaning newline.
      Improve ps handling of individual usetex strings.
      Improve info logged by tex subsystem.
      Deprecate Toolbar.press/release; add helper to find overridden methods.
      More uses of _deprecate_method_override.
      Deprecate NavigationToolbar2._init_toolbar.
      Don't trigger save when gtk save dialog is closed by escape.
      Move slow FontManager warning to FontManager constructor.
      Don't generate individual doc entries for inherited Axes/Axis/Tick methods.
      Fix broken references.
      And some more fixes.
      Further sync axes_grid colorbars with standard colorbars.
      Don't divide by zero in Line2D.segment_hits.
      Fix incorrect deprecation.
      Make the Qt interactive zoom rectangle black & white.
      Deprecate various wx Toolbar attributes.
      Simplify pickling support.
      Fix rubberband in tk.
      Avoid "dash motion" in qt zoom box.
      Use deprecate_privatize_attribute more.
      By default, don't change the figure face/edgecolor on savefig().
      For single datasets, don't wrap artist added by Axes.hist in silent_list
      Make sharex, etc. args of subplots() keyword-only.
      Deprecate is_pyqt5.
      Cleanup docstring of subplots().
      Make Artist.set() apply properties in the order in which they are given.
      Make set_x/ymargin() update axes limits, just like margins().
      Make API of get_tightbbox more consistent between Axes and Axis.
      Don't create a statusbar in Qt, wx backends.
      Move image value to second line; remove mode info.
      Change the Qt label vertical alignment to centered.
      Make zooming work in qt-embedding example.
      Only consider visible Axises in Axes tightbbox.
      Simplify Annotation and Text bbox drawing.
      Remove randomness from test_colorbar_get_ticks_2.
      Also use light color tool buttons in qt+toolmanager+dark theme.
      Restrict Qt toolbars to top/bottom of canvas.
      Replace backend_driver by new example runner.
      Auto-set artist.mouseover based on if get_cursor_data is overridden.
      Support standard names for freetype hinting flags.
      Simplify file handling in ft2font.
      Handle review comments.
      Inline convert_open_args.
      Fix running the test suite with inkscape>=1.
      Small updates to troubleshooting guide.
      Clarify deprecation message re: tex/pgf preambles as list-of-strings.
      TexManager fixes.
      Remove qt4 backends from backend fallback candidates.
      Cleanup wx examples.
      Don't forget to dlclose() main_program in tkagg init.
      Deprecate passing keys to update_keymap as single comma-separated string
      Keep validate_date private.
      Reorder NavigationToolbar2 methods.
      Remove status bars in toolmanager mode as well.
      Unstale viewlims before draw()ing polar axes.
      Get default params from matplotlibrc.template.
      Fix toolbar separators in wx+toolmanager.
      Remove comment re: validation of datetime format strings.
      Show the failing line in bad-rcparams warnings.
      Move integerness checks to SubplotSpec._from_subplot_args.
      Support odd-length dash patterns in Agg.
      Fix rcParams validator for dashes.
      Make validate_date throw ValueError, not RuntimeError.
      image: Avoid excess NumPy array refcount twiddling.
      Fold _make_nseq_validator into _listify_validator.
      Use qVersion, not QT_VERSION_STR -- the latter doesn't exist in PySide2.
      Deprecate the private FigureCanvasGTK3._renderer_init.
      Add support for blitting in qt5cairo.
      Fix typo in validate_stringlist doc.
      Cleanup RectangleSelector example.
      Shorten RectangleSelector._release.
      Inline FigureCanvasGtkFoo._render_figure.
      Make get_sample_data autoload npy/npz files.
      Numpydocify RectangleSelector docstring.
      Simplify handling of fontproperties=None.
      Support marking a single artist as not-usetex.
      Reuse png metadata handling of imsave() in FigureCanvasAgg.print_png().
      Deprecate ismath parameter to draw_tex and ismath="TeX!".
      Steal fontconfig's font weight guessing algorithm, using fc weights.
      Go back to using OpenType weight values.
      Simplifications to errorbar().
      Don't fallback to agg in tight_layout.get_renderer.
      Bump FontManager version.
      Prefer demo'ing rcParams rather than rc in examples.
      Warn when pil_kwargs["pnginfo"] overrides metadata.
      Save a couple of numpy conversions.
      Remove unneeded check/comment re: multiprocessing in setup.py.
      Skip None entries in png metadata.
      Remove mention that tkagg was derived from PIL.
      Use light icons on dark themes for wx, too.
      Delay \usepackage{textcomp} until after the custom tex preamble.
      Update subplot2grid doc to use Figure.add_gridspec, not GridSpec.
      Simplify handling of Qt modifier keys.
      Restore special-casing of 'control'.
      Replace image comparison in test_axes_grid1 by geometry checks.
      Rewrite pdf test to use check_figures_equal.
      Fix typo in description of savefig.bbox.
      Fix autoscaling with tiny sticky values.
      Fix example in docstring of cbook._unfold.
      Backport PR #17676: FIX: correctly process the tick label size
      Backport PR #17764: FIX: be more careful about not importing pyplot early
      Backport PR #17814: Don't duplicate deprecated parameter addendum.
      Backport PR #17844: Explain why Qt4 backends are deprecated

Ardie Orden (3):
      Separate plots using #### in make_room_for_ylabel_using_axesgrid.py
      Rewrite commands as top-level code for make_room_for_ylabel_using_xaxesgrid.py
      Minor edits for make_room_ylabel_using_xaxesgrid.py

Asaf Maman (9):
      convert some sample plots to use plt.subplots() instead of other methods
      fixing line length
      changing the use of gridspec() to avoid repeatation, removing unpacking and changing varibale name
      fix exeeded line while linting test
      revert plot_streamplot.py to original version
      adding both methods how to generate multiple plots
      fix linting
      revert xkcd.py
      modify heading in subplot.py

Ben Root (2):
      Backport PR #17680: MNT: migrate away from deprecated c-api
      Backport PR #18038: FIX: use internal _set_postion, not external

Bruno Beltran (12):
      fix bug where make_compound_path kept all STOPs
      do not retain any STOPs in make_compound_path
      use validate_[cap/join]style
      don't import functions directly
      Fix bezier/path circular import without API change
      DOCS: add examples of how one "should" use Bbox
      BUGFIX: conditional for add_axes arg deprecation
      CI: run pydocstyle with our custom options
      DOCS/CI: fix D213 so CI passes, ignore D404
      correctly compute bounding box for path
      DOCS: MEP10 for collections.py
      DOCS: @timhoffm collections.py suggestions

Bruno Pagani (2):
      Fix wording in [packages] section of setup.cfg
      Clarify that 'tests' data are baseline images

Cho Yin Yong (1):
      autoscale arrow

Chris (3):
      add more comments. add a reference section
      Resolve comments on flake8 violations and improve docstrings
      minor fix to address CI failures

Christoph Pohl (1):
      Increase fontsize in inheritance graphs

Clemens Brunner (2):
      Fix macosx segfault
      Remove all autorelease pools

Dan Hickstein (1):
      Introduced labelcolor keyword argument for legend.

David Chudzicki (1):
      fix a couple typos in tutorials

David Stansby (25):
      Change the way API changes are documented
      Fix DeprecationWarning in nightly testing
      Use correct pip/pytest on azure
      Try installing numpy first
      Small doc fixes
      numpydoc AxesImage
      Move _ImageBase __init__doc
      Copy across parameter definitions
      Fix travis links in README
      Add tests for IndexFormatter
      Test registering cmaps
      numpydoc-ify SymLogNorm
      Clean up and clarify Normalize docs
      Re-phrase doc for bottom kwarg to hist
      Update set_thetalim documentation
      Add note on wrapping
      Document theta getters/setters
      Fix typo in deprecation warning
      Validate tickdir strings
      Backport PR #17821: FIX: Keep lists of lists of one scalar each 2D in _reshape_2D
      Backport PR #17882: Fix FFMpegBase.isAvailable with detached terminals.
      Backport PR #17956: ENH: Add version check for mac sdk version
      Backport PR #18328: Add missing check for None in Qt toolmanager.
      Backport PR #18604: Update test image to fix Ghostscript 9.53.
      Backport PR #19371: Fix specgram test on NumPy 1.20.

David Young (1):
      Backport PR #18304: Fix canvas redraws during motion in figures with a Button or TextBox

Dominik Schmidt (1):
      Text Rotation Example: Correct roation_mode typo

Dora Fraeman Caswell (9):
      DOC: adding main nav to site
      added hover links, larger font size, Carlito to font stack
      re-added home link to bread crumb
      updated nav order
      DOC:Adding logo font to site
      updated license documentation
      keep nav links white
      fix tooltip display bug
      DOC:bump sphinx gallery minimum version

Edoardo Pizzigoni (1):
      FIX: Plot is now rendered with correct inital value (#16936)

Elan Ernest (3):
      Doc: Add close event to list of events
      strip_signature_backslash
      Doc: spines arrows example (#17180)

Elliott Sales de Andrade (288):
      Add Axes method for drawing infinite lines.
      Fix env override in WebAgg backend test.
      Fix incorrect macro in FT2Font setup.
      Skip webagg test if tornado is not available.
      Process clip paths the same way as regular Paths.
      Move numpy_cpp header into files that need it.
      Remove redundant conditions for curves.
      Fix a maybe-uninitialized warning in tri.
      Remove unnecessary extern "C".
      Fix some typos on the frontpage.
      Use more https links on front page.
      Fix a bunch of random typos.
      Add more FreeType tarball hashes.
      Restore reset to Bayes animation example.
      Remove mention of deleted stackrel in some tests.
      Fix some missing/incorrect mlab tests.
      Remove a redundant import in test_ticker.
      Replace loop with array operations in an example.
      Start using CircleCI 2.1 pipelines.
      ci: Use CircleCI artifacts redirector for doc links.
      Make test_imagegrid_cbar_mode_edge less flaky.
      Use utf-8 when reading README for package description.
      doc: Use https links in project readme.
      doc: Use absolute links for readme images.
      Make test_stem less flaky.
      xpdf: Set AutoRotatePages to None, not false.
      Fix type of `dpi` in docstrings.
      nbagg: Don't send events if manager is disconnected.
      ci: Disallow pytest 5.4.0, which is crashing.
      Add missing transform to tuple markers.
      Add test that polygon tuple markers work.
      Add test for asterisk tuple markers.
      Add a smoke test for star tuple markers.
      DOC: Don't mention drawstyle in `set_linestyle` docs.
      Fix check_figures_equal for tests that use its fixtures.
      Fix incorrect super class of VCentered.
      DOC: Fix calls to Axes.set_xticks with minor ticks.
      DOC: Show Lightness label for every colormap Axes.
      DOC: Remove deprecated form of plt.register_cmap.
      DOC: Don't use deprecated picker=Numeric.
      DOC: Don't pass string lists to pgf.preamble.
      ci: Install Humor Sans from package repositories.
      ci: Switch to apt instead of apt-get.
      ci: Don't install libgeos-dev.
      DOC: Fix docstring of Axes.secondary_yaxis.
      DOC: Fix ordering of Other Parameters wrt Returns.
      DOC: Fix ordering of Examples in docstrings.
      DOC: Use consistent capitalization for See Also section.
      DOC: Fix types of return values.
      DOC: Wrap first line of docstring if necessary.
      DOC: Fix ordering of See Also section.
      DOC: Fix some small typos.
      BLD: Auto-trigger macOS/Linux wheels on tags.
      DOC: We use travis-ci.com now, not travis-ci.org.
      DOC: Update the release guide.
      Add back missing import.
      Remove optional returns from TriAnalyzer._get_compressed_triangulation.
      Use cbook._setattr_cm more.
      Fix Text('').get_window_extent(dpi=...).
      tk: Resize the canvas, not the figure.
      TST: Don't modify actual pyplot file for boilerplate test.
      STY: Fix continuation line with same indent as next logical line.
      STY: Fix under-indented line continuations.
      Add a missing `self`.
      STY: Rename some camelCase variables.
      tk: Don't resize toolbar during resize event.
      Avoid triggering full dpi change if it's unchanged.
      gtk: Correctly resize canvas to intended size.
      Fix test_canvas_reinit.
      ci: Publish result images as Azure artifacts.
      STY: Add eslint and prettier config.
      STY: Format JavaScript code with prettier.
      Use strict equality in JS files.
      Fix RecursionError when closing nbAgg figures.
      Update tight bbox expected PDF for gs 9.52.
      Remove new Python syntax from setup.py.
      Add current Python version in setup.py error message.
      Fix saving nbAgg figure after a partial blit.
      Fix Button widget motion callback.
      DOC: Fix some warnings in examples.
      DOC: Add seeds to examples for reproducibility.
      DOC: Don't print colormaps in tutorials.
      DOC: Set doc build CI's epoch to date of last tag.
      Import NumPy more consistently in tests.
      Remove redundant matplotlib import in tests.
      ci: Move flake8 to GitHub Actions with reviewdog.
      Fix Figure.add_axes(rect=...).
      Simplify path handling in test_sphinxext.
      Fix various small typos.
      Cleanup old code in offsetbox.
      Fix incorrect reference in AnnotationBbox.
      Fix AnnotationBbox picking when it moves offscreen.
      CI: Download wx wheels for the correct Ubuntu version.
      js: Rename nav_element to toolbar.
      js: Remove hover state class change.
      Replace jquery by vanilla JS.
      Make enter_notify_event deprecation more explicit.
      Remove extra 'in' in deprecation messages.
      Add explicit versions to deprecation messages.
      Remove keyword arguments deprecated in 3.0.
      Remove deprecated arguments and keyword arguments.
      Fix sorting of 3.3's API removals.
      Remove functions/methods deprecated in 3.1.
      Remove support for backends without set_hatch_color.
      Remove support for deprecated legend/table locations.
      Remove support for passing drawstyle in linestyle.
      Remove support for upper case color strings.
      Remove support for non-1D input to Axes.pie.
      Remove support for non-1D errorbars.
      Use Matplotlib's tool icons in WebAgg backend.
      Implement spacers in nbagg toolbar.
      Re-style the webagg toolbar.
      Implement set_history_buttons for nbAgg/WebAgg.
      Show pan/zoom toggle state in nbAgg/webagg toolbars.
      Bump some deprecation removal dates.
      Implement set_history_buttons for Tk toolbar.
      Move check_figures_equal's fixtures to the signature.
      Make image_comparison wrapper match check_figure_equal.
      TST: Add a lock on parametrized image comparisons.
      Revert test changes to reduce flakiness (before lock).
      Fix alignment of offset text on top axis.
      Remove pnpoly license.
      Fix redundant dictionary update.
      Simplify masking in tri.
      Fix running test_internal_cpp_api directly.
      Wrap reviewdog yaml.
      CI: Add linting of JavaScript/CSS with eslint.
      Add indent settings to eslintrc.
      Add quotes settings to eslintrc.
      tk: Skip setting cursor if window is unavailable.
      TST: Smoke test saving with interactive backends.
      wx: Fix saving after window is closed.
      wx: Fix saving to a BytesIO.
      TST: Skip backend savefig equality check on Qt5+macOS.
      Avoid creating a Tick in Axis.get_tick_space.
      Correctly initialize kwargs to _image.resample.
      Make array_view.set return a bool.
      Fix leak of input mesh during image resampling.
      Replace PyObject_Call* with PyObject_Call*ObjArgs.
      Remove extraneous `(char *)` casts.
      Fix LightSource.shade on fully unmasked array.
      Remove unnecessary cast in Line3DCollection.set_segments.
      Avoid unnecessary conversions to arrays.
      Rewrite _reshape_2D to not use ragged ndarrays.
      Change hist empty check to not use 2D arrays.
      Allow object arrays in cbook._combine_masks.
      Error out of index_of if input is not a NumPy array.
      Update SVGs that use interpolation='none'.
      Don't composite images that are no clipped.
      Fix Pillow import in testing.
      Fix clipping of images with clipping disabled.
      Add an explicit initializer to std::stringstream.
      Hide symbols in compiled extension where possible.
      Hide inlines in compiled extensions.
      Only build local FreeType statically.
      Enable LTO for all compiled extensions.
      Add docstring for `add_optional_flags`.
      Correctly set default linewidth for unfilled markers.
      Fix exception handling in FT2Font init.
      Add test for urls on ticks in svg.
      Ensure URLs are stored for plain lines in SVG.
      Circle: Convert config into re-usable command style.
      Fix caching of fonts in CircleCI builds.
      Circle: Remove redundant store_artifacts steps.
      Cache built doctrees on CircleCI.
      Privatize ttconv module.
      Consolidate `test_figimage[01]` into a single test.
      Combine some boxplot tests.
      Fix some typos in test names.
      Move pie tests together.
      Use symbolic icons for buttons in GTK toolbar.
      Replace jQuery UI resizable with ResizeObserver API.
      Embed minimal jQuery UI styling.
      Remove jQuery and jQuery UI.
      Align WebAgg figure to the top.
      nbagg: Ensure elements use content-box sizing.
      nbagg: Improve resizing code.
      ci: Add xcb libraries that were removed from PyQt5.
      Fix keymap for _ToolEnableNavigation.
      Fix help window on GTK.
      pgf: Pass PDF metadata via pdfinfo option.
      pdf/pgf: Move PDF metadata checks to a common function.
      pdf: Don't require Trapped to be a Name instance.
      Implement PDF metadata on PGF backend.
      Add What's New entry about previous metadata changes.
      Combine PdfPages tests.
      Add tests for PDF metadata saving using pikepdf.
      DOC: Remove duplicate Returns in subplot2grid.
      DOC: Only link to overall Zenodo DOI.
      DOC: Add links to citing page in more places.
      DOC: Fix lead developer note in credits generator.
      Update mailmap for duplicate emails.
      Update contributors in credits.
      Fix doc build with Sphinx < 3.
      Add a docstring to toolkit's BezierPath.__init__.
      Fix deprecated wrapping of class __init__.
      Add a simple smoke test for bar3d colors.
      Add metadata saving support to SVG.
      Simplify BytesIO usage in svg tests.
      Convert SVG metadata test to XML/XPath parsing.
      Move codecov.yml to .github.
      Convert adjust_bbox to use ExitStack.
      Fix clipping of markers in PDF backend.
      Skip test_tmpconfigdir_warning when running as root.
      Pop extra kwargs in FigureCanvasAgg.print_jpg.
      Make quality kwarg explicit in FigureCanvasWx._print_image.
      Warn on invalid savefig keyword arguments.
      Add a flag for disabling LTO.
      Also remove *args from print methods.
      Don't call setDevicePixelRatio after setDevicePixelRatioF.
      Update a missed call to _setDevicePixelRatio.
      Remove redundant pixel ratio compat functions.
      Replace kwarg jargon in recent what's new.
      Use correct styling for arguments in recent what's new.
      Fix small typos in recent what's new.
      Fix default artist properties for Shadow.
      Simplify setup of pie() shadows.
      BLD: bump branch away from tag
      Add v3.2.2 Zenodo DOI.
      Rename API changes for 3.3.
      doc: Update NumPy's intersphinx URL.
      Fix broken links in JavaScript animations.
      REL: v3.3.0rc1
      BLD: bump branch away from tag
      Backport PR #17664: Clarify docs of AutoDateLocator.intervald
      Backport PR #17665: Document that some single char colors are shaded
      Backport PR #17720: Fix check for manager = None.
      Backport PR #17729: Fix type doc for scroll event "step" attribute.
      Backport PR #17734: Oversample thumbnail x2
      Backport PR #17731: "Fix" tight_layout for template backend.
      Backport PR #17756: Fix tk tooltips for dark themes.
      Backport PR #17831: BLD: default to system freetype on AIX
      Revert "Merge pull request #17543 from timhoffm/unfilled-markers"
      Backport PR #17885: BF: ignore CLOSEPOLY after NaN in PathNanRemover
      Backport PR #17942: Increase heading level for 3.3 What's New
      DOC: Update GitHub stats for 3.3.0.
      DOC: Fix some old/dead links.
      REL: v3.3.0
      BLD: bump branch away from tag
      Add Zenodo DOIs for 3.3.0.
      DOC: Update GitHub stats again.
      Backport PR #17949: examples: fix a few deprecated subplot specifiers.
      Backport PR #17953: typo in 3.3 whatsnew: "computer visualization" -> "computer vision"
      Backport PR #17976: Fixed #17970 - Docstrings should not accessed with -OO
      Merge pull request #17983 from jklymak/fix-pandas-need-num2epoch
      Backport PR #17982: BF: for degenerate polygons, add CLOSEPOLY vertex
      Backport PR #18021: FIX: update num2julian and julian2num
      ci: Add tee to debug reviewdog.
      ci: Disable filtering of lint errors.
      Silence an unused import warning.
      Backport PR #18101: FIX: catch all multi-dim warnings pandas
      Backport PR #18175: Downgrade symbol substitution log to info level.
      Backport PR #18185: FIX: fix reading from http/https urls via imread
      Backport PR #18233: Fix cibuildwheel trigger condition.
      Backport PR #18235: FIX: check we have a back button in tk toolbar before we touch it
      Update exclude_patterns for moved API/what's new.
      Move API changes to correct file.
      Update GitHub stats for 3.3.1.
      Backport PR #18243: Fix reshape list of strings
      REL: v3.3.1
      BLD: bump branch away from tag
      Add Zenodo badge for 3.3.1.
      Backport PR #18352: Avoid triggering backend resolution during qt initial import.
      Backport PR #18475: BF: ensure exception caught if no kpeswitch
      Backport PR #18483: DOC: reword non-monotonic cell center warning
      DOC: Update GitHub stats for 3.3.2.
      REL: v3.3.2
      BLD: bump branch away from tag
      DOC: Add Zenodo DOI for 3.3.2.
      Backport PR #18500: BUG: Fix all-masked imshow
      Backport PR #18540: Call to ExitStack.push should have been ExitStack.callback.
      Backport PR #18636: BLD: certifi is not a run-time dependency
      Backport PR #18670: MNT: make certifi actually optional
      Backport PR #18533: Correctly remove support for `\stackrel`.
      Backport PR #18754: FIX: make sure we have more than 1 tick with small log ranges
      Backport PR #18769: Support `ax.grid(visible=<bool>)`.
      Backport PR #18756: FIX: improve date performance regression
      Backport PR #18929: FIX: make sure scalarmappable updates are handled correctly in 3D
      DOC: Update GitHub stats for 3.3.3.
      REL: v3.3.3
      BLD: bump branch away from tag
      DOC: Add Zenodo DOI for 3.3.3.
      Add missing dimension in genfrac LaTeX example.
      Backport PR #19002: DOC: Add note about locators at top of ticker docs
      Backport PR #19301: Fix several CI issues
      Backport PR #19238: Fix build with LTO disabled in environment
      DOC: Update GitHub stats for 3.3.3.
      REL: v3.3.4

Emlyn Price (2):
      Add 'step' and 'barstacked' to histogram_histtypes demo (#15357)
      Add note about hist speed for large number of bins

Eric Firing (24):
      DOC: re-word the deprecation note
      BUG fixed by @anntzer: correct tick labels with subsampled FixedLocator
      Handle missing values.
      Keep ticks and labels in sync; add a test.
      Flake8: space added
      Make pickles work again.
      Use partial in set_ticklabels instead of an argument in FuncFormatter.
      Update selectively instead of using _update_ticks.
      Slight simplification.
      Require a match between fixed ticks and ticklabels.
      Fix broken example, add to api_changes, tweak error message.
      Fix example: second try.
      Typo in api_changes entry
      Improvements to docstring and to API docs.
      Simplify BoundaryNorm calculation.
      Add BoundaryNorm extend kwarg to colormapnorms.
      Move whats_new entry to next_whats_new
      Documentation tweaks from review.
      Doc: specify default keyword argument for 'extend'
      Improve the tests, docstrings, argument checking
      Give _DummyAxis instances a __name__
      Handle axis instances even if they don't have a __name__.
      Use more compact syntax
      Backport PR #17859: API: resolve unset vmin / vmax in all ScalarMapple based methods

Eric Larson (10):
      FIX: Fix for FFMpeg + GIF
      Update lib/matplotlib/animation.py
      DOC: Use Sphinx-gallery animation capture
      DOC: Tweak
      FIX: Ref
      FIX: Birthday adjusted for better spiking
      STY: PEP8
      Update doc/Makefile
      BUG: Show bug test case
      Revert "Don't divide by zero in Line2D.segment_hits."

Eric Relson (1):
      ImageMagick animators now can use extra_args

Eric Wieser (5):
      BUG: Fix the aspect ratio of 3d plots
      ENH: Set the default plotbox aspect to match how renders looked previously
      TST: Change tests to use default styles
      MAINT: Replace uses of tostring with tobytes
      ENH: Add support for Axes3D.set_pb_aspect

Fabien Maussion (8):
      Solve conflicts
      added support for extend in colorbarbase
      won't override user extend keyword anymore
      Updates for pytest and mpl2
      Add colorbar example to docs
      what's new
      Update example
      Review

Frank Sauerburger (4):
      Use internal font index for XObject names
      Resolve linked fonts in fontManager.findfont()
      Test geometry of step(filled) histograms
      Fix stepfilled histogram polygon bottom perimeter

Gal Avineri (1):
      vectorized calc_arrow in axes3d.quiver

Georg Raiser (1):
      Update animation_api.rst (#17081)

Gina (1):
      Update FUNDING.yml

Greg Lucas (6):
      Changing the spelling of co-ordinates.
      Making sure to keep over/under/bad in cmap resample/reverse.
      Warning when modifying the state of a global colormap.
      Deprecation warning for cmap_d.
      Adding 2d support to quadmesh set_array
      DOC: Update colormap deprecation warning to use Python's copy function.

Hanno Rein (2):
      Fixes an error in the documentation of Ellipse
      function returns the path, not the verticies of the ellipse

Harshal Prakash Patankar (10):
      added a new argument use_marker=True to fix the issue with line markers showing up on boxplots. added a test.
      TYPO: pdf.preamble --> pgf.preamble
      Added zorder to clabel, test, whats new entry
      better default value for clabel zorder
      removed a line to make flake8 happy
      default zorder for clabel changed to (2+zorder of contour/contourf)
      Replaced image comparison test for titletwiny
      updated test for acorr
      fix colorbar minorticks when rcParams['x/ytick.minor.visible'] = True
      MaxNLocator and contour/contourf doc update

Hugo van Kemenade (1):
      Docs: Change Python 2 note to past tense

Ian Hincks (3):
      Make ConciseDateFormatter.format_ticks obey tz
      Added timezone test for ConciseDateFormatter
      got rid of unnessessary test cases

ImportanceOfBeingErnest (5):
      box aspect for axes
      DOC: use markers as slanted breaks in broken axis example
      marker as markerstyle
      allow numpy arrays in markevery
      windowextent-for-annotationbbox

Inception95 (2):
      Raise an ValueError when Axes.pie accepts negative values
      Add test code and change negative number detect

Ingo Fründ (3):
      tests for tick color compare properties
      markeredge color does not affect tick color
      using != instead of not ===

Jake Lee (1):
      Remove FAQ on 'Search' -- already referenced in search file (#15591)

Javad (1):
      added multi-letter example to mathtext tutorial (#15267)

Jeroonk (2):
      Fix searchindex.js loading when ajax fails (because e.g. CORS)
      Fix searchindex.js loading by porting sphinx-doc/sphinx#6091

Jiahao Chen (1):
      yticks: Fix typos

Jody Klymak (67):
      Add an extra comment
      DOC: don't use term units in transform tutorial
      DOC: center footer
      Typo
      DOC: mention discourse main page
      DOC: re-org links, add social media
      DOC: re-org links, add social media
      FIX: fix anti-aliasing zoom bug
      FIX: check subplot kwargs
      TST: add tests
      Make an error
      DOC: reword density desc
      DOC: moved default to top line of kwargs
      FIX: ignore axes that aren't visible
      TST: make sure invisible axes is not pickable
      DOC: fix description of vmin/vmax in scatter
      FIX: properly fallback bad scale
      FIX: add shading='nearest' and warn on mis-sized shading='flat'
      DOC: suppress warning on pcolor demo
      FIX: add base kwarg to symlognorm
      Update doc/api/next_api_changes/behaviour.rst
      Update lib/matplotlib/colors.py
      DOC: more pcolor fixes
      FIX: force blended transforms with data to be in data space
      TST: test that blended transforms autolim
      DOC: drop the experimental tag constrained_layout and tight_layout
      Whats new entry for constrained_layout
      ENH: allow title autopositioning to be turned off (#17127)
      FIX: bypass inverse in collection
      FIX: simplify the transform logi
      TST: add a test for singleton on scatter
      Suggest make __add__ more explicit.
      ENH: add ability to change matplotlib epoch
      FIX: long titles x/ylabel layout
      FIX: CL more stable
      DOC: add offset axes to secondary_axes
      Update examples/subplots_axes_and_figures/secondary_axis.py
      FIX: properly check figure on gridspec
      make sure all gridspecs have a figure attribute
      Revert "DOC: drop the experimental tag constrained_layout and tight_layout"
      DOC: remove inkscape restriction in doc
      FIX: legend issue with bbox_inches="tight"
      TST: test fig legend doesn't move
      Backport PR #17687: Mention keyboard modifiers in toolbar tooltip texts.
      Backport PR #17781: Fix limit setting after plotting empty data
      Backport PR #17907: Fix release() method name in macosx backend
      Backport PR #17938: Don't allow 1D lists as subplot_moasic layout.
      Backport PR #17983: FIX: undeprecate and update num2epoch/epoch2num
      Backport PR #18014: Fix flipped paths in non-writable config dir warning.
      Backport PR #18030: Fix PolyCollection.set_verts optimization.
      Backport PR #18079: Set shading='auto' if invalid value passed to pcolormesh
      Backport PR #18100: DOC: update tight layout guide with set_in_layout
      Backport PR #18089: Revert "Convert adjust_bbox to use ExitStack."
      Backport PR #18115: fix typo in Poly3DCollection docstring
      Backport PR #18149: DOC: fix align_xlabels() typo
      Backport PR #18142: Fix nbagg in Chrome 84
      Backport PR #18092: Use same Make as FreeType's configure to build it.
      Backport PR #17995: Avoid using Bbox machinery in Path.get_extents; special case polylines.
      Backport PR #18184: Go back to checking figures for their manager in destroy.
      Backport PR #18225: Use certifi when downloading bundled build requirements.
      Backport PR #18260: Add parent widget to IntVar
      Backport PR #18325: add mpl_interactions to 3rd party packages
      Backport PR #18505: Fix depth shading when edge/facecolor is none.
      Backport PR #18584: Fix setting 0-timeout timer with Tornado.
      Backport PR #18773: Update to latest cibuildwheel release.
      Backport: manual
      Backport PR #19266: Don't update homebrew on GitHub Actions

Jon Haitz Legarreta Gorroño (1):
      DOC: Fix `axes:plot` method docstring verb tense

Jose Manuel Martí (1):
      Override set_url() in class Tick

Joshua Taillon (4):
      Change subprocess for inkscape version detection
      Try to use --without-gui for inkscape first
      Change _get_executable_info() to catch ExecutableNotFoundError
      Fix remaining flake8 issue

Jouni K. Seppänen (4):
      Backport PR #17989: gtk/tk: Ensure no flicker when hovering over images.
      Backport PR #18136: Sort 3d sizes along with other properties
      Backport PR #18245: MNT: do a better job guessing the GUI framework in use
      Backport PR #18134: Build on xcode9

Juanjo Bazán (2):
      legend ignores artists with empty and _ labels
      remove trailing whitespace

Julian Mehne (3):
      Embedding in Tk example: Fix toolbar being clipped. (#15266)
      NavigationToolbar2Tk: make packing optional.
      Embedding in Tk example: be more layout manager agnostic.

Kacper Kowalik (Xarthisius) (1):
      Manually linewrap PS hexlines. Fixes #17176

Kevin Mader (9):
      Assume grayscale for depth=1 images
      Update lib/matplotlib/image.py
      Update test_image.py
      Update image.py
      adding whats_new entry
      Update imshow_m_n_1.rst
      Update test_image.py
      Update test_image.py
      fixed comment with erroneous grayscale term

Kyle Sunden (4):
      Avoid floating point rounding causing bezier.get_parallels to fail
      Rename annotate parameter to match upstream
      Add test for annotation parameter name change warning
      Move change description to behaviour.rst

Larry Bradley (4):
      Fix typos [skip ci]
      Fix comma splices
      Fix typo
      DOC: Remove extra word

Laurent Thomas (1):
      Add set/get for ellipse width/height (#16395)

Lawrence D'Anna (1):
      you can't call CGDataProviderCreateWithData on a stack pointer, that's not allowed

Leo Singer (1):
      BUG: Fix formatting error in GridSpec.__repr__

Luke Davis (1):
      Fix _remove_blacklisted_style_params bug

Manan Kevadiya (3):
      Tried to solve Issue #15650
      Update lib/matplotlib/backends/backend_webagg.py
      Changed line color of boxplot for dark_background (#15725)

Manuel Nuno Melo (3):
      Enables hatch alpha on SVG
      Updated test baseline image
      Cleaned code and added a whats_new

Maoz Gelbart (2):
      DOC: correct title_fontsize docstring
      Fix title_fontsize description

Marat K (2):
      Fix documentation to change cycler instead of lines.color. (#16564)
      Write more descriptive docstrings for kwargs for several Axes methods.

Marco Gorelli (2):
      Make sure that figures are closed when check_figures_equal finishes
      Offset text position (#15592)

Mark Harfouche (1):
      Backport PR #19245: handle usecase where QT_API is specified with some capitals

Matt Newville (1):
      wx.Bitmap() will complain (at least on MacOS) if width or height is zero

Matthias Bussonnier (1):
      3D example avoid using statefull .gca()

Max Chen (3):
      catch OSError instead of FileNotFoundError to resolve #15399
      Use rcParams to control default "raise window" behavior #8692 (Qt,Gtk,Tk,Wx)
      adding a note about OSX not being supported

Max Humber (2):
      gif added to thirdparty page
      add animations section

Maximilian Nöthe (2):
      Allow numbers to set uvc for all arrows in quiver.set_UVC, fixes #16743
      Improve readability of quiver dim check

Michaël Defferrard (2):…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants