Scikit-build

Latest version: v0.17.6

Safety actively analyzes 630169 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 10

0.13.1

===================

This release fixes two bugs affecting Windows. Users should use ``"ninja;
platform_system!='Windows"``, at least for now, since MSVC ships with Ninja,
and that Ninja is better at finding the matching MSVC than the Python package
is. Including it may slow down the search and force the IDE generator instead,
but will at least no longer discover GCC instead.

Bug fixes
---------

* On Windows, don't let Ninja find something other than what it's supposed to
look for. Ensure the Ninja package is used for the search, just like normal
runs, if installed. :pr:`652`.
* Do not throw an error when printing info and a logger is disconnected. :pr:`652`

0.13.0

===================

This is likely one of the final releases to support Python 2.7 and 3.5; future
releases will likely target at least Python 3.6+ and MSCV 2017+.

If you are using scikit-build via ``pyproject.toml``, please remember to
include ``setuptools`` and ``wheel``. A future version of scikit-build may
remove the setuptools install-time hard requirement.

New Features
------------

* CMake module :doc:`/cmake-modules/Cython` now uses Cython default arguments.
This no longer adds ``--no-docstrings`` in Release and MinSizeRel builds, so
Cython docstrings are now retained by default. Additionally,
``--embed-positions`` is no longer added to Debug and RelWithDebInfo builds.
Users can enable these and other Cython arguments via the option
``CYTHON_FLAGS``. See :issue:`518` and :pr:`519`, thanks to :user:`bdice` for
the improvement.

* Experimental support for ARM64 on Windows. Thanks to :user:`gaborkertesz-linaro` in :pr:`612`.

* Support for MSVC 2022. Thanks to :user:`tttapa` for the contribution in :pr:`627`.

* Support the modern form of ``target_link_libraries``, via
``SKBUILD_LINK_LIBRARIES_KEYWORD`` (somewhat experimental). Thanks to
:user:`maxbachmann` in :pr:`611`.


Bug fixes
---------

* Update the Ninja path if using the ``ninja`` package. This fixes repeated
isolated builds. Further path inspection and updates for isolated
builds may be considered in the future. :pr:`631`, thanks to
:user:`RUrlus` and :user:`segevfiner` for help in tracking this down.

* Allow OpenBSD to pass the platform check (untested). See :pr:`586`.

* Avoid forcing the min macOS version. Behaviour is now inline with setuptools.
Users should set ``MACOSX_DEPLOYMENT_TARGET`` when building (automatic with
cibuildwheel), otherwise you will get the same value Python was compiled
with. Note: This may seem like a regression for PyPy until the next release
(7.3.8), since it was compiled with 10.7, which is too old to build with on
modern macOS - manually set ``MACOSX_DEPLOYMENT_TARGET`` (including setting
it if unset in your ``setup.py``) for PyPy until 7.3.8. :pr:`607`

* Fix logging issue when using Setuptools 60.2+. :pr:`623`

* MacOS cross compiling support fix (for conda-forge) for built-in modules.
Thanks to :user:`isuruf` for the contribution in :pr:`622`.

* Better detection of the library path, fixes some issues with PyPy. Thanks
to :user:`rkaminsk` for the contribution in :pr:`620` and :pr:`630`. PyPy
is now part of our testing matrix as of :pr:`624`. Also :user:`robtaylor`
in :pr:`632`.

* Fixed issue when cross-compiling on conda-forge (probably upstream bug, but
easy to avoid). :pr:`646`.

0.12.0

===================

The scikit-build GitHub organization welcomes :user:`henryiii` and :user:`mayeut` as core contributors
and maintainers. Both are also maintainers of `cibuildwheel <https://cibuildwheel.readthedocs.io>`_.

:user:`henryiii` is a `pybind11 <https://pybind11.readthedocs.io>`_ and `pypa/build <https://pypa-build.readthedocs.io>`_ maintainer, has been instrumental in adding Apple Silicon support, adding support for Visual Studio 2019, updating
the Continuous Integration infrastructure, as well as helping review & integrate contributions, and addressing
miscellaneous issues. Additionally, :user:`henryiii` has worked on an `example project <https://github.com/pybind/scikit_build_example>`_ to build with ``pybind11`` and ``scikit-build``.

:user:`mayeut` is a `manylinux <https://github.com/pypa/manylinux>`_ maintainer and
focused his effort on updating the ``cmake-python-distributions`` and ``ninja-python-distributions`` so
that the corresponding wheels are available on all supported platforms including Apple Silicon and all flavors
of manylinux.

New Features
------------

* Support Apple Silicon, including producing Universal2 wheels (:pr:`530`) and
respecting standard setuptools cross-compile variables (:pr:`555`). Thanks to
:user:`YannickJadoul` for the contributions.

* Support MSVC 2019 without having to run it with the MSVC activation
variables, just like 2017 and earlier versions. Thanks to :user:`YannickJadoul` for the contribution in :pr:`526`.

Bug fixes
---------

* Support ``-A`` and ``-T`` internally when setting up MSVC generators.
Architecture now always passed through ``-A`` to MSVC generators. Thanks
:user:`YannickJadoul` for the contribution. See
:pr:`557` and :pr:`536`.

* Fixed a regression that caused setuptools to complain about unknown setup option
(`cmake_process_manifest_hook`). Thanks :user:`Jmennius` for the contribution. See :pr:`498`.

