Skip to content

Commit c1febbe

Browse files
authored
2 parents 12541d6 + 6ee4968 commit c1febbe

File tree

3 files changed

+131
-4
lines changed

3 files changed

+131
-4
lines changed

CHANGELOG.md

Lines changed: 129 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,192 @@
11
# Changelog
22

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+
341
## 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)
543

644
### Added
745

846
- 🎉 Cargo now supports the 2024 edition.
947
More information is available in the [edition guide](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html).
1048
[#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)
1157

1258
### Changed
1359

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)
1469
- Added a future-incompatibility warning for keywords in `cfg`s in Cargo.toml
1570
and Cargo configuration. `cfg`s with keywords like `cfg(true)` and `cfg(false)`
1671
were incorrectly accepted. For backward compatibility, support for raw
1772
identifiers has been introduced; for example, use `cfg(r#true)` instead.
1873
[#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)
1986

2087
### Fixed
2188

2289
- Set `GIT_DIR` to ensure compatibility with bare repositories
2390
for `net.git-fetch-with-cli=true`.
2491
[#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)
25107

26108
### Nightly only
27109

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.
29116
[#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)
30119
- `-Zbuild-std`: always link to std when testing proc-macros.
31120
[#14850](https://github.com/rust-lang/cargo/pull/14850)
32121
[#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)
33128
- `-Zpackage-workspace`: Allow dry-run of a non-bumped workspace.
34129
[#14847](https://github.com/rust-lang/cargo/pull/14847)
35130
- `-Zscript`: Allow adding/removing dependencies from cargo scripts
36131
[#14857](https://github.com/rust-lang/cargo/pull/14857)
37132
- `-Zscript`: Migrate cargo script manifests across editions
38133
[#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)
39138

40139
### Documentation
41140

42141
- Clarify how `cargo::metadata` env var is selected.
43142
[#14842](https://github.com/rust-lang/cargo/pull/14842)
44143
- cargo-info: Remove references to the default registry in `cargo-info` docs
45144
[#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)
46149

47150
### Internal
48151

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)
49172
- cargo-test-support: `requires` attribute accepts string literals for cmds
50173
[#14875](https://github.com/rust-lang/cargo/pull/14875)
51174
- cargo-test-support: Switch from 'exec_with_output' to 'run'
52175
[#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)
53178
- test: Verify `-Cmetadata` directly, not through `-Cextra-filename`
54179
[#14846](https://github.com/rust-lang/cargo/pull/14846)
55180
- test: ensure PGO works
56181
[#14859](https://github.com/rust-lang/cargo/pull/14859)
57182
[#14874](https://github.com/rust-lang/cargo/pull/14874)
183+
[#14887](https://github.com/rust-lang/cargo/pull/14887)
58184
- Update dependencies.
59185
[#14867](https://github.com/rust-lang/cargo/pull/14867)
60186
[#14871](https://github.com/rust-lang/cargo/pull/14871)
61187
[#14878](https://github.com/rust-lang/cargo/pull/14878)
62188
[#14879](https://github.com/rust-lang/cargo/pull/14879)
189+
[#14975](https://github.com/rust-lang/cargo/pull/14975)
63190

64191
## Cargo 1.84 (2025-01-09)
65192
[15fbd2f6...rust-1.84.0](https://github.com/rust-lang/cargo/compare/15fbd2f6...rust-1.84.0)

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ self_named_module_files = "warn"
135135

136136
[package]
137137
name = "cargo"
138-
version = "0.86.0"
138+
version = "0.87.0"
139139
edition.workspace = true
140140
license.workspace = true
141141
rust-version = "1.83" # MSRV:1

0 commit comments

Comments
 (0)