Firefox Tomorrow

TL;DR

10 new features, 3 fixes, 49 other changes. Highlight: Firefox Home (New Tab) has a fresh, new look and feel. The layout and design will enable upcoming features, from widgets to shortcuts imp…

New 10 items
  1. 01

    Firefox Home (New Tab) has a fresh, new look and feel. The layout and design will enable upcoming features, from widgets to shortcuts improvements, launching between 151 and 152. Included are some new and exciting Wallpapers, such as the one below. Use the pencil icon in the lower right to check them out.

  2. 02

    Private Browsing Mode now allows you to instantly clear all data from your current session without closing the entire window. When you select the End Private Session button (the fire icon) to the right of the URL bar, Firefox will ask you to confirm to clear your session. Once confirmed, it will wipe all of your private browsing data and open a fresh new Private Browsing Mode session for you.

  3. 03

    Firefox now strengthens protection against fingerprinting in Standard Enhanced Tracking Protection , making it harder for websites to track you across sites by limiting the amount of information revealed about your device and browser. This reduces the number of users uniquely identifiable by common fingerprinting techniques by an average of ~14%, and by ~49% on macOS.

  4. 04

    You can now merge multiple PDFs directly in Firefox PDF. Combine separate PDF files into a single document without ever leaving Firefox or relying on third-party tools.

  5. 05

    The Translations page (about:translations) is now accessible through the More Tools section of the Application Menu.

  6. 06

    Local Firefox profile backups are now available on Linux in addition to Windows, and you can restore them across platforms.

  7. 07

    On macOS, URLs copied from iOS devices using Apple’s Universal Clipboard now paste correctly in Firefox.

  8. 08

    On macOS, dropdown menus on web pages now use the native macOS menu style, matching the look and behavior of the rest of the system.

  9. 09

    Address Autofill is enabled for users in the Netherlands.

  10. 10

    Firefox’s built-in VPN now lets you choose your browsing location, giving you more control over how and where your traffic appears online. You can select from available countries or use Recommended to automatically choose the best connection for your network. 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.

Fixed 3 items
  1. 01

    Fixed incorrect screen resolution reporting to websites in multi-monitor setups.

  2. 02

    Fixed an issue on macOS where maximized Firefox windows could reopen on the wrong monitor after relaunching in multi-monitor setups.

  3. 03

    Improved color management for copied and pasted images on macOS.

Changed 3 items
  1. 01

    The search bar in Firefox Settings (about:preferences) is now larger and spans the full width of the settings content area, making it easier to find options.

  2. 02

    Extensions and Themes installed in a Firefox Desktop profile directory will be restored successfully after the profile directory is moved or restored to a different location or a different operating system.

  3. 03

    Geolocation on Windows now respects the user's Windows location permission setting, instead of overriding it, when the user grants location permission to a page. Firefox will ask users to enable the Windows permission if it is needed.

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

