Releases: scikit-build/scikit-build-core
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
Version 0.1.6
What's Changed
Fixes:
- fix: handle local cmake dir for search by @henryiii in #179
- fix: avoid resolving cmake/ninja paths by @henryiii in #183
Other things:
- chore: use ruff by @henryiii in #175
- chore: ruff related additions by @henryiii in #180
- tests: add
isolated
marker totest_pep518_sdist
by @bnavigator in #182
New Contributors
- @bnavigator made their first contribution in #182
Full Changelog: v0.1.5...v0.1.6
Version 0.1.5
What's Changed
Fixes:
- Ninja path not being set correctly by @henryiii in #166
- Minor touchup to ninja / make by @henryiii in #167
Full Changelog: v0.1.4...v0.1.5
Version 0.1.4
What's Changed
Fixes:
entrypoints.txt
should beentry_points.txt
by @njzjz in #161EXT_SUFFIX
is wrong before 3.8.7 by @henryiii in #160- Make tests pass on native Windows ARM by @henryiii in #157
- fix: Windows ARM experimental cross-compile support by @henryiii in #162
Other things:
- Fix spelling mistake by @maxbachmann in #156
- Add Python 3.12 alpha 3 to the CI by @henryiii in #120
- Fix issues mocking in tests with packaging 22 by @henryiii in #155
New Contributors
- @maxbachmann made their first contribution in #156
- @njzjz made their first contribution in #161
Full Changelog: v0.1.3...v0.1.4
Version 0.1.3
What's Changed
Fixes:
- Issue with experimental extra directory targeting by @henryiii in #144
- Sort SDist filepaths for reproducibility by @agoose77 in #153
Full Changelog: v0.1.2...v0.1.3