Firefox Tomorrow
Stable 132.0

Firefox 132.0

Tuesday, October 29, 2024 53 changes 6 categories

TL;DR

6 new features, 47 other changes. Highlight: Microsoft PlayReady encrypted media playback is now being rolled out to select sites on Windows. Through this support, we are gradually r…

New 6 items
  1. 01

    Microsoft PlayReady encrypted media playback is now being rolled out to select sites on Windows. Through this support, we are gradually rolling out a 1080p baseline and 4K Ultra HD support with key streaming partners. An added benefit is that viewers get less battery drain and better performance when streaming their favorite movies and shows. 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.

  2. 02

    Wide Color Gamut WebGL is now available for Windows and macOS users! With this support, Firefox is bringing a richer, more vivid range of colors to the videos, games, and images on your screen. This implementation currently supports wider color (P3) profiles in 8-bit.

  3. 03

    WebRender hardware accelerated rendering is now enabled for most SVG filter primitives, improving performance for certain graphics-heavy content. Accelerated filters are feBlend, feColorMatrix, feComponentTransfer, feComposite, feDropShadow, feFlood, feGaussianBlur, feMerge and feOffset.

  4. 04

    Added support for macOS’ new screen and window sharing selection features on macOS 15 and later. Support for macOS 14 will be added in a future release.

  5. 05

    The macOS session resume feature has been enhanced. Firefox will now automatically relaunch if it was open before a system restart, like after an OS update.

  6. 06

    Firefox now blocks third-party cookie access when Enhanced Tracking Protection's Strict mode is enabled.

Changed 2 items
  1. 01

    As a follow-up to our work to upgrade mixed content starting with Firefox 127, HTTP-favicons will now also be blocked if they can not be received over HTTPS instead.

  2. 02

    The Copy Without Site Tracking option is now grayed out when no known tracking parameters are found within the link. Additionally, more tracking parameter support has been added for websites such as LinkedIn and Shopee. Please report tracking parameters that aren't removed by filing a bug in Bugzilla.

Security 1 item
  1. 01

    Various security fixes.

Enterprise 1 item
  1. 01

    You can find information about policy updates and enterprise specific bug fixes in the Firefox for Enterprise 132 Release Notes .

Developer 17 items
  1. 01

    Developer Information

  2. 02

    Support for HTTP/2 Push has been removed due to compatibility issues with various sites. This feature is not currently supported by any other major browser.

  3. 03

    Console logging in service workers is now functional again. The console.log API can be used within active service workers and the output inspected in the Console panel of the Developer Tools toolbox.

  4. 04

    Support for debugging remote devices via USB has also been restored. Simply go to about:debugging , plug in your phone using a USB cable, and refresh the device list. The phone will now appear correctly in the list.

  5. 05

    With the release of Firefox 132, we are pleased to welcome the developers who contributed their first code change to Firefox in this release, 7 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: Biswapriyo Nath [:biswa96]: 1920567

  6. 06

    Cookie Store API: dom.cookieStore.enabled . The Cookie Store API is a modern, Promise -based method of managing cookies that does not block the event loop and does not rely on Document (it can therefore be made available to service workers ). As of Firefox 132, a subset of the Cookie Store API has been implemented. ( Firefox bug 1800882 ). This includes:

  7. 07

    The CookieStore interface, but partitioned is not included in return values.

  8. 08

    The CookieChangeEvent interface, excluding partitioned properties.

  9. 09

    The Window.cookieStore property.

  10. 10

    The ServiceWorkerGlobalScope.cookieStore property.

  11. 11

    The fetch() keepalive option: dom.fetchKeepalive.enabled . The global fetch() method has a keepalive initialization option. When keepalive is set to true , the browser will not abort the associated request if the page that initiated it is unloaded before the request is complete. This enables a fetch request to function as an alternative to Navigator.sendBeacon() when sending analytics at the end of a session, which has some advantages (you can use HTTP methods other than POST , customize request properties, and access the server response via the fetch Promise fulfillment). It is also available in service workers . ( Firefox bug 1906952 ).

  12. 12

    CloseWatcher : dom.closewatcher.enabled . The CloseWatcher interface enables developers to implement components that can be closed using device-native mechanisms, in the same way as built-in components. For example, on Android you can close a dialog using the back button: this interface allows you to similarly close a custom sidebar. ( Firefox bug 1888729 ).

  13. 13

    Promise.try() : javascript.options.experimental.promise_try . Promise.try() is a convenience method that takes a callback of any kind (returns or throws, synchronously or asynchronously) and wraps its result in a Promise so that promise semantics (e.g., .then() , .catch() ) can be used to handle it ( Firefox bug 1905364 ).

  14. 14

    JSON.parse with source : javascript.options.experimental.json_parse_with_source . The JSON.parse source text access proposal extends JSON.parse behavior 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 1913085 , Firefox bug 1925334 ). Specifically, the following features are now available:

  15. 15

    The JSON.parse() reviver parameter context argument : Provides access to the original JSON source text that was parsed.

  16. 16

    JSON.isRawJSON() : Tests whether a value is an object returned by JSON.rawJSON() .

  17. 17

    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.

