files/en-us/mozilla/firefox/releases/133/index.md
This article provides information about the changes in Firefox 133 that affect developers. Firefox 133 was released on November 26, 2024.
viewport <meta> tag now supports the interactive-widget attribute, this influences the size of the viewport when common UI widgets, such as virtual keyboards, are added to the screen. (Firefox bug 1831649 and Firefox bug 1920755).No notable changes
Support for {{jsxref("Uint8Array")}} methods to ease conversions between {{glossary("base64")}}- and hex-encoded strings and byte arrays. (Firefox bug 1917885 and Firefox bug 1862220).
The new methods include:
Uint8Array object from a base64- and hex-encoded string, respectively.Uint8Array object with bytes from a base64- or hex-encoded string.Uint8Array object.The {{domxref('WorkerNavigator.permissions')}} property is now supported, allowing the Permissions API to be used in workers as well as the main window thread. (Firefox bug 1193373).
The {{domxref("EventSource")}} interface to handle server-sent events is now supported in service workers. (Firefox bug 1681218).
The {{domxref("ImageDecoder")}}, {{domxref("ImageTrackList")}}, and {{domxref("ImageTrack")}} interfaces of the WebCodecs API are now supported, enabling the decoding images from the main and worker threads. (Firefox bug 1923755).
The beforetoggle and toggle events of the {{domxref("HTMLElement")}} interface are now fired at {{HTMLElement("dialog")}} elements immediately before and after they are shown or hidden, respectively. The beforetoggle can be used, for example, to apply/remove classes that control the animation of a dialog, or reset the state of a dialog form before it is shown. The toggle event can be used to get change notification of the open state, which otherwise requires a {{domxref("MutationObserver")}}. (Firefox bug 1876762).
The keepalive initialization option to the global {{domxref('Window.fetch','fetch()')}} method and the Request() constructor are now supported, along with the {{domxref("Request.keepalive")}} property. keepalive can be set to true to prevent the browser from aborting the associated request if the page that initiated it is unloaded before the request is complete.
This might be used, for example, to send analytics at the end of a session, even if the user navigates away from or closes the page.
Using fetch() with keepalive has some advantages over using {{domxref("Navigator.sendBeacon()")}} for the same purpose, such as allowing the use of HTTP methods other than POST, customizable request properties, and access the server response via the fetch {{jsxref("Promise")}} fulfillment. It is also available in service workers. (Firefox bug 1906952, Firefox bug 1923044).
The onwaitingforkey content attribute can now be specified on {{htmlelement("audio")}}/{{htmlelement("video")}} elements to set an inline event handler for the waitingforkey event. (Firefox bug 1925952).
{{domxref("ServiceWorkerContainer")}} is now exposed in all worker contexts via {{domxref("WorkerNavigator.serviceWorker")}}, allowing workers to inspect and manage the {{domxref("ServiceWorkerRegistration","service worker registrations","","nocode")}} associated with the current origin. Previously ServiceWorkerContainer was only available in the main thread, via {{domxref("Navigator.serviceWorker")}}. (Firefox bug 1113522).
The name property of PerformanceNavigationTiming now omits text fragments from the returned URL, matching the specification. This kind of {{domxref("PerformanceResourceTiming")}} object is returned by {{domxref("Performance.getEntries()")}} for entries with an {{domxref("PerformanceEntry/entryType", "entryType")}} of navigation. (Firefox bug 1919565).
options.shadowRoots argument for passing {{domxref("ShadowRoot")}} objects to the {{domxref('Document.caretPositionFromPoint()')}} method has been withdrawn from the release.
The feature can be tested in the Nightly release and is expected to re-release in future. (Firefox bug 1914596).url argument for the network.continueRequest command, allowing requests to be transparently redirected to another URL (Firefox bug 1898158).browsingContext.print to throw an InvalidArgumentError when used with incorrect dimensions (Firefox bug 1886382).script.evaluate and script.callFunction to allow the use of document.open in sandbox realms (Firefox bug 1918288).browsingContext.load event might contain the wrong navigation ID if a same-document navigation occurred during the main navigation (Firefox bug 1922327).UnknownError due to navigation (Firefox bug 1923899).style attribute on an element when trying to click or clear it (Firefox bug 1922709).UnexpectedAlertOpen errors to include the text of the corresponding alert (Firefox bug 1924469).window.close() called from a sidebar from closing the sidebar.These features are newly shipped in Firefox 133 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.
contenteditable plaintext-only value: dom.element.contenteditable.plaintext-only.enabled.
The plaintext-only value of the contenteditable global attribute indicates that the element is editable; rich text formatting is disabled and any formatting in pasted text is automatically stripped. (Firefox bug 1922723.)
:has-slotted CSS pseudo-class: layout.css.has-slotted-selector.enabled.
The {{CSSXRef(":has-slotted")}} pseudo-class is used to style elements in {{HTMLElement("template")}} that have content added to a {{HTMLElement("slot")}} element when rendering a web component. (Firefox bug 1921747.)