Skip to content

Commit 963b490

Browse files
authored
chore: bump to 0.95.0; update changelog (#16395)
[rendered](https://github.com/weihanglo/cargo/blob/version-bump/src/doc/src/CHANGELOG.md) or preview through `mdbook serve src/doc`
2 parents 0101bde + dfc066d commit 963b490

File tree

3 files changed

+248
-5
lines changed

3 files changed

+248
-5
lines changed

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
@@ -139,7 +139,7 @@ self_named_module_files = "warn"
139139

140140
[package]
141141
name = "cargo"
142-
version = "0.94.0"
142+
version = "0.95.0"
143143
edition.workspace = true
144144
license.workspace = true
145145
rust-version = "1.92" # MSRV:1

src/doc/src/CHANGELOG.md

Lines changed: 246 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,292 @@
11
# Changelog
22

3+
## Cargo 1.94 (2026-03-05)
4+
5+
[2c283a9a...HEAD](https://github.com/rust-lang/cargo/compare/2c283a9a...HEAD)
6+
7+
### Added
8+
9+
- 🎉 Stabilize the config `include` key.
10+
The top-level `include` config key allows loading additional config files,
11+
enabling better organization, sharing, and management of Cargo configurations
12+
across projects and environments.
13+
[docs](https://doc.rust-lang.org/nightly/cargo/reference/config.html#including-extra-configuration-files)
14+
[#16284](https://github.com/rust-lang/cargo/pull/16284)
15+
- perf: Optimize `cargo clean` with multiple `--package` specifiers.
16+
[#16264](https://github.com/rust-lang/cargo/pull/16264)
17+
18+
### Changed
19+
20+
- Improve error message when Cargo build target source files are missing.
21+
[#16338](https://github.com/rust-lang/cargo/pull/16338)
22+
23+
### Fixed
24+
25+
- Don't read config file twice when `$CARGO_HOME` is a symlinked directory
26+
[#16325](https://github.com/rust-lang/cargo/pull/16325)
27+
- cargo-info: default to inspecting local package when no registry is explicitly specified
28+
[#16358](https://github.com/rust-lang/cargo/pull/16358)
29+
- cargo-package: skip registry verification when using `--list`
30+
[#16341](https://github.com/rust-lang/cargo/pull/16341)
31+
32+
### Nightly only
33+
34+
- `pubtime`: harden index `pubtime` implementation by treating parse errors as
35+
invalid and limiting the time format more strictly.
36+
[#16369](https://github.com/rust-lang/cargo/pull/16369)
37+
- 🔥 `-Zbuild-analysis`: new `cargo report timings` command for HTML replay
38+
[#16377](https://github.com/rust-lang/cargo/pull/16377)
39+
[#16378](https://github.com/rust-lang/cargo/pull/16378)
40+
[#16382](https://github.com/rust-lang/cargo/pull/16382)
41+
[#16352](https://github.com/rust-lang/cargo/pull/16352)
42+
[#16350](https://github.com/rust-lang/cargo/pull/16350)
43+
[#16346](https://github.com/rust-lang/cargo/pull/16346)
44+
- `-Zbuild-dir-new-layout`: Remove hashes from bins in new layout
45+
[#16351](https://github.com/rust-lang/cargo/pull/16351)
46+
- `-Zbuild-dir-new-layout`: Use unit_id, not pkg hash, for bin/lib pkg_dirs for new layout
47+
[#16345](https://github.com/rust-lang/cargo/pull/16345)
48+
- `-Zbuild-dir-new-layout`: Include all search paths with new build layout
49+
[#16348](https://github.com/rust-lang/cargo/pull/16348)
50+
- 🔥 `-Zcargo-lints`: new `implicit_minimum_version_req` lint
51+
[#16321](https://github.com/rust-lang/cargo/pull/16321)
52+
- `-Zcargo-lints`: move lints to separate modules
53+
[#16392](https://github.com/rust-lang/cargo/pull/16392)
54+
[#16364](https://github.com/rust-lang/cargo/pull/16364)
55+
- `-Zcargo-lints`: handle lints separately at ws pkg level
56+
[#16367](https://github.com/rust-lang/cargo/pull/16367)
57+
58+
### Documentation
59+
60+
- FAQ: Include an entry on disk space
61+
[#16349](https://github.com/rust-lang/cargo/pull/16349)
62+
63+
### Internal
64+
65+
- Remove `[no-mentions]` handler in our triagebot config
66+
[#16361](https://github.com/rust-lang/cargo/pull/16361)
67+
- test: update to `proc_macro::tracked::path`
68+
[#16380](https://github.com/rust-lang/cargo/pull/16380)
69+
- test: Remove unused build script
70+
[#16344](https://github.com/rust-lang/cargo/pull/16344)
71+
- Update dependencies.
72+
[#16379](https://github.com/rust-lang/cargo/pull/16379)
73+
[#16381](https://github.com/rust-lang/cargo/pull/16381)
74+
375
## Cargo 1.93 (2026-01-22)
4-
[344c4567...HEAD](https://github.com/rust-lang/cargo/compare/344c4567...HEAD)
76+
[344c4567...rust-1.93.0](https://github.com/rust-lang/cargo/compare/344c4567...rust-1.93.0)
577

678
### Added
779

80+
- Enable `CARGO_CFG_DEBUG_ASSERTIONS` environment variable in build scripts based on profile settings.
81+
[#16160](https://github.com/rust-lang/cargo/pull/16160)
82+
- Add support for completing `--config` values in Bash
83+
[#16245](https://github.com/rust-lang/cargo/pull/16245)
84+
- cargo-clean: Add `--workspace` flag to clean artifacts of the workspace members.
85+
[#16263](https://github.com/rust-lang/cargo/pull/16263)
86+
- cargo-tree: Support long forms for `--format` variables
87+
[#16204](https://github.com/rust-lang/cargo/pull/16204)
88+
889
### Changed
990

91+
- ❗️ `cargo publish` no longer keeps `.crate` tarballs as final build artifacts
92+
even when the `build.build-dir` config is unset.
93+
[#15915](https://github.com/rust-lang/cargo/pull/15915)
1094
- Migrate more diagnostic formatting to rustc-like style (annotate-snippets style)
1195
[#16143](https://github.com/rust-lang/cargo/pull/16143)
96+
- Point out when a key belongs to Cargo configuration when seeing an unused field in Cargo manifest.
97+
[#16256](https://github.com/rust-lang/cargo/pull/16256)
98+
- When failing to update or create lockfile, provide clearer context and suggested
99+
user actions to help resolve it.
100+
[#16233](https://github.com/rust-lang/cargo/pull/16233)
101+
[#16227](https://github.com/rust-lang/cargo/pull/16227)
102+
- Emit helpful error messages when GitHub pull request URLs are used as dependencies
103+
in the manifest.
104+
[#16207](https://github.com/rust-lang/cargo/pull/16207)
105+
- Avoid unnecessary artifact directory locking for `check` builds.
106+
[#16230](https://github.com/rust-lang/cargo/pull/16230)
107+
[#16299](https://github.com/rust-lang/cargo/pull/16299)
108+
[#16307](https://github.com/rust-lang/cargo/pull/16307)
109+
[#16385](https://github.com/rust-lang/cargo/pull/16385)
110+
[#16386](https://github.com/rust-lang/cargo/pull/16386)
111+
- Refer to commands, not subcommands in CLI help text.
112+
[#16226](https://github.com/rust-lang/cargo/pull/16226)
113+
- cargo-install: Cargo treated a relative path in `install.root` without a
114+
trailing slash as relative path to the current working directory. This case
115+
will now get a deprecation warning. It was an oversight and will be changed
116+
to config-relative path like other config fields in the future.
117+
[#16125](https://github.com/rust-lang/cargo/pull/16125)
118+
- cargo-package: Suppress missing metadata warnings for non-crates.io publishable packages
119+
[#16241](https://github.com/rust-lang/cargo/pull/16241)
120+
- cargo-publish: emit a warning when both `package.publish` and `--index` are specified
121+
[#16268](https://github.com/rust-lang/cargo/pull/16268)
122+
- cargo-run: in help text, teach how to escape arguments to be forwarded
123+
literally to an underlying program
124+
[#16225](https://github.com/rust-lang/cargo/pull/16225)
12125

13126
### Fixed
14127

15-
- Shell completion variables no longer leak into user's environment
128+
- Zsh shell completion variables no longer leak into user's environment
16129
[#16144](https://github.com/rust-lang/cargo/pull/16144)
130+
- Fixed Cargo generating dep-info file with invalid trailing backslashes on Windows.
131+
[#16223](https://github.com/rust-lang/cargo/pull/16223)
132+
- Fixed non-mergeable list from `--config` CLI being overridden by environment variables.
133+
[#16220](https://github.com/rust-lang/cargo/pull/16220)
134+
- Fixed nested non-mergeable list from `--config` CLI got merged with other configurations.
135+
[#16219](https://github.com/rust-lang/cargo/pull/16219)
136+
- Cargo now updates mtime for files generated by `cargo package`
137+
after unpacking `.crate` source tarballs.
138+
This ensures files do not have overly old mtime that some zip tools can't handle.
139+
[#16250](https://github.com/rust-lang/cargo/pull/16250)
140+
- Shift mtime for `cargo check` artifacts (.rmeta files).
141+
This addresses a regression in rustc incremental compilation skipping
142+
unnecessary rmeta generation but didn't update mtime for existing rmeta files.
143+
[#16262](https://github.com/rust-lang/cargo/pull/16262)
144+
- cargo-doc: clean generated doc directories for only requested targets.
145+
Previously when rustc version mismatches, Cargo removes all generated doc
146+
directories including target platforms that are not part of the build.
147+
[#16331](https://github.com/rust-lang/cargo/pull/16331)
148+
- cargo-install: fix out-of-bound error in crate name validation
149+
[#16314](https://github.com/rust-lang/cargo/pull/16314)
150+
- cargo-package: generated files in tarball should have deterministic timestamp.
151+
[#16242](https://github.com/rust-lang/cargo/pull/16242)
152+
- cargo-package: exclude `target/package` directory from backups via `CACHEDIR.TAG`.
153+
[#16272](https://github.com/rust-lang/cargo/pull/16272)
154+
- cargo-vendor: fix panic on Windows caused by fallback of `fs::rename`.
155+
[#16214](https://github.com/rust-lang/cargo/pull/16214)
17156

18157
### Nightly only
19158

159+
- 🔥 `-Zrustc-unicode` enables `rustc`'s unicode error format in Cargo's error messages.
160+
[#16243](https://github.com/rust-lang/cargo/pull/16243)
161+
- 🔥 `-Zrustdoc-mergeable-info` leverages rustdoc's mergeable crate info, so
162+
`cargo doc` can merge cross-crate information (like the search index, source
163+
files index) from separate output directories, and run `rustdoc` in parallel.
164+
[docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#rustdoc-mergeable-info)
165+
[#16309](https://github.com/rust-lang/cargo/pull/16309)
166+
- 🔥 `cargo generate-lockfile` now has an unstable `--publish-time` flag that
167+
package resolution will not consider any package newer than the specified time.
168+
_This is not useful until registry index starts including the `pubtime` field._
169+
[#16265](https://github.com/rust-lang/cargo/pull/16265)
170+
- `build-plan`: Remove the unstable feature `build-plan` entirely.
171+
The Cargo team are looking forward to other alternatives like
172+
[plumbing commands](https://github.com/crate-ci/cargo-plumbing),
173+
[`--unit-graph](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#unit-graph),
174+
and [structured logging](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#build-analysis)
175+
helping to fill the gap.
176+
[#16212](https://github.com/rust-lang/cargo/pull/16212)
177+
- `native-completions`: Put host-tuple before actual tuples
178+
[#16327](https://github.com/rust-lang/cargo/pull/16327)
179+
- `native-completions`: include `all` in `cargo tree --target` candidates
180+
[#16322](https://github.com/rust-lang/cargo/pull/16322)
181+
- `native-completions`: don't wrap completion item help in parenthesis
182+
[#16215](https://github.com/rust-lang/cargo/pull/16215)
183+
- `native-completions`: Add more native completions for `cargo tree`
184+
[#16296](https://github.com/rust-lang/cargo/pull/16296)
185+
- `native-completions`: `--package` on various commands
186+
[#16210](https://github.com/rust-lang/cargo/pull/16210)
187+
- `update-breaking`: silent failure on non-matching package specs with --breaking
188+
[#16276](https://github.com/rust-lang/cargo/pull/16276)
189+
- `-Zbindeps`: do not propagate artifact dependency to proc macro or build deps
190+
[#15788](https://github.com/rust-lang/cargo/pull/15788)
20191
- `-Zbuild-analysis`: Emit timing-info logs with JSONL-based logging
21192
infrastructure. Logs are stored in `~/.cargo/log/` with unique files
22193
per cargo invocation.
23194
[#16150](https://github.com/rust-lang/cargo/pull/16150)
24195
[#16179](https://github.com/rust-lang/cargo/pull/16179)
196+
[#16303](https://github.com/rust-lang/cargo/pull/16303)
197+
[#16337](https://github.com/rust-lang/cargo/pull/16337)
198+
- `-Zbuild-analysis`: emit rebuild reason log entry.
199+
[#16203](https://github.com/rust-lang/cargo/pull/16203)
200+
- `-Zbuild-build`: Add test for LTO
201+
[#16277](https://github.com/rust-lang/cargo/pull/16277)
202+
- `-Zbuild-dir-new-layout`: Better divide old / new layout
203+
[#16304](https://github.com/rust-lang/cargo/pull/16304)
204+
- `-Zbuild-dir-new-layout`: Clean hosts builds with new layout
205+
[#16300](https://github.com/rust-lang/cargo/pull/16300)
206+
- `-Zbuild-dir-new-layout`: Put examples in their unit dir in new layout
207+
[#16335](https://github.com/rust-lang/cargo/pull/16335)
208+
- `-Zcargo-lints`: show lint error number
209+
[#16320](https://github.com/rust-lang/cargo/pull/16320)
210+
[#16324](https://github.com/rust-lang/cargo/pull/16324)
25211
- `-Zconfig-include`: Allow using `optional = true` to silently skip
26212
missing config files.
27213
[#16103](https://github.com/rust-lang/cargo/pull/16103)
28214
[#16174](https://github.com/rust-lang/cargo/pull/16174)
29215
[#16180](https://github.com/rust-lang/cargo/pull/16180)
216+
- `-Zconfig-include`: disallow glob and template syntax in `include.path`
217+
[#16285](https://github.com/rust-lang/cargo/pull/16285)
218+
- `-Zconfig-include`: remove support of single string shorthand
219+
[#16298](https://github.com/rust-lang/cargo/pull/16298)
30220
- `-Zgit`: Support shallow fetch for Git CLI backend (`net.git-fetch-with-cli`)
31221
[#16156](https://github.com/rust-lang/cargo/pull/16156)
32222
- `-Zgit`: Add more git fetch-index backend interop tests
33223
[#16162](https://github.com/rust-lang/cargo/pull/16162)
34224
- `-Zscript`: Update script tests from rustc's test suite
35225
[#16169](https://github.com/rust-lang/cargo/pull/16169)
226+
[#16334](https://github.com/rust-lang/cargo/pull/16334)
227+
- `-Zscript`: Fallback to non-canonical path for workspace-path-hash.
228+
This ensure script paths that cannot be canonicalized, like `memfd`,
229+
still work.
230+
[#16248](https://github.com/rust-lang/cargo/pull/16248)
231+
- `-Zwarnings`: build.warnings=deny shouldn't block hard warnings
232+
[#16213](https://github.com/rust-lang/cargo/pull/16213)
233+
36234

37235
### Documentation
38236

237+
- Move `compile-time-deps` out of Stabilized section
238+
[#16211](https://github.com/rust-lang/cargo/pull/16211)
239+
- Rename `DEP_NAME_KEY` to `DEP_LINKS_KEY` to make the association of the
240+
`package.links` field clearer
241+
[#16205](https://github.com/rust-lang/cargo/pull/16205)
242+
- Clarify `cargo yank` only affects Cargo's dependency resolution,
243+
not crate availability
244+
[#16274](https://github.com/rust-lang/cargo/pull/16274)
245+
- In build performance guide, when suggesting alt dev profile, link to related issue.
246+
[#16275](https://github.com/rust-lang/cargo/pull/16275)
247+
- cargo-metadata: document the `"host-tuple"` literal is also supported for `-filter-platform`.
248+
[#16312](https://github.com/rust-lang/cargo/pull/16312)
249+
- contrib: Link out to rustc diagnostic style guide
250+
[#16216](https://github.com/rust-lang/cargo/pull/16216)
251+
- resolver: fix compile errors in pseudocode
252+
[#16333](https://github.com/rust-lang/cargo/pull/16333)
253+
39254
### Internal
40255

41-
- Fix mdman to not incorrectly strip `<p>` tags
256+
- Make disabling locking on NFS mounts explicit
257+
[#16177](https://github.com/rust-lang/cargo/pull/16177)
258+
- Extract ConfigValue and config schemas to their own separate modules
259+
[#16222](https://github.com/rust-lang/cargo/pull/16222)
260+
[#16195](https://github.com/rust-lang/cargo/pull/16195)
261+
- Embed deserialize validation logic in `ProgressConfig`
262+
[#16194](https://github.com/rust-lang/cargo/pull/16194)
263+
- Separate Cargo timings data collection and presentation
264+
[#16282](https://github.com/rust-lang/cargo/pull/16282)
265+
- cargo-util-schemas: add into_value utility function for inheritableField
266+
[#16234](https://github.com/rust-lang/cargo/pull/16234)
267+
- ci: Add a typos/spellcheck CI job
268+
[#16122](https://github.com/rust-lang/cargo/pull/16122)
269+
- ci: Run clippy CI on more targets
270+
[#16340](https://github.com/rust-lang/cargo/pull/16340)
271+
- mdman: Fix mdman to not incorrectly strip `<p>` tags
42272
[#16158](https://github.com/rust-lang/cargo/pull/16158)
43273
[#16172](https://github.com/rust-lang/cargo/pull/16172)
274+
- test: re-enable Windows reserved name test since not flaky anymore
275+
[#16287](https://github.com/rust-lang/cargo/pull/16287)
276+
- test: Remove legacy tmpdir support
277+
[#16342](https://github.com/rust-lang/cargo/pull/16342)
278+
- Update to mdbook 0.5.
279+
[#16292](https://github.com/rust-lang/cargo/pull/16292)
44280
- Update dependencies.
45281
[#16137](https://github.com/rust-lang/cargo/pull/16137)
46282
[#16140](https://github.com/rust-lang/cargo/pull/16140)
283+
[#16178](https://github.com/rust-lang/cargo/pull/16178)
284+
[#16186](https://github.com/rust-lang/cargo/pull/16186)
285+
[#16190](https://github.com/rust-lang/cargo/pull/16190)
286+
[#16200](https://github.com/rust-lang/cargo/pull/16200)
287+
[#16224](https://github.com/rust-lang/cargo/pull/16224)
288+
[#16316](https://github.com/rust-lang/cargo/pull/16316)
289+
[#16318](https://github.com/rust-lang/cargo/pull/16318)
47290

48291
## Cargo 1.92 (2025-12-11)
49292
[24bb93c3...rust-1.92.0](https://github.com/rust-lang/cargo/compare/24bb93c3...rust-1.92.0)

0 commit comments

Comments
 (0)