chore: bump to 0.90.0; update changelog (#15520)

[rendered](https://github.com/weihanglo/cargo/blob/version-bump/src/doc/src/CHANGELOG.md)

or preview through `mdbook serve src/doc`

---

Note that the long note of `-Zgc` stabilization is from Josh's comment
here:
<https://github.com/rust-lang/cargo/pull/14287#issuecomment-2802552543>
This commit is contained in:
Ed Page 2025-05-12 23:50:10 +00:00 committed by GitHub
commit 966229a4c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 148 additions and 4 deletions

2
Cargo.lock generated
View File

@ -300,7 +300,7 @@ dependencies = [
[[package]]
name = "cargo"
version = "0.89.0"
version = "0.90.0"
dependencies = [
"annotate-snippets",
"anstream",

View File

@ -135,7 +135,7 @@ self_named_module_files = "warn"
[package]
name = "cargo"
version = "0.89.0"
version = "0.90.0"
edition.workspace = true
license.workspace = true
rust-version = "1.86" # MSRV:1

View File

@ -1,19 +1,122 @@
# Changelog
## Cargo 1.88 (2025-06-26)
[a6c604d1...HEAD](https://github.com/rust-lang/cargo/compare/a6c604d1...HEAD)
## Cargo 1.89 (2025-08-07)
[873a0649...HEAD](https://github.com/rust-lang/cargo/compare/873a0649...HEAD)
### Added
- Add `*` and `?` pattern support for SSH known hosts matching.
[#15508](https://github.com/rust-lang/cargo/pull/15508)
### Changed
- ❗️ `cargo fix` and `cargo clippy --fix` now run only on the default Cargo
targets by default, matching the behavior of `cargo check`. To run on all
Cargo targets, use the `--all-targets` flag. This change aligns the behavior
with other commands. Edition flags like `--edition` and `--edition-idioms`
remain implying `--all-targets` by default.
[#15192](https://github.com/rust-lang/cargo/pull/15192)
- Respect `Retry-After` header for HTTP 429 responses when talking to registries.
[#15463](https://github.com/rust-lang/cargo/pull/15463)
- Improved error message for the `CRATE[@<VER>]` argument prefixed with `v`.
[#15484](https://github.com/rust-lang/cargo/pull/15484)
- Improved error message for the `CRATE[@<VER>]` argument with invalid package
name characters.
[#15441](https://github.com/rust-lang/cargo/pull/15441)
- cargo-add: suggest similarly named features
[#15438](https://github.com/rust-lang/cargo/pull/15438)
### Fixed
### Nightly only
- 🔥 `-Zno-embed-metadata`: This tells Cargo to pass the `-Zembed-metadata=no`
flag to the compiler, which instructs it not to embed metadata within rlib
and dylib artifacts. In this case, the metadata will only be stored in
`.rmeta` files.
([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#no-embed-metadata))
[#15378](https://github.com/rust-lang/cargo/pull/15378)
- `-Zscript`: Make cargo script ignore workspaces.
[#15496](https://github.com/rust-lang/cargo/pull/15496)
- `-Zpackage-workspace`: keep dev-dependencies if they have a version.
[#15470](https://github.com/rust-lang/cargo/pull/15470)
### Documentation
- Clarify what commands need and remove confusing example
[#15457](https://github.com/rust-lang/cargo/pull/15457)
- Update fingerprint footnote
[#15478](https://github.com/rust-lang/cargo/pull/15478)
- home: update version notice for deprecation removal
[#15511](https://github.com/rust-lang/cargo/pull/15511)
### Internal
- Refactor artifact deps in FeatureResolver::deps
[#15492](https://github.com/rust-lang/cargo/pull/15492)
- Added tracing spans for rustc invocations
[#15464](https://github.com/rust-lang/cargo/pull/15464)
- ci: migrate renovate config
[#15501](https://github.com/rust-lang/cargo/pull/15501)
- ci: Require schema job to pass
[#15504](https://github.com/rust-lang/cargo/pull/15504)
- test: Remove unused nightly requirements
[#15498](https://github.com/rust-lang/cargo/pull/15498)
- Update dependencies.
[#15456](https://github.com/rust-lang/cargo/pull/15456)
## Cargo 1.88 (2025-06-26)
[a6c604d1...rust-1.88.0](https://github.com/rust-lang/cargo/compare/a6c604d1...rust-1.88.0)
### Added
- 🎉 Stabilize automatic garbage collection for global caches.
When building, Cargo downloads and caches crates needed as dependencies.
Historically, these downloaded files would never be cleaned up, leading to an
unbounded amount of disk usage in Cargo's home directory. In this version,
Cargo introduces a garbage collection mechanism to automatically clean up old
files (e.g. .crate files). Cargo will remove files downloaded from the network
if not accessed in 3 months, and files obtained from the local system if not
accessed in 1 month. Note that this automatic garbage collection will not take
place if running offline (using `--offline` or `--frozen`).
Cargo 1.78 and newer track the access information needed for this garbage
collection. If you regularly use versions of Cargo older than 1.78, in
addition to running current versions of Cargo, and you expect to have some
crates accessed exclusively by the older versions of Cargo and don't want to
re-download those crates every ~3 months, you may wish to set
`cache.auto-clean-frequency = "never"` in the Cargo configuration.
([docs](https://doc.rust-lang.org/nightly/cargo/reference/config.html#cache))
[#14287](https://github.com/rust-lang/cargo/pull/14287)
- Allow boolean literals as cfg predicates in Cargo.toml and configurations.
For example, `[target.'cfg(not(false))'.dependencies]` is a valid cfg predicate.
([RFC 3695](https://github.com/rust-lang/rfcs/pull/3695))
[#14649](https://github.com/rust-lang/cargo/pull/14649)
### Changed
- Don't canonicalize executable path for the `CARGO` environment variable.
[#15355](https://github.com/rust-lang/cargo/pull/15355)
- Print target and package names formatted as file hyperlinks.
[#15405](https://github.com/rust-lang/cargo/pull/15405)
- Make sure library search paths inside `OUT_DIR` precede external paths.
[#15221](https://github.com/rust-lang/cargo/pull/15221)
- Suggest similar looking feature names when feature is missing.
[#15454](https://github.com/rust-lang/cargo/pull/15454)
- Use `zlib-rs` for gzip (de)compression for `.crate` tarballs.
[#15417](https://github.com/rust-lang/cargo/pull/15417)
### Fixed
- build-rs: Correct name of `CARGO_CFG_FEATURE`
[#15420](https://github.com/rust-lang/cargo/pull/15420)
- cargo-tree: Make output more deterministic
[#15369](https://github.com/rust-lang/cargo/pull/15369)
- cargo-package: dont fail the entire command when the dirtiness check failed,
as git status check is mostly informational.
[#15416](https://github.com/rust-lang/cargo/pull/15416)
[#15419](https://github.com/rust-lang/cargo/pull/15419)
### Nightly only
@ -22,14 +125,54 @@
([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#rustdoc-depinfo))
[#15359](https://github.com/rust-lang/cargo/pull/15359)
[#15371](https://github.com/rust-lang/cargo/pull/15371)
- `build-dir`: Added validation for unmatched brackets in build-dir template
[#15414](https://github.com/rust-lang/cargo/pull/15414)
- `build-dir`: Improved error message when build-dir template var is invalid
[#15418](https://github.com/rust-lang/cargo/pull/15418)
- `build-dir`: Added `build_directory` field to cargo metadata output
[#15377](https://github.com/rust-lang/cargo/pull/15377)
- `build-dir`: Added symlink resolution for `workspace-path-hash`
[#15400](https://github.com/rust-lang/cargo/pull/15400)
- `build-dir`: Added build_directory to cargo metadata documentation
[#15410](https://github.com/rust-lang/cargo/pull/15410)
- `unit-graph`: switch to Package ID Spec.
[#15447](https://github.com/rust-lang/cargo/pull/15447)
- `-Zgc`: Rename the `gc` config table to `[cache]`.
Low-level settings is now under `[cache.global-clean]`.
[#15367](https://github.com/rust-lang/cargo/pull/15367)
- `-Zdoctest-xcompile`: Update doctest xcompile flags.
[#15455](https://github.com/rust-lang/cargo/pull/15455)
### Documentation
- Mention the convention of kebab-case for Cargo targets naming.
[#14439](https://github.com/rust-lang/cargo/pull/14439)
- Use better example value in `CARGO_CFG_TARGET_ABI`
[#15404](https://github.com/rust-lang/cargo/pull/15404)
### Internal
- Fix formatting of CliUnstable parsing
[#15434](https://github.com/rust-lang/cargo/pull/15434)
- ci: restore semver-checks for cargo-util
[#15389](https://github.com/rust-lang/cargo/pull/15389)
- ci: add aarch64 linux runner
[#15077](https://github.com/rust-lang/cargo/pull/15077)
- rustfix: Use `snapbox` for snapshot testing
[#15429](https://github.com/rust-lang/cargo/pull/15429)
- test:Prevent undeclared public network access
[#15368](https://github.com/rust-lang/cargo/pull/15368)
- Update dependencies.
[#15373](https://github.com/rust-lang/cargo/pull/15373)
[#15381](https://github.com/rust-lang/cargo/pull/15381)
[#15391](https://github.com/rust-lang/cargo/pull/15391)
[#15394](https://github.com/rust-lang/cargo/pull/15394)
[#15403](https://github.com/rust-lang/cargo/pull/15403)
[#15415](https://github.com/rust-lang/cargo/pull/15415)
[#15421](https://github.com/rust-lang/cargo/pull/15421)
[#15446](https://github.com/rust-lang/cargo/pull/15446)
## Cargo 1.87 (2025-05-15)
[ce948f46...rust-1.87.0](https://github.com/rust-lang/cargo/compare/ce948f46...rust-1.87.0)
@ -63,6 +206,7 @@
[#15193](https://github.com/rust-lang/cargo/pull/15193)
- Include the package name also in the target hint message.
[#15199](https://github.com/rust-lang/cargo/pull/15199)
[#15497](https://github.com/rust-lang/cargo/pull/15497)
- cargo-add: collapse large feature lists
[#15200](https://github.com/rust-lang/cargo/pull/15200)
- cargo-vendor: Add context which workspace failed to resolve