- 01
Reading is now easier with the prefers-contrast media query, which allows sites to detect if the user has requested that web content is presented with a higher (or lower) contrast.
- 02
It’s your choice! All non-configured MIME types can now be assigned a custom action upon download completion.
- 03
Firefox now allows users to use as many microphones as you want, at the same time, during video conferencing. The most exciting benefit is that you can easily switch your microphones at any time (if your conferencing service provider enables this flexibility).
- 01
Removed "subject common name" fallback support from certificate validation. This fallback mode was previously enabled only for manually installed certificates. The CA Browser Forum Baseline Requirements have required the presence of the "subjectAltName" extension since 2012, and use of the subject common name was deprecated in RFC 2818.
- 01
Various security fixes.
- 01
Various bug fixes and new policies have been implemented in the latest version of Firefox. You can find more information in the Firefox for Enterprise 101 Release Notes .
- 01
Developer Information
- 02
Inspector panel: When adding/removing a class name to/from an existing HTML element (using .cls button in Rules View), an autocomplete drop down automatically offers all existing class names on the page. In Firefox 101 the selected class name in the autocomplete drop-down list is auto-applied immediately as the user changes the selection of the autocomplete list (using up/down arrow keys). This is especially useful for quick testing of various styles.
- 03
Inspector panel: This new option can be used to disable “drag to update” features in the Rule View (values of some CSS properties e.g., sizes can be modified by dragging the mouse horizontally).
- 04
WebDriver BiDi: This protocol is enabled on the release channel to support external tools such as Selenium, which plan to start using WebDriver BiDi for Firefox. WebDriver-BiDi aims to provide a cross-browser protocol for browser automation that meets the requirements of modern web application testing tools. This allows both the client and the server to send & receive requests and responses.
- 05
With the release of Firefox 101, we are pleased to welcome all the developers who contributed their first code change to Firefox in this release. Please join us in thanking each of these diligent and enthusiastic individuals, and take a look at their contributions: av: Bug 1762483 and Bug 1763262
- 06
Addition of the storage.StorageArea.onChanged event that enables you to listen for changes in content in the local and sync storage areas ( Firefox bug 1758475 ).
- 07
Manifest V3 preview features:
- 08
Addition of the scripting API, which provides features to execute a script, insert and remove CSS, and manage the registration of content scripts ( Firefox bug 1687764 ). This API is available to Manifest V3 extensions and takes over the execute script and insert and remove CSS features from the tabs API.
- 09
Addition of the action API, which takes over the features of the browserAction API in Manifest V3 extensions. Corresponding addition of the "action" manifest key and _execute_action special shortcut to the manifest commands key. Note that the browserAction API and "browser_action" manifest key are only available in Manifest V2 extensions.
- 10
The "background" manifest key property "persistent" can be set to false under the control of preferences: for Manifest V2, the extensions.eventPages.enabled preference, and in Manifest V3, the extensions.manifestV3.enabled preference.
- 11
Addition of the "host_permissions" manifest key, which is available for Manifest V3 extensions.
- 12
The content script execution environment has changed for Manifest V3 extensions:
- 13
Content scripts can no longer rely on host permissions to perform cross-origin requests. Cross-origin requests from content scripts are possible with CORS .
- 14
The content object (that offered content.fetch , content.XMLHttpRequest , and content.WebSocket ) is removed from the content script execution environment.
- 01
Firefox new has added support for large, small, dynamic viewport units and logical ones ( *vi and *vb ). This gives users the flexibility to choose whether page elements are sized to the “smallest” viewport size (dynamic toolbar visible), “largest” viewport size (dynamic toolbar hidden), or “dynamic” viewport size (based on current status of dynamic toolbar).
- 02
Firefox 101 features added web conferencing support for enumerating (reducing errors caused by transposing or mistyping numbers) and selecting multiple audio input devices (giving you the ability to record or process multiple separate audio sources together, synchronously, at once) through navigator.mediaDevices.enumerateDevices().
- 03
The prefers-contrast media feature that is used to detect whether the user has specified a preference for higher ( more ) or lower ( less ) contrast in the presentation of web content is now available by default. This feature now also lets users specify a set of colors to use for the contrast through the new custom value ( Firefox bug 1656363 ).
- 04
Three new viewport sizes have been introduced: small ( s ), large ( l ), and dynamic ( d ). These new sizes have added new viewport-percentage length units in addition to the existing ones - vh , vw , vmax , and vmin . The new viewport-percentage length units include svh , lvh , dvh , svw , lvw , dvw , svmax , lvmax , dvmax , svmin , lvmin , and dvmin ( Firefox bug 1610815 ). Additionally, the units vb and vi are now supported by default ( Firefox bug 1610815 ).
- 05
Support for the inline-size value for the contain property has been added. For more information, see ( Firefox bug 1755565 ).
- 06
HTMLMediaElement.preservesPitch is now supported without the moz prefix. mozPreservesPitch is now an alias of preservesPitch , but is deprecated, and may be removed in future releases ( Firefox bug 1652950 ).
- 07
HTMLInputElement.showPicker() is now supported, allowing the picker for an input element to be displayed when a user interacts with some other element, such as a button ( Firefox bug 1745005 ).
- 08
DOMException is now a serializable object , so it can be cloned with structuredClone() or copied between workers using postMessage() ( Firefox bug 1561357 ).
- 09
Constructable stylesheets are now supported, making it much easier to create reusable stylesheets for use with Shadow DOM . The update includes the addition of a CSSStyleSheet() constructor for creating new stylesheets, the CSSStyleSheet.replace() and CSSStyleSheet.replaceSync() methods that can be used to add/replace CSS rules in the sheet, and the Document.adoptedStyleSheets and ShadowRoot.adoptedStyleSheets properties that are used to share sheets to a document and its shadow DOM subtrees. See Firefox bug 1520690 for more information.
- 10
AV1 codec parameters are now properly parsed in media support queries. This means that MediaCapabilities.decodingInfo() , HTMLMediaElement.canPlayType() , and MediaSource.isTypeSupported() will now accurately report support for playback for AV1 sources based on the provided codec parameters. MediaCapabilities.decodingInfo() will also use the information to accurately report on "efficient decoding" of AV1 videos. For more information, see Firefox bug 1757861 .
- 11
maxFramerate is now supported for setting the maximum framerate that can be used to send an encoding (in RTCPeerConnection.addTransceiver() and RTCRtpSender.setParameters() ). Note that zero if a valid frame rate value, but is interpreted by Firefox as "no frame rate limit". For more information, see Firefox bug 1611957 .
- 12
SVG images in the Firefox UI that are styled using prefers-color-scheme will respect the color-scheme of the embedder (previously prefers-color-scheme ignored the color-scheme of the embedder and triggered off either the device or browser theme). This ensures that a favicon, for example, is always styled to match the theme of the elements that nest it, and not necessarily the (potentially different) theme of the device. ( Firefox bug 1764354 ).
- 13
Adds the session module including a partial implementation for the commands to globally subscribe ( session.subscribe ) to and unsubscribe ( session.unsubscribe ) from events, and the ability to create a direct WebDriver BiDi session ( session.new ) when not using WebDriver classic.
- 14
Adds the browsingContext module including the commands to open a new tab or window ( browsingContext.create ) or close such one ( browsingContext.close ), retrieve open browsing contexts ( browsingContext.getTree ) and to navigate within a browsing context ( browsingContext.navigate ). There is also support for the event when a browsing context got created ( browsingContext.contextCreated ).
- 15
Adds the log module including support for log events ( log.entryAdded ).