Rust Update Policy

We document here the decision making and planning around when we update the Rust toolchains used and required to build Firefox.

This allows contributors to know when new features will be usable, and downstream packagers to know what toolchain will be required for each Firefox release. Both benefit from the predictability of a schedule.

Policy

Official builds

We ship official stable Firefox with a stable Rust.

As a general rule, we update the Rust version used to build Firefox Nightly soon after its release, unless it’s less than 7 days away from a soft-freeze, in which case we wait for the next Nightly train.

We don’t upgrade the Rust version in the beta or release branches of Firefox.

The following exceptions apply:

  • We may use a Rust version from the Rust beta or nightly channels for new platforms (e.g. we did so for Android, arm64 Windows and arm64 macOS), and later upgrade when that Rust version becomes stable (we may even do so on the Firefox beta branch).

  • We may skip the update (or backout the update) if major problems are encountered (typically, we’ve had to do so because of build problems, crash reporting bustage, or performance issues).

Developer builds

Local developer builds use whatever Rust toolchain is available on the system.

Someone building Firefox can maintain the latest stable Rust with the rustup or mach bootstrap tools, or try other variations.

Minimum Supported Rust Version

We will update the Minimum Supported Rust Version (MSRV) when required.

The MSRV will generally remain unchanged, until a newer version is required by some code.

When that happens, we’ll prefer to update the MSRV to the strict minimum required at that moment (e.g. if we require version 1.47.0, the currently used Rust version is 1.51.0, and a crate needs 1.50.0, we’ll prefer to update the MSRV to 1.50.0 rather than 1.51.0).

The MSRV won’t be updated to a version of Rust that hasn’t been used for Firefox Nightly for at least 14 days.

We expect ESR releases will keep their MSRV, so backporting security fixes may require Rust compatibility work.

Rationale

Historically, the Rust ecosystem quickly required new features provided by new Rust compilers, which made it necessary to update the minimum supported version quite often, and as such, a scheduled update was deemed a better trade-off.

Fast-forward several years, and new Rust compiler releases more rarely sport ground-breaking new features, which has reduced the necessity to update quite significantly.

On the flip side, in some instances, we have had to stick to specific versions of the Rust compiler for extended periods of time because of e.g. regressions, going against the schedule.

Schedule

Here are the Rust versions for each Firefox version.

  • The “Uses” column indicates the version of Rust used to build releases shipped to users.

  • The “MSRV” column indicates the minimum supported Rust version to build the sources.

Firefox Version

Uses

MSRV

Rust “Uses” release date

Nightly Soft Freeze

Firefox release date

Firefox 56

Rust 1.19.0

1.17.0

2017 April 27

2017 September 26

Firefox 57

Rust 1.19.0

1.19.0

2017 July 20

2017 November 14

Firefox 58

Rust 1.21.0

1.21.0

2017 October 12

2018 January 16

Firefox 59

Rust 1.22.1

1.22.1

2017 November 23

2018 March 13

Firefox 60

Rust 1.24.0

1.24.0

2018 February 15

2018 May 9

Firefox 61

Rust 1.24.0

1.24.0

2018 February 15

2018 June 26

Firefox 62

Rust 1.24.0

1.24.0

2018 February 15

2018 September 5

Firefox 63

Rust 1.28.0

1.28.0

2018 August 2

2018 October 23

Firefox 64

Rust 1.29.2

1.29.0

2018 September 13

2018 October 15

2018 December 11

Firefox 65

Rust 1.30.0

1.30.0

2018 October 25

2018 December 3

2019 January 29

Firefox 66

Rust 1.31.0

1.31.0

2018 December 6

2019 January 21

2019 March 19

Firefox 67

Rust 1.32.0

1.32.0

2019 January 17

2019 March 11

2019 May 21

Firefox 68

Rust 1.34.0

1.34.0

2019 April 11

2019 May 13

2019 July 9

Firefox 69

Rust 1.35.0

1.35.0

2019 May 23

2019 July 1

2019 September 3

Firefox 70

Rust 1.37.0

1.36.0

2019 July 4

2019 August 26

2019 October 22

Firefox 71

Rust 1.37.0

1.37.0

2019 August 15

2019 October 14

2019 December 3

Firefox 72

Rust 1.38.0

1.37.0

2019 August 15

2019 November 25

2020 January 7

Firefox 73

Rust 1.39.0

1.39.0

2019 November 7

2020 January 1

2020 February 11

