|
1 | 1 | # Changelog
|
2 | 2 |
|
| 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 | + |
3 | 60 | ## 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) |
5 | 62 |
|
6 | 63 | ### Added
|
7 | 64 |
|
| 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 | + |
8 | 94 | ### Changed
|
9 | 95 |
|
| 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 | + |
10 | 119 | ### Fixed
|
11 | 120 |
|
| 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 | + |
12 | 150 | ### Nightly only
|
13 | 151 |
|
14 | 152 | - `-Zcargo-lints`: Don't always inherit workspace lints.
|
15 | 153 | [#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) |
16 | 180 |
|
17 | 181 | ### Documentation
|
18 | 182 |
|
| 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 | + |
19 | 200 | ### Internal
|
20 | 201 |
|
| 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 | + |
21 | 233 | ## Cargo 1.79 (2024-06-13)
|
22 | 234 | [2fe739fc...rust-1.79.0](https://github.com/rust-lang/cargo/compare/2fe739fc...rust-1.79.0)
|
23 | 235 |
|
|
65 | 277 | [#13664](https://github.com/rust-lang/cargo/pull/13664)
|
66 | 278 | - Emit 1.77 build script syntax error only when msrv is incompatible.
|
67 | 279 | [#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) |
68 | 282 | - cargo-init: don't assign `target.name` in Cargo.toml if the value can be inferred.
|
69 | 283 | [#13606](https://github.com/rust-lang/cargo/pull/13606)
|
70 | 284 | - cargo-package: normalize paths in `Cargo.toml`, including replacing `\` with `/`.
|
|
74 | 288 |
|
75 | 289 | ### Fixed
|
76 | 290 |
|
| 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) |
77 | 294 | - Dont panic when resolving an empty alias.
|
78 | 295 | [#13613](https://github.com/rust-lang/cargo/pull/13613)
|
79 | 296 | - When using `--target`, the default debuginfo strip rule also applies.
|
|
118 | 335 | [#13797](https://github.com/rust-lang/cargo/pull/13797)
|
119 | 336 | [#13740](https://github.com/rust-lang/cargo/pull/13740)
|
120 | 337 | [#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) |
121 | 340 | - 🔥 `edition2024`: Add default Edition2024 to resolver v3 (MSRV-aware resolver).
|
122 | 341 | [#13785](https://github.com/rust-lang/cargo/pull/13785)
|
123 | 342 | - `edition2024`: Remove underscore field support in 2024.
|
|
190 | 409 | [#13692](https://github.com/rust-lang/cargo/pull/13692)
|
191 | 410 | [#13731](https://github.com/rust-lang/cargo/pull/13731)
|
192 | 411 | [#13760](https://github.com/rust-lang/cargo/pull/13760)
|
| 412 | + [#13950](https://github.com/rust-lang/cargo/pull/13950) |
193 | 413 |
|
194 | 414 | ## Cargo 1.78 (2024-05-02)
|
195 | 415 | [7bb7b539...rust-1.78.0](https://github.com/rust-lang/cargo/compare/7bb7b539...rust-1.78.0)
|
|
0 commit comments