Firefox 94 release

The Firefox 94 web browser has been released. In addition, an update of branches with a long support period - 91.3.0 has been formed. The Firefox 95 branch has been moved to the beta testing stage and is scheduled for release on December 7th.

Main innovations:

  • A new “about:unloads” service page has been implemented, on which the user can forcibly unload the most resource-intensive tabs from memory without closing them (the content will be reloaded when switching to a tab) to reduce memory consumption. The "about:unloads" page lists available tabs in order of preemption priority when out of RAM. The priority in the list is selected depending on the time the tab was accessed, and not on the basis of consumed resources. When you press the Unload button, the first tab from the list will be removed from memory, the next time you press it, the second one, and so on. It is not yet possible to displace a tab of your choice.
    Firefox 94 release
  • When first launched after installing the update, a new interface is launched to select six seasonal color themes, for which three levels of dark tint are offered, affecting the dark display of the content area, panels, and tab switching bar.
    Firefox 94 release
  • A regime of strict isolation of sites is proposed, which was developed within the framework of the Fission project. In contrast to the previously used random distribution of tab processing across the available process pool (8 by default), strict isolation mode moves the processing of each site into its own separate process, divided not by tabs, but by domains (Public Suffix). The mode is not activated for all users, the "about:preferences#experimental" page or the "fission.autostart" setting in about:config can be used to disable or enable it.

    The new mode provides more reliable protection against attacks of the Specter class, reduces memory fragmentation, and allows additional isolation of the contents of external scripts and iframes. returns memory to the operating system more efficiently, minimizes the impact of garbage collection and intensive calculations on pages in other processes, increases the efficiency of load distribution across different CPU cores, and improves stability (crash of the iframe process will not drag the main site and other tabs with it). The price is the overall increase in memory consumption with a large number of open sites.

  • Users are offered the Multi-Account Containers add-on with the implementation of the concept of contextual containers that can be used for flexible isolation of arbitrary sites. Containers provide the ability to isolate different types of content without creating separate profiles, which allows you to separate information from individual groups of pages. For example, you can create separate, isolated from each other, areas for personal communication, work, shopping and banking, or arrange for the simultaneous use of different user accounts on the same site. Each container uses separate storage for Cookies, Local Storage API, indexedDB, cache, and OriginAttributes content. Also, when using Mozilla VPN, you can use a different VPN server for each container.
    Firefox 94 release
  • Removed the request for confirmation of the operation when exiting the browser or closing the window through the menu and the button to close the window. Those. mistakenly pressing the "[x]" button in the window title now closes all tabs, including those with open editing forms, without a preliminary warning. After the session is restored, data in web forms is not lost. Pressing Ctrl+Q continues to display the warning. In the settings, this behavior can be changed (General panel / Tabs section / “Confirm before closing multiple tabs” parameter).
    Firefox 94 release
  • Builds for the Linux platform for graphics environments using the X11 protocol have a new rendering backend enabled by default, notable for using the EGL interface for graphics output instead of GLX. The backend supports open OpenGL drivers Mesa 21.x and proprietary NVIDIA 470.x drivers. AMD proprietary OpenGL drivers are not yet supported. The use of EGL solves problems with gfx drivers and allows you to expand the range of devices for which video and WebGL acceleration is available. The new backend is prepared by splitting the DMABUF backend originally created for Wayland, which allows frames to be rendered directly to GPU memory, which can be mapped to an EGL framebuffer and rendered as a texture when flattening web page elements.
  • Linux builds include a layer by default that solves clipboard issues in environments based on the Wayland protocol. The composition also includes changes related to the handling of pop-up windows (popup) in environments based on the Wayland protocol. Wayland requires a strict pop-up hierarchy, i.e. the parent window can create a child window with a popup, but the next popup initiated from that window must chain to the original child window. In Firefox, however, each window can spawn multiple popups that do not form a hierarchy. The problem was that when using Wayland, closing one of the popups requires rebuilding the entire chain of windows with other popups, while having several open popups is not uncommon, since popups implement menus, popups tooltips, add-on dialogs, permission requests, etc.
  • Reduced overhead when using the performance.mark() and performance.measure() APIs with a large number of analyzed metrics.
  • The rendering behavior during page loading has been changed to improve the performance of warm loading previously opened pages in lockdown mode.
  • To speed up the loading of pages, the priority of loading and displaying images has been increased.
  • The JavaScript engine slightly reduced memory consumption and improved the performance of property enumeration.
  • Improved garbage collector scheduling operations to improve page load times in some tests.
  • Reduced CPU usage during socket polling when handling HTTPS connections.
  • Accelerated storage initialization and reduced initial startup time by reducing I/O operations in the main thread.
  • When closing developer tools, more memory is freed up than before.
  • Support for the layer() function has been added to the @import CSS rule, which outputs definitions of the cascading layer specified using the @layer rule.
  • The structuredClone() function implements support for copying complex JavaScript objects.
  • For forms, the "enterkeyhint" attribute is implemented, which allows you to define the behavior when pressing the Enter key on the virtual keyboard.
  • The HTMLScriptElement.supports() method has been implemented, with which you can check whether the browser supports certain types of scripts, such as JavaScript modules or classic scripts.
  • Added property ShadowRoot.delegatesFocus to check if the delegatesFocus property is set in a separate Shadow DOM.
  • On the Windows platform, instead of distracting user prompts to install an update, the browser now refreshes in the background on close. In the Windows 11 environment, support for the new menu system (Snap Layouts) has been implemented.
  • macOS builds for full-screen video use low power mode.
  • In the version for the Android platform:
    • It's easier to return to previously viewed and closed content with a new basic home page that provides the ability to view recently closed tabs, added bookmarks, searches, and recommendations from the Pocket service.
    • Provided the ability to customize the content shown on the home page. For example, you can choose to display lists of your most visited sites, recently opened tabs, recently saved bookmarks, search queries, and Pocket recommendations.
    • Added support for moving long inactive tabs to a separate Inactive Tabs section so as not to clutter up the main tab bar. Tabs that have not been accessed for more than 2 weeks are placed in Inactive Tabs. This behavior can be disabled in "Settings->Tabs-> Move old Tabs to inactive."
    • Expanded heuristics when displaying a recommendation while typing in the address bar.

In addition to innovations and bug fixes, Firefox 94 fixes 16 vulnerabilities, of which 10 are marked as dangerous. 5 vulnerabilities are caused by memory problems, such as buffer overflows and access to already freed memory areas. These issues can potentially lead to malicious code being executed when specially designed pages are opened.

Source: opennet.ru

Add a comment