Firefox 74

Rust 1.39.0

1.39.0

2019 November 7

2020 February 6

2020 March 10

Firefox 75

Rust 1.41.0

1.41.0

2020 January 30

2020 March 5

2020 April 7

Firefox 76

Rust 1.41.0

1.41.0

2020 January 30

2020 April 2

2020 May 5

Firefox 77

Rust 1.41.1

1.41.0

2020 January 30

2020 April 30

2020 June 2

Firefox 78

Rust 1.43.0

1.41.0

2020 April 23

2020 May 28

2020 June 30

Firefox 79

Rust 1.43.0

1.43.0

2020 April 23

2020 June 26

2020 July 28

Firefox 80

Rust 1.43.0

1.43.0

2020 April 23

2020 July 23

2020 August 25

Firefox 81

Rust 1.43.0

1.43.0

2020 April 23

2020 August 20

2020 September 22

Firefox 82

Rust 1.43.0

1.43.0

2020 April 23

2020 September 17

2020 October 20

Firefox 83

Rust 1.43.0

1.43.0

2020 April 23

2020 October 15

2020 November 17

Firefox 84

Rust 1.47.0

1.43.0

2020 October 8

2020 November 12

2020 December 15

Firefox 85

Rust 1.48.0

1.47.0

2020 November 19

2020 December 10

2021 January 26

Firefox 86

Rust 1.49.0

1.47.0

2020 December 31

2021 January 21

2021 February 23

Firefox 87

Rust 1.50.0

1.47.0

2021 February 11

2021 February 18

2021 March 23

Firefox 88

Rust 1.50.0

1.47.0

2021 February 11

2021 March 18

2021 April 19

Firefox 89

Rust 1.51.0

1.47.0

2021 March 25

2021 April 15

2021 June 1

Firefox 90

Rust 1.52.0

1.47.0

2021 May 6

2021 May 27

2021 June 29

Firefox 91

Rust 1.53.0

1.51.0

2021 June 17

2021 July 8

2021 August 10

Firefox 92

Rust 1.54.0

1.51.0

2021 July 29

2021 August 5

2021 September 7

Firefox 93

Rust 1.54.0

1.51.0

2021 July 29

2021 September 2

2021 October 5

Firefox 94

Rust 1.55.0

1.53.0

2021 September 9

2021 September 30

2021 November 2

Firefox 95

Rust 1.56.0

1.53.0

2021 October 21

2021 October 28

2021 December 7

Firefox 96

Rust 1.57.0

1.53.0

2021 December 2

2021 December 2

2022 January 11

Firefox 97

Rust 1.57.0

1.57.0

2021 December 2

2022 January 6

2022 February 8

Firefox 98

Rust 1.58.0

1.57.0

2022 January 13

2022 February 2

2022 March 8

Firefox 99

Rust 1.59.0

1.57.0

2022 February 24

2022 March 3

2022 April 5

Firefox 100

Rust 1.59.0

1.57.0

2022 February 24

2022 March 31

2022 May 3

Firefox 101

Rust 1.60.0

1.59.0

2022 April 7

2022 April 28

2022 May 31

Firefox 102

Rust 1.60.0

1.59.0

2022 April 7

2022 May 26

2022 June 28

Firefox 103

Rust 1.61.0

1.59.0

2022 May 19

2022 June 23

2022 July 27

Firefox 104

Rust 1.62.0

1.59.0

2022 June 30

2022 July 21

2022 August 23

Firefox 105

Rust 1.63.0

1.61.0

2022 August 11

2022 August 18

2022 September 20

Firefox 106

Rust 1.63.0

1.61.0

2022 August 11

2022 September 15

2022 October 18

Firefox 107

Rust 1.64.0

1.61.0

2022 September 22

2022 October 13

2022 November 15

Firefox 108

Rust 1.65.0

1.63.0

2022 November 3

2022 November 10

2022 December 13

Firefox 109

Rust 1.65.0

1.63.0

2022 November 3

2022 December 8

2023 January 17

Firefox 110

Rust 1.66.0

1.65.0

2022 December 15

2023 January 12

2023 February 14

Firefox 111

Rust 1.67.0

1.65.0

2023 January 26

2023 February 9

2023 March 14

Firefox 112

Rust 1.67.0

1.65.0

2023 January 26

2023 March 9

2023 April 11

Firefox 113

Rust 1.68.0

1.65.0

2023 March 9

2023 April 6

