Skip to content

Releases: ipetkov/crane

v0.16.4

04 May 17:00
v0.16.4
9caad1e
Compare
Choose a tag to compare

0.16.4 - 2024-04-07

Added

  • Added a warning if an unsupported version of nixpkgs is used

Changed

  • cargoNextest now supports setting withLlvmCov which will automatically run
    cargo llvm-cov nextest. Note that withLlvmCov = true; is (currently) only
    supported when partitions = 1;

Fixed

  • inheritCargoArtifactsHook and installCargoArtifactsHook now correctly
    handle the case when CARGO_TARGET_DIR is set to a nested directory
  • Dependency vendoring now correctly takes unused patch dependencies into
    account

v0.16.3

19 Mar 22:20
v0.16.3
5bace74
Compare
Choose a tag to compare

0.16.3 - 2024-03-19

Changed

  • Sources are now fetched crates.io's CDN, following cargo's (new) default behavior.

Fixed:

  • vendorMultipleCargoDeps correctly lists registries as an optional
    parameter

v0.16.2

22 Feb 00:03
v0.16.2
03d6232
Compare
Choose a tag to compare

0.16.2 - 2024-02-21

Changed

  • cleanCargoToml now also strips out [lints] and [workspace.lints]
    definitions. This means avoiding unnecessarily rebuilding dependencies when
    the lint definitions change, and it avoids issues with failing to build
    dummified sources which might have violated a lint marked as deny or
    forbid

Fixed

  • Fixed an edge case with inheriting workspace dependencies where the workspace
    dependency is a string (e.g. foo = "0.1.2") but the crate definition is a
    table (e.g. foo = { workspace = true, optional = true })

v0.16.1

28 Jan 20:24
v0.16.1
fe812ef
Compare
Choose a tag to compare

0.16.1 - 2024-01-28

Changed

  • buildDepsOnly now ignores any outputs (besides the default out)

Fixed

  • buildDepsOnly no longer fails when workspace is configured with
    #[deny(unused-extern-crates)]
  • vendorCargoDeps (and friends) are now much more friendly to
    cross-compilation definitions. Specifically, source vendoring will always
    build dependencies to run on the build machine (and not for the host we're
    cross compiling to).

v0.16.0

19 Jan 00:57
v0.16.0
8f51514
Compare
Choose a tag to compare

0.16.0 - 2024-01-18

Changed

  • Breaking: dropped compatibility for Nix versions below 2.18.1
  • Breaking: dropped compatibility for nixpkgs-23.05.
  • buildTrunkPackage has a new argument, wasm-bindgen-cli must be set
    to avoid mismatching versions between the wasm-bindgen library and CLI tool.

Fixed

  • Workspace inheritance of lints in git dependencies is now correctly handled

v0.15.1

30 Nov 22:51
v0.15.1
07c531a
Compare
Choose a tag to compare

0.15.1 - 2023-11-30

Changed

  • buildDepsOnly will now assume cargoTestExtraArgs = "--no-run"; if not
    specified (since there is no point to trying to run tests with the stripped
    sources). To get the old behavior back, set cargoTestExtraArgs = "";

Fixed

  • buildTrunkPackage's preConfigure script to fail quicker with a more
    obvious error message if dependencies at not appropriately met

v0.15.0

05 Nov 21:06
v0.15.0
d535642
Compare
Choose a tag to compare

0.15.0 - 2023-11-05

Added

  • cargoDeny added for running cargo-deny.
  • installCargoArtifactsHook will now pass along the contents of
    $zstdCompressionExtraArgs as arguments to zstd when compressing artifacts.
    This allows for tailoring compression behavior, for example, by setting
    zstdCompressionExtraArgs = "-19"; on the derivation.

Changed

  • The use-zstd artifact installation mode now uses a chained, incremental
    approach to avoid redundancy. Old behavior (taking a full snapshot of the
    cargo artifacts) can be achieved by setting doCompressAndInstallFullArchive = true.
  • The default installCargoArtifactsMode has been changed to use-zstd,
    meaning cargo artifacts will be compressed to a series of incremental, zstd
    compressed tarballs across derivations. To get the old behavior back, set
    installCargoArtifactsMode = "use-symlink" to any derivation which produces
    cargo artifacts.
  • All dependencies (outside of nixpkgs) have been dropped from the (main)
    flake.lock file so they do not pollute downstream projects' lock files.

Fixed

  • mkDummySrc now properly handles file cleaning (and file including) when a
    build is invoked with a --store ... override

v0.14.3

18 Oct 00:27
v0.14.3
da6b58e
Compare
Choose a tag to compare

0.14.3 - 2023-10-17

Changed

  • craneUtils will now be built with the rustPlatform provided by nixpkgs
    instead of the currently configured toolchain. This should hopefully result in
    fewer surprises for those testing with really old MSRV toolchains.
  • devShell will now additionally include clippy and rustfmt from the
    currently configured toolchain

Fixed

  • replaceCargoLockHook now runs as a prePatch hook (rather
    than postUnpack) which correctly replaces the Cargo.lock in the source
    directory rather than the parent directory

v0.14.2

15 Oct 20:25
v0.14.2
8cb0282
Compare
Choose a tag to compare

0.14.2 - 2023-10-15

Added

  • replaceCargoLockHook can now be used to easily replace or insert a
    Cargo.lock file in the current derivation

Changed

  • cargoAudit will pass --ignore yanked by default if cargoAuditExtraArgs
    are not specified. This is because cargo-audit cannot check for yanked
    crates from inside of the sandbox. To get the old behavior back, set
    cargoAuditExtraArgs = "";.
  • mkCargoDerivation (and by extension anything which delegates to it) will now
    automatically use the value of cargoLock or the contents of
    cargoLockContents/cargoLockParsed to replace the workspace Cargo.lock
    file. To disable this behavior, set doNotReplaceCargoLock = true;.

Fixed

  • Fixed handling of Cargo workspace inheritance for git-dependencies where said
    crate relies on reading non-TOML metadata (i.e. comments) from its Cargo.toml
    at build time. (#407)
  • Fixed handling of dummy target names to avoid issues with cargo doc.
    (#410)
  • When using installCargoArtifactsMode = "use-zstd"; all files will be marked
    as user-writable while compressing
  • removeReferencesToVendoredSources now signs aarch64-darwin binaries. (#418)

v0.14.1

23 Sep 23:25
v0.14.1
3de322e
Compare
Choose a tag to compare

0.14.1 - 2023-09-23

Fixed

  • Fixed a bug where buildPackage would fail to inherit artifacts from
    dependency crates if cargoArtifacts was not explicitly specified.