diff --git a/ChangeLog.md b/ChangeLog.md index ccea0188db51a..d7be2223178e6 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -20,6 +20,9 @@ See docs/process.md for more on how version tagging works. 4.0.17 (in development) ----------------------- +- Minimum Firefox version was bumped up to Firefox 68 ESR, since older Firefox + versions are not able to run the parallel browser harness: (#25493) + - Firefox: v65 -> v68 4.0.16 - 10/07/25 ----------------- diff --git a/site/source/docs/tools_reference/settings_reference.rst b/site/source/docs/tools_reference/settings_reference.rst index a01aafb6c5c66..e5a45fdedb64d 100644 --- a/site/source/docs/tools_reference/settings_reference.rst +++ b/site/source/docs/tools_reference/settings_reference.rst @@ -2871,7 +2871,7 @@ are desired to work. Pass -sMIN_FIREFOX_VERSION=majorVersion to drop support for Firefox versions older than < majorVersion. Firefox 79 was released on 2020-07-28. MAX_INT (0x7FFFFFFF, or -1) specifies that target is not supported. -Minimum supported value is 65 which was released on 2019-01-29 (see +Minimum supported value is 68 which was released on 2019-07-09 (see feature_matrix.py) Default value: 79 diff --git a/src/lib/libwebgl.js b/src/lib/libwebgl.js index e06cd745fd2ba..4e4cc09d72eba 100644 --- a/src/lib/libwebgl.js +++ b/src/lib/libwebgl.js @@ -859,17 +859,6 @@ for (/**@suppress{duplicate}*/var i = 0; i <= {{{ GL_POOL_TEMP_BUFFERS_SIZE }}}; if (gl.getContextAttributes().antialias) { context.defaultFboForbidBlitFramebuffer = true; } -#if MIN_FIREFOX_VERSION < 67 - else { - // The WebGL 2 blit path doesn't work in Firefox < 67 (except in fullscreen). - // https://bugzil.la/1523030 - var firefoxMatch = navigator.userAgent.toLowerCase().match(/firefox\/(\d\d)/); - if (firefoxMatch != null) { - var firefoxVersion = firefoxMatch[1]; - context.defaultFboForbidBlitFramebuffer = firefoxVersion < 67; - } - } -#endif #endif // Create render targets to the FBO diff --git a/src/settings.js b/src/settings.js index 6a9cdc883316d..85353517d518e 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1880,7 +1880,7 @@ var AUTO_NATIVE_LIBRARIES = true; // for Firefox versions older than < majorVersion. // Firefox 79 was released on 2020-07-28. // MAX_INT (0x7FFFFFFF, or -1) specifies that target is not supported. -// Minimum supported value is 65 which was released on 2019-01-29 (see +// Minimum supported value is 68 which was released on 2019-07-09 (see // feature_matrix.py) // [link] var MIN_FIREFOX_VERSION = 79; diff --git a/test/common.py b/test/common.py index d5f6b70456d26..b16d2cceeef0a 100644 --- a/test/common.py +++ b/test/common.py @@ -116,9 +116,6 @@ def configure(data_dir): """Chrome has no special configuration step.""" -# N.b. The earliest Firefox version that can run multithreaded browser harness -# is Firefox 67. If you need to test earlier Firefox versions, use EMTEST_CORES=1 -# environment variable to revert to the single-threaded browser harness. class FirefoxConfig: data_dir_flag = '-profile ' default_flags = ('-new-instance',) diff --git a/test/test_other.py b/test/test_other.py index 8caf035a2f2b6..884b610d0a0a8 100644 --- a/test/test_other.py +++ b/test/test_other.py @@ -10530,7 +10530,7 @@ def compile(flags): compile(['-sMIN_SAFARI_VERSION=160000', '-mno-sign-ext']) verify_features_sec_linked('sign-ext', False) # Flag enabling overrides explicit browser version - compile(['-sMIN_FIREFOX_VERSION=65', '-msign-ext']) + compile(['-sMIN_FIREFOX_VERSION=68', '-msign-ext']) verify_features_sec_linked('sign-ext', True) # Flag disabling overrides explicit version for bulk memory compile(['-sMIN_SAFARI_VERSION=150000', '-mno-bulk-memory']) @@ -14382,8 +14382,8 @@ def test_min_browser_version(self): err = self.expect_fail([EMCC, test_file('hello_world.c'), '-Wno-transpile', '-Werror', '-sWASM_BIGINT', '-sMIN_SAFARI_VERSION=130000']) self.assertContained('emcc: error: MIN_SAFARI_VERSION=130000 is not compatible with WASM_BIGINT (MIN_SAFARI_VERSION=150000 or above required)', err) - err = self.expect_fail([EMCC, test_file('hello_world.c'), '-Wno-transpile', '-Werror', '-pthread', '-sMIN_FIREFOX_VERSION=65']) - self.assertContained('emcc: error: MIN_FIREFOX_VERSION=65 is not compatible with pthreads (MIN_FIREFOX_VERSION=79 or above required)', err) + err = self.expect_fail([EMCC, test_file('hello_world.c'), '-Wno-transpile', '-Werror', '-pthread', '-sMIN_FIREFOX_VERSION=68']) + self.assertContained('emcc: error: MIN_FIREFOX_VERSION=68 is not compatible with pthreads (MIN_FIREFOX_VERSION=79 or above required)', err) # Test that using two different ways to disable a target environment at the same time will not produce a warning. def test_double_disable_environment(self): diff --git a/tools/feature_matrix.py b/tools/feature_matrix.py index 55e2d701438b4..c953922b8f5c9 100644 --- a/tools/feature_matrix.py +++ b/tools/feature_matrix.py @@ -23,7 +23,7 @@ # N.b. when modifying these values, update comments in src/settings.js on # MIN_x_VERSION fields to match accordingly. OLDEST_SUPPORTED_CHROME = 74 # Released on 2019-04-23 -OLDEST_SUPPORTED_FIREFOX = 65 # Released on 2019-01-29 +OLDEST_SUPPORTED_FIREFOX = 68 # Released on 2019-07-09 OLDEST_SUPPORTED_SAFARI = 120200 # Released on 2019-03-25 # 12.22.09 is the oldest version of node that we do any testing with. # Keep this in sync with the test-node-compat in .circleci/config.yml.