===================
New Features
------------
* Add a hook to process the cmake install manifest building the wheel. The hook
function can be specified as an argument to the ``setup()`` function. This can be used e.g.
to prevent installing cmake configuration files, headers, or static libraries with the wheel.
Thanks :user:`SylvainCorlay` for the contribution. See :issue:`473`.
* Add support for passing :ref:`CMake configure options <usage_cmake_configure_options>` like ``-DFOO:STRING:bar``
as global ``setuptools`` or ``pip`` options.
* Add support for building project using PyPy or PyPy3. See https://pypy.org
See :issue:`407`.
* Add support for OS/400 (now known as IBM i).
Thanks :user:`jwoehr` for the contribution. See :issue:`444`.
* Display CMake command used to configure the project.
Thanks :user:`native-api` for the contribution. See :issue:`443`.
* CMake modules:
* Improve CMake module :doc:`/cmake-modules/F2PY` adding ``add_f2py_target()`` CMake function
allowing to generate ``*-f2pywrappers.f`` and `*module.c` files from ``*.pyf`` files.
Thanks :user:`xoviat` for the contribution.
* Update CMake module :doc:`/cmake-modules/PythonExtensions` adding ``add_python_library()``
and ``add_python_extension()``.
Thanks :user:`xoviat` for the contribution.
Bug fixes
---------
* Fix python 2.7 installation ensuring setuptools < 45 is required. See :issue:`478`.
* Fix unclosed file resource in :meth:`skbuild.cmaker.CMaker.check_for_bad_installs`.
Thanks :user:`Nic30` for the suggestion. See :issue:`429`.
* Update CMake module :doc:`/cmake-modules/PythonExtensions`:
* Ensure correct suffix is used for compiled python module on windows. See :issue:`383`.
* Fix warning using ``EXT_SUFFIX`` config variable instead of deprecated ``SO`` variable. See :issue:`381`.
* Honor the ``MACOSX_DEPLOYMENT_TARGET`` environment variable if it is defined on
macOS. Thanks :user:`certik` for the contribution. See :issue:`441`.
* Fix CMake module :doc:`/cmake-modules/F2PY` to ensure the ``f2py`` executable specific to
the python version being used is found. See :issue:`449`. Thanks :user:`bnavigator` for
the contribution.
* Replace ``platform.linux_distribution()`` which was removed in Python 3.8 by a call to
``distro.id()``. This adds the ``distro`` package as dependency. See :issue:`458`. Thanks
:user:`bnavigator` for the contribution.
Documentation
-------------
* Add notes section to the ``For maintainers`` top-level category that includes a comparison between
``sysconfig`` and ``distutils.sysconfig`` modules.
* Remove obsolete comment in ``cmaker.py``. See :issue:`439`. Thanks :user:`isuruf`
Tests
-----
* Update ``initialize_git_repo_and_commit`` to prevent signing message on system with commit signing
enabled globally.