- 01
Focus on just one tab in a group without the clutter. Your active tab now stays in view, keeping things tidy even with the group collapsed.
- 02
We’re excited to share another tab groups update that addresses a top request from our community! You can now drag a tab into a collapsed group without automatically expanding it. It’s a quick way to stay organized while minimizing visual distractions. MoveTabCollapsedGroup
- 03
Profile management , now rolling out gradually to users globally over the next few weeks, helps you protect your privacy and stay focused by separating your online life into distinct profiles for work, school, vacation planning, or whatever you choose. You can name your profiles and customize them with avatars and color themes for easy recognition, then quickly switch between them while keeping bookmarks, tabs, and browsing history completely separate. The new Profiles feature is available for Windows 11, Mac, and Linux users, with Windows 10 support coming soon. 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.
- 04
You can now close a Picture-in-Picture window without pausing the video. Press Shift + Click on the close button or use Shift + Esc to exit while keeping playback uninterrupted.
- 05
Logins stored in the Firefox Password Manager are now encrypted on disk using a modern encryption scheme (AES-256-CBC), replacing the older 3DES-CBC. This change improves local data protection. Logins synced through Firefox Sync remain end-to-end encrypted and already use AES-256-GCM.
- 06
Visual search powered by Google Lens With just a right-click on any image, you can now: ✨ Find similar products, places, or objects ✨ Copy, translate, or search text from images ✨ Get inspiration for learning, travel, or shopping Look for the new “ Search Image with Google Lens ” option in your right-click menu (highlighted with a NEW badge at first). This is a desktop-only feature , rolling out worldwide. Your default search engine must be set to Google in order to use it. 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.
- 07
Perplexity AI Search in Firefox On desktop, Firefox now includes Perplexity , an AI-powered answer engine built into the browser. Perplexity delivers direct, conversational answers to complex questions, helping you get quick summaries, accurate references, or creative inspiration without digging through multiple sources. It’s rolling out worldwide from the address bar via the unified search button. 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.
- 08
The following languages are now available for translation: Azerbaijani
- 01
The following languages have improved translation quality: Arabic
- 01
On Windows, when opening a link from another application, Firefox will only use a window on the current virtual desktop or open a new window if needed.
- 01
Various security fixes .
- 01
You can find information about policy updates and enterprise specific bug fixes in the Firefox for Enterprise 144 Release Notes .
- 01
Developer Information
- 02
You can now jump to a CSS custom property's definition from within the var() function in style rules.
- 03
The events tooltip in the Inspector now shows a badge besides custom events, making it easier to differentiate them from built-in events.
- 04
With the release of Firefox 144, we are pleased to welcome the developers who contributed their first code change to Firefox in this release, 12 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: Alice Boxhall: 1981341
- 05
Adds the ability to specify the style origin for CSS injections from "content_scripts" manifest key , in scripting.registerContentScripts() with the cssOrigin property on scripting.RegisteredContentScript , and the cssOrigin property in contentScripts.register . The style origin can be "user" , to add the CSS as a user stylesheet, or "author" , to add it as an author stylesheet. Default, to the "author" origin. These properties are case-insensitive. In addition, the value of the origin property of scripting.insertCSS() is now case insensitive. ( Firefox bug 1679997 ).
- 06
Adds support for getBytesInUse() to storage.local and storage.managed . ( Firefox bug 1385832 ).
- 07
Time picker in datetime-local and time input elements: dom.forms.datetime.timepicker . The HTML <input type="datetime-local"> and <input type="time"> elements support a time picker. ( Firefox bug 1726108 ).
- 08
:heading(): layout.css.heading-selector.enabled The :heading() functional pseudo-class now has a much simpler syntax that takes a comma-separated list of integers that match the heading level. ( Firefox bug 1974386 & Firefox bug 1984310 ).
- 01
Firefox now supports the Element.moveBefore API.
- 02
Firefox now supports math-shift compact .
- 03
Firefox now supports PerformanceEventTiming.interactionId , allowing developers to group related input events. This enables support for the Interaction to Next Paint (INP) responsiveness metric.
- 04
Firefox now supports the command and commandfor attributes.
- 05
Firefox now supports the View Transitions API Level 1. The View Transitions API provides a mechanism for easily creating animated transitions between different website views.
- 06
Dithering is now applied when linear-gradient , conic-gradient , and radial-gradient are rendered using hardware WebRender.
- 07
Firefox now supports the upsert proposal . This adds getOrInsert and getOrInsertComputed methods to Map and WeakMap . These methods either return the value associated with a key, or insert a default value, and then return that value, simplifying handling of cases where it's not known if a key is already present in the Map or WeakMap .
- 08
Firefox now supports the lock() and unlock() methods of ScreenOrientation interface on Windows tablets and Android devices.
- 09
Firefox now supports worker transfer for RTCDataChannel .
- 10
Firefox now supports the resizeMode getUserMedia constraint, allowing developers to crop and downscale video captured from a camera to any resolution they choose.
- 11
Firefox now supports the WebGPU GPUDevice.importExternalTexture API on Windows.
- 12
WebCodecs on Windows now has a batch-encoding path for VideoEncoder, improving performance with higher throughput and lower submission latency due to a larger default batch size.
- 13
Gecko-specific CSS2Properties was renamed to CSSStyleProperties , to align with the latest web standard and for better interoperability with other browser engines.
- 14
The command and commandfor attributes of the <button> element are now supported. The command attribute lets you define the action to perform, and the commandfor attribute lets you associate the button with another element that the command acts on. The command can be a predefined value such as close or a custom value defined by you. ( Firefox bug 1983523 ).
- 15
Support for the deprecated MathML STIXGeneral font has now been removed. The setting mathml.stixgeneral_operator_stretching.disabled has also been removed. ( Firefox bug 1336058 ).
- 16
CSS features for view transitions in single-page applications ( SPAs ) are now supported. This provides a way to style the parts of a view transition animation. ( Firefox bug 1985809 ). These include:
- 17
:active-view-transition pseudo-class
- 18
view-transition-class property
- 19
view-transition-name property
- 20
::view-transition pseudo-element
- 21
::view-transition-group() pseudo-element
- 22
::view-transition-image-pair() pseudo-element
- 23
::view-transition-new() pseudo-element
- 24
::view-transition-old() pseudo-element
- 25
The Map.prototype.getOrInsert() , Map.prototype.getOrInsertComputed() , WeakMap.prototype.getOrInsert() , and WeakMap.prototype.getOrInsertComputed() instance methods are now supported. All the methods return the value corresponding to a specified key if the key is present. If the key is not present, getOrInsert() inserts and returns an element for the key and a given default value, while getOrInsertComputed() inserts and returns a value computed in a supplied callback function. ( Firefox bug 1979917 ).
- 26
The lock() and unlock() methods of the ScreenOrientation interface are now supported for Android and for Windows tablets. ( Firefox bug 1983483 ).
- 27
The View Transition API is now supported for SPAs (single-page applications) . This provides a mechanism for easily creating animated transitions between different website views. ( Firefox bug 1985809 ).
- 28
The CSSStyleProperties interface of the CSS Object Model (CSSOM) is now implemented (this was renamed from a non-standard interface CSS2Properties ). The new interface is present but not yet used. ( Firefox bug 1919582 ).
- 29
The interactionId property of the PerformanceEventTiming interface is a unique identifier that associates related events belonging to a single user interaction. This can be used to calculate the Interaction to next paint metric, which helps analyze responsiveness to user interaction over the lifetime of a page. ( Firefox bug 1956809 ).
- 30
The Navigation.navigate() method of the Navigation API no longer accepts URLs with a scheme of javascript . Calling navigate() with a javascript: URL now throws a NotSupportedError exception. ( Firefox bug 1981104 ).
- 31
The moveBefore() method is now supported on the Element , DocumentFragment and Document interfaces. This allows moving of an immediate child element of the object, before another of its child elements. Unlike with Node.insertBefore() , moved elements retain their state. ( Firefox bug 1983688 ).
- 32
Cross-origin <iframe> s now require either user interaction ( sticky activation ) or explicit permission to redirect the top-level page using window.top.location . See Top navigation in cross-origin frames for more information. ( Firefox bug 1419501 ).
- 33
RTCDataChannel instances are now transferrable objects , and hence can be passed to workers . ( Firefox bug 1209163 ).
- 34
The closing event and the onclosing() event handler are now supported on the RTCDataChannel interface. ( Firefox bug 1611953 ).
- 35
The getUserMedia() and getDisplayMedia() methods of the MediaDevices interface now support the resizeMode constraint. This constraint allows developers to request video that matches other constraints, such as resolution and frame rate, even if the requested constraints are not supported by the underlying hardware. The browser may then crop, downscale, or reduce the frame rate of the video captured from a camera, or downscale (but not crop) the video captured from a screen or window. ( Firefox bug 1286945 ).
- 36
The following deprecated and non-standard events have been removed: afterscriptexecute event and beforescriptexecute event of the Document interface, and the afterscriptexecute event and beforescriptexecute event of the Element interface. ( Firefox bug 1584269 ).
- 37
Implemented the new browsingContext.downloadWillBegin event, which is emitted when a new download is initiated, either by clicking a link with the download attribute, or in response to a network request with a Content-Disposition header indicating a file attachment. ( Firefox bug 1874365 ).
- 38
Implemented the new emulation.setScreenOrientationOverride command, which allows clients to emulate different screen orientations. This command is not limited to mobile devices, but also works for desktop applications. ( Firefox bug 1974167 ).
- 39
Implemented the new emulation.setTimezoneOverride command, which allows clients to simulate a specific timezone setting. ( Firefox bug 1978027 ).
- 40
Enhanced the emulation.setLocaleOverride command to also apply the specified settings to sandboxes previously created via WebDriver BiDi. ( Firefox bug 1983807 ).
- 41
Fixed a bug where the locale override set via emulation.setLocaleOverride was sometimes incorrectly shared between different browsing contexts within the same process. ( Firefox bug 1980211 ).
- 42
Enhanced the browsingContext.navigate command to avoid NS_BINDING_ABORTED errors caused by redirects or interruptions occurring after the navigation was already committed. ( Firefox bug 1914407 ).
- 43
Reverted the Scroll Into View WebDriver algorithm as used by several WebDriver classic commands in Marionette to always use the instant scroll behavior. This undoes the change introduced in Firefox 97, which had switched the behavior to auto . The reversion addresses potential race conditions when scrolling elements that use smooth behavior. ( Firefox bug 1986238 ).