- 01
Reader View now has an enhanced Text and Layout menu with new options for character spacing, word spacing, and text alignment. These changes offer a more accessible reading experience.
- 02
Reader View now has a Theme menu with additional Contrast and Gray options. You can also select custom colors for text, background, and links from the Custom tab.
- 03
A tab preview is now displayed when hovering the mouse over background tabs, making it easier to locate the desired tab without needing to switch tabs. This feature is part of a progressive roll out. What is a progressive roll out? Certain new Firefox features are released gradually. This means some users will see the feature before everyone does. This approach helps to get early feedback to catch bugs and improve behavior quickly, meaning more Firefox users overall have a better experience.
- 04
HTTPS is replacing HTTP as the default protocol in the address bar on non-local sites. If a site is not available via HTTPS, Firefox will fall back to HTTP.
- 05
HTTPS DNS records can now be resolved with the operating system's DNS resolver on specific platforms (Windows 11, Linux, Android 10+). Previously this required DNS over HTTPS to be enabled. This capability allows the use of HTTP/3 without needing to use the Alt-Svc header, upgrades requests to HTTPS when the DNS record is present, and enables wider use of ECH .
- 06
Added support for multiple languages in the same document spoken in macOS VoiceOver.
- 07
Address Autofill is now enabled for users in France and Germany.
- 01
Under certain conditions, copyrighted video served via digital rights management may experience playback issues ( bug 1911283 ). A patch is underway. For an immediate workaround, please complete the following steps: Go to about:config in the Awesomebar.
- 01
Various security fixes.
- 01
You can find information about policy updates and enterprise specific bug fixes in the Firefox for Enterprise 129 Release Notes .
- 01
Developer Information
- 02
Added support for more inactive CSS warnings, including cases where: The resize property is used incorrectly.
- 03
The Network Blocking feature in the Network panel now blocks HTTP requests in addition to blocking responses.
- 04
The Rules side panel in the Inspector panel now displays @starting-style rules. Additionally, there is a tooltip for the var() function, indicating the @starting-style CSS custom properties value.
- 05
The Rules side panel now shows the impact of invalid at computed-value time custom property declarations in the computed panel.
- 06
With the release of Firefox 129, we are pleased to welcome the developers who contributed their first code change to Firefox in this release, 9 of whom were brand new volunteers! Please join us in thanking each of these diligent and enthusiastic individuals, and take a look at their contributions: Anand Roy [:aroy]: 1894414 , 1902674
- 01
Added support for querying the encryption key system config in mediaCapabilities.decodingInfo() API.
- 02
Added support for Float16Array typed arrays along with new DataView methods for reading and setting Float16 values, and a Math.f16round() static method that can be used to round numbers to 16 bits. The new type is useful for sharing data with a GPU, in particular for use cases where it makes sense to trade off precision for memory consumption.
- 03
Added support for @starting-style . This at-rule allows to define styles that are applied to an element when it is first rendered, enabling transitions on elements that are added to the DOM or that have their display type changed from none to another value.
- 04
Added support for the transition-behavior CSS property. This property allows us to create a transition on discrete animated CSS properties.
- 05
Added support for the textInput event. This is a non-standardized API, however it is implemented by some web apps that use legacy libraries or frameworks. Please keep using beforeinput when developing new web apps.
- 06
Added support for DNS lookup of HTTPS Resource Records (RR) with the native DNS resolver, increasing HTTPS coverage and facilitating the use of Encrypted Client Hello (ECH) if present in HTTPS RR.
- 07
The @starting-style CSS at-rule is supported. This lets you define starting values for properties set on an element that you want to transition from when the element receives its first style update. Currently animating from display: none; is not supported ( Firefox bug 1834876 and Firefox bug 1834877 ).
- 08
The transition-behavior CSS property is supported. This lets you specify if discrete properties, such as display and overlay , can be transitioned by setting the value to allow-discrete . ( Firefox bug 1901645 ).
- 09
-webkit-font-feature-settings has been implemented as an alias of the standard font-feature-settings property ( Firefox bug 1595620 ).
- 10
Float16Array typed arrays are now supported, along with DataView.prototype.getFloat16() and DataView.prototype.setFloat16() for reading and setting Float16Array values from a DataView , and the Math.f16round() static method, which can be used to round numbers to 16 bits. The new type is useful for sharing data with a GPU, in particular for use cases where it makes sense to trade off precision for memory consumption. ( Firefox bug 1903329 .)
- 11
Regular expressions can now use the same name for named capturing groups in different disjunction alternatives . This is allowed because only one alternative in a disjunction will match, so a name declared in several alternatives can only reference one captured group. The names must still be unique within a particular alternative, and across the rest of the pattern. ( Firefox bug 1903288 .)
- 12
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 ).
- 13
The deprecated textInput event is now supported, enabling web apps that use legacy libraries or frameworks that rely on these events. The beforeinput event supersedes textInput , and should always be used by new applications. ( Firefox bug 1901923 .)
- 14
The default .toJSON() methods GeolocationCoordinates.toJSON() and GeolocationPosition.toJSON() are now supported, enabling serialization of GeolocationCoordinates and GeolocationPosition objects with JSON.stringify() ( Firefox bug 1890706 ).
- 15
CSSPageDescriptors is now supported, and is used as the type for CSSPageRule.style instead of CSSStyleDeclaration — matching the current specification. This ensures that CSSPageDescriptors only exposes the @page related properties, rather than all properties, and also resolves an issue where setting the page size in a CSS @page at-rule was not reflected in CSSPageRule.style . ( Firefox bug 1890842 , Firefox bug 1867106 .)
- 16
MediaCapabilities.decodingInfo() can now get decoding information for a particular encrypted media configuration as well unencrypted media, allowing applications to tell ahead of time if the configuration is supported, and whether it will play the content smoothly and be power efficient. Changes include a new property keySystemConfiguration on the method's configuration argument that defines the properties of the key system used to encrypt the media, and a new keySystemAccess property on the returned object, which is a MediaKeySystemAccess object that can be used to create keys and decode the content for playback. ( Firefox bug 1898344 ).
- 17
Firefox now fires events for a synchronous XMLHttpRequest before firing the events for any ongoing asynchronous XMLHttpRequest . This fixes a long-standing behavioral difference with other browsers. Note that while this should fix some sites, it may also cause degraded performance on sites that expect the old "non-blocking" behavior for a synchronous XMLHttpRequest . Please file a bug if your website should have been fixed by this change but still appears to have related issues. ( Firefox bug 697151 .)
- 18
The Ed25519 digital signature algorithm is supported by the Web Crypto API , and can be used in the SubtleCrypto methods: sign() , verify() , generateKey() , importKey() and exportKey() ( Firefox bug 1804788 ).
- 19
The contentType and responseStatus properties of the PerformanceResourceTiming interface are now supported, indicating the content type of the fetched resource and the HTTP response status code returned when fetching the resource, respectively. ( Firefox bug 1800443 , Firefox bug 1796785 .)
- 20
The RTCDTMFSender.canInsertDTMF property is now supported. It enables you to check whether a WebRTC sender can insert DTMF tones into the outgoing connection. If supported, you can insert DTMF tones by using RTCDTMFSender.insertDTMF() . ( Firefox bug 1623193 ).
- 21
The Navigator.vibrate() method has been removed ( Firefox bug 1653318 , Firefox bug 1900037 ).
- 22
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 )
- 23
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 )
- 24
Added support for prompts of type beforeUnload which can now be handled in the same way as other user prompts. ( Firefox bug 1824220 )
- 25
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 )
- 26
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 )
- 27
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 )
- 28
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 )
- 29
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 )
- 30
Fixed a bug in network.continueRequest where you could not set multiple values for the same header. ( Firefox bug 1904379 )
- 31
Fixed a bug for the unhandledPromptBehavior capability, which could not be used with BiDi only sessions. ( Firefox bug 1907935 )
- 32
Fixed a bug with session.end and browser.close which would unexpectedly fail when no Marionette client was connected. ( Firefox bug 1890091 )
- 33
Fixed a bug with browsingContext.navigate which would fail to resolve if a same-document navigation started on "beforeunload". ( Firefox bug 1879163 )
- 34
Improved the browser.close command to discard all "beforeunload" prompts when closing the top-level browsing contexts. ( Firefox bug 1873196 )
- 35
Fixed a bug in the browsingContext.userPromptOpened event, which would unexpectedly miss the defaultValue field ( Firefox bug 1859814 )
- 36
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 )
- 37
Improved the browser.removeUserContext command to skip all "beforeunload" prompts. ( Firefox bug 1876062 )