2023 May 9

Firefox 114

Rust 1.69.0

1.65.0

2023 April 20

2023 May 4

2023 June 6

Firefox 115

Rust 1.69.0

1.66.0

2023 April 20

2023 June 1

2023 July 4

Firefox 116

Rust 1.69.0

1.66.0

2023 April 20

2023 June 29

2023 August 1

Firefox 117

Rust 1.71.0

1.66.0

2023 July 13

2023 July 27

2023 August 29

Firefox 118

Rust 1.71.0

1.66.0

2023 July 13

2023 August 24

2023 September 26

Firefox 119

Rust 1.72.0

1.66.0

2023 August 24

2023 September 21

2023 October 24

Firefox 120

Rust 1.72.0

1.70.0

2023 October 4

2023 October 19

2023 November 21

Firefox 121

Rust 1.73.0

1.70.0

2023 October 4

2023 November 16

2023 December 19

Firefox 122

Rust 1.74.0

1.70.0

2023 November 16

2023 December 14

2024 January 23

Firefox 123

Rust 1.75.0

1.70.0

2023 December 28

2024 January 11

2024 February 20

Firefox 124

Rust 1.76.0

1.70.0

2024 February 8

2024 February 15

2024 March 19

Firefox 125

Rust 1.76.0

1.74.0

2024 February 8

2024 March 14

2024 April 16

Firefox 126

Rust 1.77.2

1.74.0

2024 March 28

2024 April 11

2024 May 14

Firefox 127

Rust 1.77.2

1.76.0

2024 May 2

2024 May 9

2024 June 11

Firefox 128

Rust 1.78.0

1.76.0

2024 May 2

2024 June 6

2024 July 9

Firefox 129

Rust 1.79.0

1.76.0

2024 June 13

2024 July 4

2024 August 6

Firefox 130

Rust 1.79.0

1.76.0

2024 June 13

2024 August 1

2024 September 3

Firefox 131

Rust 1.79.0

1.76.0

2024 June 13

2024 August 29

2024 October 1

Firefox 132

Rust 1.81.0

1.76.0

2024 September 5

2024 September 26

2024 October 29

Firefox 133

Rust 1.81.0

1.76.0

2024 September 5

2024 October 24

2024 November 26

Firefox 134

Rust 1.81.0

1.76.0

2024 September 5

2024 November 21

2025 January 7

Firefox 135

Rust 1.83.0

1.76.0

2024 November 28

2025 January 2

2025 February 4

Firefox 136

Rust 1.84.0

1.76.0

2025 January 9

2025 January 30

2025 March 4

Firefox 137

Rust 1.85.0

1.82.0

2025 February 20

2025 February 27

2025 April 1

Firefox 138

Rust 1.85.0

1.82.0

2025 February 20

2025 March 27

2025 April 29

Firefox 139

Rust 1.86.0

1.82.0

2025 April 3

2025 April 24

2025 May 27

Firefox 140

Rust 1.86.0

1.82.0

2025 April 3

2025 May 22

2025 June 24

Firefox 141

Rust 1.86.0

1.82.0

2025 April 3

2025 June 19

2025 July 22

Firefox 142

Rust 1.86.0

1.82.0

2025 April 3

2025 July 17

2025 August 19

Firefox 143

Rust 1.86.0

1.82.0

2025 April 3

2025 August 14

2025 September 16

Firefox 144

Rust 1.86.0

1.82.0

2025 April 3

2025 September 11

2025 October 14

Firefox 145

Rust 1.86.0

1.82.0

2025 April 3

2025 October 9

2025 November 11

Firefox 146

Rust 1.86.0

1.82.0

2025 October 30

2025 November 6

2025 December 9

Firefox 147

Rust 1.90.0

1.82.0

2025 September 18

2025 December 4

2026 January 13

Firefox 148

Rust 1.92.0

1.87.0

2025 December 11

2026 January 8

2026 February 17

Estimated

Firefox 149

Rust 1.93.0

1.90.0

2026 January 22

2026 February 19

2026 March 24

Firefox 150

Rust 1.94.0

?

2026 March 5

2026 March 19

2026 April 21

Firefox 151

Rust 1.94.0

?

2026 March 5

2026 April 16

2026 May 19

Firefox 152

Rust 1.94.0

?

2026 April 16

2026 May 14

2026 June 16

Firefox 153

Rust 1.95.0

?

2026 May 28

2026 June 11

2026 July 21