The release of web browser Firefox 101 has taken place. Additionally, a long-term support branch update has been formed — 91.10.0. The Firefox 102 branch has entered beta testing, with a release scheduled for June 28.
Key innovations in Firefox 101:
- Experimental support for the third version of the Chrome manifest has been implemented, defining the capabilities and resources available for extensions written using the WebExtensions API. The Firefox variant of the Chrome manifest includes a new declarative content filtering API, but unlike Chrome, it has not discontinued support for the old blocking mode of the webRequest API, which is essential for extensions that block unwanted content and enhance security. To enable support for the third version of the manifest, the parameter 'extensions.manifestV3.enabled' is provided in about:config.
- Handlers can now be bound to all MIME types triggered after the files of the specified type have been downloaded.
- The ability to simultaneously use an arbitrary number of microphones during video conferencing has been implemented, allowing for easy switching of microphones during events.
- Support for the WebDriver BiDi protocol has been enabled, allowing the use of external tools for browser automation and remote control. For example, the protocol enables interface testing using the Selenium platform. Both server-side and client-side components of the protocol are supported, allowing for requests to be sent and responses to be received.
- Support for the prefers-contrast media query has been added, enabling websites to determine the user’s settings for displaying content with increased or decreased contrast.
- Support for three new viewport sizes — 'small' (s), 'large' (l), and 'dynamic' (d) — has been added, along with related measurement units — '*vi' (vi, svi, lvi, and dvi), '*vb' (vb, svb, lvb, and dvb), '*vh' (svh, lvh, dvh), '*vw' (svw, lvw, dvw), '*vmax' (svmax, lvmax, dvmax), and '*vmin' (svmin, lvmin, and dvmin). These proposed measurement units allow element sizes to be linked to the smallest, largest, and dynamic viewport size in percentage terms (size changes depending on the showing, hiding, and state of the toolbar).
- The HTMLInputElement class has been enhanced with the showPicker() method, allowing the display of built-in dialogs for filling in standard values in fields of types "date", "month", "week", "time", "datetime-local", "color", and "file", as well as for fields that support autofill and datalist selection. For instance, it is now possible to show an interface in the form of a calendar for date selection or a palette for color input.
- A new API has been added, allowing JavaScript applications to dynamically create stylesheets and manipulate style application. Unlike creating stylesheets using the document.createElement('style') method, the new API provides means to construct styles through the CSSStyleSheet() object, offering methods like insertRule, deleteRule, replace, and replaceSync.
- In the page inspection panel, when adding or removing class names via the ".cls" button in the Rule View tab, interactive suggestions from the input autocomplete dropdown are now implemented to provide an overview of the class names available for the page. As you navigate through the list, selected classes are automatically applied for visual assessment of the changes they cause.

- A new option has been added to the inspection panel settings to disable the "drag to update" feature in the Rule View tab, which allows resizing certain CSS properties by dragging the mouse horizontally.

- Firefox for Android has added support for a feature introduced in Android 9 that enhances screen area sizes, allowing, for example, to enlarge web form content. Issues with video size while viewing YouTube or exiting the picture-in-picture mode have been resolved. The flickering of the virtual keyboard when displaying the popup menu has been fixed. The display of the QR code button in the address bar has been improved.
In addition to new features and bug fixes, Firefox 101 resolves 30 vulnerabilities, 25 of which are marked as critical. Nineteen vulnerabilities (under CVE-2022-31747 and CVE-2022-31748) are related to memory handling issues, such as buffer overflows and accessing already freed memory areas. These issues could potentially allow an attacker to execute code through specially crafted pages. Additionally, a Windows-specific issue has been fixed that allowed the alteration of file save paths by using special characters '%' to substitute in paths for variables such as %HOMEPATH% and %APPDATA%.
Among the changes in the beta version of Firefox 102, the enhancement of PDF document viewing in high contrast mode and the ability to use the Geoclue DBus service on Linux for location detection stand out. In the web development interface, the Style Editor tab now supports filtering style sheets.
Source: opennet.ru