* If it applies, ensure generator toolset is used to configure the project.
Thanks :user:`YannickJadoul` for the contributions. See :pr:`526`.

* Read ``CYTHON_FLAGS`` where needed, instead of once, allowing the user to
define multiple modules with different flags. Thanks :user:`oiffrig` for the
contributions in :pr:`536`.

* Avoid an IndexError if prefix was empty. Thanks :user:`dfaure` for the contributions
in :pr:`522`.

Documentation
-------------

* Update ``Conda: Step-by-step`` release guide available in :doc:`/make_a_release` section.

* Update links to CMake documentation pages in :doc:`/generators`. Thanks :user:`Eothred` for the contributions in :pr:`508`.

Tests
-----

* Improve and simplify Continuous Integration infrastructure.

* Support ``nox`` for running the tests locally. See :pr:`540`.

* Use GitHub Actions for Continuous Integration and remove use of scikit-ci, tox, TravisCI, AppVeyor and CircleCI. See :pr:`549`, :pr:`551` and :pr:`552`.

* Add support for testing against Python 3.10. See :pr:`565`.

* Style checking handled by pre-commit. See :pr:`541`.

* Check for misspellings adding GitHub Actions workflow using codespell. See :pr:`541`.

* Fix linting error `F522 <https://flake8.pycqa.org/en/latest/user/error-codes.html>`_ reported with flake8 >= 3.8.x. Thanks :user:`benbovy` for the contributions. See :issue:`494`.

* Fix regex in tests to support Python 3.10. Thanks :user:`mgorny` for the contributions in :pr:`544`.

0.11.1

===================

Bug fixes
---------

* Support using scikit-build with conan where ``distro<1.2.0`` is required.
Thanks :user:`AntoinePrv` and :user:`Chrismarsh` for reporting issues :issue:`472`
and :issue:`488`.

Documentation
-------------

* Fix link in ``Conda: Step-by-step`` release guide available in :doc:`/make_a_release` section.

0.11.0

===================

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.

0.10.0

===================

New Features
------------

* Improve message displayed when discovering a working environment for building projects.
For example, instead of displaying ``-- Trying "Ninja" generator``, it now displays a message
like ``-- Trying "Ninja (Visual Studio 15 2017 Win64 v140)" generator``.

Bug fixes
---------

* Checking generator candidates can now handle handle paths and binaries with
spaces, so that ``setup.py --cmake-executable "C:/Program Files
(x86)/cmake/cmake.exe"`` works as expected.
Contributed by :user:`jokva`. See :issue:`400`.

* Fix sdist command to ensure symlinks in original source tree are maintained.
Contributed by :user:`anibali`. See :issue:`401`.

* Ensure use of ``bdist_egg`` or ``bdist_rpm`` commands trigger build using cmake.

* Fix default value returned by :func:`skbuild.constants.skbuild_plat_name()` on macOS.
See :issue:`417`.

Internal API
------------

* Add :func:`skbuild.platform_specifics.windows.find_visual_studio`.

Documentation
-------------

* Fix typo in example associated with :doc:`/cmake-modules/PythonExtensions`.
Thanks :user:`eirrgang` for the contribution.

* Update :doc:`/make_a_release` section to include ``Conda: Step-by-step`` release guide.

Tests
-----

* Introduce ``check_sdist_content()`` and fix tests that are checking content of sdist to
account for changes introduced in Python 3.8 and backported to python 2.7, 3.6 and 3.7.
The changes introduced in `python/cpython9419 <https://github.com/python/cpython/pull/9419>`_
adds directory entries to ZIP files created by distutils. Thanks :user:`anibali` for the
contribution. See :issue:`404`.

* Fix ``check_wheel_content()`` to consider changes in ``0.33.1 < wheel.__version__ < 0.33.4``
where directory entries are included when building wheel.
See _`pypa/wheel294 <https://github.com/pypa/wheel/issues/294>`.

* Fix reporting of ``AssertionError`` raised in ``check_wheel_content()`` function by relocating the
source code into a dedicated module ``tests.pytest_helpers`` and by adding a ``conftest.py``
configuration file registering it for pytest assertion rewriting.
See https://docs.pytest.org/en/latest/writing_plugins.html#assertion-rewriting and :issue:`403`.

* Fix ``test_generator_selection`` when building with "Visual C++ for Python 2.7"
installed for all users. This addresses failure associated with ``win_c_compilervs2008cxx_compilervs2008python2.7``
when running test in `scikit-build-feedstock <https://github.com/conda-forge/scikit-build-feedstock>`_ where
"Visual C++ for Python 2.7" is installed using (`vcpython27 <https://chocolatey.org/packages/vcpython27>`_ chocolatey
package.

* Continuous Integration

* Add support for Azure Pipelines for Python 3.7 32-bit and 64-bit

* AppVeyor: Disable test for Python 3.7 32-bit and 64-bit.

* CircleCI: Update version of docker images from jessie to stretch. This addresses
issue `circleci/circleci-images370 <https://github.com/circleci/circleci-images/issues/370#issuecomment-476611431>`_.

* TravisCI: Remove obsolete Python 3.4 testing. It reached `end-of-life on March 18 2019 <https://devguide.python.org/devcycle/?highlight=end%20of%20life#end-of-life-branches>`_.

Page 4 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.