Skip to content

0.7.1

Compare
Choose a tag to compare
@kolloch kolloch released this 15 Feb 13:58
· 945 commits to master since this release

0.6.x - 0.7.1

New features and improvements:

  • Use hashes from Cargo.lock instead of prefetching when available. This should
    work for any crates.io dependency. :)
  • Follow up to Issue #22 (and
    others) - Handling of "renamed crates". Thanks a lot,@andir!
  • Support for multiple binaries from the same crate. Thank you, @kristoff3r!
  • Issue #34 - Support for git
    prefetching so that repositories with sub modules now work.
    Thank you, @cpcloud!
  • Issue #65 - Reexpose
    feature selection parameters from cargo metadata. This allows to include
    dependencies in the generated build file which are not used for the default
    features. Or to exclude dependencies for features that you do not care about.
  • Issue #67 - Support for
    additional lib types - in particular, cdylib. Thank you, @andir!
    Write a rust library that is used from C code :)
  • Issue #18 - Optional crate
    unavailable
    Allows building packages that have multiple versions of the same dependency (with different
    targets). In particular the flate2 package now builds.
    Thank you, @cchalmers!
  • Issue #37 - Conditional
    target expressions for dependencies can now
    also depend on features. Thank you, @cpcloud!
  • Issue #42 - Some efficiency
    improvements to prevent stack overflows for projects with
    huge dependency trees. Thank you, @jamii!
    * Issue #90 There is a follow
    up to this: @nagisa was seeing super-linear instantiation counts and provided
    a flamegraph. @andir proposed a
    likely fix in nixpkgs.
    Thank you!
  • Add fuchsia as an unsupported target (ef94539 ).
    Thank you, @jamii!
  • Issue #94: The defaultCrateOverrides
    argument to the build file has finally the desired effect again.
  • #75: Cleanly separate
    internal API by internal. attribute path element. Formally, this is no
    breaking change if it only effects private API but still. I will mitigate by
    allowing the old paths for a release and issue a warning.

Thank you to everyone who contributed with awesomely detailed issues, PRs or
otherwise. You are amazing! Please let me know if I forgot something or forgot
to give someone appropriate credit.

For contributors:

  • ./run_tests.sh now makes it easier to prepare your pull requests for review.
  • Build artifacts for linux are now properly pushed to
    eigenvalue.cachix.org. Adding that cache with cachix will speed
    up your installations and builds. And it speeds up our CI builds via github actions. Shout out to
    @domenkozar and other cachix contributors.
  • @alyssais contributed some fixes to the developer scripts, thank you!

Experimental and still undocumented:

  • cargo test-like test running support! Thank you very much for your great work, @andir!

Heads up! Feel free to discuss these planned changes in future releases with me:

  • #77: New/better override behavior that
    also allows overriding buildRustCrate more easily.
  • #82: Use a new file name for
    crate-hashes.json every time to prevent merge issues.
  • #102: Convenient support for out-of-tree sources
    (e.g. for nixpkgs)