Skip to content

Releases: scikit-build/scikit-build-core

Version 0.9.4

14 May 19:14
Compare
Choose a tag to compare

Version 0.9.4

This version supports the newly available free-threading variant of Python 3.13b1 (mostly related to skipping the stable ABI). We test this via the manylinux/musllinux images. There's also a new feature requested by third-party packagers: the ability to pass args directly to the build tool.

Features:

Fixes:

  • Support free-threaded builds of Python 3.13+ by @henryiii in #741
  • Slightly better stable ABI behavior using PyPy by @henryiii in #741

Documentation:

CI and testing:

New Contributors

Full Changelog: v0.9.3...v0.9.4

Version 0.9.3

29 Apr 19:32
270dee6
Compare
Choose a tag to compare

This version ensures the Hatchling plugin correctly indicates editable mode is not yet supported, supports CMAKE_ARGS that have spaces, and has a bit of other minor cleanup.

What's Changed

Fixes:

  • Properly indicate lack of editable support in Hatch plugin by @ofek in #728
  • Don't generate entrypoints.txt if none set by @henryiii in #729
  • Don't warn if lib not found on UNIX, just debug by @henryiii in #730
  • Support CMAKE_ARGS that may have spaces inside quotes by @vyasr in #727

Docs:

CI and testing:

New Contributors

  • @ofek made their first contribution in #728

Full Changelog: v0.9.2...v0.9.3

Version 0.9.2

21 Apr 04:12
2aabc74
Compare
Choose a tag to compare

Quick fix for quick fix in 0.9.1; if cmake is a broken script (which can happen if you pip install outside an environment then enter an environment, there was an unbound local error instead of ignoring the broken cmake script.

What's Changed

Fixes:

Full Changelog: v0.9.1...v0.9.2

Version 0.9.1

20 Apr 00:21
c3e8c06
Compare
Choose a tag to compare

Quick fix for Pyodide (WebAssembly) builds.

What's Changed

Full Changelog: v0.9.0...v0.9.1

Version 0.9.0

19 Apr 04:26
f844088
Compare
Choose a tag to compare

This version adds the ability to inherit in override tables, matching a similar feature added to cibuildwheel 2.17's overrides. You can now write out extra metadata to ${SKBUILD_METADATA_DIR}. A new Hatchling plugin is provided as an experimental feature (will likely be made a separate package in the future like the setuptools plugin).

The meaning of wheel.exclude has been changed to match on the wheel path, rather than the source path. We could not find any projects that would be affected by this change, so it was not added to the minimum-version protection policy. This now allows you to ignore CMake outputs as well.

What's Changed

Features:

Fixes:

API changes:

Documentation:

CI and testing:

New Contributors

Full Changelog: v0.8.2...v0.9.0

Version 0.8.2

29 Feb 22:05
160bbca
Compare
Choose a tag to compare

This version fixes a few small issues related to configuration. The wheel tag is fixed when wheel.platlib is False, inplace editable installs ignore build-dir, and install-dir no longer affects the generate path.

What's Changed

Fixes:

  • Ensure wheel.platlib being false sets <abi>-<platform> as "none-any" by @jcfr in #655
  • Inplace editable install should ignore build-dir by @henryiii in #644
  • install-dir shouldn't affect generate path by @henryiii in #654
  • Expand info printing by @henryiii in #651

Documentation:

  • Clarify requirement for using "inplace" editable mode by @jcfr in #643
  • Update README to use modern GitHub admonition by @jcfr in #641
  • be explicit about what it means to "use SKBUILD_SOABI" by @minrk in #646

New Contributors

Full Changelog: v0.8.1...v0.8.2

Version 0.8.1

14 Feb 19:08
4ab6373
Compare
Choose a tag to compare

This version fixes two small issues with specific situations: if ninja/cmake is present but not executable, and ninja on Windows not respecting the build type.

What's Changed

Fixes:

Documentation:

New Contributors

Full Changelog: v0.8.0...v0.8.1

Version 0.8.0

23 Jan 19:27
b2ea030
Compare
Choose a tag to compare

This version replaces the cmake/ninja minimum-version config option with a more powerful free-form version field. Scikit-build-core will now respect CMAKE_EXECUTABLE for finding CMake. You can override based on the build state, allowing overrides for editable installs, for example. You can specify a build tag (AKA build number). And you can define CMake variables from environment variables.

What's Changed

Features:

Fixes:

Tests and internal:

New Contributors

Full Changelog: v0.7.1...v0.8.0

Version 0.7.1

01 Jan 16:17
38421ab
Compare
Choose a tag to compare

This is a quick fix for a downstream change in hatch-fancy-pypi-readme that broke our plugin wrapper.

Fixes:

  • Patch for change in hatch-fancy-pypi-readme by @henryiii in #593

CI and tests:

Docs:

Full Changelog: v0.7.0...v0.7.1

Version 0.7.0

30 Nov 19:20
4db5a8a
Compare
Choose a tag to compare

This release features several large improvements to overrides: a new if.any group to allow selections based on any item being true, and a new if.env option for selecting an override based on environment variables. You can now build pure Python packages with wheel.cmake = false, perfect for providing a slower pure Python version of a package on unsupported systems via overrides.

There's also a new inplace mode for editable installs, which has drawbacks but feels like the classic "--inplace" setting in setuptools and can enable some tooling that would otherwise not support modern editable installs to work. If you are using Cython to access .pxd files, modern ("redirect") editable installs now support that. And to help avoid collisions with a future user feature, config settings can now be passed with an optional namespace, skbuild., as well.

Features:

Fixes:

  • Correct issue with editable template & add more tests by @henryiii in #552
  • Support editable installs of Cython .pxd files by @vyasr in #516

CI:

Docs:

Full Changelog: v0.6.1...v0.7.0