|
1 | 1 | # Changelog
|
2 | 2 |
|
3 | 3 | ## Cargo 1.91 (2025-10-30)
|
4 |
| -[840b83a1...HEAD](https://github.com/rust-lang/cargo/compare/840b83a1...HEAD) |
| 4 | +[840b83a1...rust-1.91.0](https://github.com/rust-lang/cargo/compare/840b83a1...rust-1.91.0) |
5 | 5 |
|
6 | 6 | ### Added
|
7 | 7 |
|
| 8 | +- 🎉 Stabilize `build.build-dir`. |
| 9 | + This config sets the directory where intermediate build artifacts are stored. |
| 10 | + These artifacts are produced by Cargo and rustc during the build process. |
| 11 | + End users usually won't need to interact with them, and the layout inside |
| 12 | + `build-dir` is an implementation detail that may change without notice. |
| 13 | + ([config doc](https://doc.rust-lang.org/nightly/cargo/reference/config.html#buildbuild-dir)) |
| 14 | + ([build cache doc](https://doc.rust-lang.org/nightly/cargo/reference/build-cache.html)) |
| 15 | + [#15833](https://github.com/rust-lang/cargo/pull/15833) |
| 16 | + [#15840](https://github.com/rust-lang/cargo/pull/15840) |
| 17 | +- The `--target` flag and the `build.target` configuration can now take literal |
| 18 | + `"host"` string, which will internally be substituted by the host machine's |
| 19 | + target triple. |
| 20 | + [#15838](https://github.com/rust-lang/cargo/pull/15838) |
| 21 | + |
8 | 22 | ### Changed
|
9 | 23 |
|
| 24 | +- ❗️ `cargo publish` no longer keeps `.crate` tarballs as final build artifacts |
| 25 | + when `build.build-dir` is set. These tarballs were previously included due to |
| 26 | + an oversight and are now treated as intermediate artifacts. |
| 27 | + To get `.crate` tarballs as final artifacts, use `cargo package`. |
| 28 | + In the next version, this change will apply regardless of `build.build-dir`. |
| 29 | + [#15910](https://github.com/rust-lang/cargo/pull/15910) |
| 30 | +- Adjust Cargo messages to match rustc diagnostic style |
| 31 | + [#15928](https://github.com/rust-lang/cargo/pull/15928) |
| 32 | +- More helpful error for invalid `cargo-features = []` |
| 33 | + [#15781](https://github.com/rust-lang/cargo/pull/15781) |
| 34 | +- Don't stop at first error when emitting lints and warnings |
| 35 | + [#15889](https://github.com/rust-lang/cargo/pull/15889) |
| 36 | +- Show the bad manifest path in the error message |
| 37 | + [#15896](https://github.com/rust-lang/cargo/pull/15896) |
| 38 | +- Suggest workspace hints for invalid boolean dependencies |
| 39 | + [#15507](https://github.com/rust-lang/cargo/pull/15507) |
| 40 | +- cargo-package: Always reuse the workspace's target-dir during the package |
| 41 | + verification. Previously Cargo created a new standalone target directory |
| 42 | + within the unpacked source. |
| 43 | + [#15783](https://github.com/rust-lang/cargo/pull/15783) |
| 44 | +- cargo-publish: Add more context to publish-failed error message |
| 45 | + [#15879](https://github.com/rust-lang/cargo/pull/15879) |
| 46 | + |
10 | 47 | ### Fixed
|
11 | 48 |
|
12 | 49 | ### Nightly only
|
13 | 50 |
|
| 51 | +- 🔥 `-Zsection-timings` extend the output of `cargo build --timings`. It tells |
| 52 | + rustc to produce timings of individual compilation sections, which will be |
| 53 | + then displayed in the timings HTML/JSON output. |
| 54 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#section-timings)) |
| 55 | + [#15780](https://github.com/rust-lang/cargo/pull/15780) |
| 56 | + [#15923](https://github.com/rust-lang/cargo/pull/15923) |
| 57 | +- 🔥 `-Zbuild-dir-new-layout` enables the new build-dir filesystem layout, which |
| 58 | + unblocks work towards caching and locking improvements. |
| 59 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#build-dir-new-layout)) |
| 60 | + ([project goal](https://rust-lang.github.io/rust-project-goals/2025h2/cargo-build-dir-layout.html)) |
| 61 | + [#15848](https://github.com/rust-lang/cargo/pull/15848) |
| 62 | +- 🔥 `-Zbuild-analysis` records and persists detailed build metrics (timings, rebuild reasons, etc.) |
| 63 | + across runs, with new commands to query past builds. |
| 64 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#build-analysis)) |
| 65 | + ([project goal](https://rust-lang.github.io/rust-project-goals/2025h2/cargo-build-analysis.html)) |
| 66 | + [#15845](https://github.com/rust-lang/cargo/pull/15845) |
| 67 | +- `multiple-build-scripts`: Accessing each build script's `OUT_DIR` and in the |
| 68 | + correct order |
| 69 | + [#15776](https://github.com/rust-lang/cargo/pull/15776) |
| 70 | +- `-Zcargo-lints`: Linting system infra improvement |
| 71 | + [#15865](https://github.com/rust-lang/cargo/pull/15865) |
| 72 | +- `-Zscript`: Cover some frontmatter corner cases |
| 73 | + [#15886](https://github.com/rust-lang/cargo/pull/15886) |
| 74 | +- `-Zscript`: Match test updates in rustc |
| 75 | + [#15878](https://github.com/rust-lang/cargo/pull/15878) |
| 76 | +- `-Zscript`: Switch frontmatter tests to end-to-end |
| 77 | + [#15899](https://github.com/rust-lang/cargo/pull/15899) |
| 78 | +- `-Zscript`: Report script manifest errors for the right line number |
| 79 | + [#15927](https://github.com/rust-lang/cargo/pull/15927) |
| 80 | +- `-Zscript`: Pull out as a dedicated mod |
| 81 | + [#15914](https://github.com/rust-lang/cargo/pull/15914) |
| 82 | + |
14 | 83 | ### Documentation
|
15 | 84 |
|
| 85 | +- Clarify that `cargo doc --no-deps` is cumulative and won’t delete prev |
| 86 | + [#15800](https://github.com/rust-lang/cargo/pull/15800) |
| 87 | +- Switch from `--nocapture` to `--no-capture` in docs and help text. |
| 88 | + [#15930](https://github.com/rust-lang/cargo/pull/15930) |
| 89 | +- Mention how Cargo fetch git submodules |
| 90 | + [#15853](https://github.com/rust-lang/cargo/pull/15853) |
| 91 | + [#15860](https://github.com/rust-lang/cargo/pull/15860) |
| 92 | +- Link out to the Plumbing commands effort |
| 93 | + [#15821](https://github.com/rust-lang/cargo/pull/15821) |
| 94 | +- Switch to using native mdbook fragment redirects |
| 95 | + [#15861](https://github.com/rust-lang/cargo/pull/15861) |
| 96 | +- Reorder `lto` options in profiles |
| 97 | + [#15841](https://github.com/rust-lang/cargo/pull/15841) |
| 98 | + [#15855](https://github.com/rust-lang/cargo/pull/15855) |
| 99 | + |
16 | 100 | ### Internal
|
17 | 101 |
|
| 102 | +- Replace ad-hoc flock implementation with std flock |
| 103 | + [#15935](https://github.com/rust-lang/cargo/pull/15935) |
| 104 | + [#15941](https://github.com/rust-lang/cargo/pull/15941) |
| 105 | +- Prepare for annotate-snippets `Report`s being generated in more places |
| 106 | + [#15920](https://github.com/rust-lang/cargo/pull/15920) |
| 107 | + [#15926](https://github.com/rust-lang/cargo/pull/15926) |
| 108 | +- test: avoid hardcoded target spec json |
| 109 | + [#15880](https://github.com/rust-lang/cargo/pull/15880) |
| 110 | +- test: Ensure consistent behavior regardless of rustup use |
| 111 | + [#15949](https://github.com/rust-lang/cargo/pull/15949) |
| 112 | +- test: Switch more expected results to snapshots for credential process |
| 113 | + [#15929](https://github.com/rust-lang/cargo/pull/15929) |
| 114 | +- ci: Add Arm64 Windows CI jobs |
| 115 | + [#15790](https://github.com/rust-lang/cargo/pull/15790) |
| 116 | +- ci: remove x86_64-apple-darwin from CI and tests |
| 117 | + [#15831](https://github.com/rust-lang/cargo/pull/15831) |
| 118 | +- Update dependencies. |
| 119 | + [#15795](https://github.com/rust-lang/cargo/pull/15795) |
| 120 | + [#15804](https://github.com/rust-lang/cargo/pull/15804) |
| 121 | + [#15815](https://github.com/rust-lang/cargo/pull/15815) |
| 122 | + [#15816](https://github.com/rust-lang/cargo/pull/15816) |
| 123 | + [#15819](https://github.com/rust-lang/cargo/pull/15819) |
| 124 | + [#15825](https://github.com/rust-lang/cargo/pull/15825) |
| 125 | + [#15832](https://github.com/rust-lang/cargo/pull/15832) |
| 126 | + [#15851](https://github.com/rust-lang/cargo/pull/15851) |
| 127 | + [#15898](https://github.com/rust-lang/cargo/pull/15898) |
| 128 | + [#15904](https://github.com/rust-lang/cargo/pull/15904) |
| 129 | + [#15909](https://github.com/rust-lang/cargo/pull/15909) |
| 130 | + [#15918](https://github.com/rust-lang/cargo/pull/15918) |
| 131 | + [#15950](https://github.com/rust-lang/cargo/pull/15950) |
| 132 | + |
18 | 133 | ## Cargo 1.90 (2025-09-18)
|
19 | 134 | [c24e1064...rust-1.90.0](https://github.com/rust-lang/cargo/compare/c24e1064...rust-1.90.0)
|
20 | 135 |
|
|
0 commit comments