files/en-us/mozilla/firefox/releases/141/index.md
This article provides information about the changes in Firefox 141 that affect developers. Firefox 141 was released on July 22, 2025.
webkitdirectory attribute and the corresponding {{domxref("HTMLInputElement.webkitdirectory")}} property are now partially supported on Firefox Android (Firefox bug 1887878).
The attribute can be set to indicate that an <input type="file"> element should offer selection of directories instead of files.
Note that the returned file entries for the selected folder always contain an empty string in ({{domxref("File.webkitRelativePath")}}), which means that using webkitdirectory is not suitable for use cases where information about the directory structure is needed (Firefox bug 1973726).variants accessor property is now supported on {{jsxref("Intl.Locale")}} instances.
This property returns the variants associated with a locale as a string of dash (-) separated identifiers.
It offers a more robust way to get and set variant subtags of a language identifier as opposed to manually parsing or modifying a locale string (Firefox bug 1970161)."cache" directive of the {{httpheader("Clear-Site-Data")}} response header now clears the {{glossary("bfcache")}} (backwards-forwards cache).
This allows a site to ensure that if anyone navigates backward after a user has signed out, private details that were visible during the initial session will not be exposed. (Firefox bug 1930501).closedby attribute of the {{htmlelement("dialog")}} element are supported.
Developers can use these to specify which mechanisms can close a dialog, such as user interaction outside the dialog ("light dismiss") or programmatic closing.
(Firefox bug 1964078).showPopover() and togglePopover() methods of the {{domxref("HTMLElement")}} interface now take an options.source argument, and togglePopover() also takes the force or options.force argument. (Firefox bug 1936411).
(Firefox bug 1936411)
options.source establishes a relationship between a popover and its invoker (control element).
In the same way as the equivalent declarative attribute, popovertarget, this makes the popover more accessible to keyboard users (see Popover accessibility features). It also creates an implicit anchor reference between the two, which enables more natural positioning of popovers relative to their controls (see Popover anchor positioning).force or options.force arguments to togglePopover() can be used to force the popover open or closed, and is ignored if the popover is already in the forced state.
Unlike showPopover() and hidePopover(), this does not throw an exception if the popover is already in the target state.remote.active-protocols preference. More details on this topic can be found on Firefox Developer Experience (Firefox bug 1882096).remote.system-access-check.enabled preference. This preference can no longer be used to disable system access checks when using WebDriver in Firefox's chrome scope during testing (Firefox bug 1955007).browser.createUserContext command. This allows clients to setup either a "direct" or "manual" proxy when creating a user context (ie Firefox Container). Support for additional proxy types will be added later on (Firefox bug 1967653).browsingContext.historyUpdated event which is emitted when history.pushState(), history.replaceState() or document.open() is called within the context of a web page (Firefox bug 1906051).browsingContext.navigate and browsingContext.reload commands to wait for the browsingContext.navigationCommitted event when using the "wait" condition "none" (Firefox bug 1967469).WebDriver:ElementClick - even when no navigation occurs - we lowered the click-and-wait timeout for a potential navigation to 50ms for backward compatibility. The timeout is now also configurable and can be completely disabled by users through a preference (Firefox bug 1972271).These features are shipping in Firefox 141 but are disabled by default.
To experiment with them, search for the appropriate preference on the about:config page and set it to true.
You can find more such features on the Experimental features page.
:active-view-transition (Nightly): dom.viewTransitions.enabled
The CSS {{CSSXRef(":active-view-transition")}} pseudo-class enables you to style content while a view transition is taking place in a single-page app (SPA). (Firefox bug 1956140).