Releases: scikit-build/scikit-build-core
Version 0.9.8
This version ships a few more small fixes. Multi-target builds were missing build arguments due to an exhausted generator. And some packages seem to hard-code ${CMAKE_INSTALL_PREFIX}
in the install()
call, which is an anti-pattern, but we can set that variable too. More tests now run on Python 3.7.
What's Changed
Fixes:
- Empty build arguments for some targets in multi-target build by @junrushao in #784
- Support packages that hardcode
CMAKE_INSTALL_PREFIX
in theirinstall
commands by @henryiii in #786 - Logger shouldn't warn for missing lib on UNIX by @henryiii in #787
Tests:
New Contributors
- @junrushao made their first contribution in #784
Full Changelog: v0.9.7...v0.9.8
Version 0.9.7
This release makes a few small fixes, enabling better Fortran support and correct tags on MUSL. And releases now have Attestations on GitHub at https://github.com/scikit-build/scikit-build-core/attestations.
What's Changed
Fixes:
- Set
CC
andCXX
from sysconfig if not set by @henryiii in #782 musllinux
tag incorrect by @henryiii in #773- Logger unconditionally set to
DEBUG
in non-PEP 517 usage by @henryiii in #779
Documentation:
- Fix Fortran example by @henryiii in #771
- Fix typo in skbuild soabi docs by @henryiii in #775
- Fortran and Cython updates by @henryiii in #781
Full Changelog: v0.9.6...v0.9.7
Version 0.9.6
This release provides a fix for the experimental setuptools plugin leaking and
affecting other setuptools plugins.
What's Changed
Fixes:
- Improve error message when
metadata.version.provider
not set by @thewtex in #762 - Only inject logic if
cmake_*
keywords present by @kiwifb in #768 - Only replace color tags if the color is defined by @bnavigator in #764
New Contributors
Full Changelog: v0.9.5...v0.9.6
Version 0.9.5
This release fixes building for the the Windows variant of free-threaded Python 3.13.
What's Changed
Fixes:
- Support Windows free-threading by @henryiii in #759
- Strip whitespace around generator so that it's passed through correctly by @vyasr in #748
Documentation:
- Note that
-C
options can be prefixed withskbuild.
by @KyleFromNVIDIA in #754
CI and testing:
Version 0.9.4
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:
- Fix example of configuration overrides in configuration.md by @wu-vincent in #739
- Update stable ABI instructions by @henryiii in #740
CI and testing:
- Use pylint 3.2, gha reporter by @henryiii in #745
- Some minor improvements to running tests on some systems by @henryiii in #741
New Contributors
- @wu-vincent made their first contribution in #739
Full Changelog: v0.9.3...v0.9.4
Version 0.9.3
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:
- Use
macos-13
andmacos-14
explicitly by @henryiii in #724 macos-latest
is changing tomacos-14
ARM runners by @henryiii in #725
New Contributors
Full Changelog: v0.9.2...v0.9.3
Version 0.9.2
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
Version 0.9.0
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:
- Preserve additivity of
cmake.define
acrossoverrides
tables by @stubbiali in #564 - Add metadata dir access by @henryiii in #702
- Experimental hatchling builder by @henryiii and @aryamanjeendgar in #637
- Vendor pyproject-metadata by @henryiii in #703
- Always require pathspec by @henryiii in #711
Fixes:
- Exclude installed files if listed in exclude by @henryiii in #652
- Make
.git_archival.txt
reproducible by @LecrisUT in #706 - Use
cmake -E
capabilities instead ofcmake --version
by @KyleFromNVIDIA in #675 - Ensure many/musl tags not selected by @henryiii in #698
- purelib should set py3 tag if unset by @henryiii in #661
- Validate description for 0.9+ by @henryiii in #709
- Support bools in config settings by @henryiii in #712
API changes:
extra_settings
for SettingsReader by @henryiii in #697GetRequires
args changed by @henryiii in #699- Make
from_file
a little more powerful by @henryiii in #700 - Metadata is part of the build backend by @henryiii in #708
Documentation:
cmakelists.md
WindowsSOABI
suffix variable by @thewtex in #684- Fix hatch init command by @thewtex in #677
- Fix install strip default by @henryiii in #681
- Improve
ninja.make-fallback
description in the README by @thewtex in #676 - Mention printouts by @henryiii in #660
CI and testing:
- Lower
pybind11
test dependency by @LecrisUT in #691 - Some cleanup from uv branch by @henryiii in #686
- Fedora CI maintenance by @LecrisUT in #689
- Small additions by @henryiii in #694
- Some changes from uv job by @henryiii in #693
- Fix setuptools on Python 3.12 by @henryiii in #701
- Fedora: Port downstream PR-49 by @LecrisUT in #678
New Contributors
- @KyleFromNVIDIA made their first contribution in #675
Full Changelog: v0.8.2...v0.9.0
Version 0.8.2
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