Firefox Tomorrow

TL;DR

8 new features, 4 fixes, 54 other changes. Highlight: Address autofill has been enabled for users in Switzerland.

New 8 items
  1. 01

    Address autofill has been enabled for users in Switzerland.

  2. 02

    WebGPU support is now enabled for devices with Apple Silicon processors on all supported macOS versions.

  3. 03

    Improved video playback performance on systems with AMD GPUs by enabling zero-copy playback for hardware-decoded video where supported, bringing them to parity with Intel and NVIDIA GPUs.

  4. 04

    Firefox now supports the Safe Browsing V5 protocol and is migrating from Safe Browsing V4 to the local list mode of Safe Browsing V5 protocol.

  5. 05

    Users with Enhanced Tracking Protection (ETP) set to Strict will have local network access restrictions enabled by default. Firefox will now require users to explicitly allow public websites to access local network resources. 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.

  6. 06

    Firefox now allows you to customize your keyboard shortcuts to replace hard-to-type or hard-to-remember hotkeys, eliminate conflicts with other software, and create your preferred set. Access this experimental new feature by typing about:keyboard in the address bar and please share your feedback with us on Mozilla Connect !

  7. 07

    Firefox now supports the Freedesktop.org XDG Base Directory Specification .

  8. 08

    A Picture-in-Picture player window can now optionally be opened automatically for a video playing in a tab when that tab goes into the background. A special thanks to volunteer Daniele Ferla for contributing this feature!

Fixed 4 items
  1. 01

    Fixed an issue that prevented some Windows users from selecting a tab when the cursor was at the top of the screen and the Firefox window was maximized.

  2. 02

    Fixed a bug that made HTTP/3 requests containing non-UTF-8 header values time out or fall back to HTTP/2 after a while.

  3. 03

    A draggable button can now be dragged if initiated from the button itself.

  4. 04

    For Linux GNOME Mutter users, window and rendering surface sizes were updated to match the actual pixel grid so Firefox delivers sharp rendering on fractionally scaled displays regardless of the actual window size.

Changed 1 item
  1. 01

    Firefox now uses the same quality values (q-values) in Accept-Language headers as other major browsers. The second language preference is now sent as q=0.9 instead of q=0.5, with subsequent language preferences decreasing by 0.1 each (minimum 0.1). This change fixes compatibility issues with some servers that incorrectly rejected requests with lower quality values.

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 147 Release Notes .

Developer 8 items
  1. 01

    Developer Information

  2. 02

    View Transitions: View transition pseudo-elements now appear in the elements panel and the associated animations appear in the animations panel.

  3. 03

    Anchor positioning: Elements with a valid anchor-name are given an 'anchor' badge in the elements view, and @position-try CSS rules are now displayed in the CSS rules panel when an element using position-try-fallbacks is selected.

  4. 04

    The JSON viewer now has a button to import the resource into Firefox Profiler to get a breakdown of its size.

  5. 05

    Pseudo-element selectors can now be added/edited in the CSS rules panel.

  6. 06

    With the release of Firefox 147, we are pleased to welcome the developers who contributed their first code change to Firefox in this release, 14 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: [:Joe Cardoso] Loan de Deus Vieira Cardoso: 1730474 , 1897620

  7. 07

    When using navigator.clipboard.readText() or navigator.clipboard.read() without the clipboardRead permission, a clipboard paste button is displayed to obtain user confirmation. If the extension has clipboardRead permission, it continues to read the clipboard data without user confirmation, as before. For more information on working with the clipboard in extensions, see Interact with the clipboard . ( Firefox bug 1773681 )

  8. 08

    Temporarily loaded Manifest Version 3 extensions can now load scripts from localhost, as explained in Scripts from localhost in the Content Security Policy article. ( Firefox bug 1864284 )

