Skip to content

Latest commit

 

History

History
414 lines (254 loc) · 12.2 KB

File metadata and controls

414 lines (254 loc) · 12.2 KB

Changelog

All notable changes to this project will be documented in this file.

Unreleased - ReleaseDate

0.9.38 - 2026-05-21

Fixed

  • Updated guppy to 0.17.26, picking up a number of self-loop fixes.

Changed

  • Builtin targets updated to Rust 1.94.

0.9.37 - 2025-12-26

Changed

  • Builtin targets updated to Rust 1.92.
  • MSRV updated to Rust 1.86.

0.9.36 - 2025-02-20

Changed

  • Builtin targets updated to Rust 1.85.

0.9.35 - 2025-01-05

Added

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

0.9.34 - 2024-12-22

Added

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.

Changed

  • MSRV for compiling hakari updated to Rust 1.82.
  • Builtin targets updated to Rust 1.83.

0.9.33 - 2024-10-06

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.

0.9.32 - 2024-10-02

Fixed

  • Fixed a case of dependency matching with renamed packages (#317).

0.9.31 - 2024-09-11

Changed

  • Builtin targets updated to Rust 1.81.

0.9.30 - 2024-07-29

Fixed

  • Fixed a crash in some workspaces (#292).
  • The workspace-dotted line style no longer requires that the root Cargo.toml's workspace.dependencies.workspace-hack have a version set.

Changed

  • MSRV updated to Rust 1.75.
  • Builtin targets updated to Rust 1.80.

0.9.29 - 2024-02-04

Added

  • The default hakari.toml template for new projects now suggests Apple Silicon (aarch64-apple-darwin) as well.
  • New documentation about using the workspace-hack with a [patch] directive.

Changed

  • Builtin platforms updated to Rust 1.75.

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.

0.9.28 - 2023-10-03

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.
  • Builtin platforms updated to Rust 1.73.

0.9.27 - 2023-07-29

Changed

  • Builtin platforms updated to Rust 1.71.

0.9.26 - 2023-06-25

Changed

  • Internal dependency updates: updated guppy to 0.17.0.

0.9.25 - 2023-06-19

Fixed

  • target_os = "none" is now correctly evaluated.

Changed

  • MSRV updated to Rust 1.66.
  • Builtin platforms updated to Rust 1.70.

0.9.24 - 2023-04-15

Fixed

Canonicalize paths correctly on Windows ([#70]).

0.9.23 - 2023-01-18

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).

0.9.22 - 2023-01-18

(Publishing this release was cancelled due to a bug in it.)

0.9.21 - 2023-01-14

Fixed

Update README.md with fixed install instructions.

0.9.20 - 2023-01-14

Fixed

Fixed install instructions.

0.9.19 - 2023-01-14

Added

Release binaries are now available on GitHub Releases for quicker installation locally and in CI.

You can install release binaries:

  • using cargo binstall with cargo 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

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.
  • Builtin target platforms updated to Rust 1.66.

0.9.17 - 2022-12-04

Fixed

  • Fixed a panic in rare circumstances (#38).

0.9.16 - 2022-11-07

Added

  • cargo-hakari now works with cfg() specifications that contain target_abi in them.

0.9.15 - 2022-09-30

Changed

  • 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

Changed

  • Dependency updates: in particular, guppy updated to 0.14.2.

0.9.13 - 2022-03-14

Changed

  • 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

Fixed

  • 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

Added

  • A new explain command prints out information about why a dependency is in the workspace-hack.

Changed

  • The verify command now uses explain to print out information about failing crates.

0.9.9 - 2021-11-28

Added

  • Support for using the already-published workspace-hack crate on crates.io, which makes publishing seamless for new users.

Changed

  • cargo hakari init: the default crate name is always workspace-hack now.
    • This makes publishing seamless for new users.

0.9.8 - 2021-11-27

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.

Changed

  • The default config file location is now .config/hakari.toml. .guppy/hakari.toml continues 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

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.

0.9.5 - 2021-10-04

Added

  • Support for alternate registries through the [registries] section in the config.
  • Enable ANSI color output on Windows.

Fixed

Optimized

0.9.4 - 2021-10-04

Fixed

  • Fixed the configuration example in the readme.

0.9.3 - 2021-10-03

Changed

  • The new "auto" strategy for the unify-target-host option is now the default.
  • Updated documentation.

Fixed

  • 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

Fixed

  • Fix invocation as a cargo plugin.

0.9.0 - 2021-10-01

Initial release.