Web Platform 26 items
  1. 01

    Added support for a post-quantum key exchange mechanism for TLS 1.3 (mlkem768x25519) which secures communications against advanced / long-term threats.

  2. 02

    Added support for Certificate Compression which reduces the size and increases the speed of a TLS handshake.

  3. 03

    Text directionality computation has been updated to follow the latest model defined in the HTML specification, improving interoperability with other web browsers.

  4. 04

    The requestVideoFrameCallback() method is now available on the HTMLVideoElement interface. This method enables developers to perform efficient operations on each video frame.

  5. 05

    The getCapabilities method allows applications to gather the media capabilities supported for the live MediaStreamTrack.

  6. 06

    The fetchpriority attribute enables web developers to optimize resource loading by specifying the relative priority of resources to be fetched by the browser. It accepts three values: auto (default priority), low (lower priority), high (higher priority). It can be specified on script , link , img elements, on the RequestInit parameter of the fetch() method and Link response headers. The HTML specification leaves the detailed interpretation of this attribute up to implementers. Firefox will typically use it to increase or decrease the urgency parameter of HTTP/2 and HTTP/3 requests.

  7. 07

    The heuristic granting storage access for some window openings is now disabled.

  8. 08

    The text-emphasis-position property now supports the auto value to bring it inline with text-underline-position ( Firefox bug 1919658 ).

  9. 09

    CSS now supports the Nested declaration rule , which means that nested CSS is now parsed in the correct order ( Firefox bug 1918408 ).

  10. 10

    The -moz-user-modify CSS property has been removed. This property has been deprecated in favor of the contenteditable global attribute. ( Firefox bug 1920118 ).

  11. 11

    The (?ims-ims:...) regular expression modifiers allow you to make changes to only take effect in a specific part of a regex pattern. ( Firefox bug 1913752 & Firefox bug 1899813 ).

  12. 12

    The default/document value of the HTTP Accept header was changed to text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 . This removes image MIME types that sometimes caused compatibility issues, and aligns with the fetch specification and Safari. ( Firefox bug 1917177 ).

  13. 13

    HTTP/2 Server Push is deactivated by default with the preference network.http.http2.allow-push now set to false . This feature is no longer supported by any other major browser, and the implementation may be completely removed in a future release. ( Firefox bug 1915848 ).

  14. 14

    All third-party cookies are now blocked in Strict Enhanced Tracking Protection . ( Firefox bug 1918037 ).

  15. 15

    The drawingBufferColorSpace and unpackColorSpace properties of the WebGLRenderingContext and WebGL2RenderingContext interfaces are now supported. These specify the color space of the WebGL drawing buffer, and the color space to convert to when importing textures, respectively. ( Firefox bug 1885491 , Firefox bug 1885446 ).

  16. 16

    The Notification.silent property is now supported, which controls whether system notifications should be silent. When silent: true is specified in the Notification() constructor, the resulting system notification is issued without accompanying sounds or vibrations, regardless of device settings ( Firefox bug 1809028 ).

  17. 17

    The fetchpriority attribute of the <link> , <script> , and <img> elements, the fetchPriority property of the HTMLLinkElement , HTMLScriptElement , and HTMLImageElement interfaces, the options.priority parameter passed to the Request() constructor , and the fetchpriority directive in the HTTP Link header, are now supported. These allow developers to provide a hint about the relative priority for fetching a particular resource compared to other resources of the same type, and can be used alongside other ways of setting the priority, such as preloading. ( Firefox bug 1854077 ).

  18. 18

    The CSSNestedDeclarations interface and associated CSSNestedDeclarations.style property are now supported ( Firefox bug 1918408 ).

  19. 19

    The microphone and camera permissions can now be used in the Permissions.query() method to test whether access to the corresponding hardware has been granted, denied, or still requires user approval. ( Firefox bug 1609427 and Firefox bug 1915222 ).

  20. 20

    The requestVideoFrameCallback() and cancelVideoFrameCallback() methods of the HTMLVideoElement interface are now supported. The requestVideoFrameCallback() registers a callback function that runs when a new video frame is sent to the compositor. Developers can use this function to perform operations on each video frame, enabling more efficient painting to a canvas, video analysis, synchronization with external audio sources, and so on. The method returns a callback handle that can be passed to cancelVideoFrameCallback() in order to cancel the outstanding callback request. ( Firefox bug 1919367 , Firefox bug 1800882 ).

  21. 21

    The MediaStreamTrack.getCapabilities() method is now supported. This returns an object detailing the accepted values or value range for each constrainable property of the associated MediaStreamTrack ( Firefox bug 1179084 ).

  22. 22

    Implemented several improvements to make WebDriver BiDi commands more reliable when used during navigation or with newly created tabs. Previously commands such as browsingContext.setViewport were likely to fail due to an AbortError , they will now be retried a few times to avoid such issues. ( Firefox bug 1854942 , Firefox bug 1918287 , Firefox bug 1918672 , Firefox bug 1921756 )

  23. 23

    The browsingContext.contextCreated event is now correctly emitted for lazy-loaded frames. Previously the event would only be emitted when the iframe actually started loading its content. ( Firefox bug 1878166 )

  24. 24

    Network events are now correctly emitted for cached stylesheet requests. ( Firefox bug 1879438 )

  25. 25

    Network event timings were previously using the wrong unit and were provided in microseconds. They are now correctly set in milliseconds. ( Firefox bug 1916685 )

  26. 26

    The requestTime from network event timings should now be more accurate and really match the time where the request actually started. ( Firefox bug 1922390 )