]> git.lizzy.rs Git - rust.git/blob - src/bootstrap/CHANGELOG.md
Rollup merge of #102488 - compiler-errors:gat-compatibility, r=oli-obk
[rust.git] / src / bootstrap / CHANGELOG.md
1 # Changelog
2
3 All notable changes to bootstrap will be documented in this file.
4
5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
7
8 ## [Changes since the last major version]
9
10 - Vendoring is no longer done automatically when building from git sources. To use vendoring, run `cargo vendor` manually, or use the pre-vendored `rustc-src` tarball.
11 - `llvm-libunwind` now accepts `in-tree` (formerly true), `system` or `no` (formerly false) [#77703](https://github.com/rust-lang/rust/pull/77703)
12 - The options `infodir`, `localstatedir`, and `gpg-password-file` are no longer allowed in config.toml. Previously, they were ignored without warning. Note that `infodir` and `localstatedir` are still accepted by `./configure`, with a warning. [#82451](https://github.com/rust-lang/rust/pull/82451)
13 - Change the names for `dist` commands to match the component they generate. [#90684](https://github.com/rust-lang/rust/pull/90684)
14 - The `build.fast-submodules` option has been removed. Fast submodule checkouts are enabled unconditionally. Automatic submodule handling can still be disabled with `build.submodules = false`.
15 - Several unsupported `./configure` options have been removed: `optimize`, `parallel-compiler`. These can still be enabled with `--set`, although it isn't recommended.
16 - `remote-test-server`'s `verbose` argument has been removed in favor of the `--verbose` flag
17 - `remote-test-server`'s `remote` argument has been removed in favor of the `--bind` flag. Use `--bind 0.0.0.0:12345` to replicate the behavior of the `remote` argument.
18
19 ### Non-breaking changes
20
21 - `x.py check` needs opt-in to check tests (--all-targets) [#77473](https://github.com/rust-lang/rust/pull/77473)
22 - The default bootstrap profiles are now located at `bootstrap/defaults/config.$PROFILE.toml` (previously they were located at `bootstrap/defaults/config.toml.$PROFILE`) [#77558](https://github.com/rust-lang/rust/pull/77558)
23 - If you have Rust already installed, `x.py` will now infer the host target
24   from the default rust toolchain. [#78513](https://github.com/rust-lang/rust/pull/78513)
25 - Add options for enabling overflow checks, one for std (`overflow-checks-std`) and one for everything else (`overflow-checks`). Both default to false.
26
27
28 ## [Version 2] - 2020-09-25
29
30 - `host` now defaults to the value of `build` in all cases
31   + Previously `host` defaulted to an empty list when `target` was overridden, and to `build` otherwise
32
33 ### Non-breaking changes
34
35 - Add `x.py setup` [#76631](https://github.com/rust-lang/rust/pull/76631)
36 - Add a changelog for x.py [#76626](https://github.com/rust-lang/rust/pull/76626)
37 - Optionally, download LLVM from CI on Linux and NixOS. This can be enabled with `download-ci-llvm = true` under `[llvm]`.
38   + [#76439](https://github.com/rust-lang/rust/pull/76349)
39   + [#76667](https://github.com/rust-lang/rust/pull/76667)
40   + [#76708](https://github.com/rust-lang/rust/pull/76708)
41 - Distribute rustc sources as part of `rustc-dev` [#76856](https://github.com/rust-lang/rust/pull/76856)
42 - Make the default stage for x.py configurable [#76625](https://github.com/rust-lang/rust/pull/76625). This can be enabled with `build-stage = N`, `doc-stage = N`, etc.
43 - Add a dedicated debug-logging option [#76588](https://github.com/rust-lang/rust/pull/76588). Previously, `debug-logging` could only be set with `debug-assertions`, slowing down the compiler more than necessary.
44 - Add sample defaults for x.py [#76628](https://github.com/rust-lang/rust/pull/76628)
45 - Add `--keep-stage-std`, which behaves like `keep-stage` but allows the stage
46   0 compiler artifacts (i.e., stage1/bin/rustc) to be rebuilt if changed
47   [#77120](https://github.com/rust-lang/rust/pull/77120).
48
49
50 ## [Version 1] - 2020-09-11
51
52 This is the first changelog entry, and it does not attempt to be an exhaustive list of features in x.py.
53 Instead, this documents the changes to bootstrap in the past 2 months.
54
55 - Improve defaults in `x.py` [#73964](https://github.com/rust-lang/rust/pull/73964)
56   (see [blog post] for details)
57 - Set `ninja = true` by default [#74922](https://github.com/rust-lang/rust/pull/74922)
58 - Avoid trying to inversely cross-compile for build triple from host triples [#76415](https://github.com/rust-lang/rust/pull/76415)
59 - Allow blessing expect-tests in tools [#75975](https://github.com/rust-lang/rust/pull/75975)
60 - `x.py check` checks tests/examples/benches [#76258](https://github.com/rust-lang/rust/pull/76258)
61 - Fix `rust.use-lld` when linker is not set [#76326](https://github.com/rust-lang/rust/pull/76326)
62 - Build tests with LLD if `use-lld = true` was passed [#76378](https://github.com/rust-lang/rust/pull/76378)
63
64 [blog post]: https://blog.rust-lang.org/inside-rust/2020/08/30/changes-to-x-py-defaults.html