files/en-us/mozilla/firefox/releases/115/index.md
This article provides information about the changes in Firefox 115 that affect developers. Firefox 115 was released on July 04, 2023.
modulepreload keyword for the rel attribute of the {{HTMLElement("link")}} element is now supported.
This allows early (and asynchronous) fetching of module scripts and their dependencies in parallel, which are then stored in the document's module map (Firefox bug 1425310).supports-conditions in the CSS {{cssxref("@import")}} at-rule supports() function is now supported by default. This feature allows stylesheets to be imported only if the specified feature is supported in the user's browser. (Firefox bug 1830779).Array instance from an async iterable, iterable, or array-like object (Firefox bug 1795816).Array and TypedArray methods Array.toReversed(), Array.toSorted(), Array.toSpliced(), Array.with(), TypedArrays.toReversed(), TypedArrays.toSorted(), and TypedArrays.with() are now supported.
These methods return a new array with elements that have been shallow copied (similarly named methods without the to prefix modify the array elements in place).
(Firefox bug 1811057).Sec-Purpose HTTP {{Glossary("Fetch metadata request header", "fetch metadata request header")}} is now included in requests to {{Glossary("Prefetch")}} resources.
This allows servers to provide any special handling that might be needed, such as adjusting the caching expiry for the request (Firefox bug 1836328).Response.json() static method is now supported, making it easier to construct {{domxref("Response")}} objects for returning JSON data.
The method will be useful for service workers and any other code that needs to respond to browser requests with JSON data (Firefox bug 1758943).URL.canParse() static method can now be used to parse and validate an absolute URL, or a relative URL and base URL.
This provides a fast and easy way to check if URLs are valid, instead of constructing them within a try...catch block and handling exceptions.
(Firefox bug 1823354).URLSearchParams.has() and URLSearchParams.delete() methods now support the optional value argument.
This allows matching a search parameter on both the name and value, making it possible to work with query strings that contain multiple search parameters that have the same name.
(Firefox bug 1831587).RTCRtpReceiver.jitterBufferTarget attribute is now supported, allowing a WebRTC application to influence the tradeoff between playout delay and the risk of running out of audio or video frames due to network jitter.
(Firefox bug 1592988).mozPreservesPitch alias of HTMLMediaElement.preservesPitch has been disabled by default, and may be fully removed in a future release (Firefox bug 1831205).input.performActions, any ongoing wheel transaction is now reset at the end of the command to not retain state and to not leak into following actions within the same tab (Firefox bug 1821733).pointerMove action with input.performActions, an invalid element origin now correctly raises a "no such error" failure (Firefox bug 1832028).WebDriver:GetComputedLabel and WebDriver:GetComputedRole now correctly wait for the requested accessibility object for an element to exist if it just got inserted into the DOM (Firefox bug 1828816).browser_style defaults to false in options_ui and sidebar_action for Manifest V3 extensions (Firefox bug 1830710). See Manifest v3 migration for information about transitioning from browser_style in Manifest V3 extensions.