Developer 12 items
  1. 01

    Developer Information

  2. 02

    With the release of Firefox 151, we are pleased to welcome the developers who contributed their first code change to Firefox in this release, 37 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: Allison Embrey: 1938268

  3. 03

    The webRequest.onErrorOccurred event now falls back to NS_ERROR_NET_ON_RECEIVING_FROM instead of a string starting with NS_ERROR_NET_ON_ or NS_ERROR_NET_UNKNOWN_ . This change is part of performance and reliability improvements to the onErrorOccurred event. ( Firefox bug 1881986 )

  4. 04

    tabs.group() and tabs.ungroup() now correctly add and remove a split view when a call includes one of the split view's tabs. Previously, a call would fail or separate the split view. ( Firefox bug 2029099 )

  5. 05

    tabs.move() now correctly moves a split view to the right when a call includes one of the split view's tabs. Previously, a call moved a split view only to the left or to the end of the tab list. ( Firefox bug 2027855 )

  6. 06

    @container style() range syntax queries : layout.css.attr.enabled The @container CSS at-rule style() queries now supports the range syntax . This allows you to check if a container has a valid CSS custom property and compare its value with comparison operators like > , < , >= , and <= and apply styles to its children accordingly. ( Firefox bug 2024601 ).

  7. 07

    field-sizing property : layout.css.field-sizing.enabled The field-sizing CSS property lets you control the sizing behavior of form control elements. This property has two values: content allows elements to adjust in size to fit their content, and fixed sets a fixed size on elements. ( Firefox bug 1977176 ).

  8. 08

    Disable MathML href on non- <a> elements : mathml.href_link_on_non_anchor_element.disabled When enabled, the href global attribute no longer creates a hyperlink on MathML elements other than <a> , matching the MathML Core specification . ( Firefox bug 2026848 ).

  9. 09

    Fix for nested scrollable areas : layout.css.fake-webkit-scrollbar.enabled This implementation has been added in order to fix an issue where scrollable content was unreachable. If a scrollbar is set to display: none; or width: 0; then the scrollbars of nested scrollable areas would be stacked on top of each other meaning that some of the content may well be unreachable. ( Firefox bug 1977511 ).

  10. 10

    <timeline-range-name> values : layout.css.scroll-driven-animations.enabled The animation-range-start , animation-range-end CSS properties and animation-range shorthand property now support <timeline-range-name> values. These <timeline-range-name> values allow you to precisely state which segment that a scroll driven animation will take place within. ( Firefox bug 1804775 ).

  11. 11

    GeometryUtils methods: convertPointFromNode() , convertRectFromNode() , and convertQuadFromNode() : layout.css.convertFromNode.enabled The GeometryUtils methods: convertPointFromNode() , convertRectFromNode() , and convertQuadFromNode() are no longer enabled by default in Firefox Nightly. ( Firefox bug 2026051 ).

  12. 12

    GeometryUtils methods: getBoxQuads() : layout.css.getBoxQuads.enabled The GeometryUtils methods: getBoxQuads() is no longer enabled by default in Firefox Nightly. ( Firefox bug 2026051 ).

