1+ Development changes
2+ -------------------
3+
14Build system ported to Meson
2- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
36
47The build system of Matplotlib has been ported from setuptools to `meson-python
58<https://meson-python.readthedocs.io> `_ and `Meson <https://mesonbuild.com >`_.
@@ -26,7 +29,7 @@ Consequently, there have been a few changes for development and packaging purpos
2629
2730 may be replaced by passing the following arguments to ``pip ``::
2831
29- --config-settings=setup-args="-DrcParams-backend=Agg" \
32+ --config-settings=setup-args="-DrcParams-backend=Agg"
3033 --config-settings=setup-args="-Dsystem-qhull=true"
3134
3235 Note that you must use ``pip `` >= 23.1 in order to pass more than one setting.
@@ -37,10 +40,45 @@ Consequently, there have been a few changes for development and packaging purpos
3740 <https://mesonbuild.com/Builtin-options.html#details-for-vsenv> `_ if you wish to
3841 change the priority of chosen compilers.
39425. Installation of test data was previously controlled by :file: `mplsetup.cfg `, but has
40- now been moved to Meson's install tags. To install test data, add the ``tests ``
41- tag to the requested install (be sure to include the existing tags as below)::
43+ now been moved to Meson's install tags. To install test data, add the ``tests `` tag
44+ to the requested install (be sure to include the existing tags as below)::
4245
4346 --config-settings=install-args="--tags=data,python-runtime,runtime,tests"
44476. Checking typing stubs with ``stubtest `` does not work easily with editable install.
4548 For the time being, we suggest using a normal (non-editable) install if you wish to
4649 run ``stubtest ``.
50+
51+ Increase to minimum supported versions of dependencies
52+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
53+
54+ For Matplotlib 3.9, the :ref: `minimum supported versions <dependencies >` are being
55+ bumped:
56+
57+ +------------+-----------------+---------------+
58+ | Dependency | min in mpl3.8 | min in mpl3.9 |
59+ +============+=================+===============+
60+ | NumPy | 1.21.0 | 1.23.0 |
61+ +------------+-----------------+---------------+
62+ | setuptools | 42 | 64 |
63+ +------------+-----------------+---------------+
64+
65+ This is consistent with our :ref: `min_deps_policy ` and `SPEC 0
66+ <https://scientific-python.org/specs/spec-0000/> `__.
67+
68+ To comply with requirements of ``setuptools_scm ``, the minimum version of ``setuptools ``
69+ has been increased from 42 to 64.
70+
71+ Extensions require C++17
72+ ^^^^^^^^^^^^^^^^^^^^^^^^
73+
74+ Matplotlib now requires a compiler that supports C++17 in order to build its extensions.
75+ According to `SciPy's analysis
76+ <https://docs.scipy.org/doc/scipy/dev/toolchain.html#c-language-standards> `_, this
77+ should be available on all supported platforms.
78+
79+ Windows on ARM64 support
80+ ^^^^^^^^^^^^^^^^^^^^^^^^
81+
82+ Windows on ARM64 now bundles FreeType 2.6.1 instead of 2.11.1 when building from source.
83+ This may cause small changes to text rendering, but should become consistent with all
84+ other platforms.
0 commit comments