Skip to content

Releases: ipetkov/crane

v0.17.1

19 May 22:28
v0.17.1
7443df1
Compare
Choose a tag to compare

0.17.1 - 2024-05-19

Fixed

  • downloadCargoPackage and downloadCargoPackageFromGit no longer run the
    fixup phase by default, avoiding issues with source directories and files
    being moved to different locations
  • downloadCargoPackage now unpacks and installs from a fresh directory,
    avoiding having build environment files (like env-vars) appearing in the
    output

v0.17.0

19 May 01:12
v0.17.0
a4e51f5
Compare
Choose a tag to compare

0.17.0 - 2024-05-18

Added

  • cargoDoc now supports docInstallRoot to influence which directory will be
    installed to $out/share (which can be useful when cross-compiling). By
    default $CARGO_TARGET_DIR and $CARGO_BUILD_TARGET (if set) will be taken
    into account
  • crateNameFromCargoToml now supports selecting a derivation name by setting
    package.metadata.crane.name or workspace.metadata.crane.name in the root
    Cargo.toml
  • vendorCargoDeps, vendorCargoRegistries, vendorGitDeps, and
    vendorMultipleCargoDeps now support arbitrary overrides (i.e. patching) at
    the individual crate/repo level when vendoring sources.

Changed

  • Breaking cargoAudit no longer accepts cargoExtraArgs (since it does
    not support the regular set of cargo flags like most cargo-commands do, it
    does not make much sense to propagate those flags through)
  • buildTrunkPackage now sets env.TRUNK_SKIP_VERSION_CHECK = "true"; if not
    specified

Deprecations

  • In the future, crateNameFromCargoToml will stop considering
    workspace.package.name in the root Cargo.toml when determining the crate
    name. This attribute is not recognized by cargo (which will emit its own
    warnings about it) and should be avoided going forward.
  • In the future, crane.lib.${system} will be removed. Please switch to using
    (crane.mkLib nixpkgs.lib.${system}) as an equivalent alternative.

v0.16.6

04 May 17:09
v0.16.6
c5ee437
Compare
Choose a tag to compare

0.16.6 - 2024-05-04

Fixed

  • Same as 0.16.5 but with the correct tag deployed to Flakestry/FlakeHub

v0.16.5

04 May 17:08
v0.16.5
d707d41
Compare
Choose a tag to compare

0.16.5 - 2024-05-04

Fixed

  • Workspace inheritance for git dependencies now ignores (removes) all comments
    around dependency declarations to work around a mangling bug in toml_edit
    (see #527 and
    toml-rs/toml#691)

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