# Changelog
+## Cargo 1.62 (2022-05-19)
+[1ef1e0a1...HEAD](https://github.com/rust-lang/cargo/compare/1ef1e0a1...HEAD)
+
+### Added
+
+### Changed
+
+- `cargo install` will no longer generate an error if no binaries were found
+ to install (such as missing required features).
+ [#10508](https://github.com/rust-lang/cargo/pull/10508)
+
+### Fixed
+
+### Nightly only
+
+
+## Cargo 1.61 (2022-04-07)
+[ea2a21c9...rust-1.61.0](https://github.com/rust-lang/cargo/compare/ea2a21c9...rust-1.61.0)
+
+### Added
+
+### Changed
+
+- `cargo test --no-run` will now display the path to the test executables.
+ [#10346](https://github.com/rust-lang/cargo/pull/10346)
+- `cargo tree --duplicates` no longer reports dependencies that are shared
+ between the host and the target as duplicates.
+ [#10466](https://github.com/rust-lang/cargo/pull/10466)
+- Updated to the 1.4.2 release of libgit2 which brings in several fixes
+ [#10442](https://github.com/rust-lang/cargo/pull/10442)
+ [#10479](https://github.com/rust-lang/cargo/pull/10479)
+- `cargo vendor` no longer allows multiple values for `--sync`, you must pass
+ multiple `--sync` flags instead.
+ [#10448](https://github.com/rust-lang/cargo/pull/10448)
+- Warnings are now issued for manifest keys that have mixed both underscore
+ and dash variants (such as specifying both `proc_macro` and `proc-macro`)
+ [#10316](https://github.com/rust-lang/cargo/pull/10316)
+- Cargo now uses the standard library's `available_parallelism` instead of the
+ `num_cpus` crate for determining the default parallelism.
+ [#10427](https://github.com/rust-lang/cargo/pull/10427)
+- `cargo search` terms are now highlighted.
+ [#10425](https://github.com/rust-lang/cargo/pull/10425)
+
+### Fixed
+
+- Paths passed to VCS tools like `hg` are now added after `--` to avoid
+ conflict with VCS flags.
+ [#10483](https://github.com/rust-lang/cargo/pull/10483)
+- Fixed the `http.timeout` configuration value to actually work.
+ [#10456](https://github.com/rust-lang/cargo/pull/10456)
+- Fixed issues with `cargo rustc --crate-type` not working in some situations.
+ [#10388](https://github.com/rust-lang/cargo/pull/10388)
+
+### Nightly only
+
+- Added `-Z check-cfg-features` to enable compile-time checking of features
+ [#10408](https://github.com/rust-lang/cargo/pull/10408)
+- Added `-Z bindeps` to support binary artifact dependencies (RFC-3028)
+ [#9992](https://github.com/rust-lang/cargo/pull/9992)
+- `-Z multitarget` is now supported in the `build.target` config value with an array.
+ [#10473](https://github.com/rust-lang/cargo/pull/10473)
+- Added `--keep-going` flag which will continue compilation even if one crate
+ fails to compile.
+ [#10383](https://github.com/rust-lang/cargo/pull/10383)
+- Start work on inheriting manifest values in a workspace.
+ [#10497](https://github.com/rust-lang/cargo/pull/10497)
+ [#10517](https://github.com/rust-lang/cargo/pull/10517)
+- Added support for HTTP registries.
+ [#10470](https://github.com/rust-lang/cargo/pull/10470)
+ [#10064](https://github.com/rust-lang/cargo/pull/10064)
+- Fixed panic when artifact target is used for `[target.'cfg(<target>)'.dependencies]`
+ [#10433](https://github.com/rust-lang/cargo/pull/10433)
+- Fixed host flags to pass to build scripts (`-Z target-applies-to-host`)
+ [#10395](https://github.com/rust-lang/cargo/pull/10395)
+- Added `-Z check-cfg-features` support for rustdoc
+ [#10428](https://github.com/rust-lang/cargo/pull/10428)
+
+
## Cargo 1.60 (2022-04-07)
-[358e79fe...HEAD](https://github.com/rust-lang/cargo/compare/358e79fe...HEAD)
+[358e79fe...rust-1.60.0](https://github.com/rust-lang/cargo/compare/358e79fe...rust-1.60.0)
### Added
+
- 🎉 Added the `dep:` prefix in the `[features]` table to refer to an optional
dependency. This allows creating feature names with the same name as a
dependency, and allows for "hiding" optional dependencies so that they do
is already enabled by some other feature.
[docs](https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features)
[#10269](https://github.com/rust-lang/cargo/pull/10269)
+- 🎉 Added `--timings` option to generate an HTML report about build timing,
+ concurrency, and CPU use.
+ [docs](https://doc.rust-lang.org/nightly/cargo/reference/timings.html)
+ [#10245](https://github.com/rust-lang/cargo/pull/10245)
- Added the `"v"` and `"features2"` fields to the registry index.
The `"v"` field provides a method for compatibility with future changes to the index.
[docs](https://doc.rust-lang.org/nightly/cargo/reference/registries.html#index-format)
[#10269](https://github.com/rust-lang/cargo/pull/10269)
+- Added bash completion for `cargo clippy`
+ [#10347](https://github.com/rust-lang/cargo/pull/10347)
+- Added bash completion for `cargo report`
+ [#10295](https://github.com/rust-lang/cargo/pull/10295)
+- Added support to build scripts for `rustc-link-arg-tests`,
+ `rustc-link-arg-examples`, and `rustc-link-arg-benches`.
+ [docs](https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#outputs-of-the-build-script)
+ [#10274](https://github.com/rust-lang/cargo/pull/10274)
### Changed
+
- Cargo now uses the clap 3 library for command-line argument parsing.
[#10265](https://github.com/rust-lang/cargo/pull/10265)
- The `build.pipelining` config option is now deprecated, pipelining will now
always be enabled.
[#10258](https://github.com/rust-lang/cargo/pull/10258)
+- `cargo new` will now generate a `.gitignore` which only ignores `Cargo.lock`
+ in the root of the repo, instead of any directory.
+ [#10379](https://github.com/rust-lang/cargo/pull/10379)
+- Improved startup time of bash completion.
+ [#10365](https://github.com/rust-lang/cargo/pull/10365)
+- The `--features` flag is now honored when used with the `--all-features`
+ flag, which allows enabling features from other packages.
+ [#10337](https://github.com/rust-lang/cargo/pull/10337)
+- Cargo now uses a different TOML parser. This should not introduce any
+ user-visible changes. This paves the way to support format-preserving
+ programmatic modification of TOML files for supporting `cargo add` and other
+ future enhancements.
+ [#10086](https://github.com/rust-lang/cargo/pull/10086)
+- Setting a library to emit both a `dylib` and `cdylib` is now an error, as
+ this combination is not supported.
+ [#10243](https://github.com/rust-lang/cargo/pull/10243)
+- `cargo --list` now includes the `help` command.
+ [#10300](https://github.com/rust-lang/cargo/pull/10300)
### Fixed
+- Fixed running `cargo doc` on examples with dev-dependencies.
+ [#10341](https://github.com/rust-lang/cargo/pull/10341)
+- Fixed `cargo install --path` for a path that is relative to a directory
+ outside of the workspace in the current directory.
+ [#10335](https://github.com/rust-lang/cargo/pull/10335)
+- `cargo test TEST_FILTER` should no longer build binaries that are explicitly
+ disabled with `test = false`.
+ [#10305](https://github.com/rust-lang/cargo/pull/10305)
+- Fixed regression with `term.verbose` without `term.quiet`, and vice versa.
+ [#10429](https://github.com/rust-lang/cargo/pull/10429)
+ [#10436](https://github.com/rust-lang/cargo/pull/10436)
+
### Nightly only
+
- Added `rustflags` option to a profile definition.
[#10217](https://github.com/rust-lang/cargo/pull/10217)
-
+- Changed `--config` to only support dotted keys.
+ [#10176](https://github.com/rust-lang/cargo/pull/10176)
+- Fixed profile `rustflags` not being gated in profile overrides.
+ [#10411](https://github.com/rust-lang/cargo/pull/10411)
+ [#10413](https://github.com/rust-lang/cargo/pull/10413)
## Cargo 1.59 (2022-02-24)
[7f08ace4...rust-1.59.0](https://github.com/rust-lang/cargo/compare/7f08ace4...rust-1.59.0)
behavior for removing symbols and debug information from binaries.
[docs](https://doc.rust-lang.org/nightly/cargo/reference/profiles.html#strip)
[#10088](https://github.com/rust-lang/cargo/pull/10088)
+ [#10376](https://github.com/rust-lang/cargo/pull/10376)
- 🎉 Added future incompatible reporting.
This provides reporting for when a future change in `rustc` may cause a
package or any of its dependencies to stop building.
[#10193](https://github.com/rust-lang/cargo/pull/10193)
- Removed the deprecated `--host` CLI option.
[#10145](https://github.com/rust-lang/cargo/pull/10145)
+ [#10327](https://github.com/rust-lang/cargo/pull/10327)
- Cargo should now report its version to always be in sync with `rustc`.
[#10178](https://github.com/rust-lang/cargo/pull/10178)
- Added EOPNOTSUPP to ignored file locking errors, which is relevant to BSD
- Fixed so that the `doc=false` setting is honored in the `[lib]` definition
of a dependency.
[#10201](https://github.com/rust-lang/cargo/pull/10201)
+ [#10324](https://github.com/rust-lang/cargo/pull/10324)
- The `"executable"` field in the JSON option was incorrectly including the
path to `index.html` when documenting a binary. It is now null.
[#10171](https://github.com/rust-lang/cargo/pull/10171)