Releases: scikit-build/scikit-build-core
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
Version 0.2.0
This version adds local build directory support - you can now set build-dir
and reuse build targets. This does not yet default to on, so please test it out. This can dramatically speed up rebuilds. If you want to mimic setuptools, you can set this to build/{cache_tag}
. Or you can chose some other directory, like scikit-build classic's _skbuild
. Along with this, we now have a native wheel writer implementation and support prepare_metadata_for_build_wheel
.
Scikit-build-core now also contains a backport of FindPython from CMake 3.26, which fixes SOABI on PyPy and supports the Stable ABI / Limited API.
What's Changed
Features:
- Local build directory setting & build reuse by @henryiii in #181
- Add
prepare_metadata_for_build_wheel
by @henryiii in #191 - Native wheel writer implementation by @henryiii in #188
- Use 3.26 dev version port of FindPython by @henryiii in #102
Tests:
- tests: allow pytest 7.0+ instead of 7.2+ by @henryiii in #200
- tests: include cmake and ninja if missing in nox by @henryiii in #190
- tests: simpler pytest-subprocess by @henryiii in #159
Other things:
- chore: Python 3.11 Self usage by @henryiii in #199
- chore: fix Ruff configuration by @henryiii in #186
- chore: minor adjustments to wheel returns by @henryiii in #195
- chore: remove duplicate Ruff code by @burgholzer in #184
New Contributors
- @burgholzer made their first contribution in #184
Full Changelog: v0.1.6...v0.2.0