Firefox Tomorrow
Stable 122.0

Firefox 122.0

Tuesday, January 23, 2024 49 changes 6 categories

TL;DR

6 new features, 43 other changes. Highlight: Firefox now displays images and descriptions for search suggestions when provided by the search engine.

New 6 items
  1. 01

    Firefox now displays images and descriptions for search suggestions when provided by the search engine.

  2. 02

    The translations feature received an improvement in the quality of translated webpages. The results should be much more stable. This fixes issues where the content of a page could disappear when translated, or interactive widgets could break.

  3. 03

    Firefox now supports creating and using passkeys stored in the iCloud Keychain on macOS.

  4. 04

    MDN Web Docs article suggestions from Firefox Suggest will be available in the address bar for users searching for web development-related information.

  5. 05

    The line breaking rules of Web content now match the Unicode Standard. This improves Web Browser compatibility for line breaking. An additional improvement for East Asian and South East Asian end users, Firefox now supports proper language-aware word selection when double-clicking on text for languages including Chinese, Japanese, Burmese, Lao, Khmer, and Thai.

  6. 06

    Firefox now ships with a new .deb package for Linux users on Ubuntu, Debian, and Linux Mint.

Changed 1 item
  1. 01

    Some machines with older AMD CPUs may see image thumbnails incorrectly rendered as all black in file dialogs. If this is the case, updating the graphics driver should address this issue.

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

