Releases: scikit-build/scikit-build-core
Version 0.7.0
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:
- Add inplace mode for editable installs by @henryiii in #553
- Add
wheel.exclude
by @henryiii in #560 - Support cmake-less runs (for overrides) by @henryiii in #550
- Support
if.any
by @henryiii in #548 - Support
if.env
by @henryiii in #549 - Support namespaced config settings (
skbuild.
) by @henryiii in #556
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
Version 0.6.1
Fixes:
- Editable package imports fix (regression in 0.6.0) by @henryiii in #546
- Filter
CMAKE_ARGS
and debug printout by @henryiii in #543
Docs:
Tests and internal:
- Add a bit to Ruff config by @henryiii in #544
- Support editable installs in downstream nox check by @henryiii in #533
- Use ruff-format by @henryiii in #536
- Small updates from repo-review by @henryiii in #537
- Refactor and unit test editable install by @henryiii in #545
Full Changelog: v0.6.0...v0.6.1
Version 0.6.0
Features:
- Adding overrides by @henryiii in #514
- Overrides platform node by @0xTowel in #526
- Support
importlib.resources
in editable installs by @LecrisUT in #399
Fixes:
- Better handling for -G by @henryiii in #483
- Nicer error message when SCM version missing by @henryiii in #528
- (schema) Fix a typo and better metadata support by @henryiii in #522
- (setuptools) Remove
DEBUG
envvar by @henryiii in #527
Tests and internal:
- Use virtualenv instead by @henryiii in #371
- Pre-commit update & a couple of touchups by @henryiii in #519
Docs:
Full Changelog: v0.5.1...v0.6.0
Version 0.5.1
What's Changed
Features:
- Add
{build_type}
and{state}
tobuild-dir
by @henryiii in #504 - Include 'python' dir as an auto search path by @henryiii in #499
Fixes:
- Parse CMake version strings containing '-' by @jllllll in #508
- Set NumPy include directory if known by @henryiii in #482
- Adapt for
setuptools_scm
8 writing change by @henryiii in #509 - (setuptools) Support
build_type
set in toml by @henryiii in #498
Tests and internal:
- Nicer nox for docs by @henryiii in #479
- Some extra Ruff checks by @henryiii in #478
- Packit sync by @LecrisUT in #476
Docs:
- Fix template-file with template-path by @Freed-Wu in #485
wheel.py.api
->wheel.py-api
by @njzjz in #488- A single-letter change in Configuration by @wojdyr in #490
- Fix typo in
SKBUILD_CMAKE_DEFINE
env var by @aloisklink in #501 - Typo in Configuration by @elazarcoh in #493
- Update and add discord link by @henryiii in #477
- Add page on cross-compiling by @henryiii in #510
New Contributors
- @Freed-Wu made their first contribution in #485
- @wojdyr made their first contribution in #490
- @elazarcoh made their first contribution in #493
- @aloisklink made their first contribution in #501
- @jllllll made their first contribution in #508
Full Changelog: v0.5.0...v0.5.1
Version 0.5.0
Features:
- Add option to run CMake during SDist creation by @henryiii in #454
- Add a schema for validate-pyproject by @henryiii in #447, #450, #455
- Added regex plugin and dynamic-metadata rewrite by @henryiii in #457
- Add configuration option to write metadata to file by @henryiii in #459
Fixes:
- Normalize sdist names by @henryiii in #434
- Report cmake/ninja required if already present by @henryiii in #462
Tests and internal:
- Support Literals in settings by @henryiii in #460
- Clean up some extraneous types by @henryiii in #461
- Use 2x faster black mirror by @henryiii in #456
- Fix Fedora CI by @LecrisUT and @henryiii in #449, #464, #469
- Increase timeout (PyPy slow) by @henryiii in #465
- Cleaner Fedora testing by @LecrisUT in #470
Docs:
- Fix error in config names by @jpn-- in #453
- More generation of docs by @henryiii in #452
- Require Sphinx >= 7 while waiting on Furo by @henryiii in #473
- Require Sphinx < 7.2 while waiting on Setuptools by @henryiii in #473
- Fix an import check issue by @LecrisUT in #471
New Contributors
Full Changelog: v0.4.8...v0.5.0
Version 0.4.8
This release focus on two fixes that correct some interference issues with other setuptools plugins. A few new features were added (opt-in only): the ability to select build targets, install components, and opt-in --strip
(will be opt-out in 0.5 if the minimum-version is set to 0.5+ or unset).
Features:
- Add build target support by @henryiii in #432
- Add component support and strip support by @henryiii in #430
Fixes:
- (setuptools) Avoid instantiating build too soon by @henryiii in #443
- (setuptools) Avoid interfering with other setuptools plugins by @henryiii in #414
- Only link to valid module paths (not things like gitignore) in editable installs by @henryiii in #444
Docs:
- Fix typo and invalid Markdown in
getting_started.md
by @0xTowel in #439 - Conf tabs as extension by @henryiii in #433
- Fix
nanobind
/pybind11
src
& sp-dev by @henryiii in #429 - Link to source by @henryiii in #431
- Small suggestions for docs by @rebecca-burwei in #428
Tests and other:
- Fix fedora downstream tests by @LecrisUT in #416
- Ruff moved to astral-sh by @henryiii in #418
target-version
no longer needed by Black or Ruff by @henryiii in #419- Use
get_origin
/get_args
by @henryiii in #423
New Contributors
- @rebecca-burwei made their first contribution in #428
- @0xTowel made their first contribution in #439
Full Changelog: v0.4.7...v0.4.8
Version 0.4.7
This version fixes a unused variable message in 0.4.6, along with a debug
logging improvement, and a few test fixes, including a regression in the recent
noxfile reworking.
What's Changed
- fix: remove
SKBUILD_STATE
unused message when building by @henryiii in #401 - fix: logging environment should use reprs by @henryiii in #409
Tests and CI:
- Support running tests with
NO_COLOR
by @henryiii in #407 noxfile.py
added to mypy, two fixes by @henryiii in #408- Get packages of interest from
pyproject.toml
by @henryiii in #402 - Enable more tests in the spec file by @LecrisUT in #400
Full Changelog: v0.4.6...v0.4.7
Version 0.4.6
This release has one small new feature (access to ${SKBUILD_STATE}
from CMake), and fixes an issue when adding read-only files on Windows with Python 3.7. Some testing and docs infrastructure updates should make it easier for downstream packagers to ship scikit-build-core.
What's Changed
Fixes:
- Provide access to current state in CMake by @henryiii in #394
- Support building older versions of
setuptools_scm
by @henryiii in #390 - Workaround for Windows Python 3.7
TemporaryDirectory
bug by @henryiii in #391
Tests:
CI:
- Add example tests to Fedora packaging by @LecrisUT in #378
- Fedora: Correct rsync rule by @LecrisUT in #389
- Use
not network
for spec by @henryiii in #383
Docs:
- Add migration guide by @vyasr in #356
- Support building the documentation as a man page by @henryiii in #372
- Add nanobind example by @henryiii in #375
- Use
UseSWIG
for swig by @henryiii in #377 - Fix or hide nitpicks by @henryiii in #370
New Contributors
Full Changelog: v0.4.5...v0.4.6
Version 0.4.5
This version fixes issues with output being incorrectly interleaved with logging messages. Symlinks are now followed when making SDists. And finally, SKBUILD_SOABI
is now correctly set when cross-compiling on Windows (Warning! FindPython still does not report the correct SOABI when cross-compiling to ARM).
What's Changed
Fixes:
- Proper printout ordering and more displayed details by @henryiii in #365
- Sort
RUNENV
debugging log output by @jameslamb in #357 - Follow symlinks when making SDists by @henryiii in #362
- Report correct ABI when cross-compiling by @henryiii in #366
Tests:
- Fedora downstream CI by @LecrisUT in #358
- Add downstream examples by @henryiii in #363
- Add testing for scripts processing by @henryiii in #364
New Contributors
- @jameslamb made their first contribution in #357
Full Changelog: v0.4.4...v0.4.5
Version 0.4.4
This version fixes some issues cross-compiling to Windows ARM when making Limited API / Stable ABI extensions, and supports multiple config generators in editable mode.
- Conditional ABI3 logic fixed by @henryiii in #352
- Set
Python_SABI_LIBRARY
by @henryiii in #352 - Editable installs now support multiconfig generators by @henryiii in #353
Full Changelog: v0.4.3...v0.4.4