0.20.0 - 2024-12-21
Changed
- Breaking: dropped compatibility for Nix versions below 2.24.10
- Breaking: dropped compatibility for nixpkgs-23.11
- Breaking (technically):
buildPackage
's installation behavior has been
split into two steps: binaries are now installed into a temporary directory as
a post build hook (to avoid interference from the check phase clobbering
resultant binaries with development features enabled) followed by an actual
installation (from said directory) during the install phase. If you use a
custom build phase withbuildPackage
you may need to ensure the additional
post build hook defined ininstallFromCargoBuildLogHook
runs (or follow the
error messages to resolve any build issues). mkDummySrc
has been reworked to match cargo'sautobin
detection logic,
meaning that only real binary targets defined by the project will be dummified
if they exist (no more injectingsrc/bin/crane-dummy-*
). This does mean that
adding a new bin target definition will invalidate caches and require
rebuilding all dependencies once more. (If this is a frequent enough
occurrence for your project to cause headaches, please open an issue!)
Fixed
mkDummySrc
will deduplicate discovered and declared binary targets when
dummifying sourcescrateNameFromCargoToml
will ignore store contexts when parsing a Cargo.toml
file (avoiding errors likethe string ... is not allowed to refer to a store path
).vendorGitDeps
will perform a basic URL-decoding of git dependency entries in
theCargo.lock
file since lockfiles now encode special characters starting
at version 4
Meta
- Dropped support for publishing releases to https://flakestry.dev/