|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## Cargo 1.93 (2026-01-22) |
| 4 | +[344c4567...HEAD](https://github.com/rust-lang/cargo/compare/344c4567...HEAD) |
| 5 | + |
| 6 | +### Added |
| 7 | + |
| 8 | +### Changed |
| 9 | + |
| 10 | +- Migrate more diagnostic formatting to rustc-like style (annotate-snippets style) |
| 11 | + [#16143](https://github.com/rust-lang/cargo/pull/16143) |
| 12 | + |
| 13 | +### Fixed |
| 14 | + |
| 15 | +- Shell completion variables no longer leak into user's environment |
| 16 | + [#16144](https://github.com/rust-lang/cargo/pull/16144) |
| 17 | + |
| 18 | +### Nightly only |
| 19 | + |
| 20 | +- `-Zbuild-analysis`: Emit timing-info logs with JSONL-based logging |
| 21 | + infrastructure. Logs are stored in `~/.cargo/log/` with unique files |
| 22 | + per cargo invocation. |
| 23 | + [#16150](https://github.com/rust-lang/cargo/pull/16150) |
| 24 | + [#16179](https://github.com/rust-lang/cargo/pull/16179) |
| 25 | +- `-Zconfig-include`: Allow using `optional = true` to silently skip |
| 26 | + missing config files. |
| 27 | + [#16103](https://github.com/rust-lang/cargo/pull/16103) |
| 28 | + [#16174](https://github.com/rust-lang/cargo/pull/16174) |
| 29 | + [#16180](https://github.com/rust-lang/cargo/pull/16180) |
| 30 | +- `-Zgit`: Support shallow fetch for Git CLI backend (`net.git-fetch-with-cli`) |
| 31 | + [#16156](https://github.com/rust-lang/cargo/pull/16156) |
| 32 | +- `-Zgit`: Add more git fetch-index backend interop tests |
| 33 | + [#16162](https://github.com/rust-lang/cargo/pull/16162) |
| 34 | +- `-Zscript`: Update script tests from rustc's test suite |
| 35 | + [#16169](https://github.com/rust-lang/cargo/pull/16169) |
| 36 | + |
| 37 | +### Documentation |
| 38 | + |
| 39 | +### Internal |
| 40 | + |
| 41 | +- Fix mdman to not incorrectly strip `<p>` tags |
| 42 | + [#16158](https://github.com/rust-lang/cargo/pull/16158) |
| 43 | + [#16172](https://github.com/rust-lang/cargo/pull/16172) |
| 44 | +- Update dependencies. |
| 45 | + [#16137](https://github.com/rust-lang/cargo/pull/16137) |
| 46 | + [#16140](https://github.com/rust-lang/cargo/pull/16140) |
| 47 | + |
3 | 48 | ## Cargo 1.92 (2025-12-11) |
4 | | -[24bb93c3...HEAD](https://github.com/rust-lang/cargo/compare/24bb93c3...HEAD) |
| 49 | +[24bb93c3...rust-1.92.0](https://github.com/rust-lang/cargo/compare/24bb93c3...rust-1.92.0) |
5 | 50 |
|
6 | 51 | ### Added |
7 | 52 |
|
8 | | -- Adds ghostty as supported terminal for term integration (OSC 9;4) |
| 53 | +- Add Ghostty as a supported terminal for term integration (OSC 9;4) |
9 | 54 | [#15977](https://github.com/rust-lang/cargo/pull/15977) |
| 55 | +- Add retry for `git fetch` failures in `net.git-fetch-with-cli` path |
| 56 | + [#16016](https://github.com/rust-lang/cargo/pull/16016) |
10 | 57 |
|
11 | 58 | ### Changed |
12 | 59 |
|
| 60 | +- Migrate some diagnostic formatting to rustc-like style (annotate-snippets style) |
| 61 | + [#15943](https://github.com/rust-lang/cargo/pull/15943) |
| 62 | + [#15945](https://github.com/rust-lang/cargo/pull/15945) |
| 63 | + [#16019](https://github.com/rust-lang/cargo/pull/16019) |
| 64 | + [#16035](https://github.com/rust-lang/cargo/pull/16035) |
| 65 | + [#16066](https://github.com/rust-lang/cargo/pull/16066) |
| 66 | + [#16113](https://github.com/rust-lang/cargo/pull/16113) |
| 67 | + [#16126](https://github.com/rust-lang/cargo/pull/16126) |
| 68 | +- Suggested `cargo fix` command from compilation diagnostics is now more accurate. |
| 69 | + [#16127](https://github.com/rust-lang/cargo/pull/16127) |
13 | 70 | - Prefer unicode ellipses when truncating progress |
14 | 71 | [#15955](https://github.com/rust-lang/cargo/pull/15955) |
15 | 72 | - Eliminate the last three "did you mean" warning phrasings |
16 | 73 | [#15356](https://github.com/rust-lang/cargo/pull/15356) |
17 | 74 | - Clarify warning for using `features` or `default-features` in `patch` |
18 | 75 | [#15953](https://github.com/rust-lang/cargo/pull/15953) |
19 | | -- Report all future-incompat content as a single annotate-snippet Report |
20 | | - [#15943](https://github.com/rust-lang/cargo/pull/15943) |
| 76 | +- Config parsing errors now show more precise key path with array index |
| 77 | + [#16004](https://github.com/rust-lang/cargo/pull/16004) |
| 78 | +- Improve error message for `rust-version` incompatibility diagnostics |
| 79 | + [#16021](https://github.com/rust-lang/cargo/pull/16021) |
| 80 | +- cargo-add: Report a missing source error for workspace dependencies |
| 81 | + [#16063](https://github.com/rust-lang/cargo/pull/16063) |
21 | 82 | - cargo-info: Suggest a more universal `cargo tree` command |
22 | 83 | [#15954](https://github.com/rust-lang/cargo/pull/15954) |
23 | 84 | - cargo-publish: Switch the 'ctrl-c on wait' line to a help message |
24 | 85 | [#15942](https://github.com/rust-lang/cargo/pull/15942) |
| 86 | +- cargo-publish: soft-deprecate the `--token` option |
| 87 | + [#16046](https://github.com/rust-lang/cargo/pull/16046) |
25 | 88 |
|
26 | 89 | ### Fixed |
27 | 90 |
|
28 | 91 | ### Nightly only |
29 | 92 |
|
| 93 | +- 🔥 `immediate-abort`: Add `panic=immediate-abort` support |
| 94 | + [#16041](https://github.com/rust-lang/cargo/pull/16041) |
| 95 | + [#16054](https://github.com/rust-lang/cargo/pull/16054) |
| 96 | +- `-Zbuild-dir-new-layout`: Reorganize build-dir layout |
| 97 | + [#15947](https://github.com/rust-lang/cargo/pull/15947) |
30 | 98 | - `-Zbuild-std`: test move away from panic_immediate_abort |
31 | 99 | [#16006](https://github.com/rust-lang/cargo/pull/16006) |
32 | 100 | - `-Zcargo-lints`: Add lint for global use of `hint-mostly-unused` |
33 | 101 | [#15995](https://github.com/rust-lang/cargo/pull/15995) |
34 | | -- `-Zscript`: Try alternative len code fences |
35 | | - [#15952](https://github.com/rust-lang/cargo/pull/15952) |
36 | | -- `-Zscript`: Improve error quality |
| 102 | +- `-Zpublic-dependency`: `cargo add` now considers public dependencies when choosing a version |
| 103 | + [#15966](https://github.com/rust-lang/cargo/pull/15966) |
| 104 | +- `-Zpublic-dependency`: Switch from `--depth public` to `--edges public` for `cargo tree` to display public dependencies |
| 105 | + [#16081](https://github.com/rust-lang/cargo/pull/16081) |
| 106 | +- `-Zpublic-dependency`: Improve public-in-private manifest errors |
| 107 | + [#16002](https://github.com/rust-lang/cargo/pull/16002) |
| 108 | + [#16075](https://github.com/rust-lang/cargo/pull/16075) |
| 109 | +- `-Zscript`: Improve frontmatter parsing error quality |
37 | 110 | [#15972](https://github.com/rust-lang/cargo/pull/15972) |
38 | | -- `-Zscript`: Show error source to users |
39 | 111 | [#15939](https://github.com/rust-lang/cargo/pull/15939) |
| 112 | + [#15952](https://github.com/rust-lang/cargo/pull/15952) |
40 | 113 | - `-Zscript`: Only allow horizontal whitespace after fences |
41 | 114 | [#15975](https://github.com/rust-lang/cargo/pull/15975) |
| 115 | +- `-Zscript`: Override arg0 for cargo scripts |
| 116 | + [#16027](https://github.com/rust-lang/cargo/pull/16027) |
| 117 | +- `-Zscript`: Tweak cargo script build-dir / target-dir |
| 118 | + [#16086](https://github.com/rust-lang/cargo/pull/16086) |
| 119 | +- `-Zscript`: Remove name sanitiztion outside what is strictly required |
| 120 | + [#16120](https://github.com/rust-lang/cargo/pull/16120) |
| 121 | +- `-Zscript`: Store cargo script lockfiles in build-dir |
| 122 | + [#16087](https://github.com/rust-lang/cargo/pull/16087) |
| 123 | +- `-Zscript`: Define cargo script's target-dir using build-dir templating |
| 124 | + [#16073](https://github.com/rust-lang/cargo/pull/16073) |
| 125 | +- `-Zscript`: Prevent non-script fields in Cargo scripts |
| 126 | + [#16026](https://github.com/rust-lang/cargo/pull/16026) |
| 127 | +- `-Zscript`: Default bin.name to package.name |
| 128 | + [#16064](https://github.com/rust-lang/cargo/pull/16064) |
| 129 | +- `multiple-build-scripts`: Access each build script's `OUT_DIR` via `<script-name>_OUT_DIR` |
| 130 | + [#15891](https://github.com/rust-lang/cargo/pull/15891) |
42 | 131 | - `native-completions`: Added completion for `--features` flag |
43 | 132 | [#15309](https://github.com/rust-lang/cargo/pull/15309) |
44 | 133 | - `native-completions`: Show local crates/features over other members |
45 | 134 | [#15956](https://github.com/rust-lang/cargo/pull/15956) |
46 | | -- `native-completions`:: Allow completions for third-party subcommand names |
| 135 | +- `native-completions`: Allow completions for third-party subcommand names |
47 | 136 | [#15961](https://github.com/rust-lang/cargo/pull/15961) |
48 | 137 |
|
49 | 138 | ### Documentation |
50 | 139 |
|
51 | 140 | - 🎉 Add a new "Optimizing Build Performance" chapter |
52 | 141 | [#15924](https://github.com/rust-lang/cargo/pull/15924) |
53 | 142 | [#15970](https://github.com/rust-lang/cargo/pull/15970) |
| 143 | + [#15991](https://github.com/rust-lang/cargo/pull/15991) |
| 144 | + [#16078](https://github.com/rust-lang/cargo/pull/16078) |
| 145 | + [#16085](https://github.com/rust-lang/cargo/pull/16085) |
| 146 | + [#16107](https://github.com/rust-lang/cargo/pull/16107) |
| 147 | + [#16108](https://github.com/rust-lang/cargo/pull/16108) |
54 | 148 | - Clarify git sources vs git registries in source replacement documentation |
55 | 149 | [#15974](https://github.com/rust-lang/cargo/pull/15974) |
56 | 150 | - Clarify what we mean by omitting features in registry index documentation |
|
59 | 153 | [#15958](https://github.com/rust-lang/cargo/pull/15958) |
60 | 154 | - Clarify multiple version requirement behavior |
61 | 155 | [#15979](https://github.com/rust-lang/cargo/pull/15979) |
| 156 | +- Clarify that `target.<cfg>.linker` is supported |
| 157 | + [#16112](https://github.com/rust-lang/cargo/pull/16112) |
| 158 | +- Explain Cargo config deserialization internals |
| 159 | + [#16105](https://github.com/rust-lang/cargo/pull/16105) |
| 160 | + [#16094](https://github.com/rust-lang/cargo/pull/16094) |
62 | 161 | - contrib: Move docs building process to contributor guide |
63 | 162 | [#15854](https://github.com/rust-lang/cargo/pull/15854) |
| 163 | +- SemVer: Recommend `package.rust-version` in the Rust version section |
| 164 | + [#15806](https://github.com/rust-lang/cargo/pull/15806) |
64 | 165 |
|
65 | 166 | ### Internal |
66 | 167 |
|
67 | 168 | - Make GlobalContext Sync |
68 | 169 | [#15967](https://github.com/rust-lang/cargo/pull/15967) |
| 170 | +- Centralize Cargo console output styling |
| 171 | + [#16124](https://github.com/rust-lang/cargo/pull/16124) |
| 172 | + [#16135](https://github.com/rust-lang/cargo/pull/16135) |
| 173 | +- Refactor `Layout` into `BuildDirLayout` and `ArtifactDirLayout` |
| 174 | + [#16092](https://github.com/rust-lang/cargo/pull/16092) |
| 175 | +- cargo-test-support: Add track_caller to know the actual failure |
| 176 | + [#16069](https://github.com/rust-lang/cargo/pull/16069) |
| 177 | +- cargo-test-support: Added better filesystem layout testing harness |
| 178 | + [#15874](https://github.com/rust-lang/cargo/pull/15874) |
69 | 179 | - cargo-util-schemas: Move lockfile schemas in |
70 | 180 | [#15980](https://github.com/rust-lang/cargo/pull/15980) |
71 | 181 | [#15990](https://github.com/rust-lang/cargo/pull/15990) |
| 182 | + [#16039](https://github.com/rust-lang/cargo/pull/16039) |
72 | 183 | - ci: Skip check-version-bump ci job in forks |
73 | 184 | [#15959](https://github.com/rust-lang/cargo/pull/15959) |
| 185 | +- config: various internal cleanup and refactor for `ConfigValue` |
| 186 | + [#16067](https://github.com/rust-lang/cargo/pull/16067) |
| 187 | + [#16084](https://github.com/rust-lang/cargo/pull/16084) |
| 188 | + [#16091](https://github.com/rust-lang/cargo/pull/16091) |
| 189 | + [#16100](https://github.com/rust-lang/cargo/pull/16100) |
| 190 | + [#16109](https://github.com/rust-lang/cargo/pull/16109) |
| 191 | +- perf: JSON message with less allocations |
| 192 | + [#16130](https://github.com/rust-lang/cargo/pull/16130) |
| 193 | +- test: null-terminated path for reserved windows name detection |
| 194 | + [#16052](https://github.com/rust-lang/cargo/pull/16052) |
| 195 | +- test: Don't look for a specific ANSI color |
| 196 | + [#16118](https://github.com/rust-lang/cargo/pull/16118) |
| 197 | +- test: Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value |
| 198 | + [#16079](https://github.com/rust-lang/cargo/pull/16079) |
74 | 199 | - Update dependencies. |
75 | 200 | [#15988](https://github.com/rust-lang/cargo/pull/15988) |
76 | 201 | [#15984](https://github.com/rust-lang/cargo/pull/15984) |
77 | 202 | [#15989](https://github.com/rust-lang/cargo/pull/15989) |
| 203 | + [#15992](https://github.com/rust-lang/cargo/pull/15992) |
78 | 204 | [#15993](https://github.com/rust-lang/cargo/pull/15993) |
| 205 | + [#16009](https://github.com/rust-lang/cargo/pull/16009) |
| 206 | + [#16031](https://github.com/rust-lang/cargo/pull/16031) |
| 207 | + [#16034](https://github.com/rust-lang/cargo/pull/16034) |
79 | 208 |
|
80 | 209 | ## Cargo 1.91 (2025-10-30) |
81 | 210 | [840b83a1...rust-1.91.0](https://github.com/rust-lang/cargo/compare/840b83a1...rust-1.91.0) |
|
0 commit comments