Web Platform 32 items
  1. 01

    You can now manage microcontrollers that support serial communications in Firefox via the Web Serial API . This lets you program microcontrollers and development boards, such as ESP devices, Raspberry Pi Picos, 3D printers, CNC machines, and other devices. Web Serial can be used in Extensions, but not from moz-extension contexts at this time.

  2. 02

    Local network access restrictions are now rolling out to all users. Firefox requires websites to request permission before connecting to devices on your local network or to apps and services on your device. Previously, this protection was limited to users with Enhanced Tracking Protection set to Strict. 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.

  3. 03

    The new Fullscreen Keyboard Lock API adds an optional argument to requestFullscreen that allows websites to request that while fullscreen, pressing the Escape key will no longer exit fullscreen (instead, a long-press is required), and certain formerly-reserved browser hotkeys are allowed to be default-prevented.

  4. 04

    Firefox improves the rendering of absolutely positioned elements across multi-column containers and when printing, producing more accurate positioning and fragmentation.

  5. 05

    @container rules now allow specifying a list of container query conditions rather than a single condition.

  6. 06

    Firefox now supports container style queries , allowing styles to be applied to an element based on the computed values of its container's custom properties. This can be done by using one or more style() functions inside @container rules.

  7. 07

    A new CSSContainerRule.conditions property was introduced, holding an array of all container query conditions. This new property is intended to replace CSSContainerRule.containerName and CSSContainerRule.containerQuery , which only supported a single name and query, making them deprecated.

  8. 08

    Updated the behavior of implicit anchors in CSS Anchor Positioning . The position-anchor property now defaults to normal . When using position-area , implicit anchors are applied automatically, while popovers using anchor() or anchor-center now require position-anchor: auto to opt in.

  9. 09

    Firefox now supports the Document Picture-in-Picture API , which allows web pages to place content in an always-on-top popup.

  10. 10

    Temporary site permissions are now correctly reflected in the Permissions API .

  11. 11

    Firefox now supports the declarative definition of slot assignment behavior for shadow roots.

  12. 12

    The shadowrootslotassignment attribute is now supported on <template> elements, allowing declarative definition of slot assignment behavior for shadow roots. The attribute is reflected in JavaScript by ShadowRoot.slotAssignment or HTMLTemplateElement.shadowRootSlotAssignment ( Firefox bug 2031295 , Firefox bug 2023824 ).

  13. 13

    The @container CSS at-rule supports style() queries. This allows you to check if a container has a valid CSS declaration, a CSS property, or a custom property, and apply styles to its children accordingly. ( Firefox bug 2016929 , ( Firefox bug 2019254 ), ( Firefox bug 2024601 ), Firefox bug 2030645 ).

  14. 14

    The position-anchor CSS property now supports the normal (default) value. This allows the matching of the position-area property, so if the position-area property updates the position-anchor property will also. ( Firefox bug 2030351 ).

  15. 15

    The Sanitizer.replaceElementWithChildren() method now returns false if the element to be replaced is <svg> in the SVG namespace or <math> in the MathML namespace (joining <html> , which was disallowed in Firefox 150 ). ( Firefox bug 2032359 ).

  16. 16

    The Document Picture-in-Picture API is now supported on desktop platforms. This makes it possible to open an always-on-top window that can be populated with arbitrary HTML content. It can be used to display any content that a user might want to view separate from the launching page (or even the browser), such as a set of streams showing the participants of a video conference call, a stock ticker, or a countdown timer. ( Firefox bug 2006594 ).

  17. 17

    The CanvasRenderingContext2D.lang property is supported for setting the language of the canvas drawing context. While a DOM canvas can inherit this context from the lang attribute of its associated <canvas> element, this is useful for setting the context for an offscreen canvas, which may be rendered before being associated with a <canvas> . ( Firefox bug 1943070 ).

  18. 18

    The options.keyboardLock property can now be passed as an option to Element.requestFullscreen() , allowing websites to request keyboard lock when the element is displayed in fullscreen mode. This stops the Esc key from causing the element to leave fullscreen (a long-press is required instead), and some formerly-reserved browser hotkeys can now be intercepted and their default action prevented. ( Firefox bug 2032302 ).

  19. 19

    The maxStorageBuffersInFragmentStage , maxStorageBuffersInVertexStage , maxStorageTexturesInFragmentStage , and maxStorageTexturesInVertexStage properties on GPUSupportedLimits are now partially supported. These properties report the value of the maxStorageBuffersPerShaderStage and maxStorageTexturesPerShaderStage limits. When creating a device, requested values for the In Stage limits are ignored. ( Firefox bug 2006720 ).

  20. 20

    The CSSContainerRule.conditions property is now supported, mirroring @container at-rule support for multiple comma-separated container conditions. The condition property reflects a corresponding @container as an array of objects, where each object represents a single container condition. ( Firefox bug 2022827 ).

  21. 21

    The Web Serial API is supported on desktop platforms, allowing the control of microcontrollers that support serial communications. This lets you, for example, program microcontrollers and development boards, such as ESP devices, BBCmicro:bit, and Raspberry Pi Picos, 3D printers and CNC machines, and other supported devices. Use of the API will require that website users install a synthetically generated site permission add-on — this is the same approach used to safely manage access to WebMIDI. ( Firefox bug 2029625 ).

  22. 22

    Added support for altitudeAngle and azimuthAngle to pointer actions of subtype touch . These properties allow simulating touch interactions with precise angular orientation data, specifying the angle at which a pointer contacts a surface and its rotational direction. ( Firefox bug 2022644 ).

  23. 23

    Fixed a bug where UnknownError DOM exceptions originating from content pages were incorrectly treated as internal WebDriver errors. ( Firefox bug 2032387 ).

  24. 24

    Implemented the browser.setClientWindowState command. This command allows clients to change the OS-level window state of a browser window, such as maximized, minimized, fullscreen, or normal. It also allows repositioning and resizing the window. ( Firefox bug 1855028 ).

  25. 25

    Added support for worker realms (for dedicated, shared and service workers) in the script.getRealms command. The command now returns realm information for worker scripts in addition to window contexts. ( Firefox bug 2016097 ).

  26. 26

    Included the top-most stack frame in log.entryAdded events for all Console API messages. ( Firefox bug 1941813 ).

  27. 27

    Improved the text field of the log.entryAdded event to better align with Firefox DevTools behavior and Google Chrome WebDriver BiDi implementation. ( Firefox bug 2005054 ).

  28. 28

    Fixed network event cookies to include all properties, not just name and value . ( Firefox bug 1887118 ).

  29. 29

    Fixed the network.getData command timing out for redirects. ( Firefox bug 2009916 ).

  30. 30

    Fixed the browsingContext.reload command not resetting the location of a navigated iframe. ( Firefox bug 2023917 ).

  31. 31

    Removed the empty proxy capability from the session.new command response when no proxy is specified. ( Firefox bug 1916463 ).

  32. 32

    Enabled browser window repositioning on Linux Wayland in headless mode. ( Firefox bug 2023978 ).