|
1 | 1 | # Changelog
|
2 | 2 |
|
3 | 3 | ## Cargo 1.80 (2024-07-25)
|
4 |
| -[b60a1555...HEAD](https://github.com/rust-lang/cargo/compare/b60a1555...HEAD) |
| 4 | +[b60a1555...rust-1.80.0](https://github.com/rust-lang/cargo/compare/b60a1555...rust-1.80.0) |
5 | 5 |
|
6 | 6 | ### Added
|
7 | 7 |
|
| 8 | +- 🎉 Stabilize `-Zcheck-cfg`! This by default enables rustc's checking of |
| 9 | + conditional compilation at compile time, which verifies that the crate is |
| 10 | + correctly handling conditional compilation for different target platforms or |
| 11 | + features. Internally, cargo will be passing a new command line option |
| 12 | + `--check-cfg` to all rustc and rustdoc invocations. |
| 13 | + |
| 14 | + A new build script invocation |
| 15 | + [`cargo::rustc-check-cfg=CHECK_CFG`](https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg) |
| 16 | + is added along with this stabilization, as a way to add custom cfgs to the |
| 17 | + list of expected cfg names and values. |
| 18 | + |
| 19 | + If a build script is not an option for your package, Cargo provides a config |
| 20 | + [`[lints.rust.unexpected_cfgs.check-cfg]`](https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html#check-cfg-in-lintsrust-table) |
| 21 | + to add known custom cfgs statically. |
| 22 | + |
| 23 | + ([RFC 3013](https://github.com/rust-lang/rfcs/blob/master/text/3013-conditional-compilation-checking.md)) |
| 24 | + ([docs](https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html)) |
| 25 | + [#13571](https://github.com/rust-lang/cargo/pull/13571) |
| 26 | + [#13865](https://github.com/rust-lang/cargo/pull/13865) |
| 27 | + [#13869](https://github.com/rust-lang/cargo/pull/13869) |
| 28 | + [#13884](https://github.com/rust-lang/cargo/pull/13884) |
| 29 | + [#13913](https://github.com/rust-lang/cargo/pull/13913) |
| 30 | + [#13937](https://github.com/rust-lang/cargo/pull/13937) |
| 31 | + [#13958](https://github.com/rust-lang/cargo/pull/13958) |
| 32 | + |
| 33 | +- 🎉 cargo-update: Allows `--precise` to specify a yanked version of a package, |
| 34 | + and will update the lockfile accordingly. |
| 35 | + [#13974](https://github.com/rust-lang/cargo/pull/13974) |
| 36 | + |
8 | 37 | ### Changed
|
9 | 38 |
|
| 39 | +- ❗️ manifest: Disallow `[badges]` to inherit from `[workspace.package.badges]`. |
| 40 | + This was considered a bug and should inherit from `[workspace.badges]`. |
| 41 | + Keep in mind that `[badges]` is effectively deprecated. |
| 42 | + [#13788](https://github.com/rust-lang/cargo/pull/13788) |
| 43 | +- build-script: Suggest old syntax based on MSRV. |
| 44 | + [#13874](https://github.com/rust-lang/cargo/pull/13874) |
| 45 | +- cargo-add: Avoid escaping double quotes by using string literals. |
| 46 | + [#14006](https://github.com/rust-lang/cargo/pull/14006) |
| 47 | +- cargo-clean: Performance improvements for cleaning specific packages via `-p` flag. |
| 48 | + [#13818](https://github.com/rust-lang/cargo/pull/13818) |
| 49 | +- cargo-new: Use `i32` rather than `usize` as the "default integer" in library template. |
| 50 | + [#13939](https://github.com/rust-lang/cargo/pull/13939) |
| 51 | +- cargo-package: Warn, rather than fail, if a Cargo target is excluded during packaging. |
| 52 | + [#13713](https://github.com/rust-lang/cargo/pull/13713) |
| 53 | +- manifest: Warn, not error, on unsupported lint tool in the `[lints]` table. |
| 54 | + [#13833](https://github.com/rust-lang/cargo/pull/13833) |
| 55 | +- perf: Avoid inferring when Cargo targets are known. |
| 56 | + [#13849](https://github.com/rust-lang/cargo/pull/13849) |
| 57 | +- Populate git information when building Cargo from Rust's source tarball. |
| 58 | + [#13832](https://github.com/rust-lang/cargo/pull/13832) |
| 59 | +- Improve the error message when deserializing Cargo configuration from partial environment variables. |
| 60 | + [#13956](https://github.com/rust-lang/cargo/pull/13956) |
| 61 | + |
10 | 62 | ### Fixed
|
11 | 63 |
|
| 64 | +- resolver: Make path dependencies with the same name stay locked. |
| 65 | + [#13572](https://github.com/rust-lang/cargo/pull/13572) |
| 66 | +- cargo-add: Preserve file permissions on Unix during `write_atomic`. |
| 67 | + [#13898](https://github.com/rust-lang/cargo/pull/13898) |
| 68 | +- cargo-clean: Remove symlink directory on Windows. |
| 69 | + [#13910](https://github.com/rust-lang/cargo/pull/13910) |
| 70 | +- cargo-fix: Don't fix into the standard library. |
| 71 | + [#13792](https://github.com/rust-lang/cargo/pull/13792) |
| 72 | +- cargo-fix: Support IPv6-only networks. |
| 73 | + [#13907](https://github.com/rust-lang/cargo/pull/13907) |
| 74 | +- cargo-new: Don't say we're adding to a workspace when a regular package is in the root. |
| 75 | + [#13987](https://github.com/rust-lang/cargo/pull/13987) |
| 76 | +- cargo-vendor: Silence the warning about forgetting the vendoring. |
| 77 | + [#13886](https://github.com/rust-lang/cargo/pull/13886) |
| 78 | +- cargo-publish/cargo-vendor: Ensure targets in generated Cargo.toml are in a deterministic order. |
| 79 | + [#13989](https://github.com/rust-lang/cargo/pull/13989) |
| 80 | + [#14004](https://github.com/rust-lang/cargo/pull/14004) |
| 81 | +- cargo-credential-libsecret: Load `libsecret` by its `SONAME`, `libsecret-1.so.0`. |
| 82 | + [#13927](https://github.com/rust-lang/cargo/pull/13927) |
| 83 | +- Don't panic when an alias doesn't include a subcommand. |
| 84 | + [#13819](https://github.com/rust-lang/cargo/pull/13819) |
| 85 | +- Workaround copying file returning EAGAIN on ZFS on macOS. |
| 86 | + [#13845](https://github.com/rust-lang/cargo/pull/13845) |
| 87 | +- Fetch specific commits even if the GitHub fast path fails. |
| 88 | + [#13946](https://github.com/rust-lang/cargo/pull/13946) |
| 89 | + [#13969](https://github.com/rust-lang/cargo/pull/13969) |
| 90 | +- Distinguish Cargo config from different environment variables that share the same prefix. |
| 91 | + [#14000](https://github.com/rust-lang/cargo/pull/14000) |
| 92 | + |
12 | 93 | ### Nightly only
|
13 | 94 |
|
14 | 95 | - `-Zcargo-lints`: Don't always inherit workspace lints.
|
15 | 96 | [#13812](https://github.com/rust-lang/cargo/pull/13812)
|
| 97 | +- `-Zcargo-lints`: Add a test to ensure cap-lints works. |
| 98 | + [#13829](https://github.com/rust-lang/cargo/pull/13829) |
| 99 | +- `-Zcargo-lints`: Error when unstable lints are specified but not enabled. |
| 100 | + [#13805](https://github.com/rust-lang/cargo/pull/13805) |
| 101 | +- `-Zcargo-lints`: Add cargo-lints to unstable docs. |
| 102 | + [#13881](https://github.com/rust-lang/cargo/pull/13881) |
| 103 | +- `-Zcargo-lints`: Refactor cargo lint tests. |
| 104 | + [#13880](https://github.com/rust-lang/cargo/pull/13880) |
| 105 | +- `-Zcargo-lints`: Remove ability to specify `-` in lint name. |
| 106 | + [#13837](https://github.com/rust-lang/cargo/pull/13837) |
| 107 | +- `-Zscript`: Remove unstable rejected frontmatter syntax for cargo script. |
| 108 | + The only allowed frontmatter syntax now is `---`. |
| 109 | + [#13861](https://github.com/rust-lang/cargo/pull/13861) |
| 110 | + [#13893](https://github.com/rust-lang/cargo/pull/13893) |
| 111 | +- `-Zbindeps`: Build only the specified artifact library when multiple types are available. |
| 112 | + [#13842](https://github.com/rust-lang/cargo/pull/13842) |
| 113 | +- `-Zmsrv-policy`: Treat unset MSRV as compatible. |
| 114 | + [#13791](https://github.com/rust-lang/cargo/pull/13791) |
| 115 | +- `-Zgit`/`-Zgitoxide`: Default configuration to be obtained from both environment variables and Cargo configuration. |
| 116 | + [#13687](https://github.com/rust-lang/cargo/pull/13687) |
| 117 | +- `-Zpublic-dependency`: Don't lose 'public' when inheriting a dependency. |
| 118 | + [#13836](https://github.com/rust-lang/cargo/pull/13836) |
| 119 | +- `edition2024`: Disallow ignored `default-features` when inheriting. |
| 120 | + [#13839](https://github.com/rust-lang/cargo/pull/13839) |
| 121 | +- `edition2024`: Validate crate-types/proc-macro for bin like other Cargo targets. |
| 122 | + [#13841](https://github.com/rust-lang/cargo/pull/13841) |
16 | 123 |
|
17 | 124 | ### Documentation
|
18 | 125 |
|
| 126 | +- cargo-package: Clarify no guarantee of VCS provenance. |
| 127 | + [#13984](https://github.com/rust-lang/cargo/pull/13984) |
| 128 | +- cargo-metadata: Clarify dash replacement rule in Cargo target names. |
| 129 | + [#13887](https://github.com/rust-lang/cargo/pull/13887) |
| 130 | +- config: Fix wrong type of `rustc-flags` in build script overrides. |
| 131 | + [#13957](https://github.com/rust-lang/cargo/pull/13957) |
| 132 | +- resolver: Add README for `resolver-tests`. |
| 133 | + [#13977](https://github.com/rust-lang/cargo/pull/13977) |
| 134 | +- contrib: Update UI example code in contributor guide. |
| 135 | + [#13864](https://github.com/rust-lang/cargo/pull/13864) |
| 136 | +- Fix libcurl proxy documentation link. |
| 137 | + [#13990](https://github.com/rust-lang/cargo/pull/13990) |
| 138 | +- Add missing `CARGO_MAKEFLAGS` env for plugins. |
| 139 | + [#13872](https://github.com/rust-lang/cargo/pull/13872) |
| 140 | +- Include CircleCI reference in the Continuous Integration chapter. |
| 141 | + [#13850](https://github.com/rust-lang/cargo/pull/13850) |
| 142 | + |
19 | 143 | ### Internal
|
20 | 144 |
|
| 145 | +- ci: Don't check `cargo` against beta channel. |
| 146 | + [#13827](https://github.com/rust-lang/cargo/pull/13827) |
| 147 | +- test: Set safe.directory for git repo in apache container. |
| 148 | + [#13920](https://github.com/rust-lang/cargo/pull/13920) |
| 149 | +- test: Silence warnings running embedded unittests. |
| 150 | + [#13929](https://github.com/rust-lang/cargo/pull/13929) |
| 151 | +- test: Update test formatting due to nightly rustc changes. |
| 152 | + [#13890](https://github.com/rust-lang/cargo/pull/13890) |
| 153 | + [#13901](https://github.com/rust-lang/cargo/pull/13901) |
| 154 | + [#13964](https://github.com/rust-lang/cargo/pull/13964) |
| 155 | +- test: Make `git::use_the_cli` test truly locale independent. |
| 156 | + [#13935](https://github.com/rust-lang/cargo/pull/13935) |
| 157 | +- cargo-test-support: Transition direct assertions from cargo-test-support to snapbox. |
| 158 | + [#13980](https://github.com/rust-lang/cargo/pull/13980) |
| 159 | +- cargo-test-support: Auto-redact elapsed time. |
| 160 | + [#13973](https://github.com/rust-lang/cargo/pull/13973) |
| 161 | +- cargo-test-support: Clean up unnecessary uses of `match_exact`. |
| 162 | + [#13879](https://github.com/rust-lang/cargo/pull/13879) |
| 163 | +- Split `RecursivePathSource` out of `PathSource`. |
| 164 | + [#13993](https://github.com/rust-lang/cargo/pull/13993) |
| 165 | +- Adjust custom errors from cert-check due to libgit2 1.8 change. |
| 166 | + [#13970](https://github.com/rust-lang/cargo/pull/13970) |
| 167 | +- Move diagnostic printing to Shell. |
| 168 | + [#13813](https://github.com/rust-lang/cargo/pull/13813) |
| 169 | +- Update dependencies. |
| 170 | + [#13834](https://github.com/rust-lang/cargo/pull/13834) |
| 171 | + [#13840](https://github.com/rust-lang/cargo/pull/13840) |
| 172 | + [#13948](https://github.com/rust-lang/cargo/pull/13948) |
| 173 | + [#13963](https://github.com/rust-lang/cargo/pull/13963) |
| 174 | + [#13976](https://github.com/rust-lang/cargo/pull/13976) |
| 175 | + |
21 | 176 | ## Cargo 1.79 (2024-06-13)
|
22 | 177 | [2fe739fc...rust-1.79.0](https://github.com/rust-lang/cargo/compare/2fe739fc...rust-1.79.0)
|
23 | 178 |
|
|
0 commit comments