PackageTrack
Sign in Get early access

hakari

Manage workspace-hack packages that do feature unification inside workspaces.

0.17.9 5.0M downloads/mo #4520 most downloaded on crates.io guppy-rs/guppy

What this package is like to depend on

Last release 7 months ago

27 Dec 2025

Release timing varies

gaps range from 2 weeks to 10 months

Nearly every release is documented

notes for 38 of 38 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

38 releases · first in 2021

1 release in the last 12 months

see the full history below

Release timeline

38 releases · Feb 2021 to Dec 2025
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 38
  1. 0.17.9 27 Dec 2025
    Release notes

    Changed

    • Builtin targets updated to Rust 1.92.
    • MSRV updated to Rust 1.86.
    Open source →
  2. 0.17.8 21 Feb 2025
    Release notes

    Changed

    Updated target-spec to version 3.4.2.

    Open source →
  3. 0.17.7 05 Jan 2025
    Release notes

    Added

    Added support for custom sparse registries (sparse+https://...). Thanks to jonhoo for your first contribution!

    Open source →
  4. 0.17.6 23 Dec 2024
    Release notes

    Added

    Added support for the upcoming Cargo resolver version 3. Resolver version 3 enables MSRV-aware version resolution in Cargo.

    The portion of dependency resolution that hakari works with (package and feature resolution) happens after dependency versions have been resolved and Cargo.lock is refreshed. This means that from hakari's perspective, resolver version 3 is the same as version 2.

    Changed

    • Builtin targets updated to Rust 1.83.
    • MSRV updated to Rust 1.82.
    Open source →
  5. 0.17.5 06 Oct 2024
    Release notes

    Fixed

    cargo hakari init now sets edition = "2021" in the created workspace-hack's Cargo.toml. This silences a Cargo warning about a missing edition.

    Open source →
  6. 0.17.4 11 Sep 2024
    Release notes

    Changed

    • Builtin targets updated to Rust 1.81.
    Open source →
  7. 0.17.3 29 Jul 2024
    Release notes

    Fixed

    • Fixed a crash in some workspaces (#292).

    Changed

    • Updated MSRV to Rust 1.75.
    • Builtin targets updated to Rust 1.80.
    Open source →
  8. 0.17.2 05 Feb 2024
    Release notes

    Added

    • The default hakari.toml template for new projects now suggests Apple Silicon (aarch64-apple-darwin) as well.

    Fixed

    • Consider dev-dependencies of proc-macro crates -- previously, we weren't doing so.

    This may change some checked-in workspace-hacks, but it is a bugfix and not a breaking change. Testing against several real-world workspace-hacks, only one of them changed.

    Open source →
  9. 0.17.1 04 Oct 2023
    Release notes

    Fixed

    Add WorkspaceHackLineStyle to list of public exports.

    Open source →
  10. 0.17.0 04 Oct 2023
    Release notes

    Added

    New config option workspace-hack-line-style, with three possible values:

    • "full": my-workspace-hack = { version = "0.1", path = ... }. This is the default and a good way to get started.

    • "version-only": my-workspace-hack = { version = "0.1" }. Specifying versions this way is useful if you've published a stub crate to crates.io (see the publishing section). You can use this in combination with a patch directive in the root Cargo.toml:

      [patch.crates-io.my-workspace-hack]
      path = "workspace-hack"
      
    • "workspace-dotted": my-workspace-hack.workspace = true. To use this, define a workspace dependency in the root Cargo.toml:

      [workspace.dependencies]
      my-workspace-hack = { version = "0.1", path = "workspace-hack" }
      
      # or, along with a patch directive:
      my-workspace-hack = { version = "0.1" }
      

    Changed

    • MSRV updated to Rust 1.70.
    Open source →
  11. 0.16.0 29 Jul 2023
    Release notes

    Changed

    • guppy updated to 0.17.1.
    Open source →
  12. 0.15.0 26 Jun 2023
    Release notes

    Changed

    • guppy updated to 0.17.0.
    Open source →
  13. 0.14.0 19 Jun 2023
    Release notes

    Changed

    • guppy updated to 0.16.0.
    Open source →
  14. 0.13.2 15 Apr 2023
    Release notes

    Fixed

    Canonicalize paths correctly on Windows (#70).

    Changed

    MSRV updated to Rust 1.66.

    Open source →
  15. 0.13.1 19 Jan 2023
    Release notes

    Fixed

    The default template for hakari.toml now specifies dep-format-version = "4".

    Open source →
  16. 0.13.0 19 Jan 2023
    Release notes

    Added

    Introduced a new dep-format-version, version 4, with a change to always sort outputs alphabetically. This matches the order produced by cargo-sort (#65).

    Open source →
  17. 0.12.0 08 Jan 2023
    Release notes

    Added

    Introduced a new dep-format-version, version 3, with these changes:

    • Always elide build metadata from version strings (e.g. with the semver string 5.4.0+g7f361a3, don't show the bit after the + sign). Thanks Nikhil Benesch for your first contribution!
    • Remove private features from the workspace-hack's Cargo.toml. This should simplify the output greatly.

    Changed

    • MSRV updated to Rust 1.62.
    • target-spec updated to Rust 1.66.
    Open source →
  18. 0.11.1 05 Dec 2022
    Release notes

    Fixed

    • Fixed a panic in rare circumstances (#38).
    Open source →
  19. 0.11.0 07 Nov 2022
    Release notes

    Changed

    • Updated guppy to 0.15.0.
    Open source →
  20. 0.10.2 30 Sep 2022
    Release notes

    Changed

    • Repository location update.
    • MSRV updated to Rust 1.58.

    Thanks to Carol Nichols for her contributions to this release!

    Open source →
  21. 0.10.1 29 May 2022
    Release notes

    Changed

    • Dependency updates: in particular, guppy updated to 0.14.2.
    Open source →
  22. 0.10.0 15 Mar 2022
    Release notes

    Added

    Support for weak dependencies and namespaced features.

    Changed

    • Public dependency version bump: guppy updated to 0.14.0.
    • MSRV updated to Rust 1.56.
    Open source →
  23. 0.9.0 26 Feb 2022
    Release notes

    Added

    • doc_cfg-based feature labels to rustdoc.

    Changed

    • Public dependency bump: guppy updated to 0.13.0.

    Fixed

    • A small fix to Cargo build simulations (#596). This is not a breaking change to the hakari output because it is a bugfix.
    Open source →
  24. 0.8.1 08 Dec 2021
    Release notes
    • Reverted the changes in version 0.7.3 because of #524.
    Open source →
  25. 0.8.0 07 Dec 2021
    Release notes

    Added

    • Support for explaining why a crate is in the workspace-hack, used by cargo hakari explain.

    Changed

    • VerifyErrors now prints out information in the same format as explain---as a result, some of its APIs have changed.
    Open source →
  26. 0.7.3 29 Nov 2021
    Release notes
    Open source →
  27. 0.7.2 27 Nov 2021
    Release notes

    Internal updates for cargo-hakari 0.9.8.

    Open source →
  28. 0.7.1 26 Nov 2021
    Release notes

    Added

    • Support for publishing a dummy workspace-hack. This is an alternate publishing method that integrates better with existing workflows.
    • New config option dep-format-version, to control workspace-hack = ... lines in other Cargo.tomls.
      • Newly initialized workspaces have dep-format-version = "2".
      • Version 2 is required for the alternate publishing method.
    Open source →
  29. 0.7.0 23 Nov 2021
    Release notes

    Fixed

    • Updated example in README.md now that the cargo-guppy repository has a workspace-hack.

    Changed

    • Updated to guppy 0.12.0.
    Open source →
  30. 0.6.2 09 Oct 2021
    Release notes

    Fixed

    • Backed out the algorithmic improvement from earlier because it didn't handle some edge cases.
    • Also simulate builds with dev-dependencies disabled.
    • Remove empty sections from the output.
    Open source →
  31. 0.6.1 07 Oct 2021
    Release notes

    Added

    • Support for alternate registries through the [registries] section in the config.

    Fixed

    Optimized

    Open source →
  32. 0.6.0 03 Oct 2021
    Release notes

    Added

    • A new UnifyTargetHost::Auto strategy, which uses the ReplicateTargetOnHost strategy if there are internal build dependencies or proc macros in the workspace, or the UnifyIfBoth strategy if not.

    Changed

    • For UnifyTargetHost:
      • Auto is the new default strategy.
      • ReplicateTargetAsHost has been renamed to ReplicateTargetOnHost.
      • UnifyOnBoth has been renamed to UnifyIfBoth.

    Fixed

    • Fixed some formatting issues with WorkspaceOps.
    Open source →
  33. 0.5.0 01 Oct 2021
    Release notes

    Added

    • hakari now outputs packages corresponding to the intersection of all platforms, then outputs any other platform-specific packages left. This simplifies the output greatly and is also more correct.
    • A new option final_excludes to remove packages from the result at the end of computation.
      • This is in constract to traversal_excludes (renamed from omitted_packages) which removes packages both during and after computation.
    • A new cli-support feature contains several new structs used by cargo-hakari.
    • In HakariBuilderSummary, version = "v2" etc has been renamed to resolver = "2" to align with cargo.
      • The old options will continue to work.
    • In HakariBuilderSummary, traversal-excludes and final-excludes are now easier to describe while deserializing: they now take a workspace-members list of names, and a third-party list of specifiers such as { name = "serde", version = "1" }.
      • The resolver will now also fail if any specifiers are unmatched.

    Changed

    • omitted_packages renamed to traversal_excludes.
    • Because of the changes to how excludes are represented, old-style HakariBuilderSummary instances may no longer parse correctly.
    • Public dependency bump: guppy updated to 0.11.1.
    • MSRV updated to Rust 1.53.
    Open source →
  34. 0.4.1 14 Sep 2021
    Release notes

    Changed

    • Public dependency version bump: guppy updated to 0.10.1.
    • MSRV updated to Rust 1.51.
    Open source →
  35. 0.3.0 11 Mar 2021
    Release notes

    Changed

    • Public dependency version bump: guppy updated to 0.9.0.
    • HakariCargoToml now uses camino's UTF-8 paths.
      • HakariCargoToml::new now accepts impl Into<Utf8PathBuf> rather than impl Into<PathBuf>.
      • HakariCargoToml::toml_path returns &Utf8Path instead of &Path.
    Open source →
  36. 0.2.0 24 Feb 2021
    Release notes

    Changed

    • hakari now uses camino Utf8Path and Utf8PathBuf wrappers. These wrappers provide type-level assertions that returned paths are valid UTF-8.
    • Public dependency version bumps:
      • proptest updated to version 1 and the corresponding feature renamed to proptest1.
    Open source →
  37. 0.1.1 05 Feb 2021
    Release notes

    Added

    • Experimental Windows support. There may still be bugs around path normalization: please report them.

    Fixed

    • Fixed Cargo.toml output for path dependencies.
    • Return an error for non-Unicode paths instead of silently producing incorrect paths.
    Open source →
  38. 0.1.0 04 Feb 2021
    Release notes

    Initial release.

    <!-- next-url --> [0.17.9]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.9 [0.17.8]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.8 [0.17.7]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.7 [0.17.6]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.6 [0.17.5]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.5 [0.17.4]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.4 [0.17.3]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.3 [0.17.2]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.2 [0.17.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.1 [0.17.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.17.0 [0.16.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.16.0 [0.15.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.15.0 [0.14.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.14.0 [0.13.2]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.13.2 [0.13.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.13.1 [0.13.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.13.0 [0.12.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.12.0 [0.11.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.11.1 [0.11.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.11.0 [0.10.2]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.10.2 [0.10.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.10.1 [0.10.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.10.0 [0.9.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.9.0 [0.8.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.8.1 [0.8.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.8.0 [0.7.3]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.7.3 [0.7.2]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.7.2 [0.7.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.7.1 [0.7.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.7.0 [0.6.2]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.6.2 [0.6.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.6.1 [0.6.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.6.0 [0.5.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.5.0 [0.4.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.4.1 [0.4.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.4.0 [0.3.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.3.0 [0.2.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.2.0 [0.1.1]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.1.1 [0.1.0]: https://github.com/guppy-rs/guppy/releases/tag/hakari-0.1.0

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive