Skip to content

Latest commit

 

History

History
592 lines (344 loc) · 26.3 KB

CHANGELOG.md

File metadata and controls

592 lines (344 loc) · 26.3 KB

Changelog

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

This project adheres to Semantic Versioning.

0.6.28 - 2024-04-17

  • Fix bug in --mutually-exclusive-features option. (#250)

0.6.27 - 2024-04-02

  • Adjust command order of --each-feature/--feature-powerset to early run a case that is likely to find a problem. (#247)

0.6.26 - 2024-04-01

  • Minor performance improvement to --mutually-exclusive-features option.

0.6.25 - 2024-04-01

  • Fix bug in --mutually-exclusive-features option. (#245)

0.6.24 - 2024-04-01

  • Respect the existing Cargo.lock with --version-range/--rust-version except when necessary to work around old cargo bugs. (#242) If you want to ensure that the existing Cargo.lock is respected in all cases, please use --locked.

0.6.23 - 2024-03-27

  • Fix ignoring optional dependencies when namespaced dependencies are used. (#241, thanks @xStrom)

0.6.22 - 2024-03-10

0.6.21 - 2024-03-06

  • Support combining --ignore-unknown-features and --group-features. (#240, thanks @kornelski)

0.6.20 - 2024-02-21

  • Respect --locked flag. (#236, thanks @epage)

0.6.19 - 2024-02-16

  • Fix bug in --mutually-exclusive-features option. (#235, thanks @sunmy2019)

0.6.18 - 2024-02-10

  • Update toml_edit to 0.22.

0.6.17 - 2024-02-03

  • Add --mutually-exclusive-features option. (#230, thanks @jhpratt)

0.6.16 - 2024-01-24

  • Fix "No such file or directory" error when --no-private flag is used with the workspace that the members field contains glob. (#228)

0.6.15 - 2023-12-16

  • Remove dependency on is-terminal.

0.6.14 - 2023-12-05

  • Update toml_edit to 0.21.

0.6.13 - 2023-10-22

  • Fix handling of optional dependency as features when namespaced features are not used together. This fixes a regression introduced in 0.6.11.

0.6.12 - 2023-10-18

  • Fix compatibility with old Cargo. This fixes a regression introduced in 0.6.11.

0.6.11 - 2023-10-18

  • Fix handling of weak dependency features when namespaced features are not used together.

  • Improve performance by passing --no-deps to cargo metadata except when using --include-deps-features.

0.6.10 - 2023-10-17

  • Fix compatibility with old Cargo. This fixes a regression introduced in 0.6.9.

0.6.9 - 2023-10-17

  • Improve performance and reduce disc usage by passing --filter-platform to cargo metadata. (#223)

0.6.8 - 2023-09-15

  • Disable log grouping on GitHub Actions by default if an option is passed in which stdout is assumed to be used, such as --message-format. (#221)

0.6.7 - 2023-09-11

  • Group rustup output on GitHub Actions. (#219)

  • Improve error message when no rust-version field is specified. (#217)

0.6.6 - 2023-09-09

  • Add --rust-version flag to perform commands on the Rust version of package.rust-version field in Cargo.toml. (#202, thanks @epage)

  • Support mixed MSRV in --version-range option. (#213, thanks @epage)

    Previously, crates in a workspace must have the same MSRVs, but that restriction is now removed.

  • Support ..= as inclusive range syntax for --version-range option to match Rust's inclusive range syntax. (#198)

    The old inclusive range syntax is now deprecated, but continues to be supported.

  • Group logs on GitHub Actions. (#206, #214)

    log-group

    This can be opt-out by using --log-group=none, and can be force-enabled by --log-group=github-actions.

  • Work around a rustup bug (rust-lang/rustup#3036) on Windows. (#209)

0.6.5 - 2023-09-04

  • Add --at-least-one-of flag. (#193, thanks @kornelski)

0.6.4 - 2023-08-29

  • Fix bug in --no-private flag with virtual workspace.

0.6.3 - 2023-08-28

  • Fix bug in --no-private flag on Windows.

0.6.2 - 2023-08-28

  • Work around spurious "failed to select a version" error when --version-range option is used.

    (This does not work around the underlying cargo bug.)

0.6.1 - 2023-08-28

  • Fix bug in --no-private flag.

0.6.0 - 2023-08-28

  • Add --no-private flag to exclude publish = false crates.

    This flag is more powerful than --ignore-private flag, because this also prevents private crates from affecting lockfile and metadata.

  • Restore Cargo.lock after run to match behavior with cargo-minimal-versions and cargo-no-dev-deps, when --no-dev-deps, --remove-dev-deps, or --no-private is used.

0.5.29 - 2023-08-06

  • Documentation improvements.

0.5.28 - 2023-02-28

  • Add unstable --print-command-list flag. (#175)

  • Update toml_edit to 0.19.

0.5.27 - 2023-01-25

  • Update toml_edit to 0.18.

  • Update lexopt to 0.3

0.5.26 - 2023-01-11

  • Distribute prebuilt macOS universal binary.

0.5.25 - 2022-12-25

  • Update toml_edit to 0.16.

0.5.24 - 2022-12-03

  • Pin libc to 0.2.137 to work around build failure on FreeBSD. (#174)

  • Add unstable --no-manifest-path flag.

  • Improve behavior regarding removal of dev-dependencies.

  • Diagnostics improvements.

0.5.23 - 2022-11-27

  • Replace atty with is-terminal. (#171)

0.5.22 - 2022-10-25

  • Update toml_edit to 0.15.

    This increases the rustc version required to build cargo-hack. (rustc 1.56+ -> 1.60+) The cargo/rustc version required to run cargo-hack remains unchanged. (cargo 1.26+)

0.5.21 - 2022-09-26

  • Improve handling of multiple --target options on older cargo. (#169)

0.5.20 - 2022-09-24

  • Support multiple --target options. This uses cargo 1.64's multi-target builds on cargo 1.64+, otherwise fallback to perform command per targets. (#168)

0.5.19 - 2022-09-22

  • Fix "failed to parse rust-version field from manifest" error when workspace inheritance is used. (#165)

0.5.18 - 2022-09-04

  • Allow empty strings in --features (-F), --exclude-features (--skip), --include-features. Passing an empty string to them is now considered the same as not passing the flag. See #163 for more.

  • Distribute prebuilt binaries for aarch64 Windows.

0.5.17 - 2022-08-12

  • Distribute prebuilt binaries for x86_64 FreeBSD. (#160)

0.5.16 - 2022-07-30

  • Fix an issue that a warning was displayed when excluding a feature that exists only in some crates in the workspace. (#158)

0.5.15 - 2022-07-18

  • Support namespaced features (features with dep: prefix). (#154)

  • Fix handling of quoted keys in --no-dev-deps and --remove-dev-deps. (#152)

    This increases the rustc version required to build cargo-hack. (rustc 1.46+ -> 1.56+) The cargo/rustc version required to run cargo-hack remains unchanged. (cargo 1.26+)

    This also increases the compile time of cargo-hack. Consider installing cargo-hack from prebuilt binaries.

  • Add metadata for cargo binstall.

0.5.14 - 2022-06-02

  • Distribute prebuilt binaries for aarch64 macOS. (#151)

0.5.13 - 2022-05-12

  • Support short flag of --features (-F). (#150)

0.5.12 - 2022-01-21

  • Distribute prebuilt binaries for aarch64 Linux (gnu and musl).

0.5.11 - 2022-01-21

  • Fix breakage on nightly-2022-01-20 or later. (#146)

0.5.10 - 2022-01-05

  • Fix handling of combined short flags. (#143)

  • Support omitting lower bound of --version-range in all cargo versions. (#144)

0.5.9 - 2021-12-29

  • Fix an error when using old cargo with a dependency graph containing 2021 edition crates. (#138)

  • Support omitting lower bound of --version-range. (#139)

  • Add --keep-going flag. (#140)

  • Fix an issue where --feature-powerset and --each-feature add --all-features as one of the combinations, even if it is already covered by another combination. (#141)

0.5.8 - 2021-10-13

  • Distribute statically linked binary on Windows MSVC. (#131)

0.5.7 - 2021-08-09

  • Fix an issue where cargo-hack cannot auto-detect whether color support is available on the terminal. (#125)

0.5.6 - 2021-06-07

  • You can now install cargo-hack using Homebrew tap on macOS and Linux: brew install taiki-e/tap/cargo-hack

  • Documentation improvements.

0.5.5 - 2021-04-04

  • Add --clean-per-version flag. (#120)

0.5.4 - 2021-02-27

  • Stop commit of Cargo.lock. (#127)

    If you want to use cargo-hack with versions of dependencies at the time of release, please download the compiled binary from GitHub Releases. See #117 for more.

  • Support controls of colored output by CARGO_TERM_COLOR. (#110)

  • Do not run rustup toolchain install in --version-range if the toolchain already has installed. (#109)

0.5.3 - 2021-01-05

  • Documentation improvements.

  • Exclude unneeded files from crates.io.

0.5.2 - 2020-12-09

  • Automatically install target if specified when using --version-range option. (#108)

0.5.1 - 2020-12-06

  • Fix compatibility with old cargo of --version-range option. (#106)

0.5.0 - 2020-12-06

  • Remove deprecated --skip-no-default-features flag. (#100)

    Use --exclude-no-default-features flag instead.

  • Add --version-range option. See #102 for more.

  • Change some warnings to errors. (#100)

  • cargo-hack now handles SIGTERM the same as SIGINT (ctrl-c).

  • GitHub Releases binaries containing version numbers are no longer distributed. See #91 for more.

  • Diagnostic improvements.

0.4.8 - 2020-12-03

  • Fix an issue that feature combinations exclusion does not work properly when used with --group-features. (#99)

0.4.7 - 2020-12-03

No public API changes from 0.4.6.

  • Distribute *.tar.gz file for Windows via GitHub Releases. See #98 for more.

  • Distribute x86_64-unknown-linux-musl binary via GitHub Releases.

0.4.6 - 2020-11-30

  • Exclude feature combinations by detecting dependencies of features. (#85)

    This may significantly reduce the runtime of --feature-powerset on projects that have many features. See #81 for more.

  • Fix an issue where CARGO_HACK_CARGO_SRC=cross did not work. (#94)

0.4.5 - 2020-11-14

  • Fix an issue where cargo-hack exits with exit code 0 if no subcommand or valid flag was passed.

  • Fix an issue where --no-default-features flag was treated as --exclude-no-default-features when used together with --each-feature or --feature-powerset.

0.4.4 - 2020-11-13

No public API changes from 0.4.3.

  • Remove version number from release binaries. URLs containing version numbers will continue to work, but are deprecated and will be removed in the next major version. See #91 for more.

  • Reduce the size of release binaries.

0.4.3 - 2020-11-08

No public API changes from 0.4.2.

Since this release, we have distributed compiled binary files of cargo-hack via GitHub release. See #89 for more.

0.4.2 - 2020-11-03

  • cargo-hack no longer include --all-features in feature combination if one or more features already excluded. (#86)

  • Diagnostic improvements.

0.4.1 - 2020-10-24

  • Add --group-features option. (#82)

0.4.0 - 2020-10-21

  • Remove deprecated --ignore-non-exist-features flag. (#62)

    Use --ignore-unknown-features flag instead.

  • Treat --all-features flag as one of feature combinations. (#61) See #42 for details.

  • Add --exclude-all-features flag. (#61, #65) See #42 for details.

  • Add --exclude-features option. This is an alias of --skip option. (#65)

  • Rename --skip-no-default-features flag to --exclude-no-default-features. (#65)

    The old name can be used as an alias, but is deprecated.

  • Add --include-features option. (#66) See #66 for details.

  • Add --include-deps-features option. (#70) See #29 for details.

  • Fix an issue where using --features with --each-feature or --feature-powerset together would result in the same feature combination being performed multiple times. (#64)

  • Fix handling of default features. (#77)

  • Improve performance by avoiding reading and parsing Cargo manifest. (#73)

  • Diagnostic improvements.

0.3.14 - 2020-10-10

  • Add --depth option. (#59) See #59 for details.

0.3.13 - 2020-09-22

  • Print the command actually executed when error occurred. (#55)

  • --verbose flag is no longer propagated to cargo. (#55)

  • Improve compile time by removing some dependencies. (#54)

0.3.12 - 2020-09-18

  • Allow only specified optional dependencies to be considered as features. (#51)

0.3.11 - 2020-07-11

  • Added --clean-per-run flag. (#49) See #49 for details.

0.3.10 - 2020-06-20

  • Fixed an issue where some flags could not handle space-separated list correctly. (#46)

0.3.9 - 2020-05-25

  • Fix an issue that --skip does not work for optional dependencies. (#43)

0.3.8 - 2020-05-21

  • Added --skip-no-default-features flag. (#41) See #38 for details.

0.3.7 - 2020-05-20

  • Fixed an issue that runs with default features even if --skip default flag passed. (#37)

0.3.6 - 2020-05-17

  • Fixed an issue that --remove-dev-deps flag does not work properly without subcommand. (#36)

0.3.5 - 2020-04-24

  • Added --optional-deps flag. (#34) See #28 for details.

0.3.4 - 2020-04-23

  • cargo-hack now prints the total number of feature flag combinations and progress. (#32)

0.3.3 - 2020-01-06

  • Added --skip option. (#25, thanks @kleimkuhler) See #24 for details.

0.3.2 - 2019-12-09

  • Added --feature-powerset flag to perform for the feature powerset. (#23, thanks @kleimkuhler)

  • Reduced compile time of cargo-hack to less than half. (#22)

0.3.1 - 2019-11-20

  • cargo-hack can now handle ctrl-c signal properly. (#20) Previously there was an issue with interoperability with --no-dev-deps flag.

0.3.0 - 2019-11-13

  • cargo-hack now works on windows. (#17)

  • Fixed an issue that when --all(--workspace) and --package flags are run in subcrate, the command does not apply to other crates in the workspace. (#17)

  • Banned --no-dev-deps flag with builds that require dev-dependencies. (#16)

  • cargo-hack is no longer does not generate temporary backup files. (#14)

0.2.1 - 2019-11-03

  • Removed warning from --all/--workspace flag. This is no longer "experimental".

0.2.0 - 2019-11-02

  • Implemented --package flag. (#12)

  • Implemented --exclude flag. (#12)

  • Renamed --ignore-non-exist-features flag to --ignore-unknown-features. (#10)

    The old name can be used as an alias, but is deprecated.

0.1.1 - 2019-11-01

  • Fixed some issues on Windows.

0.1.0 - 2019-10-30

Initial release