|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## Cargo 1.88 (2025-06-26) |
| 4 | +[a6c604d1...HEAD](https://github.com/rust-lang/cargo/compare/a6c604d1...HEAD) |
| 5 | + |
| 6 | +### Added |
| 7 | + |
| 8 | +### Changed |
| 9 | + |
| 10 | +- Don't canonicalize executable path for the `CARGO` environment variable. |
| 11 | + [#15355](https://github.com/rust-lang/cargo/pull/15355) |
| 12 | + |
| 13 | +### Fixed |
| 14 | + |
| 15 | +- cargo-tree: Make output more deterministic |
| 16 | + [#15369](https://github.com/rust-lang/cargo/pull/15369) |
| 17 | + |
| 18 | +### Nightly only |
| 19 | + |
| 20 | +- 🔥 `-Zrustdoc-depinfo`: A new unstable flag leveraging rustdoc’s dep-info |
| 21 | + files to determine whether documentations are required to re-generate. |
| 22 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#rustdoc-depinfo)) |
| 23 | + [#15359](https://github.com/rust-lang/cargo/pull/15359) |
| 24 | + [#15371](https://github.com/rust-lang/cargo/pull/15371) |
| 25 | +- `-Zgc`: Rename the `gc` config table to `[cache]`. |
| 26 | + Low-level settings is now under `[cache.global-clean]`. |
| 27 | + [#15367](https://github.com/rust-lang/cargo/pull/15367) |
| 28 | + |
| 29 | +### Documentation |
| 30 | + |
| 31 | +### Internal |
| 32 | + |
3 | 33 | ## Cargo 1.87 (2025-05-15)
|
4 |
| -[ce948f46...HEAD](https://github.com/rust-lang/cargo/compare/ce948f46...HEAD) |
| 34 | +[ce948f46...rust-1.87.0](https://github.com/rust-lang/cargo/compare/ce948f46...rust-1.87.0) |
5 | 35 |
|
6 | 36 | ### Added
|
7 | 37 |
|
| 38 | +- Add terminal integration via ANSI OSC 9;4 sequences via the |
| 39 | + `term.progress.term-integration` configuration field. This reports progress |
| 40 | + to the terminal emulator for display in places like the task bar. |
| 41 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/config.html#termprogressterm-integration)) |
| 42 | + [#14615](https://github.com/rust-lang/cargo/pull/14615) |
| 43 | +- Forward bash completions of third party subcommands |
| 44 | + [#15247](https://github.com/rust-lang/cargo/pull/15247) |
| 45 | +- cargo-tree: Color the output. |
| 46 | + [#15242](https://github.com/rust-lang/cargo/pull/15242) |
| 47 | +- cargo-package: add `--exclude-lockfile` flag, which will stop verifying the |
| 48 | + lock file if present. |
| 49 | + [#15234](https://github.com/rust-lang/cargo/pull/15234) |
| 50 | + |
8 | 51 | ### Changed
|
9 | 52 |
|
| 53 | +- ❗️ Cargo now depends on OpenSSL v3. This implies that Cargo in the official |
| 54 | + Rust distribution will have a hard dependency on libatomic on 32-bit platforms. |
| 55 | + [#15232](https://github.com/rust-lang/cargo/pull/15232) |
| 56 | +- Report `<target>.edition` deprecation to users. |
| 57 | + [#15321](https://github.com/rust-lang/cargo/pull/15321) |
| 58 | +- Leverage clap for providing default values for `--vcs`, `--color`, and `--message-format` flags. |
| 59 | + [#15322](https://github.com/rust-lang/cargo/pull/15322) |
| 60 | +- Mention "3" as a valid value for "resolver" field in error message |
| 61 | + [#15215](https://github.com/rust-lang/cargo/pull/15215) |
| 62 | +- Uplift windows Cygwin DLL import libraries |
| 63 | + [#15193](https://github.com/rust-lang/cargo/pull/15193) |
| 64 | +- Include the package name also in the target hint message. |
| 65 | + [#15199](https://github.com/rust-lang/cargo/pull/15199) |
10 | 66 | - cargo-add: collapse large feature lists
|
11 | 67 | [#15200](https://github.com/rust-lang/cargo/pull/15200)
|
| 68 | +- cargo-vendor: Add context which workspace failed to resolve |
| 69 | + [#15297](https://github.com/rust-lang/cargo/pull/15297) |
12 | 70 |
|
13 | 71 | ### Fixed
|
14 | 72 |
|
| 73 | +- Do not pass cdylib link args from `cargo::rustc-link-arg-cdylib` to tests. |
| 74 | + [#15317](https://github.com/rust-lang/cargo/pull/15317) |
| 75 | + [#15326](https://github.com/rust-lang/cargo/pull/15326) |
| 76 | +- Don't use `$CARGO_BUILD_TARGET` in `cargo metadata`. |
| 77 | + [#15271](https://github.com/rust-lang/cargo/pull/15271) |
| 78 | +- Allow `term.progress.when` to have default values. `CARGO_TERM_PROGRESS_WIDTH` |
| 79 | + can now be correctly set even when other settings are missing. |
| 80 | + [#15287](https://github.com/rust-lang/cargo/pull/15287) |
| 81 | +- Fix the `CARGO` environment variable setting for external subcommands |
| 82 | + pointing to the wrong Cargo binary path . Note that the environment variable |
| 83 | + is never designed as a general Cargo wrapper. |
| 84 | + [#15208](https://github.com/rust-lang/cargo/pull/15208) |
| 85 | +- Fix some issues with future-incompat report generation. |
| 86 | + [#15345](https://github.com/rust-lang/cargo/pull/15345) |
| 87 | +- Respect `--frozen` everywhere `--offline` or `--locked` is accepted. |
| 88 | + [#15263](https://github.com/rust-lang/cargo/pull/15263) |
| 89 | +- cargo-package: report also the VCS status of the workspace manifest if dirty. |
| 90 | + [#15276](https://github.com/rust-lang/cargo/pull/15276) |
| 91 | + [#15341](https://github.com/rust-lang/cargo/pull/15341) |
15 | 92 | - cargo-publish: Fix man page with malformed `{{#options}}` block
|
16 | 93 | [#15191](https://github.com/rust-lang/cargo/pull/15191)
|
| 94 | +- cargo-run: Disambiguate bins from different packages that share a name. |
| 95 | + [#15298](https://github.com/rust-lang/cargo/pull/15298) |
| 96 | +- cargo-rustc: de-duplicate crate types. |
| 97 | + [#15314](https://github.com/rust-lang/cargo/pull/15314) |
| 98 | +- cargo-vendor: dont remove non-cached sources. |
| 99 | + [#15260](https://github.com/rust-lang/cargo/pull/15260) |
17 | 100 |
|
18 | 101 | ### Nightly only
|
19 | 102 |
|
| 103 | +- 🔥 cargo-package: add unstable `--message-format` flag. The flag is providing |
| 104 | + an alternative JSON output format for file listing of the `--list` flag. |
| 105 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#package-message-format)) |
| 106 | + [#15311](https://github.com/rust-lang/cargo/pull/15311) |
| 107 | + [#15354](https://github.com/rust-lang/cargo/pull/15354) |
| 108 | +- 🔥 `build-dir`: the `build.build-dir` config option to set the directory where |
| 109 | + intermediate build artifacts will be stored. |
| 110 | + Intermediate artifacts are produced by Rustc/Cargo during the build process. |
| 111 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#build-dir)) |
| 112 | + [#15104](https://github.com/rust-lang/cargo/pull/15104) |
| 113 | + [#15236](https://github.com/rust-lang/cargo/pull/15236) |
| 114 | + [#15334](https://github.com/rust-lang/cargo/pull/15334) |
| 115 | +- 🔥 `-Zsbom`: The `build.sbom` config allows to generate so-called SBOM |
| 116 | + pre-cursor files alongside each compiled artifact. |
| 117 | + ([RFC 3553](https://github.com/rust-lang/rfcs/pull/3553)) |
| 118 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#sbom)) |
| 119 | + [#13709](https://github.com/rust-lang/cargo/pull/13709) |
| 120 | +- 🔥 `-Zpublic-dependency`: new `--depth public` value for `cargo tree` to |
| 121 | + display public dependencies. |
| 122 | + [#15243](https://github.com/rust-lang/cargo/pull/15243) |
20 | 123 | - `-Zscript`: Handle more frontmatter parsing corner cases
|
21 | 124 | [#15187](https://github.com/rust-lang/cargo/pull/15187)
|
| 125 | +- `-Zpackage-workspace`: Fix lookups to capitalized workspace member's index entry |
| 126 | + [#15216](https://github.com/rust-lang/cargo/pull/15216) |
| 127 | +- `-Zpackage-workspace`: Register workspace member renames in overlay |
| 128 | + [#15228](https://github.com/rust-lang/cargo/pull/15228) |
| 129 | +- `-Zpackage-workspace`: Ensure we can package directories ending with '.rs' |
| 130 | + [#15240](https://github.com/rust-lang/cargo/pull/15240) |
| 131 | +- `native-completions`: add completions for `--profile` |
| 132 | + [#15308](https://github.com/rust-lang/cargo/pull/15308) |
| 133 | +- `native-completions`: add completions for aliases |
| 134 | + [#15319](https://github.com/rust-lang/cargo/pull/15319) |
| 135 | +- `native-completions`: add completions for `cargo add --path` |
| 136 | + [#15288](https://github.com/rust-lang/cargo/pull/15288) |
| 137 | +- `native-completions`: add completions for `--manifest-path` |
| 138 | + [#15225](https://github.com/rust-lang/cargo/pull/15225) |
| 139 | +- `native-completions`: add completions for `--lockfile-path` |
| 140 | + [#15238](https://github.com/rust-lang/cargo/pull/15238) |
| 141 | +- `native-completions`: add completions for `cargo install --path` |
| 142 | + [#15266](https://github.com/rust-lang/cargo/pull/15266) |
| 143 | +- `native-completions`: add completions fro `+<toolchain>` |
| 144 | + [#15301](https://github.com/rust-lang/cargo/pull/15301) |
22 | 145 |
|
23 | 146 | ### Documentation
|
24 | 147 |
|
| 148 | +- Note that target-edition is deprecated |
| 149 | + [#15292](https://github.com/rust-lang/cargo/pull/15292) |
| 150 | +- Mention wrong URLs as a cause of git authentication errors |
| 151 | + [#15304](https://github.com/rust-lang/cargo/pull/15304) |
| 152 | +- Shift focus to resolver v3 |
| 153 | + [#15213](https://github.com/rust-lang/cargo/pull/15213) |
| 154 | +- Lockfile is always included since 1.84 |
| 155 | + [#15257](https://github.com/rust-lang/cargo/pull/15257) |
| 156 | +- Remove `Cargo.toml` from `package.include` in example |
| 157 | + [#15253](https://github.com/rust-lang/cargo/pull/15253) |
| 158 | +- Make it clearer that `rust_version` is enforced during compile |
| 159 | + [#15303](https://github.com/rust-lang/cargo/pull/15303) |
| 160 | +- Fix `[env]` `relative` description in reference |
| 161 | + [#15332](https://github.com/rust-lang/cargo/pull/15332) |
| 162 | +- Add `unsafe` to `extern` while using build scripts in Cargo Book |
| 163 | + [#15294](https://github.com/rust-lang/cargo/pull/15294) |
| 164 | +- Mention `x.y.*` as a kind of version requirement to avoid. |
| 165 | + [#15310](https://github.com/rust-lang/cargo/pull/15310) |
| 166 | +- contrib: Expand the description of team meetings |
| 167 | + [#15349](https://github.com/rust-lang/cargo/pull/15349) |
| 168 | + |
25 | 169 | ### Internal
|
26 | 170 |
|
| 171 | +- Show extra build description from bootstrap via the `CFG_VER_DESCRIPTION` env var. |
| 172 | + [#15269](https://github.com/rust-lang/cargo/pull/15269) |
| 173 | +- Control byte display precision with `std::fmt` options. |
| 174 | + [#15246](https://github.com/rust-lang/cargo/pull/15246) |
| 175 | +- Replace humantime crate with jiff. |
| 176 | + [#15290](https://github.com/rust-lang/cargo/pull/15290) |
| 177 | +- Dont check cargo-util semver until 1.86 is released |
| 178 | + [#15222](https://github.com/rust-lang/cargo/pull/15222) |
| 179 | +- ci: Auto-update cargo-semver-checks |
| 180 | + [#15212](https://github.com/rust-lang/cargo/pull/15212) |
| 181 | +- ci: Visually group output in Github |
| 182 | + [#15218](https://github.com/rust-lang/cargo/pull/15218) |
| 183 | +- Update dependencies. |
| 184 | + [#15250](https://github.com/rust-lang/cargo/pull/15250) |
| 185 | + [#15249](https://github.com/rust-lang/cargo/pull/15249) |
| 186 | + [#15245](https://github.com/rust-lang/cargo/pull/15245) |
| 187 | + [#15224](https://github.com/rust-lang/cargo/pull/15224) |
| 188 | + [#15282](https://github.com/rust-lang/cargo/pull/15282) |
| 189 | + [#15211](https://github.com/rust-lang/cargo/pull/15211) |
| 190 | + [#15217](https://github.com/rust-lang/cargo/pull/15217) |
| 191 | + [#15268](https://github.com/rust-lang/cargo/pull/15268) |
| 192 | + |
| 193 | +- Redox OS is part of the unix family |
| 194 | + [#15307](https://github.com/rust-lang/cargo/pull/15307) |
| 195 | +- refactor(toml): Centralize target descriptions |
| 196 | + [#15291](https://github.com/rust-lang/cargo/pull/15291) |
| 197 | +- Abstract the concept of a NodeId |
| 198 | + [#15237](https://github.com/rust-lang/cargo/pull/15237) |
| 199 | +- Abstract the concept of an edge |
| 200 | + [#15233](https://github.com/rust-lang/cargo/pull/15233) |
| 201 | + |
27 | 202 | ## Cargo 1.86 (2025-04-03)
|
28 | 203 | [d73d2caf...rust-1.86.0](https://github.com/rust-lang/cargo/compare/d73d2caf...rust-1.86.0)
|
29 | 204 |
|
|
0 commit comments