]>
Commit | Line | Data |
---|---|---|
2cbb701b EH |
1 | # Changelog |
2 | ||
3 | ## Cargo 1.36 (2019-07-04) | |
4 | [6f3e9c36...HEAD](https://github.com/rust-lang/cargo/compare/6f3e9c36...HEAD) | |
5 | ||
6 | ### Added | |
7 | - (Nightly only): Added [`-Z install-upgrade` | |
8 | feature](https://github.com/rust-lang/cargo/blob/7b13469ee90a24fa5aa06166d447dac3370846ef/src/doc/src/reference/unstable.md#install-upgrade) | |
9 | to track details about installed crates and to automatically update them if | |
10 | they are out-of-date. [#6798](https://github.com/rust-lang/cargo/pull/6798) | |
11 | - (Nightly only): Added the [`public-dependency` | |
12 | feature](https://github.com/rust-lang/cargo/blob/7b13469ee90a24fa5aa06166d447dac3370846ef/src/doc/src/reference/unstable.md#public-dependency) | |
13 | which allows tracking public versus private dependencies. | |
14 | [#6772](https://github.com/rust-lang/cargo/pull/6772) | |
15 | ||
16 | ### Changed | |
17 | - `publish = ["crates-io"]` may be added to the manifest to restrict | |
18 | publishing to crates.io only. | |
19 | [#6838](https://github.com/rust-lang/cargo/pull/6838) | |
20 | - macOS: Only include the default paths if `DYLD_FALLBACK_LIBRARY_PATH` is not | |
21 | set. Also, remove `/lib` from the default set. | |
22 | [#6856](https://github.com/rust-lang/cargo/pull/6856) | |
23 | - `cargo publish` will now exit early if the login token is not available. | |
24 | [#6854](https://github.com/rust-lang/cargo/pull/6854) | |
25 | - HTTP/2 stream errors are now considered "spurious" and will cause a retry. | |
26 | [#6861](https://github.com/rust-lang/cargo/pull/6861) | |
27 | - (Nightly only): The `publish-lockfile` feature has had some significant | |
28 | changes. The default is now `true`, the `Cargo.lock` will always be | |
29 | published for binary crates. The `Cargo.lock` is now regenerated during | |
30 | publishing. `cargo install` now ignores the `Cargo.lock` file by default, | |
31 | and requires `--locked` to use the lock file. Warnings have been added if | |
32 | yanked dependencies are detected. | |
33 | [#6840](https://github.com/rust-lang/cargo/pull/6840) | |
34 | - Setting a feature on a dependency where that feature points to a *required* | |
35 | dependency is now an error. Previously it was a warning. | |
36 | [#6860](https://github.com/rust-lang/cargo/pull/6860) | |
37 | - Resolver performance improvements for some cases. | |
38 | [#6853](https://github.com/rust-lang/cargo/pull/6853) | |
39 | ||
40 | ### Fixed | |
41 | - More carefully track the on-disk fingerprint information for dependencies. | |
42 | This can help in some rare cases where the build is interrupted and | |
43 | restarted. [#6832](https://github.com/rust-lang/cargo/pull/6832) | |
44 | - `cargo run` now correctly passes non-UTF8 arguments to the child process. | |
45 | [#6849](https://github.com/rust-lang/cargo/pull/6849) | |
46 | ||
47 | ## Cargo 1.35 (2019-05-23) | |
48 | [6789d8a0...6f3e9c36](https://github.com/rust-lang/cargo/compare/6789d8a0...6f3e9c36) | |
49 | ||
50 | ### Added | |
51 | - Added the `rustc-cdylib-link-arg` key for build scripts to specify linker | |
52 | arguments for cdylib crates. | |
53 | [#6298](https://github.com/rust-lang/cargo/pull/6298) | |
54 | - `cargo clippy` is now a built-in cargo command. | |
55 | [#6759](https://github.com/rust-lang/cargo/pull/6759) | |
56 | ||
57 | ### Changed | |
58 | - When passing a test filter, such as `cargo test foo`, don't build examples | |
59 | (unless they set `test = true`). | |
60 | [#6683](https://github.com/rust-lang/cargo/pull/6683) | |
61 | - Forward the `--quiet` flag from `cargo test` to the libtest harness so that | |
62 | tests are actually quiet. | |
63 | [#6358](https://github.com/rust-lang/cargo/pull/6358) | |
64 | - The verification step in `cargo package` that checks if any files are | |
65 | modified is now stricter. It uses a hash of the contents instead of checking | |
66 | filesystem mtimes. It also checks *all* files in the package. | |
67 | [#6740](https://github.com/rust-lang/cargo/pull/6740) | |
68 | - Jobserver tokens are now released whenever Cargo blocks on a file lock. | |
69 | [#6748](https://github.com/rust-lang/cargo/pull/6748) | |
70 | - Issue a warning for a previous bug in the TOML parser that allowed multiple | |
71 | table headers with the same name. | |
72 | [#6761](https://github.com/rust-lang/cargo/pull/6761) | |
73 | - Removed the `CARGO_PKG_*` environment variables from the metadata hash and | |
74 | added them to the fingerprint instead. This means that when these values | |
75 | change, stale artifacts are not left behind. Also added the "repository" | |
76 | value to the fingerprint. | |
77 | [#6785](https://github.com/rust-lang/cargo/pull/6785) | |
78 | - `cargo metadata` no longer shows a `null` field for a dependency without a | |
79 | library in `resolve.nodes.deps`. The dependency is no longer shown. | |
80 | [#6534](https://github.com/rust-lang/cargo/pull/6534) | |
81 | - `cargo new` will no longer include an email address in the `authors` field | |
82 | if it is set to the empty string. | |
83 | [#6802](https://github.com/rust-lang/cargo/pull/6802) | |
84 | - `cargo doc --open` now works when documenting multiple packages. | |
85 | [#6803](https://github.com/rust-lang/cargo/pull/6803) | |
86 | - `cargo install --path P` now loads the `.cargo/config` file from the | |
87 | directory P. [#6805](https://github.com/rust-lang/cargo/pull/6805) | |
88 | - Using semver metadata in a version requirement (such as `1.0.0+1234`) now | |
89 | issues a warning that it is ignored. | |
90 | [#6806](https://github.com/rust-lang/cargo/pull/6806) | |
91 | - `cargo install` now rejects certain combinations of flags where some flags | |
92 | would have been ignored. | |
93 | [#6801](https://github.com/rust-lang/cargo/pull/6801) | |
94 | - (Nightly only): The `build-override` profile setting now includes | |
95 | proc-macros and their dependencies. | |
96 | [#6811](https://github.com/rust-lang/cargo/pull/6811) | |
97 | - Resolver performance improvements for some cases. | |
98 | [#6776](https://github.com/rust-lang/cargo/pull/6776) | |
99 | - (Nightly only): Optional and target dependencies now work better with `-Z | |
100 | offline`. [#6814](https://github.com/rust-lang/cargo/pull/6814) | |
101 | ||
102 | ### Fixed | |
103 | - Fixed running separate commands (such as `cargo build` then `cargo test`) | |
104 | where the second command could use stale results from a build script. | |
105 | [#6720](https://github.com/rust-lang/cargo/pull/6720) | |
106 | - Fixed `cargo fix` not working properly if a `.gitignore` file that matched | |
107 | the root package directory. | |
108 | [#6767](https://github.com/rust-lang/cargo/pull/6767) | |
109 | - Fixed accidentally compiling a lib multiple times if `panic=unwind` was set | |
110 | in a profile. [#6781](https://github.com/rust-lang/cargo/pull/6781) | |
111 | - Paths to JSON files in `build.target` config value are now canonicalized to | |
112 | fix building dependencies. | |
113 | [#6778](https://github.com/rust-lang/cargo/pull/6778) | |
114 | - Fixed re-running a build script if its compilation was interrupted (such as | |
115 | if it is killed). [#6782](https://github.com/rust-lang/cargo/pull/6782) | |
116 | - Fixed `cargo new` initializing a fossil repo. | |
117 | [#6792](https://github.com/rust-lang/cargo/pull/6792) | |
118 | - Fixed supporting updating a git repo that has a force push when using the | |
119 | `git-fetch-with-cli` feature. `git-fetch-with-cli` also shows more error | |
120 | information now when it fails. | |
121 | [#6800](https://github.com/rust-lang/cargo/pull/6800) | |
122 | - `--example` binaries built for the WASM target are fixed to no longer | |
123 | include a metadata hash in the filename, and are correctly emitted in the | |
124 | `compiler-artifact` JSON message. | |
125 | [#6812](https://github.com/rust-lang/cargo/pull/6812) | |
126 | ||
127 | ## Cargo 1.34 (2019-04-11) | |
128 | [f099fe94...6789d8a0](https://github.com/rust-lang/cargo/compare/f099fe94...6789d8a0) | |
129 | ||
130 | ### Added | |
131 | - 🔥 Stabilized support for [alternate | |
132 | registries](https://doc.rust-lang.org/1.34.0/cargo/reference/registries.html). | |
133 | [#6654](https://github.com/rust-lang/cargo/pull/6654) | |
134 | - (Nightly only): Added `-Z mtime-on-use` flag to cause the mtime to be | |
135 | updated on the filesystem when a crate is used. This is intended to be able | |
136 | to track stale artifacts in the future for cleaning up unused files. | |
137 | [#6477](https://github.com/rust-lang/cargo/pull/6477) | |
138 | [#6573](https://github.com/rust-lang/cargo/pull/6573) | |
139 | - Added documentation on using builds.sr.ht Continuous Integration with Cargo. | |
140 | [#6565](https://github.com/rust-lang/cargo/pull/6565) | |
141 | - `Cargo.lock` now includes a comment at the top that it is `@generated`. | |
142 | [#6548](https://github.com/rust-lang/cargo/pull/6548) | |
143 | - Azure DevOps badges are now supported. | |
144 | [#6264](https://github.com/rust-lang/cargo/pull/6264) | |
145 | - (Nightly only): Added experimental `-Z dual-proc-macros` to build proc | |
146 | macros for both the host and the target. | |
147 | [#6547](https://github.com/rust-lang/cargo/pull/6547) | |
148 | - Added a warning if `--exclude` flag specifies an unknown package. | |
149 | [#6679](https://github.com/rust-lang/cargo/pull/6679) | |
150 | ||
151 | ### Changed | |
152 | - `cargo test --doc --no-run` doesn't do anything, so it now displays an error | |
153 | to that effect. [#6628](https://github.com/rust-lang/cargo/pull/6628) | |
154 | - Various updates to bash completion: add missing options and commands, | |
155 | support libtest completions, use rustup for `--target` completion, fallback | |
156 | to filename completion, fix editing the command line. | |
157 | [#6644](https://github.com/rust-lang/cargo/pull/6644) | |
158 | - Publishing a crate with a `[patch]` section no longer generates an error. | |
159 | The `[patch]` section is removed from the manifest before publishing. | |
160 | [#6535](https://github.com/rust-lang/cargo/pull/6535) | |
161 | - `build.incremental = true` config value is now treated the same as | |
162 | `CARGO_INCREMENTAL=1`, previously it was ignored. | |
163 | [#6688](https://github.com/rust-lang/cargo/pull/6688) | |
164 | - Errors from a registry are now always displayed regardless of the HTTP | |
165 | response code. [#6771](https://github.com/rust-lang/cargo/pull/6771) | |
166 | ||
167 | ### Fixed | |
168 | - Fixed bash completion for `cargo run --example`. | |
169 | [#6578](https://github.com/rust-lang/cargo/pull/6578) | |
170 | - Fixed a race condition when using a *local* registry and running multiple | |
171 | cargo commands at the same time that build the same crate. | |
172 | [#6591](https://github.com/rust-lang/cargo/pull/6591) | |
173 | - Fixed some flickering and excessive updates of the progress bar. | |
174 | [#6615](https://github.com/rust-lang/cargo/pull/6615) | |
175 | - Fixed a hang when using a git credential helper that returns incorrect | |
176 | credentials. [#6681](https://github.com/rust-lang/cargo/pull/6681) | |
177 | - Fixed resolving yanked crates with a local registry. | |
178 | [#6750](https://github.com/rust-lang/cargo/pull/6750) | |
179 | ||
180 | ## Cargo 1.33 (2019-02-28) | |
181 | [8610973a...f099fe94](https://github.com/rust-lang/cargo/compare/8610973a...f099fe94) | |
182 | ||
183 | ### Added | |
184 | - `compiler-artifact` JSON messages now include an `"executable"` key which | |
185 | includes the path to the executable that was built. | |
186 | [#6363](https://github.com/rust-lang/cargo/pull/6363) | |
187 | - The man pages have been rewritten, and are now published with the web | |
188 | documentation. [#6405](https://github.com/rust-lang/cargo/pull/6405) | |
189 | - (Nightly only): Allow using registry *names* in `[patch]` tables instead of | |
190 | just URLs. [#6456](https://github.com/rust-lang/cargo/pull/6456) | |
191 | - `cargo login` now displays a confirmation after saving the token. | |
192 | [#6466](https://github.com/rust-lang/cargo/pull/6466) | |
193 | - A warning is now emitted if a `[patch]` entry does not match any package. | |
194 | [#6470](https://github.com/rust-lang/cargo/pull/6470) | |
195 | - `cargo metadata` now includes the `links` key for a package. | |
196 | [#6480](https://github.com/rust-lang/cargo/pull/6480) | |
197 | - (Nightly only): `cargo metadata` added the `registry` key for dependencies. | |
198 | [#6500](https://github.com/rust-lang/cargo/pull/6500) | |
199 | - "Very verbose" output with `-vv` now displays the environment variables that | |
200 | cargo sets when it runs a process. | |
201 | [#6492](https://github.com/rust-lang/cargo/pull/6492) | |
202 | - `--example`, `--bin`, `--bench`, or `--test` without an argument now lists | |
203 | the available targets for those options. | |
204 | [#6505](https://github.com/rust-lang/cargo/pull/6505) | |
205 | - Windows: If a process fails with an extended status exit code, a | |
206 | human-readable name for the code is now displayed. | |
207 | [#6532](https://github.com/rust-lang/cargo/pull/6532) | |
208 | - Added `--features`, `--no-default-features`, and `--all-features` flags to | |
209 | the `cargo package` and `cargo publish` commands to use the given features | |
210 | when verifying the package. | |
211 | [#6453](https://github.com/rust-lang/cargo/pull/6453) | |
212 | ||
213 | ### Changed | |
214 | - If `cargo fix` fails to compile the fixed code, the rustc errors are now | |
215 | displayed on the console. | |
216 | [#6419](https://github.com/rust-lang/cargo/pull/6419) | |
217 | - (Nightly only): Registry names are now restricted to the same style as | |
218 | package names (alphanumeric, `-` and `_` characters). | |
219 | [#6469](https://github.com/rust-lang/cargo/pull/6469) | |
220 | - (Nightly only): `cargo login` now displays the `/me` URL from the registry | |
221 | config. [#6466](https://github.com/rust-lang/cargo/pull/6466) | |
222 | - Hide the `--host` flag from `cargo login`, it is unused. | |
223 | [#6466](https://github.com/rust-lang/cargo/pull/6466) | |
224 | - (Nightly only): `cargo login --registry=NAME` now supports interactive input | |
225 | for the token. [#6466](https://github.com/rust-lang/cargo/pull/6466) | |
226 | - (Nightly only): Registries may now elide the `api` key from `config.json` to | |
227 | indicate they do not support API access. | |
228 | [#6466](https://github.com/rust-lang/cargo/pull/6466) | |
229 | - Build script fingerprints now include the rustc version. | |
230 | [#6473](https://github.com/rust-lang/cargo/pull/6473) | |
231 | - macOS: Switched to setting `DYLD_FALLBACK_LIBRARY_PATH` instead of | |
232 | `DYLD_LIBRARY_PATH`. [#6355](https://github.com/rust-lang/cargo/pull/6355) | |
233 | - `RUSTFLAGS` is now included in the metadata hash, meaning that changing | |
234 | the flags will not overwrite previously built files. | |
235 | [#6503](https://github.com/rust-lang/cargo/pull/6503) | |
236 | - When updating the crate graph, unrelated yanked crates were erroneously | |
237 | removed. They are now kept at their original version if possible. This was | |
238 | causing unrelated packages to be downgraded during `cargo update -p | |
239 | somecrate`. [#5702](https://github.com/rust-lang/cargo/issues/5702) | |
240 | - TOML files now support the [0.5 TOML | |
241 | syntax](https://github.com/toml-lang/toml/blob/master/CHANGELOG.md#050--2018-07-11). | |
242 | ||
243 | ### Fixed | |
244 | - `cargo fix` will now ignore suggestions that modify multiple files. | |
245 | [#6402](https://github.com/rust-lang/cargo/pull/6402) | |
246 | - `cargo fix` will now only fix one target at a time, to deal with targets | |
247 | which share the same source files. | |
248 | [#6434](https://github.com/rust-lang/cargo/pull/6434) | |
249 | - (Nightly only): Fixed panic when using `--message-format=json` with metabuild. | |
250 | [#6432](https://github.com/rust-lang/cargo/pull/6432) | |
251 | - Fixed bash completion showing the list of cargo commands. | |
252 | [#6461](https://github.com/rust-lang/cargo/issues/6461) | |
253 | - `cargo init` will now avoid creating duplicate entries in `.gitignore` | |
254 | files. [#6521](https://github.com/rust-lang/cargo/pull/6521) | |
255 | - (Nightly only): Fixed detection of publishing to crates.io when using | |
256 | alternate registries. [#6525](https://github.com/rust-lang/cargo/pull/6525) | |
257 | - Builds now attempt to detect if a file is modified in the middle of a | |
258 | compilation, allowing you to build again and pick up the new changes. This | |
259 | is done by keeping track of when the compilation *starts* not when it | |
260 | finishes. Also, [#5919](https://github.com/rust-lang/cargo/pull/5919) was | |
261 | reverted, meaning that cargo does *not* treat equal filesystem mtimes as | |
262 | requiring a rebuild. [#6484](https://github.com/rust-lang/cargo/pull/6484) | |
263 | ||
264 | ## Cargo 1.32 (2019-01-17) | |
265 | [339d9f9c...8610973a](https://github.com/rust-lang/cargo/compare/339d9f9c...8610973a) | |
266 | ||
267 | ### Added | |
268 | - (Nightly only): Allow usernames in registry URLs. | |
269 | [#6242](https://github.com/rust-lang/cargo/pull/6242) | |
270 | - Registries may now display warnings after a successful publish. | |
271 | [#6303](https://github.com/rust-lang/cargo/pull/6303) | |
272 | - Added a [glossary](https://doc.rust-lang.org/cargo/appendix/glossary.html) | |
273 | to the documentation. [#6321](https://github.com/rust-lang/cargo/pull/6321) | |
274 | - Added the alias `c` for `cargo check`. | |
275 | [#6218](https://github.com/rust-lang/cargo/pull/6218) | |
276 | - (Nightly only): Added `"compile_mode"` key to the build-plan JSON structure | |
277 | to be able to distinguish running a custom build script versus compiling the | |
278 | build script. [#6331](https://github.com/rust-lang/cargo/pull/6331) | |
279 | ||
280 | ### Changed | |
281 | - 🔥 HTTP/2 multiplexing is now enabled by default. The `http.multiplexing` | |
282 | config value may be used to disable it. | |
283 | [#6271](https://github.com/rust-lang/cargo/pull/6271) | |
284 | - Use ANSI escape sequences to clear lines instead of spaces. | |
285 | [#6233](https://github.com/rust-lang/cargo/pull/6233) | |
286 | - Disable git templates when checking out git dependencies, which can cause | |
287 | problems. [#6252](https://github.com/rust-lang/cargo/pull/6252) | |
288 | - Include the `--update-head-ok` git flag when using the | |
289 | `net.git-fetch-with-cli` option. This can help prevent failures when | |
290 | fetching some repositories. | |
291 | [#6250](https://github.com/rust-lang/cargo/pull/6250) | |
292 | - When extracting a crate during the verification step of `cargo package`, the | |
293 | filesystem mtimes are no longer set, which was failing on some rare | |
294 | filesystems. [#6257](https://github.com/rust-lang/cargo/pull/6257) | |
295 | - `crate-type = ["proc-macro"]` is now treated the same as `proc-macro = true` | |
296 | in `Cargo.toml`. [#6256](https://github.com/rust-lang/cargo/pull/6256) | |
297 | - An error is raised if `dependencies`, `features`, `target`, or `badges` is | |
298 | set in a virtual workspace. Warnings are displayed if `replace` or `patch` | |
299 | is used in a workspace member. | |
300 | [#6276](https://github.com/rust-lang/cargo/pull/6276) | |
301 | - Improved performance of the resolver in some cases. | |
302 | [#6283](https://github.com/rust-lang/cargo/pull/6283) | |
303 | [#6366](https://github.com/rust-lang/cargo/pull/6366) | |
304 | - `.rmeta` files are no longer hard-linked into the base target directory | |
305 | (`target/debug`). [#6292](https://github.com/rust-lang/cargo/pull/6292) | |
306 | - A warning is issued if multiple targets are built with the same output | |
307 | filenames. [#6308](https://github.com/rust-lang/cargo/pull/6308) | |
308 | - When using `cargo build` (without `--release`) benchmarks are now built | |
309 | using the "test" profile instead of "bench". This makes it easier to debug | |
310 | benchmarks, and avoids confusing behavior. | |
311 | [#6309](https://github.com/rust-lang/cargo/pull/6309) | |
312 | - User aliases may now override built-in aliases (`b`, `r`, `t`, and `c`). | |
313 | [#6259](https://github.com/rust-lang/cargo/pull/6259) | |
314 | - Setting `autobins=false` now disables auto-discovery of inferred targets. | |
315 | [#6329](https://github.com/rust-lang/cargo/pull/6329) | |
316 | - `cargo verify-project` will now fail on stable if the project uses unstable | |
317 | features. [#6326](https://github.com/rust-lang/cargo/pull/6326) | |
318 | - Platform targets with an internal `.` within the name are now allowed. | |
319 | [#6255](https://github.com/rust-lang/cargo/pull/6255) | |
320 | - `cargo clean --release` now only deletes the release directory. | |
321 | [#6349](https://github.com/rust-lang/cargo/pull/6349) | |
322 | ||
323 | ### Fixed | |
324 | - Avoid adding extra angle brackets in email address for `cargo new`. | |
325 | [#6243](https://github.com/rust-lang/cargo/pull/6243) | |
326 | - The progress bar is disabled if the CI environment variable is set. | |
327 | [#6281](https://github.com/rust-lang/cargo/pull/6281) | |
328 | - Avoid retaining all rustc output in memory. | |
329 | [#6289](https://github.com/rust-lang/cargo/pull/6289) | |
330 | - If JSON parsing fails, and rustc exits nonzero, don't lose the parse failure | |
331 | message. [#6290](https://github.com/rust-lang/cargo/pull/6290) | |
332 | - (Nightly only): `--out-dir` no longer copies over build scripts. | |
333 | [#6300](https://github.com/rust-lang/cargo/pull/6300) | |
334 | - Fixed renaming a project directory with build scripts. | |
335 | [#6328](https://github.com/rust-lang/cargo/pull/6328) | |
336 | - Fixed `cargo run --example NAME` to work correctly if the example sets | |
337 | `crate_type = ["bin"]`. | |
338 | [#6330](https://github.com/rust-lang/cargo/pull/6330) | |
339 | - Fixed issue with `cargo package` git discovery being too aggressive. The | |
340 | `--allow-dirty` now completely disables the git repo checks. | |
341 | [#6280](https://github.com/rust-lang/cargo/pull/6280) | |
342 | - Fixed build change tracking for `[patch]` deps which resulted in `cargo | |
343 | build` rebuilding when it shouldn't. | |
344 | [#6493](https://github.com/rust-lang/cargo/pull/6493) | |
345 | ||
346 | ## Cargo 1.31 (2019-12-06) | |
347 | [36d96825...339d9f9c](https://github.com/rust-lang/cargo/compare/36d96825...339d9f9c) | |
348 | ||
349 | ### Added | |
350 | - 🔥 Stabilized support for the 2018 edition. | |
351 | [#5984](https://github.com/rust-lang/cargo/pull/5984) | |
352 | [#5989](https://github.com/rust-lang/cargo/pull/5989) | |
353 | - 🔥 Added the ability to [rename | |
354 | dependencies](https://doc.rust-lang.org/1.31.0/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml) | |
355 | in Cargo.toml. [#6319](https://github.com/rust-lang/cargo/pull/6319) | |
356 | - 🔥 Added support for HTTP/2 pipelining and multiplexing. Set the | |
357 | `http.multiplexing` config value to enable. | |
358 | [#6005](https://github.com/rust-lang/cargo/pull/6005) | |
359 | - (Nightly only): Added `--registry` flag to `cargo install`. | |
360 | [#6128](https://github.com/rust-lang/cargo/pull/6128) | |
361 | - (Nightly only): Added `registry.default` configuration value to specify the | |
362 | default registry to use if `--registry` flag is not passed. | |
363 | [#6135](https://github.com/rust-lang/cargo/pull/6135) | |
364 | - (Nightly only): Added `--registry` flag to `cargo new` and `cargo init`. | |
365 | [#6135](https://github.com/rust-lang/cargo/pull/6135) | |
366 | - Added `http.debug` configuration value to debug HTTP connections. Use | |
367 | `CARGO_HTTP_DEBUG=true RUST_LOG=cargo::ops::registry cargo build` to display | |
368 | the debug information. [#6166](https://github.com/rust-lang/cargo/pull/6166) | |
369 | - `CARGO_PKG_REPOSITORY` environment variable is set with the repository value | |
370 | from `Cargo.toml` when building . | |
371 | [#6096](https://github.com/rust-lang/cargo/pull/6096) | |
372 | ||
373 | ### Changed | |
374 | - `cargo test --doc` now rejects other flags instead of ignoring them. | |
375 | [#6037](https://github.com/rust-lang/cargo/pull/6037) | |
376 | - `cargo install` ignores `~/.cargo/config`. | |
377 | [#6026](https://github.com/rust-lang/cargo/pull/6026) | |
378 | - `cargo version --verbose` is now the same as `cargo -vV`. | |
379 | [#6076](https://github.com/rust-lang/cargo/pull/6076) | |
380 | - Comments at the top of `Cargo.lock` are now preserved. | |
381 | [#6181](https://github.com/rust-lang/cargo/pull/6181) | |
382 | - When building in "very verbose" mode (`cargo build -vv`), build script | |
383 | output is prefixed with the package name and version, such as `[foo 0.0.1]`. | |
384 | [#6164](https://github.com/rust-lang/cargo/pull/6164) | |
385 | - If `cargo fix --broken-code` fails to compile after fixes have been applied, | |
386 | the files are no longer reverted and are left in their broken state. | |
387 | [#6316](https://github.com/rust-lang/cargo/pull/6316) | |
388 | ||
389 | ### Fixed | |
390 | - Windows: Pass Ctrl-C to the process with `cargo run`. | |
391 | [#6004](https://github.com/rust-lang/cargo/pull/6004) | |
392 | - macOS: Fix bash completion. | |
393 | [#6038](https://github.com/rust-lang/cargo/pull/6038) | |
394 | - Support arbitrary toolchain names when completing `+toolchain` in bash | |
395 | completion. [#6038](https://github.com/rust-lang/cargo/pull/6038) | |
396 | - Fixed edge cases in the resolver, when backtracking on failed dependencies. | |
397 | [#5988](https://github.com/rust-lang/cargo/pull/5988) | |
398 | - Fixed `cargo test --all-targets` running lib tests three times. | |
399 | [#6039](https://github.com/rust-lang/cargo/pull/6039) | |
400 | - Fixed publishing renamed dependencies to crates.io. | |
401 | [#5993](https://github.com/rust-lang/cargo/pull/5993) | |
402 | - Fixed `cargo install` on a git repo with multiple binaries. | |
403 | [#6060](https://github.com/rust-lang/cargo/pull/6060) | |
404 | - Fixed deeply nested JSON emitted by rustc being lost. | |
405 | [#6081](https://github.com/rust-lang/cargo/pull/6081) | |
406 | - Windows: Fix locking msys terminals to 60 characters. | |
407 | [#6122](https://github.com/rust-lang/cargo/pull/6122) | |
408 | - Fixed renamed dependencies with dashes. | |
409 | [#6140](https://github.com/rust-lang/cargo/pull/6140) | |
410 | - Fixed linking against the wrong dylib when the dylib existed in both | |
411 | `target/debug` and `target/debug/deps`. | |
412 | [#6167](https://github.com/rust-lang/cargo/pull/6167) | |
413 | - Fixed some unnecessary recompiles when `panic=abort` is used. | |
414 | [#6170](https://github.com/rust-lang/cargo/pull/6170) | |
415 | ||
416 | ## Cargo 1.30 (2019-10-25) | |
417 | [524a578d...36d96825](https://github.com/rust-lang/cargo/compare/524a578d...36d96825) | |
418 | ||
419 | ### Added | |
420 | - 🔥 Added an animated progress bar shows progress during building. | |
421 | [#5995](https://github.com/rust-lang/cargo/pull/5995/) | |
422 | - Added `resolve.nodes.deps` key to `cargo metadata`, which includes more | |
423 | information about resolved dependencies, and properly handles renamed | |
424 | dependencies. [#5871](https://github.com/rust-lang/cargo/pull/5871) | |
425 | - When creating a package, provide more detail with `-v` when failing to | |
426 | discover if files are dirty in a git repository. Also fix a problem with | |
427 | discovery on Windows. [#5858](https://github.com/rust-lang/cargo/pull/5858) | |
428 | - Filters like `--bin`, `--test`, `--example`, `--bench`, or `--lib` can be | |
429 | used in a workspace without selecting a specific package. | |
430 | [#5873](https://github.com/rust-lang/cargo/pull/5873) | |
431 | - `cargo run` can be used in a workspace without selecting a specific package. | |
432 | [#5877](https://github.com/rust-lang/cargo/pull/5877) | |
433 | - `cargo doc --message-format=json` now outputs JSON messages from rustdoc. | |
434 | [#5878](https://github.com/rust-lang/cargo/pull/5878) | |
435 | - Added `--message-format=short` to show one-line messages. | |
436 | [#5879](https://github.com/rust-lang/cargo/pull/5879) | |
437 | - Added `.cargo_vcs_info.json` file to `.crate` packages that captures the | |
438 | current git hash. [#5886](https://github.com/rust-lang/cargo/pull/5886) | |
439 | - Added `net.git-fetch-with-cli` configuration option to use the `git` | |
440 | executable to fetch repositories instead of using the built-in libgit2 | |
441 | library. [#5914](https://github.com/rust-lang/cargo/pull/5914) | |
442 | - Added `required-features` to `cargo metadata`. | |
443 | [#5902](https://github.com/rust-lang/cargo/pull/5902) | |
444 | - `cargo uninstall` within a package will now uninstall that package. | |
445 | [#5927](https://github.com/rust-lang/cargo/pull/5927) | |
446 | - (Nightly only): Added | |
447 | [metabuild](https://doc.rust-lang.org/1.30.0/cargo/reference/unstable.html#metabuild). | |
448 | [#5628](https://github.com/rust-lang/cargo/pull/5628) | |
449 | - Added `--allow-staged` flag to `cargo fix` to allow it to run if files are | |
450 | staged in git. [#5943](https://github.com/rust-lang/cargo/pull/5943) | |
451 | - Added `net.low-speed-limit` config value, and also honor `net.timeout` for | |
452 | http operations. [#5957](https://github.com/rust-lang/cargo/pull/5957) | |
453 | - Added `--edition` flag to `cargo new`. | |
454 | [#5984](https://github.com/rust-lang/cargo/pull/5984) | |
455 | - Temporarily stabilized 2018 edition support for the duration of the beta. | |
456 | [#5984](https://github.com/rust-lang/cargo/pull/5984) | |
457 | [#5989](https://github.com/rust-lang/cargo/pull/5989) | |
458 | - Added support for `target.'cfg(…)'.runner` config value to specify the | |
459 | run/test/bench runner for config-expressioned targets. | |
460 | [#5959](https://github.com/rust-lang/cargo/pull/5959) | |
461 | ||
462 | ### Changed | |
463 | - Windows: `cargo run` will not kill child processes when the main process | |
464 | exits. [#5887](https://github.com/rust-lang/cargo/pull/5887) | |
465 | - Switched to the `opener` crate to open a web browser with `cargo doc | |
466 | --open`. This should more reliably select the system-preferred browser on | |
467 | all platforms. [#5888](https://github.com/rust-lang/cargo/pull/5888) | |
468 | - Equal file mtimes now cause a target to be rebuilt. Previously only if files | |
469 | were strictly *newer* than the last build would it cause a rebuild. | |
470 | [#5919](https://github.com/rust-lang/cargo/pull/5919) | |
471 | - Ignore `build.target` config value when running `cargo install`. | |
472 | [#5874](https://github.com/rust-lang/cargo/pull/5874) | |
473 | - Ignore `RUSTC_WRAPPER` for `cargo fix`. | |
474 | [#5983](https://github.com/rust-lang/cargo/pull/5983) | |
475 | - Ignore empty `RUSTC_WRAPPER`. | |
476 | [#5985](https://github.com/rust-lang/cargo/pull/5985) | |
477 | ||
478 | ### Fixed | |
479 | - Fixed error when creating a package with an edition field in `Cargo.toml`. | |
480 | [#5908](https://github.com/rust-lang/cargo/pull/5908) | |
481 | - More consistently use relative paths for path dependencies in a workspace. | |
482 | [#5935](https://github.com/rust-lang/cargo/pull/5935) | |
483 | - `cargo fix` now always runs, even if it was run previously. | |
484 | [#5944](https://github.com/rust-lang/cargo/pull/5944) | |
485 | - Windows: Attempt to more reliably detect terminal width. msys-based | |
486 | terminals are forced to 60 characters wide. | |
487 | [#6010](https://github.com/rust-lang/cargo/pull/6010) | |
488 | - Allow multiple target flags with `cargo doc --document-private-items`. | |
489 | [6022](https://github.com/rust-lang/cargo/pull/6022) |