For a given set of browsers, what APIs are not yet in all of them.
| Not in Firefox | Not in Safari | |
|---|---|---|
| In Firefox | 37 | |
| In Safari | 23 |
Below is a list of features that are not in all of Firefox and Safari
| API | First Browser | Date | Days in Limbo | Notes |
|---|---|---|---|---|
| javascript.builtins.Atomics.Atomic_operations_on_non_shared_buffers | Firefox | 7/28/2020 | 2196 | |
| javascript.builtins.Atomics.waitAsync 📋 | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.Error.Error.fileName_parameter | Firefox | 11/9/2004 | 7936 | |
| javascript.builtins.Error.Error.lineNumber_parameter | Firefox | 11/9/2004 | 7936 | |
| javascript.builtins.Error.cause.displayed_in_console | Firefox | 8/10/2021 | 1818 | |
| javascript.builtins.Error.columnNumber | Firefox | 11/9/2004 | 7936 | |
| javascript.builtins.Error.fileName | Firefox | 11/9/2004 | 7936 | |
| javascript.builtins.Error.lineNumber | Firefox | 11/9/2004 | 7936 | |
| javascript.builtins.Error.serializable_object 📋 | Firefox | 7/26/2022 | 1468 | Firefox: Version 103 serialized properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox: Version 104 adds serialization of stack in the main thread (window.postMessage() and structuredClone()).Firefox: Version 110 adds serialization of stack in workers (worker.postMessage() and structuredClone()).Firefox for Android: Version 103 serialized properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox for Android: Version 104 adds serialization of stack in the main thread (window.postMessage() and structuredClone()).Firefox for Android: Version 110 adds serialization of stack in workers (worker.postMessage() and structuredClone()). |
| javascript.builtins.EvalError.serializable_object 📋 | Firefox | 7/26/2022 | 1468 | Firefox: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()).Firefox for Android: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox for Android: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox for Android: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()). |
| javascript.builtins.FinalizationRegistry.symbol_as_target | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.Function.displayName | Firefox | 6/5/2012 | 5171 | |
| javascript.builtins.InternalError | Firefox | 11/9/2004 | 7936 | |
| javascript.builtins.InternalError.InternalError | Firefox | 11/9/2004 | 7936 | |
| javascript.builtins.Intl.DurationFormat 📋 | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.Intl.DurationFormat.DurationFormat 📋 | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.Intl.DurationFormat.format 📋 | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.Intl.DurationFormat.formatToParts 📋 | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.Intl.DurationFormat.resolvedOptions 📋 | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.Intl.DurationFormat.supportedLocalesOf 📋 | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.Intl.Locale.getCalendars 📋 | Safari | 9/18/2023 | 1049 | Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property. |
| javascript.builtins.Intl.Locale.getCollations 📋 | Safari | 9/18/2023 | 1049 | Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property. |
| javascript.builtins.Intl.Locale.getHourCycles 📋 | Safari | 9/18/2023 | 1049 | Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property. |
| javascript.builtins.Intl.Locale.getNumberingSystems 📋 | Safari | 9/18/2023 | 1049 | Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property. |
| javascript.builtins.Intl.Locale.getTextInfo 📋 | Safari | 9/18/2023 | 1049 | Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Deno: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property. |
| javascript.builtins.Intl.Locale.getTimeZones 📋 | Safari | 9/18/2023 | 1049 | Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property. |
| javascript.builtins.Intl.Locale.getWeekInfo 📋 | Safari | 9/18/2023 | 1049 | Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property. |
| javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_trailingZeroDisplay_parameter | Firefox | 8/1/2023 | 1097 | |
| javascript.builtins.Iterator.Iterator 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.drop 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.every 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.filter 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.find 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.flatMap 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.forEach 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.from 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.map 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.reduce 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.some 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.take 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.Iterator.toArray 📋 | Firefox | 10/1/2024 | 670 | |
| javascript.builtins.JSON.isRawJSON 📋 | Firefox | 2/4/2025 | 544 | |
| javascript.builtins.JSON.parse.reviver_parameter_context_argument 📋 | Firefox | 2/4/2025 | 544 | |
| javascript.builtins.JSON.rawJSON 📋 | Firefox | 2/4/2025 | 544 | |
| javascript.builtins.Promise.incumbent_settings_object_tracking 📋 | Firefox | 11/15/2016 | 3547 | |
| javascript.builtins.RangeError.serializable_object 📋 | Firefox | 7/26/2022 | 1468 | Firefox: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()).Firefox for Android: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox for Android: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox for Android: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()). |
| javascript.builtins.ReferenceError.serializable_object 📋 | Firefox | 7/26/2022 | 1468 | Firefox: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()).Firefox for Android: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox for Android: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox for Android: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()). |
| javascript.builtins.SyntaxError.serializable_object 📋 | Firefox | 7/26/2022 | 1468 | Firefox: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()).Firefox for Android: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox for Android: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox for Android: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()). |
| javascript.builtins.TypeError.serializable_object 📋 | Firefox | 7/26/2022 | 1468 | Firefox: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()).Firefox for Android: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox for Android: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox for Android: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()). |
| javascript.builtins.URIError.serializable_object 📋 | Firefox | 7/26/2022 | 1468 | Firefox: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()).Firefox for Android: Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.Firefox for Android: Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).Firefox for Android: Version 110 also serializes stack in workers (worker.postMessage() and structuredClone()). |
| javascript.builtins.WeakMap.symbol_as_keys | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.WeakRef.symbol_as_target | Safari | 3/27/2023 | 1224 | |
| javascript.builtins.WeakSet.symbol_as_keys | Safari | 3/27/2023 | 1224 | |
| javascript.grammar.trailing_commas.trailing_commas_in_dynamic_import | Safari | 9/20/2021 | 1777 | Node.js: The second parameter no longer throws a parser error, but the --experimental-json-modules flag is still needed to load JSON modules. |
| javascript.operators.import.options_parameter | Safari | 9/20/2021 | 1777 | Node.js: The second parameter no longer throws a parser error, but the --experimental-json-modules flag is still needed to load JSON modules. |
| javascript.regular_expressions.modifier 📋 | Firefox | 10/29/2024 | 642 | |
| javascript.statements.import.import_attributes 📋 | Safari | 12/11/2023 | 965 | |
| javascript.statements.import.import_attributes.type_json | Safari | 12/11/2023 | 965 | |
| javascript.statements.import.service_worker_support | Safari | 9/20/2021 | 1777 | |
| javascript.statements.import.worklet_support | Firefox | 6/6/2023 | 1153 |