Skip to content

Commit c93867a

Browse files
committed
migrate build_script_env::rerun_if_env_changes_config to snapbox
1 parent 1cf0b56 commit c93867a

File tree

240 files changed

+4474
-1869
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+4474
-1869
lines changed

.cargo/config.toml

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
build-man = "run --package xtask-build-man --"
33
stale-label = "run --package xtask-stale-label --"
44
bump-check = "run --package xtask-bump-check --"
5+
lint-docs = "run --package xtask-lint-docs --"
56

67
[env]
78
# HACK: Until this is stabilized, `snapbox`s polyfill could get confused

.github/workflows/main.yml

+7
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,13 @@ jobs:
8383
- run: rustup update stable && rustup default stable
8484
- run: cargo stale-label
8585

86+
lint-docs:
87+
runs-on: ubuntu-latest
88+
steps:
89+
- uses: actions/checkout@v4
90+
- run: rustup update stable && rustup default stable
91+
- run: cargo lint-docs --check
92+
8693
# Ensure Cargo.lock is up-to-date
8794
lockfile:
8895
runs-on: ubuntu-latest

CHANGELOG.md

+221-1
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,235 @@
11
# Changelog
22

3+
## Cargo 1.81 (2024-09-05)
4+
[34a6a87d...HEAD](https://github.com/rust-lang/cargo/compare/34a6a87d...HEAD)
5+
6+
### Added
7+
8+
### Changed
9+
10+
- ❗️ cargo-package: Disallow `package.license-file` and `package.readme` pointing
11+
to non-existent files during packaging.
12+
- ❗️ Disallow passing `--release`/`--debug` flag along with the `--profile` flag.
13+
[#13971](https://github.com/rust-lang/cargo/pull/13971)
14+
[#13921](https://github.com/rust-lang/cargo/pull/13921)
15+
- ❗️ Remove `lib.plugin` key support in Cargo.toml.
16+
Rust plugin support has been deprecated for four years and was removed in 1.75.0.
17+
[#13902](https://github.com/rust-lang/cargo/pull/13902)
18+
[#14038](https://github.com/rust-lang/cargo/pull/14038)
19+
20+
### Fixed
21+
22+
- Fix a proc-macro example from a dependency affecting feature resolution.
23+
[#13892](https://github.com/rust-lang/cargo/pull/13892)
24+
25+
### Nightly only
26+
27+
- 🔥 `update-breaking`: Add `--breaking` to `cargo update`,
28+
allowing upgrading dependencies to breaking versions.
29+
[docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#update-breaking)
30+
[#13979](https://github.com/rust-lang/cargo/pull/13979)
31+
- `--artifact-dir`: Rename `--out-dir` to `--artifact-dir`.
32+
The `--out-dir` flag is kept for compatibility
33+
and may be removed when the feature gets stabilized.
34+
[#13809](https://github.com/rust-lang/cargo/pull/13809)
35+
- `edition2024`: Ensure unused optional dependencies fire for shadowed dependencies.
36+
[#14028](https://github.com/rust-lang/cargo/pull/14028)
37+
- `-Zcargo-lints`: Add `unknown_lints` to lints list.
38+
[#14024](https://github.com/rust-lang/cargo/pull/14024)
39+
- `-Zcargo-lints`: Add tooling to document lints.
40+
[#14025](https://github.com/rust-lang/cargo/pull/14025)
41+
- `-Zcargo-lints`: Keep lints updated and sorted.
42+
[#14030](https://github.com/rust-lang/cargo/pull/14030)
43+
- cargo-update: Track the behavior of `--precise <prerelease>`.
44+
[#14013](https://github.com/rust-lang/cargo/pull/14013)
45+
46+
### Documentation
47+
48+
- contrib: Suggest atomic commits with separate test commits.
49+
[#14014](https://github.com/rust-lang/cargo/pull/14014)
50+
51+
### Internal
52+
53+
- Remove the temporary `__CARGO_GITOXIDE_DISABLE_LIST_FILES` environment variable.
54+
[#14036](https://github.com/rust-lang/cargo/pull/14036)
55+
- Update dependencies.
56+
[#13995](https://github.com/rust-lang/cargo/pull/13995)
57+
[#13998](https://github.com/rust-lang/cargo/pull/13998)
58+
[#14037](https://github.com/rust-lang/cargo/pull/14037)
59+
360
## Cargo 1.80 (2024-07-25)
4-
[b60a1555...HEAD](https://github.com/rust-lang/cargo/compare/b60a1555...HEAD)
61+
[b60a1555...rust-1.80.0](https://github.com/rust-lang/cargo/compare/b60a1555...rust-1.80.0)
562

663
### Added
764

65+
- 🎉 Stabilize `-Zcheck-cfg`! This by default enables rustc's checking of
66+
conditional compilation at compile time, which verifies that the crate is
67+
correctly handling conditional compilation for different target platforms or
68+
features. Internally, cargo will be passing a new command line option
69+
`--check-cfg` to all rustc and rustdoc invocations.
70+
71+
A new build script invocation
72+
[`cargo::rustc-check-cfg=CHECK_CFG`](https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg)
73+
is added along with this stabilization, as a way to add custom cfgs to the
74+
list of expected cfg names and values.
75+
76+
If a build script is not an option for your package, Cargo provides a config
77+
[`[lints.rust.unexpected_cfgs.check-cfg]`](https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html#check-cfg-in-lintsrust-table)
78+
to add known custom cfgs statically.
79+
80+
([RFC 3013](https://github.com/rust-lang/rfcs/blob/master/text/3013-conditional-compilation-checking.md))
81+
([docs](https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html))
82+
[#13571](https://github.com/rust-lang/cargo/pull/13571)
83+
[#13865](https://github.com/rust-lang/cargo/pull/13865)
84+
[#13869](https://github.com/rust-lang/cargo/pull/13869)
85+
[#13884](https://github.com/rust-lang/cargo/pull/13884)
86+
[#13913](https://github.com/rust-lang/cargo/pull/13913)
87+
[#13937](https://github.com/rust-lang/cargo/pull/13937)
88+
[#13958](https://github.com/rust-lang/cargo/pull/13958)
89+
90+
- 🎉 cargo-update: Allows `--precise` to specify a yanked version of a package,
91+
and will update the lockfile accordingly.
92+
[#13974](https://github.com/rust-lang/cargo/pull/13974)
93+
894
### Changed
995

96+
- ❗️ manifest: Disallow `[badges]` to inherit from `[workspace.package.badges]`.
97+
This was considered a bug.
98+
Keep in mind that `[badges]` is effectively deprecated.
99+
[#13788](https://github.com/rust-lang/cargo/pull/13788)
100+
- build-script: Suggest old syntax based on MSRV.
101+
[#13874](https://github.com/rust-lang/cargo/pull/13874)
102+
- cargo-add: Avoid escaping double quotes by using string literals.
103+
[#14006](https://github.com/rust-lang/cargo/pull/14006)
104+
- cargo-clean: Performance improvements for cleaning specific packages via `-p` flag.
105+
[#13818](https://github.com/rust-lang/cargo/pull/13818)
106+
- cargo-new: Use `i32` rather than `usize` as the "default integer" in library template.
107+
[#13939](https://github.com/rust-lang/cargo/pull/13939)
108+
- cargo-package: Warn, rather than fail, if a Cargo target is excluded during packaging.
109+
[#13713](https://github.com/rust-lang/cargo/pull/13713)
110+
- manifest: Warn, not error, on unsupported lint tool in the `[lints]` table.
111+
[#13833](https://github.com/rust-lang/cargo/pull/13833)
112+
- perf: Avoid inferring when Cargo targets are known.
113+
[#13849](https://github.com/rust-lang/cargo/pull/13849)
114+
- Populate git information when building Cargo from Rust's source tarball.
115+
[#13832](https://github.com/rust-lang/cargo/pull/13832)
116+
- Improve the error message when deserializing Cargo configuration from partial environment variables.
117+
[#13956](https://github.com/rust-lang/cargo/pull/13956)
118+
10119
### Fixed
11120

121+
- resolver: Make path dependencies with the same name stay locked.
122+
[#13572](https://github.com/rust-lang/cargo/pull/13572)
123+
- cargo-add: Preserve file permissions on Unix during `write_atomic`.
124+
[#13898](https://github.com/rust-lang/cargo/pull/13898)
125+
- cargo-clean: Remove symlink directory on Windows.
126+
[#13910](https://github.com/rust-lang/cargo/pull/13910)
127+
- cargo-fix: Don't fix into the standard library.
128+
[#13792](https://github.com/rust-lang/cargo/pull/13792)
129+
- cargo-fix: Support IPv6-only networks.
130+
[#13907](https://github.com/rust-lang/cargo/pull/13907)
131+
- cargo-new: Don't say we're adding to a workspace when a regular package is in the root.
132+
[#13987](https://github.com/rust-lang/cargo/pull/13987)
133+
- cargo-vendor: Silence the warning about forgetting the vendoring.
134+
[#13886](https://github.com/rust-lang/cargo/pull/13886)
135+
- cargo-publish/cargo-vendor: Ensure targets in generated Cargo.toml are in a deterministic order.
136+
[#13989](https://github.com/rust-lang/cargo/pull/13989)
137+
[#14004](https://github.com/rust-lang/cargo/pull/14004)
138+
- cargo-credential-libsecret: Load `libsecret` by its `SONAME`, `libsecret-1.so.0`.
139+
[#13927](https://github.com/rust-lang/cargo/pull/13927)
140+
- Don't panic when an alias doesn't include a subcommand.
141+
[#13819](https://github.com/rust-lang/cargo/pull/13819)
142+
- Workaround copying file returning EAGAIN on ZFS on macOS.
143+
[#13845](https://github.com/rust-lang/cargo/pull/13845)
144+
- Fetch specific commits even if the GitHub fast path fails.
145+
[#13946](https://github.com/rust-lang/cargo/pull/13946)
146+
[#13969](https://github.com/rust-lang/cargo/pull/13969)
147+
- Distinguish Cargo config from different environment variables that share the same prefix.
148+
[#14000](https://github.com/rust-lang/cargo/pull/14000)
149+
12150
### Nightly only
13151

14152
- `-Zcargo-lints`: Don't always inherit workspace lints.
15153
[#13812](https://github.com/rust-lang/cargo/pull/13812)
154+
- `-Zcargo-lints`: Add a test to ensure cap-lints works.
155+
[#13829](https://github.com/rust-lang/cargo/pull/13829)
156+
- `-Zcargo-lints`: Error when unstable lints are specified but not enabled.
157+
[#13805](https://github.com/rust-lang/cargo/pull/13805)
158+
- `-Zcargo-lints`: Add cargo-lints to unstable docs.
159+
[#13881](https://github.com/rust-lang/cargo/pull/13881)
160+
- `-Zcargo-lints`: Refactor cargo lint tests.
161+
[#13880](https://github.com/rust-lang/cargo/pull/13880)
162+
- `-Zcargo-lints`: Remove ability to specify `-` in lint name.
163+
[#13837](https://github.com/rust-lang/cargo/pull/13837)
164+
- `-Zscript`: Remove unstable rejected frontmatter syntax for cargo script.
165+
The only allowed frontmatter syntax now is `---`.
166+
[#13861](https://github.com/rust-lang/cargo/pull/13861)
167+
[#13893](https://github.com/rust-lang/cargo/pull/13893)
168+
- `-Zbindeps`: Build only the specified artifact library when multiple types are available.
169+
[#13842](https://github.com/rust-lang/cargo/pull/13842)
170+
- `-Zmsrv-policy`: Treat unset MSRV as compatible.
171+
[#13791](https://github.com/rust-lang/cargo/pull/13791)
172+
- `-Zgit`/`-Zgitoxide`: Default configuration to be obtained from both environment variables and Cargo configuration.
173+
[#13687](https://github.com/rust-lang/cargo/pull/13687)
174+
- `-Zpublic-dependency`: Don't lose 'public' when inheriting a dependency.
175+
[#13836](https://github.com/rust-lang/cargo/pull/13836)
176+
- `edition2024`: Disallow ignored `default-features` when inheriting.
177+
[#13839](https://github.com/rust-lang/cargo/pull/13839)
178+
- `edition2024`: Validate crate-types/proc-macro for bin like other Cargo targets.
179+
[#13841](https://github.com/rust-lang/cargo/pull/13841)
16180

17181
### Documentation
18182

183+
- cargo-package: Clarify no guarantee of VCS provenance.
184+
[#13984](https://github.com/rust-lang/cargo/pull/13984)
185+
- cargo-metadata: Clarify dash replacement rule in Cargo target names.
186+
[#13887](https://github.com/rust-lang/cargo/pull/13887)
187+
- config: Fix wrong type of `rustc-flags` in build script overrides.
188+
[#13957](https://github.com/rust-lang/cargo/pull/13957)
189+
- resolver: Add README for `resolver-tests`.
190+
[#13977](https://github.com/rust-lang/cargo/pull/13977)
191+
- contrib: Update UI example code in contributor guide.
192+
[#13864](https://github.com/rust-lang/cargo/pull/13864)
193+
- Fix libcurl proxy documentation link.
194+
[#13990](https://github.com/rust-lang/cargo/pull/13990)
195+
- Add missing `CARGO_MAKEFLAGS` env for plugins.
196+
[#13872](https://github.com/rust-lang/cargo/pull/13872)
197+
- Include CircleCI reference in the Continuous Integration chapter.
198+
[#13850](https://github.com/rust-lang/cargo/pull/13850)
199+
19200
### Internal
20201

202+
- ci: Don't check `cargo` against beta channel.
203+
[#13827](https://github.com/rust-lang/cargo/pull/13827)
204+
- test: Set safe.directory for git repo in apache container.
205+
[#13920](https://github.com/rust-lang/cargo/pull/13920)
206+
- test: Silence warnings running embedded unittests.
207+
[#13929](https://github.com/rust-lang/cargo/pull/13929)
208+
- test: Update test formatting due to nightly rustc changes.
209+
[#13890](https://github.com/rust-lang/cargo/pull/13890)
210+
[#13901](https://github.com/rust-lang/cargo/pull/13901)
211+
[#13964](https://github.com/rust-lang/cargo/pull/13964)
212+
- test: Make `git::use_the_cli` test truly locale independent.
213+
[#13935](https://github.com/rust-lang/cargo/pull/13935)
214+
- cargo-test-support: Transition direct assertions from cargo-test-support to snapbox.
215+
[#13980](https://github.com/rust-lang/cargo/pull/13980)
216+
- cargo-test-support: Auto-redact elapsed time.
217+
[#13973](https://github.com/rust-lang/cargo/pull/13973)
218+
- cargo-test-support: Clean up unnecessary uses of `match_exact`.
219+
[#13879](https://github.com/rust-lang/cargo/pull/13879)
220+
- Split `RecursivePathSource` out of `PathSource`.
221+
[#13993](https://github.com/rust-lang/cargo/pull/13993)
222+
- Adjust custom errors from cert-check due to libgit2 1.8 change.
223+
[#13970](https://github.com/rust-lang/cargo/pull/13970)
224+
- Move diagnostic printing to Shell.
225+
[#13813](https://github.com/rust-lang/cargo/pull/13813)
226+
- Update dependencies.
227+
[#13834](https://github.com/rust-lang/cargo/pull/13834)
228+
[#13840](https://github.com/rust-lang/cargo/pull/13840)
229+
[#13948](https://github.com/rust-lang/cargo/pull/13948)
230+
[#13963](https://github.com/rust-lang/cargo/pull/13963)
231+
[#13976](https://github.com/rust-lang/cargo/pull/13976)
232+
21233
## Cargo 1.79 (2024-06-13)
22234
[2fe739fc...rust-1.79.0](https://github.com/rust-lang/cargo/compare/2fe739fc...rust-1.79.0)
23235

@@ -65,6 +277,8 @@
65277
[#13664](https://github.com/rust-lang/cargo/pull/13664)
66278
- Emit 1.77 build script syntax error only when msrv is incompatible.
67279
[#13808](https://github.com/rust-lang/cargo/pull/13808)
280+
- Don't warn on `lints.rust.unexpected_cfgs.check-cfg`.
281+
[#13925](https://github.com/rust-lang/cargo/pull/13925)
68282
- cargo-init: don't assign `target.name` in Cargo.toml if the value can be inferred.
69283
[#13606](https://github.com/rust-lang/cargo/pull/13606)
70284
- cargo-package: normalize paths in `Cargo.toml`, including replacing `\` with `/`.
@@ -74,6 +288,9 @@
74288

75289
### Fixed
76290

291+
- Ensure `--config net.git-fetch-with-cli=true` is respected.
292+
[#13992](https://github.com/rust-lang/cargo/pull/13992)
293+
[#13997](https://github.com/rust-lang/cargo/pull/13997)
77294
- Dont panic when resolving an empty alias.
78295
[#13613](https://github.com/rust-lang/cargo/pull/13613)
79296
- When using `--target`, the default debuginfo strip rule also applies.
@@ -118,6 +335,8 @@
118335
[#13797](https://github.com/rust-lang/cargo/pull/13797)
119336
[#13740](https://github.com/rust-lang/cargo/pull/13740)
120337
[#13801](https://github.com/rust-lang/cargo/pull/13801)
338+
[#13852](https://github.com/rust-lang/cargo/pull/13852)
339+
[#13853](https://github.com/rust-lang/cargo/pull/13853)
121340
- 🔥 `edition2024`: Add default Edition2024 to resolver v3 (MSRV-aware resolver).
122341
[#13785](https://github.com/rust-lang/cargo/pull/13785)
123342
- `edition2024`: Remove underscore field support in 2024.
@@ -190,6 +409,7 @@
190409
[#13692](https://github.com/rust-lang/cargo/pull/13692)
191410
[#13731](https://github.com/rust-lang/cargo/pull/13731)
192411
[#13760](https://github.com/rust-lang/cargo/pull/13760)
412+
[#13950](https://github.com/rust-lang/cargo/pull/13950)
193413

194414
## Cargo 1.78 (2024-05-02)
195415
[7bb7b539...rust-1.78.0](https://github.com/rust-lang/cargo/compare/7bb7b539...rust-1.78.0)

0 commit comments

Comments
 (0)