Releases: scikit-build/scikit-build-core
Version 0.4.3
This adds support for CPython 3.12.0b1, and improves Stable ABI / Limited API support (supported by an upcoming nanobind for Python 3.12). An editable install fix allows running from any directory.
Fixes:
- Allow CMake to detect if limited API is targeted by @henryiii in #333 and #342
- Make abi3 support conditional on Python version by @henryiii in #344
- Windows path correction for 3.12.0b1 by @henryiii in #346
- Editable path needs to be absolute by @henryiii in #345
Other:
- Add 3.12.0b1 by @henryiii in #341
- Refactor settings by @henryiii in #338
- Document that
CMAKE_ARGS
supports space separators by @henryiii in #339
Full Changelog: v0.4.2...v0.4.3
Version 0.4.2
This is a quick followup to LICENSE file handing to closer match the current draft of PEP 639. It also removes the automatic optional Rich logging, which doesn't work well with Pip's subprocess piping, being cropped to a very narrow width regardless of terminal size.
Fixes:
- Add
License-file
metadata entry & update default by @henryiii in #329 - Drop optional Rich logging/error by @henryiii in #330
Other:
Full Changelog: v0.4.1...v0.4.2
Version 0.4.1
A fix for LICENCE files being placed in the wrong place in the wheel. Now we follow hatchling's structure of placing them in *.dist-info/licenses
.
Fixes:
Other:
Full Changelog: v0.4.0...v0.4.1
Version 0.4.0
An important fix/feature: LICENSE files were not being included in the wheel's metadata folder. You can configure the license file selection via a new configuration option, and a reasonable default was added. You can now select a source directory for your CMakeLists.txt. A lot of work was done on the still experimental setuptools backend; it still should be seen as completely experimental while it is being finished.
Features:
cmake.source-dir
for CMakeLists in subdirectories by @henryiii in #323- Add
LICENSE
file option by @henryiii in #321
Fixes:
- Ninja wasn't being used if present by @henryiii in #310
- Wheels were not including the
LICENSE
file by @henryiii in #321
Setuptools plugin:
- Refactor plugin as custom setuptools command by @henryiii in #312
- Adding
cmake_args
by @henryiii in #314 - Add wrapper for
skbuild.setup
compat by @henryiii in #315
Other:
Full Changelog: v0.3.3...v0.4.0
Version 0.3.3
This version improves WebAssembly support (Pyodide) and fixes a reported bug in the new editable mode.
What's Changed
Fixes:
- Support prefix dir if toolchain has
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY
by @henryiii in #303 - Find wheel files before local files in editable installs by @henryiii in #305
Other:
Full Changelog: v0.3.2...v0.3.3
Version 0.3.2
Some small fixes for edge cases. Several docs improvements, too.
What's Changed
Fixes:
- Suppress Unicode errors in scripts dir and move on by @henryiii in #294
- Specify platform properly for non-MSVC Windows by @henryiii in #295
Docs:
- Doc updates by @zerothi in #287
- Add a bit to plugin instructions by @henryiii in #289
- Typos fixed by @afh in #291 and #292
New Contributors
Full Changelog: v0.3.1...v0.3.2
Version 0.3.1
This is a small release fixing a regression in some cases caused by adding Python_LIBRARY
. This has been reverted on non-Windows platforms, since it is only needed on Windows.
What's Changed
Fixes:
- Support older setuptools-scm by @henryiii in #284
- Only set the lib for FindPython on Windows by @henryiii in #285
Docs:
- Fix incorrect tool name by @henryiii in #276
- Typo on tab Fortran (was Cython) by @zerothi in #279
- Fix wheel.packages by @henryiii in #282
Other:
New Contributors
Full Changelog: v0.3.0...v0.3.1
Version 0.3.0
This version brings two new dynamic metadata plugins (wrappers for setuptools_scm
& hatch-pypi-fancy-readme
). Third-party packages can now add entry-points declaring CMAKE_PREFIX_DIR
and CMAKE_MODULE_DIR
entries. Support has been added for requesting metadata without building. And experimental support was added for editable installs, including an option for automatic rebuilds.
Several fixes have been added as well, like SABI support, ARM cross-compiling support for FindPython, scripts entries now process shebang lines, and setting a build-dir
with {wheel_tag}
was not working before. The docs have been started, with a quickstart for common situations, a page on configuration, and some info on authoring a CMakeLists.
What's Changed
Features:
- Support dynamic metadata by @bennyrowland in #197 and rework by @henryiii in #251
- Support modules/prefix dirs by @henryiii in #255
- Add
get_requires_for_dynamic_metadata
by @henryiii in #235 - Make setuptools wrapper more generic by @henryiii in #225
- Experimental support for editable installs by @henryiii in #212, #268, and #271
Fixes:
- CMake 3.26.0 (exactly) needs the backport too by @henryiii in #238
- Add python library artifact for better Windows cross compiling by @henryiii in #263
- Include 3.26.1 SABI fix by @henryiii in #227
- Restructure
get_requires
& fix some ninja paths by @henryiii in #250 - Support script rewriting by @henryiii in #254
- Version not a string (typing updates) by @henryiii in #231
{wheel_tag}
was not working by @henryiii in #262CMAKE_PREFIX_DIR
andCMAKE_MODULE_DIR
are passed in the init cache file to remove a unused variable warning by @henryiii in #272- Support color printouts without Rich (pip requires
FORCE_COLOR
) by @henryiii in #266
Other things:
- Add Fortran testing and CI by @henryiii in #86
- Avoid internet usage in non-isolated testing by @henryiii in #247
- Add an SDist checker & fix contents by @henryiii in #253
- Add more setuptools types by @henryiii in #233
- Add FedoraProject rpm spec file by @LecrisUT in #201 and #241
- Better coverage handling by @henryiii in #270
New Contributors
- @bennyrowland made their first contribution in #197
Full Changelog: v0.2.2...v0.3.0
Version 0.2.2
This release makes a small improvement to the wheel file permissions (in line with wheel 0.40). It also ensures the test suite will still pass in an environment with SOURCE_DATE_EPOCH
already set. A few internal changes are paving the way to 0.3.0.
What's changed
Fixes:
Tests:
- Support running in environments with
SOURCE_DATE_EPOCH
set by @LecrisUT in #221 - Report self version too by @henryiii in #222
Other things:
- refactor: use
from_pyproject
by @henryiii and @bennyrowland in #224 - chore: fix a mypy complaint on Windows by @henryiii in #217
- docs: add quickstart by @henryiii in #226
Full Changelog: v0.2.1...v0.2.2
Version 0.2.1
This release fixes the tag for Windows ARM wheels, and has some internal refactoring to prepare for the next new features. A new {wheel_tag}
value is available for build-dir
. Some basic setup was done on the docs, as well. Debug logging and test output has been improved a little, as well.
What's Changed
Changes:
- Add
{wheel_tag}
forbuild-dir
by @henryiii in #207 - Support for conda's
CMAKE_SYSTEM_PROCESSOR
by @henryiii in #207
Fixes:
- Windows ARM tag by @henryiii in #215
- Include Windows ARM in known wheels by @henryiii in #203
- Print out paths by @henryiii in #205
Other things:
- docs: update readme for 3.26 backport by @henryiii in #206
- tests: support running tests with system
cmake3
visible by @LecrisUT in #211 - tests: nicer exit, minor refactors by @henryiii in #213
- refactor: minor changes & nicer environment logging printout by @henryiii in #214
New Contributors
Full Changelog: v0.2.0...v0.2.1