Firefox 135 for developers
This article provides information about the changes in Firefox 135 that affect developers. Firefox 135 is the current Beta version of Firefox and ships on February 4, 2025.
Changes for web developers
Developer Tools
HTML
Removals
CSS
Removals
- The
-moz-user-input
CSS property allowed you to disable input fields. The property is now deprecated and has been removed (Firefox bug 1935198).
JavaScript
- The JSON parse with source proposal is now supported, which aims to provide features to mitigate issues around loss of precision when converting values such as large floats and date values between JavaScript values and JSON text (Firefox bug 1934622). Specifically, the following features are now available:
- The
JSON.parse()
reviver
parametercontext
argument: Provides access to the original JSON source text that was parsed. JSON.isRawJSON()
: Tests whether a value is an object returned byJSON.rawJSON()
.JSON.rawJSON()
: Creates a "raw JSON" object containing a piece of JSON text, which can then be included in an object to preserve the specified value when that object is stringified.
- The
Removals
SVG
Removals
HTTP
Removals
Security
- Certificate Transparency is a standard for ensuring that certificates are publicly disclosed before web browsers will trust them. Firefox now supports this feature on desktop versions (but not Android). This only affects servers that use certificates issued by a certificate authority in Mozilla's Root CA Program. (Firefox bug 1938242).
Removals
APIs
- The
PublicKeyCredential.getClientCapabilities()
static method is supported, allowing a web app to check if a browser enables particular WebAuthn capabilities and extensions without having to resort to user agent sniffing. (Firefox bug 1884466).
DOM
Media, WebRTC, and Web Audio
- The
mid
andrid
properties of theRTCOutboundRtpStreamStats
interface, and themid
property of theRTCInboundRtpStreamStats
interface are now supported. (Firefox bug 1643001).
Removals
WebAssembly
Removals
WebDriver conformance (WebDriver BiDi, Marionette)
General
-
To make user events more realistic and better simulate real user interactions in the browser, we have moved the action sequence processing of the
Perform Actions
commands in both Marionette and WebDriver BiDi from the content process to the parent process. While events are still sent synchronously from the content process, they are now triggered asynchronously via IPC calls originating from the parent process (Firefox bug 1922077).Due to this significant change, some regressions may still exist. If you encounter any issues, please file a bug for the Remote Agent. If the regressions block test execution, you can temporarily revert to the previous behavior by setting the Firefox preference
remote.events.async.enabled
tofalse
. -
With the processing of actions now handled in the parent process the following issues were fixed as well:
-
We now support proper queuing of action sequences without race conditions. This is particularly important for WebDriver BiDi's
input.performActions
command, which can be called multiple times in parallel and must execute the enqueued actions sequentially (Firefox bug 1915798). -
When dispatching actions, the
input cancel list
is now correctly updated only after the action has been successfully dispatched. Previously, if an action failed to execute, a reverse action could be left in place, leading to unexpected side effects when resetting the state of theinput source
(Firefox bug 1930845). -
When performing actions, individual actions are now retried during dispatch, particularly in situations where a single action triggers a navigation that replaces the current browsing context (Firefox bug 1930530, Firefox bug 1930090).
-
When performing actions, a
TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null
error occurred if an action (not the last one) in the action chain closed the window, and the remaining actions were still being dispatched (Firefox bug 1932916).
-
-
Some Marionette and WebDriver BiDi commands that rely internally on a
requestAnimationFrame
being emitted before returning would hang if the current browsing context was navigated during their execution (Firefox bug 1937118).
WebDriver BiDi
- Added support for the
format
field in thebrowsingContext.captureScreenshot
command, allowing clients to specify different file formats (image/png
andimage/jpg
are currently supported) and define the compression quality for screenshots (Firefox bug 1861737).
Changes for add-on developers
Removals
Other
Experimental web features
These features are newly shipped in Firefox 135 but are disabled by default. To experiment with them, search for the appropriate preference on the about:config
page and set it to true
. You can find more such features on the Experimental features page.
- Temporal API (Nightly release):
javascript.options.experimental.temporal
. The Temporal object aims to simplify working with dates and times in various scenarios, with built-in time zone and calendar representations. (Firefox bug 1912511). - Prioritized Task Scheduling API:
dom.enable_web_task_scheduling
. The Prioritized Task Scheduling API provides a standardized way to prioritize all tasks belonging to an application, whether they defined in a website developer's code, or in third party libraries and frameworks. This has temporarily been disabled in Nightly builds in order to avoid breakage in-the-wild. (Firefox bug 1938242).
Older versions
- Firefox 134 for developers
- Firefox 133 for developers
- Firefox 132 for developers
- Firefox 131 for developers
- Firefox 130 for developers
- Firefox 129 for developers
- Firefox 128 for developers
- Firefox 127 for developers
- Firefox 126 for developers
- Firefox 125 for developers
- Firefox 124 for developers
- Firefox 123 for developers
- Firefox 122 for developers
- Firefox 121 for developers
- Firefox 120 for developers
- Firefox 119 for developers
- Firefox 118 for developers
- Firefox 117 for developers
- Firefox 116 for developers
- Firefox 115 for developers
- Firefox 114 for developers
- Firefox 113 for developers
- Firefox 112 for developers
- Firefox 111 for developers
- Firefox 110 for developers
- Firefox 109 for developers
- Firefox 108 for developers
- Firefox 107 for developers
- Firefox 106 for developers
- Firefox 105 for developers
- Firefox 104 for developers