Releases: scikit-build/scikit-build-core
Version 0.8.1
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:
- Do not exit with exec permission error in ninja check by @thewtex in #626
- Include
CMAKE_BUILD_TYPE
on Windows ninja by @henryiii in #640 - Use
-
vs_
in error message by @nbelakovski in #638 - Make run command logged at info by @LecrisUT in #639
Documentation:
- Warning about using
cmake.args
for defines by @LecrisUT in #620 - Correct API usage example by @henryiii in #627
New Contributors
- @thewtex made their first contribution in #626
- @nbelakovski made their first contribution in #638
Full Changelog: v0.8.0...v0.8.1
Version 0.8.0
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:
- Add
build-tag
by @henryiii in #612 - Add
if.state
to overrides by @henryiii in #600 - Add
cmake.version
andninja.version
by @henryiii in #602 - Support
CMAKE_EXECUTABLE
by @henryiii in #603 - Config to set CMake variables with environment variables by @stubbiali in #565
Fixes:
- Include license file entry in search by @henryiii in #601
- Make sure purelib is indicated by @henryiii in #613
- Project version should always be CMake parsable by @henryiii in #608
Tests and internal:
- Compare uncompressed files by @henryiii in #610
- A couple of minor cleanups by @henryiii in #599
- Some preview Ruff touchups by @henryiii in #617
New Contributors
- @stubbiali made their first contribution in #565
Full Changelog: v0.7.1...v0.8.0
Version 0.7.1
This is a quick fix for a downstream change in hatch-fancy-pypi-readme that broke our plugin wrapper.
Fixes:
CI and tests:
- Remove deprecated mypy setting (now defaults on) by @henryiii in #589
- Group dependabot updates by @henryiii in #584
- Use downstream tmt plans by @LecrisUT in #518
Docs:
Full Changelog: v0.7.0...v0.7.1
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