@@ -8,36 +8,49 @@ team = "the docs.rs team"
88team_url = " https://rust-lang.org/governance/teams/dev-tools/#team-docs-rs"
99+++
1010
11- With Apple's transition from x86_64 to its own silicon (ARM64), the Rust project
12- has updated its platform support tiers.
11+ # Changes to Default Build Targets on docs.rs
1312
14- Consequently, the ` aarch64-apple-darwin ` target has been promoted to Tier 1,
15- while the ` x86_64-apple-darwin ` target has been demoted to Tier 2. You can read
16- more about this change in
17- [ RFC 3671] ( https://github.com/rust-lang/rfcs/pull/3671 ) and
18- [ RFC 3841] ( https://github.com/rust-lang/rfcs/pull/3841 ) .
13+ This post announces two changes to the list of default targets used to build
14+ documentation on docs.rs.
1915
20- To align with this ecosystem shift, docs.rs is updating its default build
21- targets.
16+ Crate authors can specify a custom list of targets using
17+ [ docs.rs metadata in ` Cargo.toml ` ] ( https://docs.rs/about/metadata ) . If this
18+ metadata is not provided, docs.rs falls back to a default list. We are updating
19+ this list to better reflect the current state of the Rust ecosystem.
2220
23- Crates can provide [ docs.rs metadata] ( https://docs.rs/about/metadata ) to specify
24- which targets to build for. If this metadata is not provided, docs.rs uses a
25- default list of targets. We are now switching the default macOS target in this
26- list from ` x86_64-apple-darwin ` to ` aarch64-apple-darwin ` .
21+ ## Apple Silicon (ARM64) Replaces x86_64
2722
28- The new default target list is:
23+ Reflecting Apple's transition from x86_64 to its own ARM64 silicon, the Rust
24+ project has updated its platform support tiers. The ` aarch64-apple-darwin `
25+ target is now Tier 1, while ` x86_64-apple-darwin ` has moved to Tier 2. You can
26+ read more about this in [ RFC 3671] ( https://github.com/rust-lang/rfcs/pull/3671 )
27+ and [ RFC 3841] ( https://github.com/rust-lang/rfcs/pull/3841 ) .
28+
29+ To align with this, docs.rs will now use ` aarch64-apple-darwin ` as the default
30+ target for Apple platforms instead of ` x86_64-apple-darwin ` .
31+
32+ ## Linux ARM64 Replaces 32-bit x86
33+
34+ Support for 32-bit ` i686 ` architectures is declining, and major Linux
35+ distributions have begun to phase it out.
36+
37+ Consequently, we are replacing the ` i686-unknown-linux-gnu ` target with
38+ ` aarch64-unknown-linux-gnu ` in our default set.
39+
40+ ## New Default Target List
41+
42+ The updated list of default targets is:
2943
3044- ` x86_64-unknown-linux-gnu `
31- - ` aarch64-apple-darwin ` (previously: ` x86_64-apple-darwin ` )
45+ - ` aarch64-apple-darwin ` (replaces ` x86_64-apple-darwin ` )
3246- ` x86_64-pc-windows-msvc `
33- - ` i686-unknown-linux-gnu `
47+ - ` aarch64-unknown-linux-gnu ` (replaces ` i686-unknown-linux-gnu ` )
3448- ` i686-pc-windows-msvc `
3549
36- ## If your crate requires the old target list
50+ ## Opting Out
3751
38- If your crate needs to be built for the previous default target list, you can
39- explicitly define it using [ docs.rs metadata] ( https://docs.rs/about/metadata ) in
40- your ` Cargo.toml ` :
52+ If your crate requires the previous default target list, you can explicitly
53+ define it in your ` Cargo.toml ` :
4154
4255``` toml
4356[package .metadata .docs .rs ]
@@ -49,3 +62,6 @@ targets = [
4962 " i686-pc-windows-msvc"
5063]
5164```
65+
66+ Note that docs.rs continues to support any target available in the Rust
67+ toolchain; only the _ default_ list has changed.
0 commit comments