|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## Cargo 1.87 (2025-05-15) |
| 4 | +[ce948f46...HEAD](https://github.com/rust-lang/cargo/compare/ce948f46...HEAD) |
| 5 | + |
| 6 | +### Added |
| 7 | + |
| 8 | +### Changed |
| 9 | + |
| 10 | +- cargo-add: collapse large feature lists |
| 11 | + [#15200](https://github.com/rust-lang/cargo/pull/15200) |
| 12 | + |
| 13 | +### Fixed |
| 14 | + |
| 15 | +- cargo-publish: Fix man page with malformed `{{#options}}` block |
| 16 | + [#15191](https://github.com/rust-lang/cargo/pull/15191) |
| 17 | + |
| 18 | +### Nightly only |
| 19 | + |
| 20 | +- `-Zscript`: Handle more frontmatter parsing corner cases |
| 21 | + [#15187](https://github.com/rust-lang/cargo/pull/15187) |
| 22 | + |
| 23 | +### Documentation |
| 24 | + |
| 25 | +### Internal |
| 26 | + |
3 | 27 | ## Cargo 1.86 (2025-04-03)
|
4 |
| -[d73d2caf...HEAD](https://github.com/rust-lang/cargo/compare/d73d2caf...HEAD) |
| 28 | +[d73d2caf...rust-1.86.0](https://github.com/rust-lang/cargo/compare/d73d2caf...rust-1.86.0) |
5 | 29 |
|
6 | 30 | ### Added
|
7 | 31 |
|
8 | 32 | ### Changed
|
9 | 33 |
|
| 34 | +- ❗️ When merging, replace rather than combine configuration keys that refer |
| 35 | + to a program path and its arguments. |
| 36 | + [#15066](https://github.com/rust-lang/cargo/pull/15066) |
| 37 | + These keys include: |
| 38 | + - `registry.credential-provider` |
| 39 | + - `registries.*.credential-provider` |
| 40 | + - `target.*.runner` |
| 41 | + - `host.runner` |
| 42 | + - `credential-alias.*` |
| 43 | + - `doc.browser` |
| 44 | +- ❗️ Error if both `--package` and `--workspace` are passed but the requested |
| 45 | + package is missing. This was previously silently ignored, which was considered |
| 46 | + a bug since missing packages should be reported. |
| 47 | + [#15071](https://github.com/rust-lang/cargo/pull/15071) |
| 48 | +- Added warning when failing to update index cache. |
| 49 | + [#15014](https://github.com/rust-lang/cargo/pull/15014) |
| 50 | +- Don't use "did you mean" in errors. Be upfront about what the suggestion is. |
| 51 | + [#15138](https://github.com/rust-lang/cargo/pull/15138) |
| 52 | +- Provide a better error message for invalid SSH URLs in dependency sources. |
| 53 | + [#15185](https://github.com/rust-lang/cargo/pull/15185) |
| 54 | +- Suggest similar feature names when the package doesn't have given features. |
| 55 | + [#15133](https://github.com/rust-lang/cargo/pull/15133) |
| 56 | +- Print globs when workspace members can't be found. |
| 57 | + [#15093](https://github.com/rust-lang/cargo/pull/15093) |
| 58 | +- cargo-fix: Make `--allow-dirty` imply `--allow-staged` |
| 59 | + [#15013](https://github.com/rust-lang/cargo/pull/15013) |
| 60 | +- cargo-login: hide the `token` argument from CLI help for the preparation of deprecation. |
| 61 | + [#15057](https://github.com/rust-lang/cargo/pull/15057) |
| 62 | +- cargo-login: Don't suggest `cargo login` when using incompatible credential providers. |
| 63 | + [#15124](https://github.com/rust-lang/cargo/pull/15124) |
| 64 | +- cargo-package: improve the performance of VCS status check by matching certain |
| 65 | + path prefixes with pathspec. |
| 66 | + [#14997](https://github.com/rust-lang/cargo/pull/14997) |
| 67 | + |
10 | 68 | ### Fixed
|
11 | 69 |
|
12 | 70 | - The `rerun-if-env-changed` build script instruction can now correctly detect
|
13 | 71 | changes in the `[env]` configuration table.
|
14 | 72 | [#14756](https://github.com/rust-lang/cargo/pull/14756)
|
| 73 | +- Force emitting warnings as warnings when learning Rust target info for an unsupported crate type. |
| 74 | + [#15036](https://github.com/rust-lang/cargo/pull/15036) |
15 | 75 | - cargo-package: Verify the VCS status of symlinks
|
16 | 76 | when they point to paths outside the current package root.
|
17 | 77 | [#14981](https://github.com/rust-lang/cargo/pull/14981)
|
18 | 78 |
|
19 | 79 | ### Nightly only
|
20 | 80 |
|
| 81 | +- 🔥 `-Z feature-unification`: This new unstable flag enables the |
| 82 | + `resolver.feature-unification` configuration option to control how features |
| 83 | + are unified across a workspace. |
| 84 | + ([RFC 3529](https://github.com/rust-lang/rfcs/blob/master/text/3692-feature-unification.md)) |
| 85 | + ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#feature-unification)) |
| 86 | + [#15157](https://github.com/rust-lang/cargo/pull/15157) |
21 | 87 | - cargo-util-schemas: Correct and update the JSON Schema
|
22 | 88 | [#15000](https://github.com/rust-lang/cargo/pull/15000)
|
| 89 | +- cargo-util-schemas: Fix the `[lints]` JSON Schema |
| 90 | + [#15035](https://github.com/rust-lang/cargo/pull/15035) |
| 91 | +- cargo-util-schemas: Fix 'metadata' JSON Schema |
| 92 | + [#15033](https://github.com/rust-lang/cargo/pull/15033) |
| 93 | +- `cargo rustc --print`: Setup cargo environment for `cargo rustc --print`. |
| 94 | + [#15026](https://github.com/rust-lang/cargo/pull/15026) |
| 95 | +- `-Zbuild-std`: parse value as comma-separated list, also extends the behavior |
| 96 | + to `build-std-features`. |
| 97 | + [#15065](https://github.com/rust-lang/cargo/pull/15065) |
| 98 | +- `-Zgc`: Make cache tracking resilient to unexpected files. |
| 99 | + [#15147](https://github.com/rust-lang/cargo/pull/15147) |
| 100 | +- `-Zscript`: Consolidate creation of SourceId from manifest path |
| 101 | + [#15172](https://github.com/rust-lang/cargo/pull/15172) |
| 102 | +- `-Zscript`: Integrate cargo-script logic into main parser |
| 103 | + [#15168](https://github.com/rust-lang/cargo/pull/15168) |
| 104 | +- `-Zscript`: add `cargo pkgid` support for cargo-script |
| 105 | + [#14961](https://github.com/rust-lang/cargo/pull/14961) |
| 106 | +- `-Zpackage-workspace`: Report all unpublishable packages |
| 107 | + [#15070](https://github.com/rust-lang/cargo/pull/15070) |
23 | 108 |
|
24 | 109 | ### Documentation
|
25 | 110 |
|
| 111 | +- Document that Cargo automatically registers variables used in the `env!` |
| 112 | + macro to trigger rebuilds since 1.46. |
| 113 | + [#15062](https://github.com/rust-lang/cargo/pull/15062) |
| 114 | +- Move the changelog to The Cargo Book. |
| 115 | + [#15119](https://github.com/rust-lang/cargo/pull/15119) |
| 116 | + [#15123](https://github.com/rust-lang/cargo/pull/15123) |
| 117 | + [#15142](https://github.com/rust-lang/cargo/pull/15142) |
| 118 | +- Note `package.authors` is deprecated. |
| 119 | + [#15068](https://github.com/rust-lang/cargo/pull/15068) |
| 120 | +- Fix the wrong grammar of a Package Id Specification. |
| 121 | + [#15049](https://github.com/rust-lang/cargo/pull/15049) |
| 122 | +- Fix the inverted logic about MSRV |
| 123 | + [#15044](https://github.com/rust-lang/cargo/pull/15044) |
| 124 | +- cargo-metadata: Fix description of the `"root"` field. |
| 125 | + [#15182](https://github.com/rust-lang/cargo/pull/15182) |
| 126 | +- cargo-package: note the lock file is always included. |
| 127 | + [#15067](https://github.com/rust-lang/cargo/pull/15067) |
| 128 | +- contrib: Start guidelines for schema design. |
| 129 | + [#15037](https://github.com/rust-lang/cargo/pull/15037) |
| 130 | + |
26 | 131 | ### Internal
|
27 | 132 |
|
| 133 | +- Don't use `libc::LOCK_*` on Solaris. |
| 134 | + [#15143](https://github.com/rust-lang/cargo/pull/15143) |
| 135 | +- Clean up field -> env var handling. |
| 136 | + [#15008](https://github.com/rust-lang/cargo/pull/15008) |
| 137 | +- Simplify SourceID Ord/Eq. |
| 138 | + [#14980](https://github.com/rust-lang/cargo/pull/14980) |
| 139 | + [#15103](https://github.com/rust-lang/cargo/pull/15103) |
| 140 | +- Add manual Hash impl for SourceKind and document the reason. |
| 141 | + [#15029](https://github.com/rust-lang/cargo/pull/15029) |
| 142 | +- ci: allow Windows reserved names in CI |
| 143 | + [#15135](https://github.com/rust-lang/cargo/pull/15135) |
28 | 144 | - cargo-test-macro: Remove condition on `RUSTUP_WINDOWS_PATH_ADD_BIN`
|
29 | 145 | [#15017](https://github.com/rust-lang/cargo/pull/15017)
|
| 146 | +- resolver: Simplify backtrack |
| 147 | + [#15150](https://github.com/rust-lang/cargo/pull/15150) |
| 148 | +- resolver: Small cleanups |
| 149 | + [#15040](https://github.com/rust-lang/cargo/pull/15040) |
30 | 150 | - test: Clean up shallow fetch tests
|
31 | 151 | [#15002](https://github.com/rust-lang/cargo/pull/15002)
|
32 |
| -- test: Fix `https::self_signed_should_fail` for macos |
| 152 | +- test: Fix `https::self_signed_should_fail` for macOS |
33 | 153 | [#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 |
| 154 | +- test: Fix benchsuite issue with newer versions of git |
| 155 | + [#15069](https://github.com/rust-lang/cargo/pull/15069) |
| 156 | +- test: Fix shared_std_dependency_rebuild running on Windows |
| 157 | + [#15111](https://github.com/rust-lang/cargo/pull/15111) |
| 158 | +- test: Update tests to fix nightly errors |
| 159 | + [#15110](https://github.com/rust-lang/cargo/pull/15110) |
| 160 | +- test: Remove unused `-C link-arg=-fuse-ld=lld` |
| 161 | + [#15097](https://github.com/rust-lang/cargo/pull/15097) |
| 162 | +- test: Remove `unsafe` by using `LazyLock` |
| 163 | + [#15096](https://github.com/rust-lang/cargo/pull/15096) |
| 164 | +- test: Remove unnecessary into conversions |
| 165 | + [#15042](https://github.com/rust-lang/cargo/pull/15042) |
| 166 | +- test: Fix race condition in panic_abort_tests |
| 167 | + [#15169](https://github.com/rust-lang/cargo/pull/15169) |
| 168 | +- Update deny.toml |
| 169 | + [#15164](https://github.com/rust-lang/cargo/pull/15164) |
| 170 | +- Update dependencies. |
| 171 | + [#14995](https://github.com/rust-lang/cargo/pull/14995) |
37 | 172 | [#14996](https://github.com/rust-lang/cargo/pull/14996)
|
38 | 173 | [#14998](https://github.com/rust-lang/cargo/pull/14998)
|
39 | 174 | [#15012](https://github.com/rust-lang/cargo/pull/15012)
|
| 175 | + [#15018](https://github.com/rust-lang/cargo/pull/15018) |
| 176 | + [#15041](https://github.com/rust-lang/cargo/pull/15041) |
| 177 | + [#15050](https://github.com/rust-lang/cargo/pull/15050) |
| 178 | + [#15121](https://github.com/rust-lang/cargo/pull/15121) |
| 179 | + [#15128](https://github.com/rust-lang/cargo/pull/15128) |
| 180 | + [#15129](https://github.com/rust-lang/cargo/pull/15129) |
| 181 | + [#15162](https://github.com/rust-lang/cargo/pull/15162) |
| 182 | + [#15163](https://github.com/rust-lang/cargo/pull/15163) |
| 183 | + [#15165](https://github.com/rust-lang/cargo/pull/15165) |
| 184 | + [#15166](https://github.com/rust-lang/cargo/pull/15166) |
40 | 185 |
|
41 | 186 | ## Cargo 1.85 (2025-02-20)
|
42 | 187 | [66221abd...rust-1.85.0](https://github.com/rust-lang/cargo/compare/66221abd...rust-1.85.0)
|
|
0 commit comments