|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## Cargo 1.86 (2025-04-03) |
| 4 | +[d73d2caf...HEAD](https://github.com/rust-lang/cargo/compare/d73d2caf...HEAD) |
| 5 | + |
| 6 | +### Added |
| 7 | + |
| 8 | +### Changed |
| 9 | + |
| 10 | +### Fixed |
| 11 | + |
| 12 | +- The `rerun-if-env-changed` build script instruction can now correctly detect |
| 13 | + changes in the `[env]` configuration table. |
| 14 | + [#14756](https://github.com/rust-lang/cargo/pull/14756) |
| 15 | +- cargo-package: Verify the VCS status of symlinks |
| 16 | + when they point to paths outside the current package root. |
| 17 | + [#14981](https://github.com/rust-lang/cargo/pull/14981) |
| 18 | + |
| 19 | +### Nightly only |
| 20 | + |
| 21 | +- cargo-util-schemas: Correct and update the JSON Schema |
| 22 | + [#15000](https://github.com/rust-lang/cargo/pull/15000) |
| 23 | + |
| 24 | +### Documentation |
| 25 | + |
| 26 | +### Internal |
| 27 | + |
| 28 | +- cargo-test-macro: Remove condition on `RUSTUP_WINDOWS_PATH_ADD_BIN` |
| 29 | + [#15017](https://github.com/rust-lang/cargo/pull/15017) |
| 30 | +- test: Clean up shallow fetch tests |
| 31 | + [#15002](https://github.com/rust-lang/cargo/pull/15002) |
| 32 | +- test: Fix `https::self_signed_should_fail` for macos |
| 33 | + [#15016](https://github.com/rust-lang/cargo/pull/15016) |
| 34 | +- Update to libgit2 1.9. |
| 35 | + [#15018](https://github.com/rust-lang/cargo/pull/15018) |
| 36 | +- Update dependencies: update rust crate itertools to 0.14.0 |
| 37 | + [#14996](https://github.com/rust-lang/cargo/pull/14996) |
| 38 | + [#14998](https://github.com/rust-lang/cargo/pull/14998) |
| 39 | + [#15012](https://github.com/rust-lang/cargo/pull/15012) |
| 40 | + |
3 | 41 | ## Cargo 1.85 (2025-02-20)
|
4 |
| -[66221abd...rust-1.84.0](https://github.com/rust-lang/cargo/compare/66221abd...rust-1.84.0) |
| 42 | +[66221abd...rust-1.85.0](https://github.com/rust-lang/cargo/compare/66221abd...rust-1.85.0) |
5 | 43 |
|
6 | 44 | ### Added
|
7 | 45 |
|
8 | 46 | - 🎉 Cargo now supports the 2024 edition.
|
9 | 47 | More information is available in the [edition guide](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html).
|
10 | 48 | [#14828](https://github.com/rust-lang/cargo/pull/14828)
|
| 49 | +- cargo-tree: The `--depth` flag now accepts `workspace`, |
| 50 | + which shows only dependencies that are members of the current workspace. |
| 51 | + [#14928](https://github.com/rust-lang/cargo/pull/14928) |
| 52 | +- Build scripts now receive a new environment variable, `CARGO_CFG_FEATURE`, |
| 53 | + which contains each activated feature of the package being built. |
| 54 | + [#14902](https://github.com/rust-lang/cargo/pull/14902) |
| 55 | +- perf: Dependency resolution is now faster due to a more efficient hash for `ActivationsKey` |
| 56 | + [#14915](https://github.com/rust-lang/cargo/pull/14915) |
11 | 57 |
|
12 | 58 | ### Changed
|
13 | 59 |
|
| 60 | +- ❗️ cargo-rustc: Trailing flags now have higher precedence. |
| 61 | + This behavior was nightly-only since 1.83 and is now stabilized. |
| 62 | + [#14900](https://github.com/rust-lang/cargo/pull/14900) |
| 63 | +- ❗️ Cargo now uses a cross-platform hash algorithm from `rustc-stable-hash`. |
| 64 | + As a result, the hash part of paths to dependency caches |
| 65 | + (e.g., `$CARGO_HOME/registry/index/index.crates.io-<hash>`) will change. |
| 66 | + This will trigger re-downloads of registry indices and `.crate` tarballs, |
| 67 | + as well as re-cloning of Git dependencies. |
| 68 | + [#14917](https://github.com/rust-lang/cargo/pull/14917) |
14 | 69 | - Added a future-incompatibility warning for keywords in `cfg`s in Cargo.toml
|
15 | 70 | and Cargo configuration. `cfg`s with keywords like `cfg(true)` and `cfg(false)`
|
16 | 71 | were incorrectly accepted. For backward compatibility, support for raw
|
17 | 72 | identifiers has been introduced; for example, use `cfg(r#true)` instead.
|
18 | 73 | [#14671](https://github.com/rust-lang/cargo/pull/14671)
|
| 74 | +- Dependency resolution now provides richer error messages explaining why some versions were rejected, unmatched, or invalid. |
| 75 | + [#14897](https://github.com/rust-lang/cargo/pull/14897) |
| 76 | + [#14921](https://github.com/rust-lang/cargo/pull/14921) |
| 77 | + [#14923](https://github.com/rust-lang/cargo/pull/14923) |
| 78 | + [#14927](https://github.com/rust-lang/cargo/pull/14927) |
| 79 | +- cargo-doc: improve the error message when `--open`ing a doc while no doc generated. |
| 80 | + [#14969](https://github.com/rust-lang/cargo/pull/14969) |
| 81 | +- cargo-package: warn if symlinks checked out as plain text files |
| 82 | + [#14994](https://github.com/rust-lang/cargo/pull/14994) |
| 83 | +- cargo-package: Shows dirty file paths relative to the Git working directory. |
| 84 | + [#14968](https://github.com/rust-lang/cargo/pull/14968) |
| 85 | + [#14970](https://github.com/rust-lang/cargo/pull/14970) |
19 | 86 |
|
20 | 87 | ### Fixed
|
21 | 88 |
|
22 | 89 | - Set `GIT_DIR` to ensure compatibility with bare repositories
|
23 | 90 | for `net.git-fetch-with-cli=true`.
|
24 | 91 | [#14860](https://github.com/rust-lang/cargo/pull/14860)
|
| 92 | +- Fixed workspace Cargo.toml modification didn't invalidate build cache. |
| 93 | + [#14973](https://github.com/rust-lang/cargo/pull/14973) |
| 94 | +- Prevented build caches from being discarded after changes to `RUSTFLAGS`. |
| 95 | + [#14830](https://github.com/rust-lang/cargo/pull/14830) |
| 96 | + [#14898](https://github.com/rust-lang/cargo/pull/14898) |
| 97 | +- cargo-add: Don't select yanked versions when normalizing names. |
| 98 | + [#14895](https://github.com/rust-lang/cargo/pull/14895) |
| 99 | +- cargo-fix: Migrate workspace dependencies to the 2024 edition also for virtual manifests. |
| 100 | + [#14890](https://github.com/rust-lang/cargo/pull/14890) |
| 101 | +- cargo-package: Verify the VCS status of `package.readme` and `package.license-file` |
| 102 | + when they point to paths outside the current package root. |
| 103 | + [#14966](https://github.com/rust-lang/cargo/pull/14966) |
| 104 | +- cargo-package: assure possibly blocking non-files (like FIFOs) won't be |
| 105 | + picked up for publishing. |
| 106 | + [#14977](https://github.com/rust-lang/cargo/pull/14977) |
25 | 107 |
|
26 | 108 | ### Nightly only
|
27 | 109 |
|
28 |
| -- `-Zbuild-std`: Check if build target supports `std`. |
| 110 | +- `path-bases`: Support bases in `[patch]`es in virtual manifests |
| 111 | + [#14931](https://github.com/rust-lang/cargo/pull/14931) |
| 112 | +- `unit-graph`: Use the configured shell to print output. |
| 113 | + [#14926](https://github.com/rust-lang/cargo/pull/14926) |
| 114 | +- `-Zbuild-std`: Check if the build target supports `std` |
| 115 | + by probing the `metadata.std` field in the target spec JSON. |
29 | 116 | [#14183](https://github.com/rust-lang/cargo/pull/14183)
|
| 117 | + [#14938](https://github.com/rust-lang/cargo/pull/14938) |
| 118 | + [#14899](https://github.com/rust-lang/cargo/pull/14899) |
30 | 119 | - `-Zbuild-std`: always link to std when testing proc-macros.
|
31 | 120 | [#14850](https://github.com/rust-lang/cargo/pull/14850)
|
32 | 121 | [#14861](https://github.com/rust-lang/cargo/pull/14861)
|
| 122 | +- `-Zbuild-std`: clean up build-std tests |
| 123 | + [#14943](https://github.com/rust-lang/cargo/pull/14943) |
| 124 | + [#14933](https://github.com/rust-lang/cargo/pull/14933) |
| 125 | + [#14896](https://github.com/rust-lang/cargo/pull/14896) |
| 126 | +- `-Zbuild-std`: Hash relative paths to std workspace instead of absolute paths. |
| 127 | + [#14951](https://github.com/rust-lang/cargo/pull/14951) |
33 | 128 | - `-Zpackage-workspace`: Allow dry-run of a non-bumped workspace.
|
34 | 129 | [#14847](https://github.com/rust-lang/cargo/pull/14847)
|
35 | 130 | - `-Zscript`: Allow adding/removing dependencies from cargo scripts
|
36 | 131 | [#14857](https://github.com/rust-lang/cargo/pull/14857)
|
37 | 132 | - `-Zscript`: Migrate cargo script manifests across editions
|
38 | 133 | [#14864](https://github.com/rust-lang/cargo/pull/14864)
|
| 134 | +- `-Zscript`: Don't override the release profile. |
| 135 | + [#14925](https://github.com/rust-lang/cargo/pull/14925) |
| 136 | +- `-Ztrim-paths`: Use `Path::push` to construct the `remap-path-prefix` flag. |
| 137 | + [#14908](https://github.com/rust-lang/cargo/pull/14908) |
39 | 138 |
|
40 | 139 | ### Documentation
|
41 | 140 |
|
42 | 141 | - Clarify how `cargo::metadata` env var is selected.
|
43 | 142 | [#14842](https://github.com/rust-lang/cargo/pull/14842)
|
44 | 143 | - cargo-info: Remove references to the default registry in `cargo-info` docs
|
45 | 144 | [#14880](https://github.com/rust-lang/cargo/pull/14880)
|
| 145 | +- contrib: add missing argument to Rustup Cargo workaround |
| 146 | + [#14954](https://github.com/rust-lang/cargo/pull/14954) |
| 147 | +- SemVer: Add section on RPIT capturing |
| 148 | + [#14849](https://github.com/rust-lang/cargo/pull/14849) |
46 | 149 |
|
47 | 150 | ### Internal
|
48 | 151 |
|
| 152 | +- Add the `test` cfg as a well known cfg before of compiler change. |
| 153 | + [#14963](https://github.com/rust-lang/cargo/pull/14963) |
| 154 | +- Enable triagebot merge conflict notifications |
| 155 | + [#14972](https://github.com/rust-lang/cargo/pull/14972) |
| 156 | +- Limit release trigger to `0.*` tags |
| 157 | + [#14940](https://github.com/rust-lang/cargo/pull/14940) |
| 158 | +- Simplify `SourceID` Hash. |
| 159 | + [#14800](https://github.com/rust-lang/cargo/pull/14800) |
| 160 | +- build-rs: Automatically emits `rerun-if-env-changed` |
| 161 | + when accessing environment variables Cargo sets for build script executions. |
| 162 | + [#14911](https://github.com/rust-lang/cargo/pull/14911) |
| 163 | +- build-rs: Correctly refer to the item in assert |
| 164 | + [#14913](https://github.com/rust-lang/cargo/pull/14913) |
| 165 | +- build-rs: Add the 'error' directive |
| 166 | + [#14910](https://github.com/rust-lang/cargo/pull/14910) |
| 167 | +- build-rs: Remove meaningless 'cargo_cfg_debug_assertions' |
| 168 | + [#14901](https://github.com/rust-lang/cargo/pull/14901) |
| 169 | +- cargo-package: split `cargo_package` to modules |
| 170 | + [#14959](https://github.com/rust-lang/cargo/pull/14959) |
| 171 | + [#14982](https://github.com/rust-lang/cargo/pull/14982) |
49 | 172 | - cargo-test-support: `requires` attribute accepts string literals for cmds
|
50 | 173 | [#14875](https://github.com/rust-lang/cargo/pull/14875)
|
51 | 174 | - cargo-test-support: Switch from 'exec_with_output' to 'run'
|
52 | 175 | [#14848](https://github.com/rust-lang/cargo/pull/14848)
|
| 176 | +- cargo-test-support: track caller for `.crate` file publish verification |
| 177 | + [#14992](https://github.com/rust-lang/cargo/pull/14992) |
53 | 178 | - test: Verify `-Cmetadata` directly, not through `-Cextra-filename`
|
54 | 179 | [#14846](https://github.com/rust-lang/cargo/pull/14846)
|
55 | 180 | - test: ensure PGO works
|
56 | 181 | [#14859](https://github.com/rust-lang/cargo/pull/14859)
|
57 | 182 | [#14874](https://github.com/rust-lang/cargo/pull/14874)
|
| 183 | + [#14887](https://github.com/rust-lang/cargo/pull/14887) |
58 | 184 | - Update dependencies.
|
59 | 185 | [#14867](https://github.com/rust-lang/cargo/pull/14867)
|
60 | 186 | [#14871](https://github.com/rust-lang/cargo/pull/14871)
|
61 | 187 | [#14878](https://github.com/rust-lang/cargo/pull/14878)
|
62 | 188 | [#14879](https://github.com/rust-lang/cargo/pull/14879)
|
| 189 | + [#14975](https://github.com/rust-lang/cargo/pull/14975) |
63 | 190 |
|
64 | 191 | ## Cargo 1.84 (2025-01-09)
|
65 | 192 | [15fbd2f6...rust-1.84.0](https://github.com/rust-lang/cargo/compare/15fbd2f6...rust-1.84.0)
|
|
0 commit comments