Web Platform 43 items
  1. 01

    Added support for the Navigation API . This API provides the ability to initiate, intercept, and manage browser navigation actions. It is a successor to previous web platform features such as the History API and window.location , which solves their shortcomings.

  2. 02

    The Unicode ICU library was updated to release 78 , bringing support for Unicode 17 and new locales.

  3. 03

    ES modules in service workers are now supported, aligning Firefox with other major browsers and improving compatibility for modern web apps.

  4. 04

    Support for CSS Module Scripts was added, allowing stylesheets to be imported using the JavaScript module system and import attributes.

  5. 05

    The CSS counter-* and quotes properties are now supported in the ::marker pseudo-element.

  6. 06

    Both CompressionStream and DecompressionStream now support the Brotli format.

  7. 07

    Firefox now supports the :active-view-transition-type selector and associated View Transitions API changes.

  8. 08

    Firefox now exposes the view transition currently active on the document via the Document.activeViewTransition property.

  9. 09

    Support for CSS anchor positioning was added, enabling tethering elements. The anchor-positioned elements can then have their size and position set relative to the anchor elements to which they are bound.

  10. 10

    Firefox now supports Storage-Access-Headers, allowing servers to opt into unpartitioned cookies via HTTP headers if storage-access was granted prior to the Storage Access API .

  11. 11

    Implemented CSS root-font-relative units rcap , rch , rex and ric .

  12. 12

    When you select a pseudo-element (such as ::before or ::after ) in the HTML pane of the Inspector, you can now edit the selector of the corresponding rule in the CSS pane. ( Firefox bug 1998704 ).

  13. 13

    During a view transition, ::view-transition pseudo-elements now appear in the elements view. ( Firefox bug 1996608 ).

  14. 14

    During a view transition, the associated animations now appear in the animations panel. ( Firefox bug 1995296 ).

  15. 15

    Elements with a valid anchor-name get an 'anchor' badge in the elements view. ( Firefox bug 1895196 ).

  16. 16

    A highlighted element's associated @position-try rules are now displayed in the CSS rules panel. ( Firefox bug 1895176 ).

  17. 17

    JSON payloads can be imported into Firefox Profiler from the JSON viewer using a new button. This provides a breakdown of the size of the resource. ( Firefox bug 1997209 ).

  18. 18

    When an SVG file is used as an image source (for example, embedded into a page via an <img> element or as a CSS background-image ), the SVG URL now supports media fragments . ( Firefox bug 1999989 ). This means that:

  19. 19

    When the SVG includes a SMIL animation , you can use temporal dimension syntax to play a portion of the animation from a specific start time to a specific end time, after which the animation will pause.

  20. 20

    You can use spatial dimension syntax to display a specific area of the SVG document.

  21. 21

    CSS anchor positioning is now enabled by default. ( Firefox bug 1988225 ).

  22. 22

    The anchor-center value, which provides a convenient way to center an anchor-positioned element on its anchor, was added in version 147. It is available on the align-items , align-self , justify-items , justify-self , place-items , and place-self properties. ( Firefox bug 1909339 )

  23. 23

    The position-anchor value none was added in version 147, which enables an implicit or explicit association between a CSS anchor and an anchor-positioned element to be removed. ( Firefox bug 1999972 ).

  24. 24

    The -webkit- prefixed version of the perspective property is now supported with unitless values — for example -webkit-perspective: 800 — for increased compatibility. ( Firefox bug 1362499 ).

  25. 25

    View transition types are now supported, which provide a mechanism by which different types can be specified for active view transitions. CSS can then be used to apply animations to DOM elements when their content updates, depending on the transition type specified. Firefox 147 adds support for single-page app (SPA) view transition types only, not cross-document view transition types. ( Firefox bug 2001878 ).

  26. 26

    The counter-increment , counter-reset , counter-set , and quotes properties are now supported on the ::marker pseudo-element. ( Firefox bug 2000404 ).

  27. 27

    The following relative length units based on root element's font are now supported: rcap , rch , rex , and ric . These units allow you to define <length> values based on the size of a particular character or font attribute of the root element. ( Firefox bug 1740584 ).

  28. 28

    CSS module scripts are now supported, allowing a stylesheet to be loaded into a script as a CSSStyleSheet instance using the import keyword and the type import attribute set to type="css" . ( Firefox bug 1986681 ).

  29. 29

    The Iterator.concat() method is now supported. This method enables you to create a new iterator that combines multiple input iterables into a single sequence. ( Firefox bug 1986672 ).

  30. 30

    The Document.activeViewTransition property is now supported, which returns a ViewTransition instance representing the view transition currently active on the document. This provides a consistent way to access an active view transition in any context without having to manually store a reference to it for later use. ( Firefox bug 2001836 ).

  31. 31

    WebGPU API support is now enabled for all macOS versions on devices with Apple Silicon processors (previously only macOS Tahoe support was enabled). ( Firefox bug 1993341 ).

  32. 32

    The Navigation API is now supported. This provides the ability to initiate, intercept, and manage browser navigation actions, and to examine an application's history entries. This is a successor to previous web platform features such as the History API and window.location , which solves their shortcomings and is specifically aimed at the needs of single-page applications (SPAs) . ( Firefox bug 1997962 ).

  33. 33

    Brotli compression is now supported for both CompressionStream and DecompressionStream . ( Firefox bug 1921583 ).

  34. 34

    Service workers can now be ECMAScript module scripts . To load a service worker module, specify a type of 'module' when calling ServiceWorkerContainer.register() . ( Firefox bug 1360870 ).

  35. 35

    Fixed the new session response to include the required setWindowRect property. ( Firefox bug 1916522 ).

  36. 36

    Implemented the input.fileDialogOpened event, which is emitted whenever a file picker is triggered by the content page, for instance after clicking on an input with type="file" . ( Firefox bug 1855045 ).

  37. 37

    Implemented the emulation.setScreenSettingsOverride command to allow clients to emulate the screen dimensions for a list of browsing contexts or user contexts. ( Firefox bug 2000651 ).

  38. 38

    Fixed an issue where browsingContext.navigate with wait=none didn't always contain the real target URL. ( Firefox bug 2004191 ).

  39. 39

    Updated script.evaluate and script.callFunction to bypass Content Security Policy (CSP). ( Firefox bug 1941780 ).

  40. 40

    Fixed missing script.realmCreated event for new browsing contexts created via window.open . ( Firefox bug 2002721 ).

  41. 41

    Updated emulation.setLocaleOverride to override the Accept-Language header. ( Firefox bug 1995691 ).

  42. 42

    Updated emulation.setLocaleOverride to throw an error when called with the locale argument equal to undefined . ( Firefox bug 2003992 ).

  43. 43

    Fixed JSON serialization of Chrome Windows. ( Firefox bug 2000801 ).