Firefox 129 for developers

This article provides information about the changes in Firefox 129 that affect developers. Firefox 129 was released on August 6, 2024.

Changes for web developers

CSS

JavaScript

HTTP

  • HTTPS DNS records can now be resolved using the operating system's DNS resolver on Windows 11, Linux, and Android 10+. This ensures that DNS over HTTPS (DoH) will be used if a user has enabled it on the device, even if it is not enabled in the browser. This feature allows the use of HTTP/3 without needing to use the Alt-Svc header and enables automatic upgrade of HTTP requests to HTTPS when the HTTPS DNS record is present. Most importantly, it now allows the use of Encrypted Client Hello (ECH) privacy feature even when DoH is only enabled on the device, not in the browser. (Firefox bug 1906239).

APIs

Removals

WebDriver conformance (WebDriver BiDi, Marionette)

Removals

  • By default CDP (Chrome DevTools Protocol) is now disabled. It can be re-enabled via the remote.active-protocols preference. You can learn more about this on the following blog post. (Firefox bug 1882089)

WebDriver BiDi

  • Added support for the network.setCacheBehavior command, which allows to configure the browser to bypass the network cache either globally or for a set of top level browsing contexts. (Firefox bug 1901032 and Firefox bug 1906100)
  • Added support for prompts of type beforeUnload which can now be handled in the same way as other user prompts. (Firefox bug 1824220)
  • We now support all arguments for the network.provideResponse command when used in the beforeRequestSent phase, such as the body parameter which allows to return mock responses. (Firefox bug 1853882)
  • The browsingContext.userPromptOpened now includes the handler field which contains the user prompt handler configured for the prompt which triggered the event. (Firefox bug 1904822)
  • The BrowsingContextInfo type will now provide an originalOpener field which is the context id of the "opener" browsing context. This will be set for instance if the new context was created by using a link (even with rel=noopener), window.open etc. If the new browsing context has no relevant opener, the field will be set to null. (Firefox bug 1898004)
  • Network events (beforeRequestSent, responseStarted and responseCompleted) are now created for requests to data URLs. In Firefox 129, only navigation requests will be listed. (Firefox bug 1805176)
  • We added support for the promptUnload argument for browsingContext.close, which allows to bypass "beforeunload" prompts when closing a context via this command. (Firefox bug 1862380)
  • Fixed a bug in network.continueRequest where you could not set multiple values for the same header. (Firefox bug 1904379)
  • Fixed a bug for the unhandledPromptBehavior capability, which could not be used with BiDi only sessions. (Firefox bug 1907935)
  • Fixed a bug with session.end and browser.close which would unexpectedly fail when no Marionette client was connected. (Firefox bug 1890091)
  • Fixed a bug with browsingContext.navigate which would fail to resolve if a same-document navigation started on "beforeunload". (Firefox bug 1879163)
  • Improved the browser.close command to discard all "beforeunload" prompts when closing the top-level browsing contexts. (Firefox bug 1873196)
  • Fixed a bug in the browsingContext.userPromptOpened event, which would unexpectedly miss the defaultValue field (Firefox bug 1859814)
  • Fixed an issue with the network.responseCompleted event during authentication flows, which was emitted too many times compared to the specifications. Only one responseCompleted (or fetchError) event is expected for the whole HTTP authentication flow. (Firefox bug 1906106)
  • Improved the browser.removeUserContext command to skip all "beforeunload" prompts. (Firefox bug 1876062)

Older versions