Skip to content

Commit 3bad024

Browse files
authored
Bump min supported chrome version from 71 -> 73 (#25385)
This means we no longer need to worry about engines without mutable global support. Followup to #25375.
1 parent 992775c commit 3bad024

File tree

5 files changed

+12
-20
lines changed

5 files changed

+12
-20
lines changed

ChangeLog.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ See docs/process.md for more on how version tagging works.
2020

2121
4.0.16 (in development)
2222
-----------------------
23-
- The minimum supported versions of node, chrome and firefox were bumped in
24-
order remove the globalThis polyfill: (#25375)
25-
- node: v10.19.0 -> v12.22.9
26-
- chrome: v70 -> v71
27-
- firefox: v55 -> v65
23+
- The minimum supported versions of Node, Chrome and Firefox were bumped
24+
enabling the removal of the `globalThis` polyfill and universally enabling
25+
mutable globals: (#25375, #25385)
26+
- Node: v10.19.0 -> v12.22.9
27+
- Chrome: v70 -> v74
28+
- Firefox: v55 -> v65
2829

2930
4.0.15 - 09/17/25
3031
-----------------

site/source/docs/tools_reference/settings_reference.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2897,7 +2897,7 @@ This setting also applies to modern Chromium-based Edge, which shares version
28972897
numbers with Chrome.
28982898
Chrome 85 was released on 2020-08-25.
28992899
MAX_INT (0x7FFFFFFF, or -1) specifies that target is not supported.
2900-
Minimum supported value is 71, which was released on 2018-12-04 (see
2900+
Minimum supported value is 74, which was released on 2019-04-23 (see
29012901
feature_matrix.py).
29022902

29032903
Default value: 85

src/settings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1901,7 +1901,7 @@ var MIN_SAFARI_VERSION = 150000;
19011901
// numbers with Chrome.
19021902
// Chrome 85 was released on 2020-08-25.
19031903
// MAX_INT (0x7FFFFFFF, or -1) specifies that target is not supported.
1904-
// Minimum supported value is 71, which was released on 2018-12-04 (see
1904+
// Minimum supported value is 74, which was released on 2019-04-23 (see
19051905
// feature_matrix.py).
19061906
// [link]
19071907
var MIN_CHROME_VERSION = 85;

test/test_other.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14298,8 +14298,8 @@ def test_min_browser_version(self):
1429814298
err = self.expect_fail([EMCC, test_file('hello_world.c'), '-Wno-transpile', '-Werror', '-sWASM_BIGINT', '-sMIN_SAFARI_VERSION=130000'])
1429914299
self.assertContained('emcc: error: MIN_SAFARI_VERSION=130000 is not compatible with WASM_BIGINT (150000 or above required)', err)
1430014300

14301-
err = self.expect_fail([EMCC, test_file('hello_world.c'), '-Wno-transpile', '-Werror', '-pthread', '-sMIN_CHROME_VERSION=73'])
14302-
self.assertContained('emcc: error: MIN_CHROME_VERSION=73 is not compatible with pthreads (74 or above required)', err)
14301+
err = self.expect_fail([EMCC, test_file('hello_world.c'), '-Wno-transpile', '-Werror', '-pthread', '-sMIN_FIREFOX_VERSION=65'])
14302+
self.assertContained('emcc: error: MIN_FIREFOX_VERSION=65 is not compatible with pthreads (79 or above required)', err)
1430314303

1430414304
def test_signext_lowering(self):
1430514305
# Use `-v` to show the sub-commands being run by emcc.
@@ -14312,8 +14312,6 @@ def test_signext_lowering(self):
1431214312
# Specifying an older browser version should trigger the lowering pass
1431314313
err = self.run_process(cmd + ['-sMIN_SAFARI_VERSION=120200'], stderr=subprocess.PIPE).stderr
1431414314
self.assertContained('--signext-lowering', err)
14315-
err = self.run_process(cmd + ['-sMIN_CHROME_VERSION=73'], stderr=subprocess.PIPE).stderr
14316-
self.assertContained('--signext-lowering', err)
1431714315

1431814316
@flaky('https://github.com/emscripten-core/emscripten/issues/20125')
1431914317
def test_itimer(self):
@@ -15055,7 +15053,7 @@ def test_no_extra_output(self):
1505515053

1505615054
def test_browser_too_old(self):
1505715055
err = self.expect_fail([EMCC, test_file('hello_world.c'), '-sMIN_CHROME_VERSION=10'])
15058-
self.assertContained('emcc: error: MIN_CHROME_VERSION older than 71 is not supported', err)
15056+
self.assertContained('emcc: error: MIN_CHROME_VERSION older than 74 is not supported', err)
1505915057

1506015058
def test_js_only_settings(self):
1506115059
err = self.run_process([EMCC, test_file('hello_world.c'), '-o', 'foo.wasm', '-sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=emscripten_get_heap_max'], stderr=PIPE).stderr

tools/feature_matrix.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
# N.b. when modifying these values, update comments in src/settings.js on
2424
# MIN_x_VERSION fields to match accordingly.
25-
OLDEST_SUPPORTED_CHROME = 71 # Released on 2018-12-04
25+
OLDEST_SUPPORTED_CHROME = 74 # Released on 2019-04-23
2626
OLDEST_SUPPORTED_FIREFOX = 65 # Released on 2019-01-29
2727
OLDEST_SUPPORTED_SAFARI = 120200 # Released on 2019-03-25
2828
# 12.22.09 is the oldest version of node that we do any testing with.
@@ -34,7 +34,6 @@ class Feature(IntEnum):
3434
NON_TRAPPING_FPTOINT = auto()
3535
SIGN_EXT = auto()
3636
BULK_MEMORY = auto()
37-
MUTABLE_GLOBALS = auto()
3837
JS_BIGINT_INTEGRATION = auto()
3938
THREADS = auto()
4039
PROMISE_ANY = auto()
@@ -63,12 +62,6 @@ class Feature(IntEnum):
6362
'safari': 150000,
6463
'node': 130000,
6564
},
66-
Feature.MUTABLE_GLOBALS: {
67-
'chrome': 74,
68-
'firefox': 61,
69-
'safari': 120000,
70-
'node': 120000,
71-
},
7265
Feature.JS_BIGINT_INTEGRATION: {
7366
'chrome': 67,
7467
'firefox': 68,

0 commit comments

Comments
 (0)