All notable changes to this project will be documented in this file.
0.9.38 - 2026-05-21
- Updated guppy to 0.17.26, picking up a number of self-loop fixes.
- Builtin targets updated to Rust 1.94.
0.9.37 - 2025-12-26
- Builtin targets updated to Rust 1.92.
- MSRV updated to Rust 1.86.
0.9.36 - 2025-02-20
- Builtin targets updated to Rust 1.85.
0.9.35 - 2025-01-05
Added support for custom sparse registries (sparse+https://...). Thanks to jonhoo for your first contribution!
0.9.34 - 2024-12-22
Added support for the upcoming Cargo resolver version
3:
resolver = "3" in .config/hakari.toml. 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. You are welcome to keep using resolver = "2" if you like.
- MSRV for compiling hakari updated to Rust 1.82.
- Builtin targets updated to Rust 1.83.
0.9.33 - 2024-10-06
cargo hakari init now sets edition = "2021" in the created workspace-hack's Cargo.toml. This
silences a Cargo warning about a missing edition.
0.9.32 - 2024-10-02
- Fixed a case of dependency matching with renamed packages (#317).
0.9.31 - 2024-09-11
- Builtin targets updated to Rust 1.81.
0.9.30 - 2024-07-29
- Fixed a crash in some workspaces (#292).
- The
workspace-dottedline style no longer requires that the rootCargo.toml'sworkspace.dependencies.workspace-hackhave a version set.
- MSRV updated to Rust 1.75.
- Builtin targets updated to Rust 1.80.
0.9.29 - 2024-02-04
- The default
hakari.tomltemplate for new projects now suggests Apple Silicon (aarch64-apple-darwin) as well. - New documentation about using the workspace-hack with a
[patch]directive.
- Builtin platforms updated to Rust 1.75.
- 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.
0.9.28 - 2023-10-03
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 apatchdirective in the rootCargo.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 rootCargo.toml:[workspace.dependencies] my-workspace-hack = { version = "0.1", path = "workspace-hack" } # or, along with a patch directive: my-workspace-hack = { version = "0.1" }
- MSRV updated to Rust 1.70.
- Builtin platforms updated to Rust 1.73.
0.9.27 - 2023-07-29
- Builtin platforms updated to Rust 1.71.
0.9.26 - 2023-06-25
- Internal dependency updates: updated guppy to 0.17.0.
0.9.25 - 2023-06-19
target_os = "none"is now correctly evaluated.
- MSRV updated to Rust 1.66.
- Builtin platforms updated to Rust 1.70.
0.9.24 - 2023-04-15
Canonicalize paths correctly on Windows ([#70]).
0.9.23 - 2023-01-18
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).
0.9.22 - 2023-01-18
(Publishing this release was cancelled due to a bug in it.)
0.9.21 - 2023-01-14
Update README.md with fixed install instructions.
0.9.20 - 2023-01-14
Fixed install instructions.
0.9.19 - 2023-01-14
Release binaries are now available on GitHub Releases for quicker installation locally and in CI.
You can install release binaries:
-
using
cargo binstallwithcargo binstall cargo-hakari -
in GitHub Actions CI, using:
- name: Install cargo-hakari uses: taiki-e/install-action@v2 with: tool: cargo-hakari
0.9.18 - 2023-01-08
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.
- MSRV updated to Rust 1.62.
- Builtin target platforms updated to Rust 1.66.
0.9.17 - 2022-12-04
- Fixed a panic in rare circumstances (#38).
0.9.16 - 2022-11-07
- cargo-hakari now works with
cfg()specifications that containtarget_abiin them.
0.9.15 - 2022-09-30
- Repository location update.
- MSRV updated to Rust 1.58.
Thanks to Carol Nichols for her contributions to this release!
0.9.14 - 2022-05-29
- Dependency updates: in particular, guppy updated to 0.14.2.
0.9.13 - 2022-03-14
- Support for weak and namespaced features.
- Target platforms updated to Rust 1.59.
- MSRV updated to Rust 1.56.
0.9.12 - 2022-02-06
- A small fix to Cargo build simulations (#596). This is not a breaking change to the hakari output because it is a bugfix.
0.9.11 - 2021-12-08
- Reverted the changes in version 0.9.9 because of #524.
0.9.10 - 2021-12-06
- A new
explaincommand prints out information about why a dependency is in the workspace-hack.
- The
verifycommand now usesexplainto print out information about failing crates.
0.9.9 - 2021-11-28
- Support for using the already-published workspace-hack crate on crates.io, which makes publishing seamless for new users.
cargo hakari init: the default crate name is alwaysworkspace-hacknow.- This makes publishing seamless for new users.
0.9.8 - 2021-11-27
- 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 controlworkspace-hack = ...lines in otherCargo.tomls.- Newly initialized workspaces have
dep-format-version = "2". - Version 2 is required for the alternate publishing method.
- Newly initialized workspaces have
- The default config file location is now
.config/hakari.toml..guppy/hakari.tomlcontinues to be supported as a fallback, so existing users are unaffected.
0.9.7 - 2021-11-25
(This release was yanked because it contained a few bugs.)
0.9.6 - 2021-10-09
- 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.
0.9.5 - 2021-10-04
- Support for alternate registries through the
[registries]section in the config.- This is a temporary workaround until Cargo issue #9052 is resolved.
- Enable ANSI color output on Windows.
- An algorithmic improvement in
hakarimakes computation up to 33% faster.
0.9.4 - 2021-10-04
- Fixed the configuration example in the readme.
0.9.3 - 2021-10-03
- The new
"auto"strategy for theunify-target-hostoption is now the default. - Updated documentation.
- Fix a rustdoc issue.
0.9.2 - 2021-10-01
This was tagged, but never released due to docs.rs and rustc nightly issues.
0.9.1 - 2021-10-01
- Fix invocation as a cargo plugin.
0.9.0 - 2021-10-01
Initial release.