Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following are the new web platform features and updates in Microsoft Edge 139, which releases on August 7, 2025.
To stay up-to-date and get the latest web platform features, download a preview channel of Microsoft Edge (Beta, Dev, or Canary); go to Become a Microsoft Edge Insider.
Detailed contents:
- Edge DevTools
- WebView2
- Web platform features
- CSS features
- Web APIs
request-close
invoker command- Allow more characters in JavaScript DOM APIs
- Audio level for WebRTC encoded frames
- Specify a crash-reporting endpoint to receive only crash reports
- Fire error event instead of throwing for CSP blocked worker
- Reduce fingerprinting in
Accept-Language
- Browser Bound Keys in the Secure Payment Confirmation API
- Better JSON MIME type detection
- Support the async attribute for SVG
<script>
elements - WebGPU
core-features-and-limits
- WebGPU: 3D texture support for BC and ASTC compressed formats
- WebXR depth sensing performance improvements
- PWA features
- Removed features
- Origin trials
Edge DevTools
See What's New in Microsoft Edge DevTools.
WebView2
See Release Notes for the WebView2 SDK.
Web platform features
CSS features
CSS custom functions
A CSS custom function is similar to a custom property, but instead of returning a single, fixed value, a CSS custom function returns values that are based on other custom properties, parameters, and conditionals.
The following example shows a custom function called --negative
, which takes a single parameter --value
and returns its negated value:
@function --negative(--value) {
result: calc(-1 * var(--value));
}
See also:
- Defining Custom Functions in the CSS Functions and Mixins Module specification.
CSS font-width
property
The font-width
CSS property selects a font face from a font family based on width, either by a keyword such as condensed
or a percentage.
The font-width
property now works both in inline CSS styles and @font-face
rules.
In addition, the font-stretch
CSS property is now considered a legacy alias to the font-width
property. The font-stretch
CSS property continues to function, but it's no longer the recommended approach for controlling font width.
See also:
- Font property descriptors: the font-style, font-weight, and font-width descriptors in CSS Fonts Module Level 4.
- font-stretch at MDN.
Continue running transitions when switching to initial transition value
CSS transitions that are set to none
, while running, now continue to run. When transition-related CSS properties change, those changes only affect newly started transitions.
This change makes Microsoft Edge consistent with other browsers. Previously, Microsoft Edge incorrectly canceled transitions when the transition
property was set to none
.
See also:
- transition at MDN.
CSS corner-shape
property
The corner-shape
CSS property allows you to specify the shape of the corners of an element, in addition to the existing border-radius
property.
This allows to create shapes like squircles (squared-off circles) or notches, and animating between them.
See also:
- Corner Shaping: the corner-shape property in CSS Borders and Box Decorations Module Level 4.
Support width
and height
presentational attributes on nested <svg>
elements
You can now use the width
and height
presentational attributes on nested <svg>
elements, through both SVG markup and CSS. This approach provides greater flexibility, allowing you to style SVG elements more efficiently within complex designs.
With this feature, the following two HTML code snippets now produce the same output:
<svg width="100px" height="100px">
<svg style="width:50px;height:50px;">
<circle cx="50px" cy="50px" r="40px" fill="green" />
</svg>
</svg>
<svg width="100px" height="100px">
<svg width="50px" height="50px">
<circle cx="50px" cy="50px" r="40px" fill="green" />
</svg>
</svg>
In the second line:
- The first example uses a
style
attribute that contains width and height values. - The second example uses separate
width
andheight
attributes.
See also:
<svg>
at MDN.
Web APIs
request-close
invoker command
The <dialog>
element's requestClose()
method can now also be invoked declaratively, by using the request-close
invoker command.
The requestClose()
method and the request-close
invoker command are used to request closing a dialog element, which fires an event that allows you to prevent the dialog from closing, if necessary.
See also:
- Invoker Commands API at MDN.
Allow more characters in JavaScript DOM APIs
You can now create DOM elements and attributes with a wider variety of valid characters in JavaScript. This matches the behavior for when the same elements and attributes are defined in HTML markup.
This change aligns the JavaScript DOM APIs with the HTML parser, which allows a broader set of characters for element names and attributes.
See also:
Audio level for WebRTC encoded frames
The audioLevel
value for an encoded frame transmitted via RTCPeerConnection is now available in the metadata of that frame.
The audioLevel
value is already exposed in other APIs, such as RTCStats and RTCContributingSources, and is useful in cases such as to indicate who's talking in a video conferencing application, or to detect silence.
Having audioLevel
as part of each frame's metadata makes detecting the audio level more accurate and efficient for applications that use WebRTC Encode Transform. An application no longer needs to constantly call getStats()
or getContributingSources()
to get access to the audio level. The audio level now exactly corresponds to the frame that's being processed.
See also:
- WebRTC API at MDN.
Specify a crash-reporting
endpoint to receive only crash reports
With the Reporting API, crash reports are delivered to the default
endpoint, which also receives many other kinds of reports besides crash reports.
You can now specify an endpoint named crash-reporting
, which will receive only crash reports.
See also:
- Reporting API
- Crash Reports Delivery Priority in Crash Reporting.
Fire error event instead of throwing for CSP blocked worker
Previously, when a Content Security Policy (CSP) blocked Microsoft Edge from using a Worker or SharedWorker, the browser threw a SecurityError
when new Worker(url)
or new SharedWorker(url)
were run.
Now, the CSP is checked as part of fetching the Worker or SharedWorker script and an error event is fired asynchronously instead of throwing an exception.
See also:
- Content Security Policy (CSP) at MDN.
- Web Workers API at MDN.
Reduce fingerprinting in Accept-Language
To reduce the amount of information that the Accept-Language
header exposes in HTTP requests, instead of sending the full list of the user's preferred languages with every HTTP request, only the user's most preferred language is sent.
See also:
- Accept-Language header at MDN.
Browser Bound Keys in the Secure Payment Confirmation API
The Secure Payment Confirmation API can now keep up with syncing passkeys and device requirements for online payments. The Browser Bound Keys feature adds device binding in the browser, to enable payment scenarios in which device binding is required.
This feature helps meet requirements for device binding for payment transactions.
See also:
- Using Secure Payment Confirmation at MDN.
- Browser Bound Key Store in Secure Payment Confirmation.
Better JSON MIME type detection
Microsoft Edge now recognizes all valid JSON MIME types that are defined by the MIME Sniffing specification. This includes any MIME type whose subtype ends with +json
, such as text/html+json
, in addition to application/json
and text/json
MIME types.
This change ensures that web APIs and features that rely on JSON detection behave consistently across browsers.
See also:
Support the async
attribute for SVG <script>
elements
The SVG <script>
element now supports the async
attribute, similar to the HTML <script>
element.
The async
attribute allows scripts to be executed asynchronously, improving the performance and responsiveness of web apps that utilize SVG.
See also:
<script>
, at MDN.
WebGPU core-features-and-limits
The core-features-and-limits
feature string is now available, for checking the features that a WebGPU adapter has.
const adapter = await navigator.gpu.requestAdapter();
const hasCore = adapter.features.has('core-features-and-limits');
The core-features-and-limits
feature signifies that the WebGPU adapter supports core WebGPU, as opposed to compatibility mode WebGPU.
Currently, core WebGPU is the only available version of WebGPU, but a compatibility mode might be added in the future to allow older hardware to access WebGPU.
See also:
WebGPU: 3D texture support for BC and ASTC compressed formats
The texture-compression-bc-sliced-3d
and texture-compression-astc-sliced-3d
WebGPU features add support for 3D textures that use Block Compression (BC) and Adaptive Scalable Texture Compression (ASTC) formats.
texture-compression-bc-sliced-3d
and texture-compression-astc-sliced-3d
let you use the efficient compression capabilities of BC and ASTC formats for volumetric texture data, offering significant reductions in memory footprint and bandwidth requirements, without substantial loss in visual quality.
By exposing these capabilities as WebGPU features, you can explicitly check for support and provide fallback solutions or alternative rendering paths when necessary.
See also:
- WebGPU API at MDN.
- GPUAdapter: features property at MDN.
WebXR depth sensing performance improvements
The WebXR API exposes several new mechanisms to customize the behavior of the depth-sensing feature within a WebXR session. These mechanisms can improve the performance of the generation or consumption of the depth buffer.
By using these new exposed mechanisms, you can:
- Request the raw or smooth depth buffer.
- Request that the runtime stop providing the depth buffer, or resume providing the depth buffer.
- Expose a depth buffer that does not align with the user's view exactly, so that the user agent doesn't need to perform unnecessary re-projection for every frame.
See also:
- WebXR Device API at MDN.
PWA features
New PWA manifest update algorithm
The updating of installed PWAs uses a new algorithm. The new update algorithm makes the update process more deterministic and predictable, and gives you more control over whether, and when, updates should apply to existing installations of your app.
The new update algorithm has the following benefits:
- Consistency: The algorithm provides a consistent way to detect when a manifest update should happen.
- Reduced user interruptions: App users won't see the update dialog, except when it's strictly necessary, such as to confirm security-sensitive changes.
- Browser flexibility: Microsoft Edge can now allow known, trusted apps to update without displaying a notification, and can block updates for known bad apps.
- Developer control: You have more control over when the update dialog is shown to users.
- Reduce network traffic: Unnecessary network traffic is minimized.
See also:
Web app scope extensions
scope_extensions
is a new web app manifest member that enables web apps to extend their scope to other origins.
Scope extensions allow web apps that rely on multiple subdomains and top-level domains to be presented as a single web app.
{
"name": "Example app",
"display": "standalone",
"start_url": "/index.html",
"scope_extensions": [
{
"type": "type",
"origin": "https://example.com"
}
]
}
The origins that are listed in the scope_extensions
member must confirm that they are associated with the web app by hosting a configuration file named .well-known/web-app-origin-association
. The file must list the web app's origin:
{
"https://sample-app.com/": {
"scope": "/"
}
}
See also:
Removed features
Remove auto-detection of ISO-2022-JP charset in HTML
To improve security, auto-detection of the ISO-2022-JP charset in HTML has been removed.
See also:
Origin trials
The following are new experimental APIs that you can try on your own live website for a limited time.
To learn more about origin trials, see Use origin trials in Microsoft Edge.
To see the full list of available origin trials, see Microsoft Edge Origin Trials.
New Chromium origin trials
Full frame rate render blocking attribute
Expires on March 24, 2026
The new full-frame-rate
render blocking attribute instructs the browser to render the page at a lower frame rate to reserve resources while parsing critical content. After the critical content has been parsed, the brower restores its normal frame rate.
For example <link rel="expect" href="#critical-content" blocking="full-frame-rate">
lowers the frame rate of the browser until the #critical-content
element is parsed.
The full-frame-rate
render blocking attribute is informational only. The browser may decide to lower the frame rate before parsing a blocking element, for example at the very beginning of the loading phase. The browser may also decide to restore the frame rate before the blocking element list gets empty, for example after a timeout or certain user interactions.
Prompt API
Expires on March 24, 2026
The Prompt API is an experimental web API that allows you to prompt a small language model (SLM) that is built into Microsoft Edge, from your website's or browser extension's JavaScript code. Use the Prompt API to generate and analyze text or create application logic based on user input, and discover innovative ways to integrate prompt engineering capabilities into your web application.
See also:
WebGPU Compatibility Mode
Expires on April 21, 2026
WebGPU Compatibility Mode is an opt-in, lightly restricted subset of WebGPU capable of running older graphics APIs such as OpenGL and Direct3D11. The goal is to expand the reach of WebGPU applications to older devices that do not have the modern, explicit graphics APIs that core WebGPU requires.
Microsoft Edge-only origin trials
Web app access to LocalFolder
Expires on July 31, 2025
Web app access to LocalFolder
allows a PWA that was installed from the Microsoft Store to access file content that was previously stored in the WinRT ApplicationData.LocalFolder
folder by an earlier UWP version of the same application.
Web app scope extensions
Expires on August 31, 2025
scope_extensions
is a new web app manifest member that enables web apps to extend their scope to other origins.
Scope extensions allow web apps that rely on multiple subdomains and top-level domains to be presented as a single web app.
{
"name": "Example app",
"display": "standalone",
"start_url": "/index.html",
"scope_extensions": [
{
"type": "type",
"origin": "https://example.com"
}
]
}
The origins that are listed in the scope_extensions
member must confirm that they are associated with the web app, by hosting a configuration file named .well-known/web-app-origin-association
. The file must list the web app's origin:
{
"https://sample-app.com/": {
"scope": "/"
}
}
Acquisition Info API
Expires on December 18, 2025.
The Acquisition Info API supports third-party acquisition attribution for PWAs that were acquired through an app store or directly from the browser.
MS High Contrast Deprecation
Expires on September 9, 2025.
Enables the legacy CSS -ms-high-contrast
media query and the legacy -ms-high-contrast-adjust
property.
See Deprecating support for -ms-high-contrast and -ms-high-contrast-adjust.
AriaNotify API
Expires on October 14, 2025.
The AriaNotify API enables your app to directly tell a screen reader what to say when there's a non-user-initiated change in the content of a webpage. In the simplest scenario, you call ariaNotify("foo")
on the document or on an element.
See Creating a more accessible web with Aria Notify.
Note
Portions of this page are modifications based on work created and shared by Chromium.org and used according to terms described in the Creative Commons Attribution 4.0 International License.