NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #169 most downloaded on PyPI
Python plotting package
Last release 23 days ago
11 Sep 2026
Ships fairly regularly
a new release about every 2 months
Some releases are documented
notes for 34 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
21 years old
143 releases · first in 2006
This is the second bugfix release of the 3.11.x series.
This is the second bugfix release of the 3.11.x series.
This release contains several bug-fixes and adjustments:
hexbin clipping in PDF output\text with internal bracesPillowWriterResizeEvent handling for TextBoxThis is the first bugfix release of the 3.11.x series.
This is the first bugfix release of the 3.11.x series.
This release contains several bug-fixes and adjustments:
sharey=TrueNoNorm cursor formatting for uint8 imagesAs well as several documentation and typing improvements and corrections.
One column per quarter.
The largest change within this release is a complete overhaul of text and font processing. Through the use of libraqm, HarfBuzz, SheenBidi, and an upd
The largest change within this release is a complete overhaul of text and font processing. Through the use of libraqm, HarfBuzz, SheenBidi, and an updated release of FreeType, all text should now support modern font features, enabling full internationalization in all languages. Not all features of these libraries are supported yet, but we expect this work to enable further improvements in an easier manner.
Outside of text handling, there are several improvements to 3D Axes, performance, new accessible colour sequences, flexible figure management, and more. See the release notes for more information.
This release candidate fixes some problems with downstream packages, removes some missed deprecations, and corrects some additional minor bugs.
This is the second release candidate for the meso release 3.11.0.
This release candidate fixes some problems with downstream packages, removes some missed deprecations, and corrects some additional minor bugs.
After an extended development stretch, we are pleased to announce the first release candidate of Matplotlib 3.11.0.
After an extended development stretch, we are pleased to announce the first release candidate of Matplotlib 3.11.0.
The largest change within this release is a complete overhaul of text and font processing. Through the use of libraqm, HarfBuzz, SheenBidi, and an updated release of FreeType, all text should now support modern font features, enabling full internationalization in all languages. Not all features of these libraries are supported yet, but we expect this work to enable further improvements in an easier manner. Due to the update to the font rendering stack, we cannot guarantee that text will be bit-for-bit perfect with previous releases, so if you are using Matplotlib for testing, it may be necessary to introduce/raise a tolerance within your tests.
Outside of text handling, there are several improvements to 3D Axes, performance, new accessible colour sequences, flexible figure management, and more. Final release notes are still being curated, but you may browse the list of new features, API changes, and all issues/pull requests on the milestone.
As a note for downstream packagers, the font libraries have only been tested against the versions bundled with the wheels. It may be possible to expand the range of requirements, or that a requirement is too broad. Please report any issues you have building against external dependencies.
This is a micro release of the v3.10.x series. Highlights of this release include:
This is a micro release of the v3.10.x series.
Highlights of this release include:
This is a bugfix release in the 3.10.x series.
This is a bugfix release in the 3.10.x series.
The primary highlights of this release are:
This is the latest bugfix release in the 3.10.x series.
This is the latest bugfix release in the 3.10.x series.
The most important update in this release is that the minimum version
of pyparsing has been updated to version 3.0.
This is a bugfix release in the 3.10.x series.
This is a bugfix release in the 3.10.x series.
Highlights from this release include:
- Fix regression of hi-dpi support for Qt
- Fix race condition in TexManager.make_dvi & make_png
- Various documentation and other bugfixes
This is the fourth bugfix release of the 3.10.x series.
This is the fourth bugfix release of the 3.10.x series.
Included in this release is distributed wheels for Python 3.14 (including freethreaded) and Windows ARM.
There are also several smaller bugfixes.
This is the third bugfix release of the 3.10.x series
This is the third bugfix release of the 3.10.x series
This is the first bugfix release of the 3.10.x series.
This is the first bugfix release of the 3.10.x series.
This release contains several bug-fixes and adjustments:
As well as several documentation improvements and corrections.
Highlights of this release include:
Highlights of this release include:
- Preliminary support for free-threaded CPython 3.13
- New more-accessible color cycle
- Dark-mode diverging colormaps
- Exception handling control
- InsetIndicator artist
- FillBetweenPolyCollection
- Fill between 3D lines
- Data in 3D plots can now be dynamically clipped to the axes view limits
- Rotating 3d plots with the mouse
- Increased Figure limits with Agg renderer
- Subfigures no longer provisional
- Subfigures are now added in row-major order
This is the first release candidate for Matplotlib 3.10.0
This is the first release candidate for Matplotlib 3.10.0
This is the fourth bugfix release of the 3.9.x series.
This is the fourth bugfix release of the 3.9.x series.
This release contains two bug-fixes:
Poly3DCollection initialization with list of listsThis is the third bugfix release of the 3.9.x series.
This is the third bugfix release of the 3.9.x series.
This release contains several bug-fixes and adjustments:
axline with extremely small slopesaxline with non-linear axis scalesminimumSizeHint with Qt backendmacosx backendedgecolors passed to contourfpytest 8.2.0This is the second bugfix release of the 3.9.x series.
This is the second bugfix release of the 3.9.x series.
This release contains several bug-fixes and adjustments:
Windows wheels now bundle the MSVC runtime DLL statically to avoid inconsistencies with other wheels and random crashes depending on import order.
Nothing published for this version
This is the first bugfix release of the 3.9.x series.
This is the first bugfix release of the 3.9.x series.
This release contains several bug-fixes and adjustments:
matplotlib.cm.get_cmap; note this function will still be removed at a later dateAxes autoscaling of thin bars at large locationsAxes autoscaling with axhspan / axvspanAxes3D autoscaling of Line3DCollection / Poly3DCollectionAxes3D mouse interactivity with non-default roll angleAxes3D with alternate vertical axismodule://...tk.window_focus: Truempltype Sphinx role to a public extension; note this is only intended for development reasonsHighlights of this release include:
Highlights of this release include:
This is the second release candidate for the meso release 3.9.0.
This is the second release candidate for the meso release 3.9.0.
This is the fourth micro release of the 3.8 series.
This is the fourth micro release of the 3.8 series.
Highlights of the 3.8.4 release include:
This is the third micro release of the 3.8 series.
This is the third micro release of the 3.8 series.
Highlights of the 3.8.3 release include:
plt.pauseThis is the second bugfix release of the 3.8 series.
REL: v3.8.2
This is the second bugfix release of the 3.8 series.
Highlights of this release include:
Update find_nearest_contour and revert contour deprecations
This is the first bugfix release of the 3.8.x series.
This release contains several bug fixes and adjustments:
find_nearest_contour and revert contour deprecationsallsegs and allkinds return individual segmentsHighlights of this release include:
REL: v3.8.0
Highlights of this release include:
\boldsymbol command\substack command\middle delimitier\mathbfit for bold italic textecdf (empirical cumulative distribution function)First release candidate for Matplotlib v3.8.0
First release candidate for Matplotlib v3.8.0
This is the fifth bugfix release of the 3.7.x series.
This is the fifth bugfix release of the 3.7.x series.
This release contains two bug-fixes:
plt.pause on the MacOS backendThis is the fourth bugfix release of the 3.7.x series.
This is the fourth bugfix release of the 3.7.x series.
This release contains one bug-fix:
This is the third bugfix release of the 3.7.x series.
This is the third bugfix release of the 3.7.x series.
This release contains several bug-fixes and adjustments:
bbox_inches=tightPath3DCollection / Poly3DCollection constructorstight_layout multiple timesThis is the second bugfix release of the 3.7.x series.
This is the second bugfix release of the 3.7.x series.
This release contains several bug-fixes and adjustments:
pcolor/pcolormesh%pylab mode detectionFigure.get_constrained_layout_pads()Legend.set_draggable() with update="bbox"TransformedBbox.{,full_}containsbar_label textbbox_inchesLayoutGrid objectsAxes that contain widgets that are grabbing the mousexcorrpylabThis is the first bugfix release of the 3.7.x series.
This is the first bugfix release of the 3.7.x series.
This release contains several bug-fixes and adjustments:
Highlights of this release include:
Highlights of this release include:
Plotting and Annotation improvements - hatch parameter for pie - Polar plot errors drawn in polar coordinates - Additional format string options in ~matplotlib.axes.Axes.bar_label - ellipse boxstyle option for annotations - The extent of imshow can now be expressed with units - Reversed order of legend entries - pcolormesh accepts RGB(A) colors - View current appearance settings for ticks, tick labels, and gridlines - Style files can be imported from third-party packages
Improvements to 3D Plotting - 3D plot pan and zoom buttons - adjustable keyword argument for setting equal aspect ratios in 3D - Poly3DCollection supports shading - rcParam for 3D pane color
Figure and Axes Layout - colorbar now has a location keyword argument - Figure legends can be placed outside figures using constrained_layout - Per-subplot keyword arguments in subplot_mosaic - subplot_mosaic no longer provisional
Widget Improvements - Custom styling of button widgets - Blitting in Button widgets
Other Improvements - Source links can be shown or hidden for each Sphinx plot directive - Figure hooks
New & Improved Narrative Documentation - Brand new Animations tutorial. - New grouped and stacked bar chart examples. - New section for new contributors and reorganized git instructions in the contributing guide. - Restructured /tutorials/text/annotations tutorial.
First release candidate for 3.7.0
First release candidate for 3.7.0
Fix deprecation warnings in GTK4 backend
This is the third bugfix release of the 3.6.x series.
This release contains several bug-fixes and adjustments:
axes_grid1 Axes classesinset_locator in subfiguresscatter on masked arrays with unitsHTMLWriterpil_kwargs argument to imsave and savefigRestore get_renderer function in deprecated tight_layout
This is the second bugfix release of the 3.6.x series.
This release contains several bug-fixes and adjustments:
subplotsbbox_inches='tight' on a figure with constrained layout enabledax.hist density with histtype='step'ax.bar that is all NaNstyle.libraryget_renderer function in deprecated tight_layoutAdding a colorbar on a ScalarMappable that is not attached to an Axes is now deprecated instead of raising a hard error
This is the first bugfix release of the 3.6.x series.
This release contains several bug-fixes and adjustments:
get_cmap method to ColormapRegistryScalarMappable that is not attached to an
Axes is now deprecated instead of raising a hard errorbarplot being empty when first element is NaNFigureManager.resize on GTK4fill_between compatibility with NumPy 1.24 development versionhexbin with empty arrays and log scalingresize_event deprecation warnings when creating figure on macOSText in PostScript backendeqnarraystackplot no longer changes the Axes cyclerHighlights of this release include:
Highlights of this release include:
subplots, subplot_mosaic accept height_ratios and width_ratios argumentslayout_engine moduleAxes.inset_axes flexibilitybxp and boxploterrorbar supports markerfacecoloraltstreamplot can disable streamline breaksasinh (experimental)stairs(..., fill=True) hides patch edge by setting linewidthPatch classRectangle patch rotation pointplt.xticks and plt.yticks support minor keyword argumentlegend renamed to ncolsmarker can now be set to the string "none"MarkerStyle join and cap stylemath_to_image now has a color keyword argumentMultiCursor now supports Axes split over multiple figuresPolygonSelector bounding boxesPolygonSelector verticesSpanSelector widget can now be snapped to specified valuessavefig.directory rcParam supportfigure.raise_window rcParam supportSecond release candidate for 3.6.0
Second release candidate for 3.6.0
First release candidate for 3.6.0
First release candidate for 3.6.0
This is the third bugfix release of the 3.5.x series.
This is the third bugfix release of the 3.5.x series.
This release contains several bug-fixes and adjustments:
drawedges=True with extensionspanchor=FalseSubFiguresimshow with all negative valuesBoundaryNormerrorbarstemThis is the second bugfix release of the 3.5.x series.
This is the second bugfix release of the 3.5.x series.
This release contains several bug-fixes and adjustments:
QuadMesh mouse cursor to avoid severe performance regression in pcolormeshscatter plotserrorbar with dashesquiver in subfiguresRangeSlider.set_val displaying incorrectlystairs with no edgecolorreduce do_3d_projection deprecation warnings in external artists
This is the first bugfix release of the 3.5.x series.
This release contains several critical bug-fixes:
add_lines on horizontal colorbarsstreamplot with start points on right or top edgeNoNormCollections.set_offsetserrorbarConciseDataFormatter after zoomdo_3d_projection deprecation warnings in external artistsHighlights of this release include:
Highlights of this release include:
subplot_mosaic supports simple Axes sharingdraw_without_rendering method__init__ passes keyword arguments through to setAnnulus patchset_data method for FancyArrow patchArrowStyle and ConnectionPatchimshow supports half-float arraysNormalize objectsset_ticksText and TextBox parse_math optionTextBox widgetusetex modelabelcolor globallyAxes3D now allows manual control of draw orderplot_surface supports masked arrays and NaNsdata keyword argumentSlider widgetsCallbackRegistry objects gain a method to temporarily block signalsFirst release candidate for v3.5.0
First release candidate for v3.5.0
Nothing published for this version
Clarify deprecation of Axes.figbox
This is the third bugfix release of the 3.4.x series.
This release contains several critical bug-fixes:
Axes.figboxMultiCursor widget on Axes subplots which it is not trackingLineCollection.get_segmentsAxes.clearNorms created from ScalesPath.intersects_pathstackplot with edgecolors='face'supxlabel and supylabel behaviour in constrained layoutDateFormatter styling for month names when usetex=TrueThis is the second bugfix release of the 3.4.x series.
This is the second bugfix release of the 3.4.x series.
This release contains several critical bug-fixes:
subplot_mosaic Axes in the order the user gave them to usdo_3d_projectionCenteredNorm with halfrangebar_label for bars with NaN valuesRangeSlider with valinitpcolormesh with Pandaserrorbar argumentsThis is the first bugfix release of the 3.4.x series.
This is the first bugfix release of the 3.4.x series.
This release contains several critical bug-fixes:
Highlights of this release include:
Highlights of this release include:
subplot_mosaicgca, add_axes, add_subplot)add_subplot/add_axes gained an axes_class parameteraxline supports transform parameterbar and barhBarContainer orientationScalarFormatterAxes.errorbar cycles non-color properties correctlyerrorbar errorevery parameter matches markeveryhexbin supports data reference for C parameterAxes.spines access shortcutsstairs method and StepPatch artistTickedStroke patheffectColormap.set_extremes and Colormap.with_extremescm.unregister_cmap functionCenteredNorm for symmetrical data around a centerFuncNorm for arbitrary normalizationssubplots tick label visibility is now correct for top or left labelsAxes.plotmatplotlib.mathtext now supports overset and underset LaTeX symbolsText font familyTextArea/AnchoredText support horizontalalignmentRangeSlider widgetplot_directive caption optionFFMpegFileWriterThis is the third release candidate for Matplotlib 3.4.0.
This is the third release candidate for Matplotlib 3.4.0.
This is the second release candidate for Matplotlib 3.4.0.
This is the second release candidate for Matplotlib 3.4.0.
This is the first release candidate for Matplotlib 3.4.0.
This is the first release candidate for Matplotlib 3.4.0.
This is the fourth bugfix release of the 3.3.x series.
This is the fourth bugfix release of the 3.3.x series.
This release contains several critical bug-fixes:
QT_API setting with mixed case.This is the third bugfix release of the 3.3.x series.
This is the third bugfix release of the 3.3.x series.
This release contains several critical bug-fixes:
Axis.grid with argument visible=True.imshow.datetime coordinates.datetimes.This is the second bugfix release of the 3.3.x series.
This is the second bugfix release of the 3.3.x series.
This release contains several critical bug-fixes:
Axis scale on twinned AxesFigures in nbaggAxes is off the FigureButton or TextBox widgetsLogNorm and large vmin/vmax rangesDataFrame with string MultiIndexscatter with marker=''scatter3d color/linewidth re-projectionThis is the first bugfix release of the 3.3.x series.
This is the first bugfix release of the 3.3.x series.
This release contains several critical bug-fixes:
hist with categorical data, such as with PandasPathsimreadHighlights of this release include:
Highlights of this release include:
For the full details please see the What's New and API changes in the documentation.
Nothing published for this version
This is the second bugfix release of the 3.2.x series.
This is the second bugfix release of the 3.2.x series.
This release contains several critical bug-fixes:
Your coding agent can read these notes before it upgrades. Set up the MCP server →