Scikit Build Versions Save

Improved build system generator for CPython C, C++, Cython and Fortran extensions

0.16.4

1 year ago

This releases backports additions for Windows ARM cross-compiling via cibuildwheel from scikit-build-core 0.1.4.

  • Initial experimental support for Windows ARM cross-compile in #824 and #818
  • Replace mailing list with GitHub Discussions board in #823
  • Some CI updates in #811 and #812

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.16.3...0.16.4

0.16.3

1 year ago

This release fixes logging issues using setuptools 65.6+ affecting our tests. Pytest 7.2+ is now supported. setup.py <command> and setup_requires are deprecated, and tests are marked as such.

  • Fix typo in usage.rst in #795, thanks to @chohner.
  • Support pytest 7.2+ in #801.
  • Change warning filtering in #802.
  • Handle logging changes in setuptools 65.6+ in #807.
  • Add deprecated markers to some tests in #807.
  • Allow known warnings to show up in the tests #807.

New Contributors

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.16.2...0.16.3

0.16.2

1 year ago

This addresses one more small regression with the FindPython change from 0.16.0 that was affecting conda. #793

0.16.1

1 year ago

This was a quick patch release that fixed a missing Python requires setting and some missing files #790, and addressed a warning from setuptools in the tests.

  • Ignored distutils warning #785. Thanks to @bnavigator!

0.16.0

1 year ago

This release adds support for Python 3.11 and removes support for Python 2.7 and 3.5 (#688). Testing and static checking improved, including being fully statically typed internally (though setuptools is not fully typed, so it is of limited use).

All deprecated setuptools/distutils features are also deprecated in scikit-build, like the test command, easy_install, etc. Editable mode is still unsupported. Python 3.6 support is deprecated. Older versions of CMake (<3.15) are not recommended; a future version will remove support for older CMake's (along with providing a better mechanism for ensuring a proper CMake is available). If you need any of these features, please open or find an issue explaining what and why you need something.

New Features

  • Cython module now supports FindPython mode. #743
  • PyPy is discovered without extra settings in FindPython mode #744

Bug fixes

  • FindPython mode uses a new path specification, should help make it usable. #774
  • Better flushing and output streams for more consistent output ordering. #781

0.15.0

2 years ago

This release is the final (again) release for Python < 3.6 and MSVC<2017. Support for FindPython from CMake 3.12+ was added, including FindPython2. Support for Cygwin added.

New Features

  • Add support for FindPython (including 2 and 3). Thanks @hameerabbasi for the contribution. See #712.
  • Add support for Cygwin. Thanks @ax3l and @DWesl and @poikilos for the help! See #485.

Bug fixes

  • Fixed issue with distutils usage in Python 3.10. Thanks to @SuperSandro2000 for the contribution in #700.

0.14.1

2 years ago

This release fixes a regression, and reverts a fix in 0.14.0. Some changes made to CI to fix recent removals.

Bug fixes

  • Fix issue with SKBUILD_CONFIGURE_OPTIONS not being read.
  • Reverted manifest install changes.

0.14.0

2 years ago

This is the final release for Python <3.6 and MSVC<2017.

New Features

  • Add support for --install-target scikit-build command line option. And cmake_install_target in setup.py. Allows providing an install target different than the default install. Thanks @phcerdan for the contribution. See #477.

Bug fixes

  • The manifest install location computation was fixed. Thanks @kratsg for the contribution in #682.
  • Byte-compilation was skipped due to a missing return. Thanks @pekkarr in #678.
  • Packages can now be computed from the same shared collections, before this could confuse Scikit-build. Thanks @vyasr in #675.
  • Fixed library detection for PyPy 3.9. Thanks @rkaminsk in #673.

Internal

  • Scikit-build now uses pyproject.toml and setuptools_scm to build. If you are packaging scikit-build itself, you might need to update your requirements. See #634.
  • The codebase is now formatted with Black. #665

0.13.1

2 years ago

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. #653
  • Do not throw an error when printing info and a logger is disconnected. #652

0.13.0

2 years ago

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 MSVC 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 /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 #518 and #519, thanks to @bdice for the improvement.
  • Experimental support for ARM64 on Windows. Thanks to @gaborkertesz-linaro in #612.
  • Support for MSVC 2022. Thanks to @tttapa for the contribution in #627.
  • Support the modern form of target_link_libraries, via SKBUILD_LINK_LIBRARIES_KEYWORD (somewhat experimental). Thanks to @maxbachmann in #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. #631, thanks to @RUrlus and @segevfiner for help in tracking this down.
  • Allow OpenBSD to pass the platform check (untested). See #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. #607
  • Fix logging issue when using Setuptools 60.2+. #623
  • MacOS cross compiling support fix (for conda-forge) for built-in modules. Thanks to @isuruf for the contribution in #622.
  • Better detection of the library path, fixes some issues with PyPy. Thanks to @rkaminsk for the contribution in #620 and #630. PyPy is now part of our testing matrix as of #624. Also @robtaylor in #632.
  • Fixed issue when cross-compiling on conda-forge (probably upstream bug, but easy to avoid). #646.