diff --git a/CHANGELOG.md b/CHANGELOG.md index 71270c39291..e120e13e926 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,26 @@ # Changelog +## Cargo 1.38 (2019-11-26) +[4c1fa54d...HEAD](https://github.com/rust-lang/cargo/compare/4c1fa54d...HEAD) + +### Added + +### Changed + +### Fixed +- (Nightly only): Fixed exponential blowup when using CARGO_BUILD_PIPELINING. + [#7062](https://github.com/rust-lang/cargo/pull/7062) +- Fixed using the wrong directory when updating git repositories when using + the `git-fetch-with-cli` config option, and the `GIT_DIR` environment + variable is set. This may happen when running cargo from git callbacks. + [#7082](https://github.com/rust-lang/cargo/pull/7082) + ## Cargo 1.37 (2019-08-15) -[c4fcfb72...HEAD](https://github.com/rust-lang/cargo/compare/c4fcfb72...HEAD) +[c4fcfb72...4c1fa54d](https://github.com/rust-lang/cargo/compare/c4fcfb72...4c1fa54d) ### Added -- Added `doctest` field to `cargo metadata` to determine if a target's documentation is tested. +- Added `doctest` field to `cargo metadata` to determine if a target's + documentation is tested. [#6953](https://github.com/rust-lang/cargo/pull/6953) [#6965](https://github.com/rust-lang/cargo/pull/6965) - (Nightly only): Added [compiler message @@ -12,11 +28,56 @@ The `-Z cache-messages` flag makes cargo cache the compiler output so that future runs can redisplay previous warnings. [#6933](https://github.com/rust-lang/cargo/pull/6933) +- 🔥 The [`cargo + vendor`](https://doc.rust-lang.org/nightly/cargo/commands/cargo-vendor.html) + command is now built-in to Cargo. This command may be used to create a local + copy of the sources of all dependencies. + [#6869](https://github.com/rust-lang/cargo/pull/6869) +- 🔥 The "publish lockfile" feature is now stable. This feature will + automatically include the `Cargo.lock` file when a package is published if + it contains a binary executable target. By default, Cargo will ignore + `Cargo.lock` when installing a package. To force Cargo to use the + `Cargo.lock` file included in the published package, use `cargo install + --locked`. This may be useful to ensure that `cargo install` consistently + reproduces the same result. It may also be useful when a semver-incompatible + change is accidentally published to a dependency, providing a way to fall + back to a version that is known to work. + [#7026](https://github.com/rust-lang/cargo/pull/7026) +- 🔥 The `default-run` feature has been stabilized. This feature allows you to + specify which binary executable to run by default with `cargo run` when a + package includes multiple binaries. Set the `default-run` key in the + `[package]` table in `Cargo.toml` to the name of the binary to use by + default. + [#7056](https://github.com/rust-lang/cargo/pull/7056) ### Changed - `cargo package` now verifies that build scripts do not create empty directories. [#6973](https://github.com/rust-lang/cargo/pull/6973) +- A warning is now issued if `cargo doc` generates duplicate outputs, which + causes files to be randomly stomped on. This may happen for a variety of + reasons (renamed dependencies, multiple versions of the same package, + packages with renamed libraries, etc.). This is a known bug, which needs + more work to handle correctly. + [#6998](https://github.com/rust-lang/cargo/pull/6998) +- Enabling a dependency's feature with `--features foo/bar` will no longer + compile the current crate with the `foo` feature if `foo` is not an optional + dependency. + [#7010](https://github.com/rust-lang/cargo/pull/7010) +- If `--remap-path-prefix` is passed via RUSTFLAGS, it will no longer affect + the filename metadata hash. + [#6966](https://github.com/rust-lang/cargo/pull/6966) +- libgit2 has been updated to 0.28.2, which Cargo uses to access git + repositories. This brings in hundreds of changes and fixes since it was last + updated in November. + [#7018](https://github.com/rust-lang/cargo/pull/7018) +- Cargo now supports absolute paths in the dep-info files generated by rustc. + This is laying the groundwork for [tracking + binaries](https://github.com/rust-lang/rust/pull/61727), such as libstd, for + rebuild detection. (Note: this contains a known bug.) + [#7030](https://github.com/rust-lang/cargo/pull/7030) +- (Nightly only): `-Z mtime-on-use` no longer touches intermediate artifacts. + [#7050](https://github.com/rust-lang/cargo/pull/7050) ### Fixed - Fixed how zsh completions fetch the list of commands. @@ -24,6 +85,9 @@ - "+ debuginfo" is no longer printed in the build summary when `debug` is set to 0. [#6971](https://github.com/rust-lang/cargo/pull/6971) +- Fixed `cargo doc` with an example configured with `doc = true` to document + correctly. + [#7023](https://github.com/rust-lang/cargo/pull/7023) ## Cargo 1.36 (2019-07-04) [6f3e9c36...c4fcfb72](https://github.com/rust-lang/cargo/compare/6f3e9c36...c4fcfb72)