Developer 10 items
  1. 01

    Developer Information

  2. 02

    Fixing keyboard navigation in Inspector Rules view. Starting with Firefox 122, when editing a selector, a property name, or a property value in the Inspector, the Enter key will no longer move the focus to the next input but will validate what was entered and focus the matching element ( #1861674 ). You can still use Ctrl + Enter (Cmd + Enter on macOS) or Tab to validate and move the focus to the next input.

  3. 03

    With the release of Firefox 122, we are pleased to welcome the developers who contributed their first code change to Firefox in this release, 10 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: AAR.dev: 1862505 , 1865895

  4. 04

    Declarative shadow DOM: dom.webcomponents.shadowdom.declarative.enabled . The <template> element now supports a shadowrootmode attribute which can be set to either open or closed , the same values as the mode option of the attachShadow() method. It allows the creation of a shadow DOM subtree declaratively. ( Firefox bug 1712140 )

  5. 05

    Clonable option and property for shadow DOM.

  6. 06

    The Element.attachShadow() method now supports the clonable boolean option that specifies whether the created shadow root is clonable: the default value is false but when set to true , the shadow host cloned with Node.cloneNode() or Document.importNode() will include shadow root in the copy.

  7. 07

    The ShadowRoot interface now supports the clonable read-only property. It returns true if the shadow root is clonable, and false otherwise. It always returns true for shadow roots created via declarative shadow DOM.

  8. 08

    Popover API: dom.element.popover.enabled . Displaying popovers on top of page content is now supported via HTML attributes or JavaScript API, including styling with the CSS :popover-open pseudo-class and extended support for the ::backdrop pseudo-element. See the Popover API reference for more details. ( Firefox bug 1823757 )

  9. 09

    Clipboard read and write: dom.events.asyncClipboard.clipboardItem , dom.events.asyncClipboard.readText and dom.events.asyncClipboard.writeText . The async Clipboard API is now fully supported, including read() , readText() , and write() methods and the ClipboardItem interface. A paste context menu will appear for the user to confirm when reading clipboard data not provided by the same-origin page. ( Firefox bug 1809106 )

  10. 10

    Intl.Segmenter : enabled by default only in Firefox Nightly. The Intl.Segmenter object allows accurate locale-sensitive text segmentation of a string. For example, to split a text into words in a language that doesn't use spaces to separate them: Intl.Segmenter("ja-JP", { granularity: "word" }) . ( Firefox bug 1423593 )

Web Platform 30 items
  1. 01

    Enabled the offset-position property which is useful for most of the offset-path values. Added support for ray() , basic-shape , coord-box to the offset-path CSS property. Added support for rect() and xywh() basic shapes on clip-path and offset-path CSS properties.

  2. 02

    Firefox now supports animating the SVG viewBox attribute using SMIL by animations . by animations are animations that are relative to the original value. Other attributes such as lengths and angles already support by , but a viewBox consists of four separate values.

  3. 03

    The LargestContentfulPaint API has been added, this provides timing information about the largest image or text paint before users interact with a web page.

  4. 04

    hr in select is now supported, allowing websites to easily use separators inside a select element.

  5. 05

    The showPicker method is now supported on <select> elements, this can be used to trigger the drop-down behavior via JavaScript.

  6. 06

    The fallback URL parser for unknown schemes was changed to DefaultURI , this improves specification adherence and web compatibility.

  7. 07

    Enabled the ArrayBuffer.prototype.transfer proposal methods, which enables transferring ownership of ArrayBuffer data.

  8. 08

    Firefox now recognizes the “webauthn” autocomplete token and will suggest passkeys in form autofill dialogs .

  9. 09

    Scripts can now store cacheAPI data in Private Browsing mode. Previously, user experience for someone browsing in private browsing mode could be significantly different than in regular mode. With these changes, websites can store cacheAPI data in Private Mode moving towards a uniform experience in regular vs Private Browsing mode.

  10. 10

    To further protect user privacy, Firefox now taints filters that use currentColor as an input. Since color can be set by the :visited pseudo selector, it potentially contains privacy-sensitive information and therefore these primitives must be marked as tainted. This means that if you use such a filter, you won’t be able to read the filter output from canvas.

  11. 11

    Uneven Level Protection Forward Error Correction (ULPFEC) will now be on by default in Firefox. This provides another tool for WebRTC services to utilize, improving video quality for users with spotty internet connections.

  12. 12

    <hr> elements are now allowed as children of <select> elements. This is a new feature that improves the readability of select lists with many options. ( Firefox bug 1830909 ).

  13. 13

    The type HTML attribute no longer has an effect if set to none , disc , circle or square in <ol> and no longer has an effect if set to 1 , a , A , i or I in <ul> . As type is a deprecated attribute for <ul> and <ol> lists, these should be styled with list-style-type CSS property instead. ( Firefox bug 1868087 ).

  14. 14

    The CSS offset-position property is now available by default. It defines the initial position of an element on a path. ( Firefox bug 1598152 )

  15. 15

    The various methods for defining a CSS offset-path — including <basic-shape> , <coord-box> , and url() — are now enabled by default. ( Firefox bug 1598159 )

  16. 16

    The CSS ray() function is now available by default. You can use this function to define an offset-path as a line segment that begins from an offset-position and extends in the direction of the specified angle. ( Firefox bug 1598151 )

  17. 17

    The clip-path and offset-path properties now accept rect() and xywh() shape functions. These <basic-shape> values allow the clipping and offsetting of elements with a rectangle defined by distance from the edge of the element ( rect() ) or coordinates and size ( xywh() ). ( Firefox bug 1868722 ).

  18. 18

    The ArrayBuffer.prototype.transfer() and ArrayBuffer.prototype.transferToFixedLength() methods can now be used to transfer ownership of memory from one ArrayBuffer to another. After transfer, the original buffer is detached from its original memory and hence unusable; the state can be checked using ArrayBuffer.prototype.detached . (See Firefox bug 1865103 for more details.)

  19. 19

    For parity with other browsers, Date.parse() and the Date() constructor only consider the first three letters of the specified month when non-standard date strings are parsed. Previously only truncated values of the full month name with three or more characters were accepted (See Firefox bug 1862910 for more details.)

  20. 20

    Removed support for data: URLs in SVG <use> elements and via the SVGUseElement interface to prevent XSS attacks. The legacy functionality may be re-enabled by setting the svg.use-element.data-url-href.allowed preference to true , although this is not recommended for security reasons ( Firefox bug 1806964 ).

  21. 21

    The LargestContentfulPaint API is now supported. This API is part of the Performance APIs and provides timing information about the largest image or text paint before users interact with a web page ( Firefox bug 1866266 ).

  22. 22

    The HTMLSelectElement.showPicker() method is now supported, allowing the browser picker for a <select> element to be programmatically launched when triggered by user interaction ( Firefox bug 1865207 ).

  23. 23

    Removed support for the CSS -moz-user-focus property ( Firefox bug 1871745 and Firefox bug 1868552 ).

  24. 24

    Fixed a bug that prevented Perform Actions to correctly synthesize double and other multi-click events for the mouse input source ( Firefox bug 1864614 ). Additionally, these events will only be emitted when the actual mouse position has not changed since the last click action ( Firefox bug 1681076 ).

  25. 25

    The definitions for the Pause and Equal (Numpad block) keys have been updated to align with the WebDriver specification ( Firefox bug 1863687 ).

  26. 26

    The serialization of WindowProxy remote objects now also works correctly for out-of-process iframes ( Firefox bug 1867667 ).

  27. 27

    The browsingContext.setViewport command now distinguishes between undefined and null as values for the viewport argument. If set to undefined , it signifies that the viewport should remain unchanged, while using null will reset it to its original dimensions ( Firefox bug 1865618 ).

  28. 28

    Support for the browsingContext.traverseHistory command has been introduced, enabling navigations backward and forward in the browser history ( Firefox bug 1841018 ).

  29. 29

    Fixed a bug in all supported network events where the context id consistently reported the top-level browsing context, even when the navigation occurred within an iframe ( Firefox bug 1869735 ).

  30. 30

    Fixed a bug with Get Element Text , where the command was incorrectly returning an empty text when the element was located within a ShadowRoot's slot ( Firefox bug 1824664 ).