|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## Cargo 1.89 (2025-08-07) |
| 4 | +[873a0649...HEAD](https://github.com/rust-lang/cargo/compare/873a0649...HEAD) |
| 5 | + |
| 6 | +### Added |
| 7 | + |
| 8 | +- Add `*` and `?` pattern support for SSH known hosts matching. |
| 9 | + [#15508](https://github.com/rust-lang/cargo/pull/15508) |
| 10 | + |
| 11 | +### Changed |
| 12 | + |
| 13 | +- ❗️ `cargo fix` and `cargo clippy --fix` now run only on the default Cargo |
| 14 | + targets by default, matching the behavior of `cargo check`. To run on all |
| 15 | + Cargo targets, use the `--all-targets` flag. This change aligns the behavior |
| 16 | + with other commands. Edition flags like `--edition` and `--edition-idioms` |
| 17 | + remain implying `--all-targets` by default. |
| 18 | + [#15192](https://github.com/rust-lang/cargo/pull/15192) |
| 19 | +- Respect `Retry-After` header for HTTP 429 responses when talking to registries. |
| 20 | + [#15463](https://github.com/rust-lang/cargo/pull/15463) |
| 21 | +- Improved error message for the `CRATE[@<VER>]` argument prefixed with `v`. |
| 22 | + [#15484](https://github.com/rust-lang/cargo/pull/15484) |
| 23 | +- Improved error message for the `CRATE[@<VER>]` argument with invalid package |
| 24 | + name characters. |
| 25 | + [#15441](https://github.com/rust-lang/cargo/pull/15441) |
| 26 | +- cargo-add: suggest similarly named features |
| 27 | + [#15438](https://github.com/rust-lang/cargo/pull/15438) |
| 28 | + |
| 29 | +### Fixed |
| 30 | + |
| 31 | +### Nightly only |
| 32 | + |
| 33 | +- 🔥 `-Zno-embed-metadata`: This tells Cargo to pass the `-Zembed-metadata=no` |
| 34 | + flag to the compiler, which instructs it not to embed metadata within rlib |
| 35 | + and dylib artifacts. In this case, the metadata will only be stored in |
| 36 | + `.rmeta` files. |
| 37 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#no-embed-metadata)) |
| 38 | + [#15378](https://github.com/rust-lang/cargo/pull/15378) |
| 39 | +- `-Zscript`: Make cargo script ignore workspaces. |
| 40 | + [#15496](https://github.com/rust-lang/cargo/pull/15496) |
| 41 | +- `-Zpackage-workspace`: keep dev-dependencies if they have a version. |
| 42 | + [#15470](https://github.com/rust-lang/cargo/pull/15470) |
| 43 | + |
| 44 | +### Documentation |
| 45 | + |
| 46 | +- Clarify what commands need and remove confusing example |
| 47 | + [#15457](https://github.com/rust-lang/cargo/pull/15457) |
| 48 | +- Update fingerprint footnote |
| 49 | + [#15478](https://github.com/rust-lang/cargo/pull/15478) |
| 50 | +- home: update version notice for deprecation removal |
| 51 | + [#15511](https://github.com/rust-lang/cargo/pull/15511) |
| 52 | + |
| 53 | +### Internal |
| 54 | + |
| 55 | +- Refactor artifact deps in FeatureResolver::deps |
| 56 | + [#15492](https://github.com/rust-lang/cargo/pull/15492) |
| 57 | +- Added tracing spans for rustc invocations |
| 58 | + [#15464](https://github.com/rust-lang/cargo/pull/15464) |
| 59 | +- ci: migrate renovate config |
| 60 | + [#15501](https://github.com/rust-lang/cargo/pull/15501) |
| 61 | +- ci: Require schema job to pass |
| 62 | + [#15504](https://github.com/rust-lang/cargo/pull/15504) |
| 63 | +- test: Remove unused nightly requirements |
| 64 | + [#15498](https://github.com/rust-lang/cargo/pull/15498) |
| 65 | +- Update dependencies. |
| 66 | + [#15456](https://github.com/rust-lang/cargo/pull/15456) |
| 67 | + |
3 | 68 | ## Cargo 1.88 (2025-06-26)
|
4 |
| -[a6c604d1...HEAD](https://github.com/rust-lang/cargo/compare/a6c604d1...HEAD) |
| 69 | +[a6c604d1...rust-1.88.0](https://github.com/rust-lang/cargo/compare/a6c604d1...rust-1.88.0) |
5 | 70 |
|
6 | 71 | ### Added
|
7 | 72 |
|
| 73 | +- 🎉 Stabilize automatic garbage collection for global caches. |
| 74 | + |
| 75 | + When building, Cargo downloads and caches crates needed as dependencies. |
| 76 | + Historically, these downloaded files would never be cleaned up, leading to an |
| 77 | + unbounded amount of disk usage in Cargo's home directory. In this version, |
| 78 | + Cargo introduces a garbage collection mechanism to automatically clean up old |
| 79 | + files (e.g. .crate files). Cargo will remove files downloaded from the network |
| 80 | + if not accessed in 3 months, and files obtained from the local system if not |
| 81 | + accessed in 1 month. Note that this automatic garbage collection will not take |
| 82 | + place if running offline (using `--offline` or `--frozen`). |
| 83 | + |
| 84 | + Cargo 1.78 and newer track the access information needed for this garbage |
| 85 | + collection. If you regularly use versions of Cargo older than 1.78, in |
| 86 | + addition to running current versions of Cargo, and you expect to have some |
| 87 | + crates accessed exclusively by the older versions of Cargo and don't want to |
| 88 | + re-download those crates every ~3 months, you may wish to set |
| 89 | + `cache.auto-clean-frequency = "never"` in the Cargo configuration. |
| 90 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/config.html#cache)) |
| 91 | + [#14287](https://github.com/rust-lang/cargo/pull/14287) |
| 92 | +- Allow boolean literals as cfg predicates in Cargo.toml and configurations. |
| 93 | + For example, `[target.'cfg(not(false))'.dependencies]` is a valid cfg predicate. |
| 94 | + ([RFC 3695](https://github.com/rust-lang/rfcs/pull/3695)) |
| 95 | + [#14649](https://github.com/rust-lang/cargo/pull/14649) |
| 96 | + |
8 | 97 | ### Changed
|
9 | 98 |
|
10 | 99 | - Don't canonicalize executable path for the `CARGO` environment variable.
|
11 | 100 | [#15355](https://github.com/rust-lang/cargo/pull/15355)
|
| 101 | +- Print target and package names formatted as file hyperlinks. |
| 102 | + [#15405](https://github.com/rust-lang/cargo/pull/15405) |
| 103 | +- Make sure library search paths inside `OUT_DIR` precede external paths. |
| 104 | + [#15221](https://github.com/rust-lang/cargo/pull/15221) |
| 105 | +- Suggest similar looking feature names when feature is missing. |
| 106 | + [#15454](https://github.com/rust-lang/cargo/pull/15454) |
| 107 | +- Use `zlib-rs` for gzip (de)compression for `.crate` tarballs. |
| 108 | + [#15417](https://github.com/rust-lang/cargo/pull/15417) |
12 | 109 |
|
13 | 110 | ### Fixed
|
14 | 111 |
|
| 112 | +- build-rs: Correct name of `CARGO_CFG_FEATURE` |
| 113 | + [#15420](https://github.com/rust-lang/cargo/pull/15420) |
15 | 114 | - cargo-tree: Make output more deterministic
|
16 | 115 | [#15369](https://github.com/rust-lang/cargo/pull/15369)
|
| 116 | +- cargo-package: dont fail the entire command when the dirtiness check failed, |
| 117 | + as git status check is mostly informational. |
| 118 | + [#15416](https://github.com/rust-lang/cargo/pull/15416) |
| 119 | + [#15419](https://github.com/rust-lang/cargo/pull/15419) |
17 | 120 |
|
18 | 121 | ### Nightly only
|
19 | 122 |
|
|
22 | 125 | ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#rustdoc-depinfo))
|
23 | 126 | [#15359](https://github.com/rust-lang/cargo/pull/15359)
|
24 | 127 | [#15371](https://github.com/rust-lang/cargo/pull/15371)
|
| 128 | +- `build-dir`: Added validation for unmatched brackets in build-dir template |
| 129 | + [#15414](https://github.com/rust-lang/cargo/pull/15414) |
| 130 | +- `build-dir`: Improved error message when build-dir template var is invalid |
| 131 | + [#15418](https://github.com/rust-lang/cargo/pull/15418) |
| 132 | +- `build-dir`: Added `build_directory` field to cargo metadata output |
| 133 | + [#15377](https://github.com/rust-lang/cargo/pull/15377) |
| 134 | +- `build-dir`: Added symlink resolution for `workspace-path-hash` |
| 135 | + [#15400](https://github.com/rust-lang/cargo/pull/15400) |
| 136 | +- `build-dir`: Added build_directory to cargo metadata documentation |
| 137 | + [#15410](https://github.com/rust-lang/cargo/pull/15410) |
| 138 | +- `unit-graph`: switch to Package ID Spec. |
| 139 | + [#15447](https://github.com/rust-lang/cargo/pull/15447) |
25 | 140 | - `-Zgc`: Rename the `gc` config table to `[cache]`.
|
26 | 141 | Low-level settings is now under `[cache.global-clean]`.
|
27 | 142 | [#15367](https://github.com/rust-lang/cargo/pull/15367)
|
| 143 | +- `-Zdoctest-xcompile`: Update doctest xcompile flags. |
| 144 | + [#15455](https://github.com/rust-lang/cargo/pull/15455) |
28 | 145 |
|
29 | 146 | ### Documentation
|
30 | 147 |
|
| 148 | +- Mention the convention of kebab-case for Cargo targets naming. |
| 149 | + [#14439](https://github.com/rust-lang/cargo/pull/14439) |
| 150 | +- Use better example value in `CARGO_CFG_TARGET_ABI` |
| 151 | + [#15404](https://github.com/rust-lang/cargo/pull/15404) |
| 152 | + |
31 | 153 | ### Internal
|
32 | 154 |
|
| 155 | +- Fix formatting of CliUnstable parsing |
| 156 | + [#15434](https://github.com/rust-lang/cargo/pull/15434) |
| 157 | +- ci: restore semver-checks for cargo-util |
| 158 | + [#15389](https://github.com/rust-lang/cargo/pull/15389) |
| 159 | +- ci: add aarch64 linux runner |
| 160 | + [#15077](https://github.com/rust-lang/cargo/pull/15077) |
| 161 | +- rustfix: Use `snapbox` for snapshot testing |
| 162 | + [#15429](https://github.com/rust-lang/cargo/pull/15429) |
| 163 | +- test:Prevent undeclared public network access |
| 164 | + [#15368](https://github.com/rust-lang/cargo/pull/15368) |
| 165 | +- Update dependencies. |
| 166 | + [#15373](https://github.com/rust-lang/cargo/pull/15373) |
| 167 | + [#15381](https://github.com/rust-lang/cargo/pull/15381) |
| 168 | + [#15391](https://github.com/rust-lang/cargo/pull/15391) |
| 169 | + [#15394](https://github.com/rust-lang/cargo/pull/15394) |
| 170 | + [#15403](https://github.com/rust-lang/cargo/pull/15403) |
| 171 | + [#15415](https://github.com/rust-lang/cargo/pull/15415) |
| 172 | + [#15421](https://github.com/rust-lang/cargo/pull/15421) |
| 173 | + [#15446](https://github.com/rust-lang/cargo/pull/15446) |
| 174 | + |
| 175 | + |
33 | 176 | ## Cargo 1.87 (2025-05-15)
|
34 | 177 | [ce948f46...rust-1.87.0](https://github.com/rust-lang/cargo/compare/ce948f46...rust-1.87.0)
|
35 | 178 |
|
|
63 | 206 | [#15193](https://github.com/rust-lang/cargo/pull/15193)
|
64 | 207 | - Include the package name also in the target hint message.
|
65 | 208 | [#15199](https://github.com/rust-lang/cargo/pull/15199)
|
| 209 | + [#15497](https://github.com/rust-lang/cargo/pull/15497) |
66 | 210 | - cargo-add: collapse large feature lists
|
67 | 211 | [#15200](https://github.com/rust-lang/cargo/pull/15200)
|
68 | 212 | - cargo-vendor: Add context which workspace failed to resolve
|
|
0 commit comments