Skip to content

v0.18.0

Compare
Choose a tag to compare
@ipetkov ipetkov released this 06 Jul 05:05
· 79 commits to master since this release
v0.18.0
0aed560

0.18.0 - 2024-07-05

Changed

  • Breaking: dropped compatibility for Nix versions below 2.18.2
  • Breaking: dropped compatibility for nixpkgs-23.11.
  • The guidance around using (both) cleanCargoSource and path has been
    updated. Namely, it is no longer necessary to call both (e.g.
    craneLib.cleanCargoSource (craneLib.path ./.)): it is recommended to either
    use craneLib.cleanCargoSource ./. directly (if the default source cleaning
    is desired) or craneLib.path ./. (if not).
  • overrideToolchain has been updated to better handle cross-compilation
    splicing for a customized toolchain. This means that overrideToolchain
    should now be called with a function which constructs said toolchain for any
    given pkgs instantiation. For example: craneLib.overrideToolchain (p: p.rust-bin.stable.latest.default)

Fixed

  • The cross compilation example also hows how to set the TARGET_CC environment
    variable which may be required by some build scripts to function properly
  • vendorCargoDeps and crateNameFromCargoToml do their best to avoid IFD when
    src is the result of lib.cleanSourceWith (and by extension
    cleanCargoSource)
  • removeReferencesToVendoredSources handles the edge case where
    cargoVendorDir does not point to a path within the Nix store
  • It is now possible to use .overrideScope to change what instance of
    craneUtils will be used during vendoring.