Edytuj

Microsoft Edge 158 web platform release notes (Nov. 19, 2026)

The following are the new web platform features and updates in Microsoft Edge 158, which releases on Nov. 19, 2026.

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:

Microsoft Edge DevTools

See What's new in Microsoft Edge DevTools.

WebView2

See:

CSS features

The following new Cascading Style Sheets (CSS) features are included in Microsoft Edge.

flow-start and flow-end alignment keywords

The flow-start and flow-end keywords are now accepted by CSS alignment properties, as aliases of the existing flex-start and flex-end keywords.

These keywords refer to the edges of a container at which content placement starts and ends. This is useful when placement is reversed, such as in CSS grid lanes layouts that use fill-reverse or track-reverse. Because the keywords are aliases, flex-start and flex-end now follow the logical start and end directions in any layout mode where those differ from the physical directions, and not only in flexbox.

See also:

::highlight(*) universal selector

The ::highlight(*) CSS pseudo-element selector matches the highlight pseudo-elements of all custom highlights, regardless of their names.

The * argument adds zero specificity. This means that styles you declare by using ::highlight(*) act as a base style, which rules that name a specific highlight can override.

For example, to style all custom highlights with a yellow background, and then override the style of a highlight that's named error:

::highlight(*) {
  background-color: yellow;
}

::highlight(error) {
  background-color: pink;
}

See also:

Media element pseudo-classes

The following CSS pseudo-classes match <audio> and <video> elements based on their state:

  • :playing
  • :paused
  • :seeking
  • :buffering
  • :stalled
  • :muted
  • :volume-locked

Use the above CSS pseudo-classes to style media elements, or their surrounding UI, without needing JavaScript to track the state. For example, to dim a video while it's buffering:

video:buffering {
  opacity: 0.5;
}

See also:

closest-corner and farthest-corner radii for circle() and ellipse()

The circle() and ellipse() CSS basic-shape functions now accept the closest-corner and farthest-corner radius keywords, in addition to the existing closest-side and farthest-side keywords.

  • The closest-corner radius keyword resolves to the distance from the center of the shape to the nearest corner of the reference box.
  • The farthest-corner radius keyword resolves to the distance from the center of the shape to the farthest corner of the reference box.

This matches the behavior of the same keywords in the radial-gradient() function. You can use these keywords in the clip-path, shape-outside, and offset-path properties.

For example, to clip an element to a circle that reaches the farthest corner of the element:

.badge {
  clip-path: circle(farthest-corner at 25% 25%);
}

See also:

object-fit and object-position for SVG documents in <object> and <embed>

The object-fit and object-position CSS properties now apply to Scalable Vector Graphics (SVG) documents that are loaded by using an <object> or <embed> element. The SVG document is sized and positioned inside the content box of the element, in the same way as the content of an <img> element.

Previously, Microsoft Edge ignored the object-fit and object-position CSS properties for embedded SVG documents, and always stretched the document viewport to fill the entire content box.

See also:

HTML features

The following new HTML features are included in Microsoft Edge.

<install> element

The <install> HTML element is a browser-rendered control that lets users install a web app, without you having to write JavaScript. Because the browser renders the <install> control, the browser receives a stronger signal of the user's intent than when handling beforeinstallprompt events.

By default, the element installs the web app that's associated with the current document. To offer the installation of another web app, such as in an app catalog, use the manifest attribute to specify the URL of the web app manifest, and optionally, the manifestid attribute to specify the manifest ID. The content of the element is fallback content:

<install
  manifest="https://music.example/manifest.webmanifest"
  manifestid="https://music.example/app">
  <a href="https://music.example/">Open Music Example</a>
</install>

The <install> element is the declarative counterpart of the navigator.install() method. See Web Install API, below.

Administrators can control this feature in two ways:

  • The WebAppInstallByUserEnabled policy can disable web app installation by users, including installations that are started by the <install> element and the navigator.install() method.
  • The web-app-installation permissions policy can allow or disallow the use of this feature on origins that the administrator controls, such as internal sites and iframes.

See also:

SVG features

The following new Scalable Vector Graphics (SVG) features are included in Microsoft Edge.

side attribute for SVG <textPath>

The side attribute of the SVG <textPath> element lets you choose which side of a path the text follows. Setting side="right" reverses the direction of the path for text layout. This makes it easy to place text inside or outside of a circular path, without duplicating or manually reversing the path data.

For example:

<svg viewBox="0 0 200 200">
  <path id="circle" d="M 100,100 m -75,0 a 75,75 0 1,1 150,0 a 75,75 0 1,1 -150,0" fill="none" />
  <text>
    <textPath href="#circle" side="right">Text on the other side of the path</textPath>
  </text>
</svg>

See also:

Web APIs

The following new Web API features are included in Microsoft Edge.

Web Install API

The Web Install API lets a website prompt the user to install a web app.

The navigator.install() method installs either:

  • The web app that's associated with the current document.
  • A web app that's not associated with the current document, by passing a manifest URL and an optional manifest ID.

This enables cross-origin web app installation, and is a better developer experience than handling beforeinstallprompt events.

For example, an app catalog can offer to install a web app that's identified by its manifest URL:

await navigator.install({
  manifest: "https://music.example/manifest.webmanifest",
  manifestId: "https://music.example/app"
});

The user must always confirm the installation.

The navigator.install() method is the imperative counterpart of the <install> element. See <install> element, above.

Administrators can control this feature in two ways:

  • The WebAppInstallByUserEnabled policy can disable web app installation by users, including installations that are started by the navigator.install() method and the <install> element.
  • The web-app-installation permissions policy can allow or disallow the use of this feature on origins that the administrator controls, such as internal sites and iframes.

See also:

Permissions policy: focus-without-user-activation

The focus-without-user-activation permissions policy gives you control over programmatic focus changes that are made by a web page that's embedded in an iframe on your site.

When the focus-without-user-activation permissions policy is denied for the frame that initiates the focus change, the following programmatic focus changes are blocked, unless that frame has transient user activation or focus is already within its subtree:

  • Calls to element.focus() and window.focus().
  • The autofocus attribute.
  • The focusing steps for dialogs and popovers.

This doesn't prevent dialogs or popovers from opening. Changes of focus that are initiated by the user, such as clicking or tabbing, are never affected. The existing restriction on autofocus in cross-origin iframes is unchanged. The focus-without-user-activation permissions policy can further restrict autofocus, but allowing this policy doesn't enable autofocus in a cross-origin frame.

Set the focus-without-user-activation permissions policy by using either:

  • The Permissions-Policy HTTP response header.
  • The allow attribute of an <iframe> element. A parent frame that has focus can still pass focus to a child iframe, even when the child frame denies the policy. After a frame has focus, the frame can move focus within its own subtree.

For example, to prevent an iframe from programmatically gaining focus on its own:

<iframe src="https://example.com/widget" allow="focus-without-user-activation 'none'"></iframe>

See also:

WebAudio: Incremental rendering for OfflineAudioContext

The OfflineAudioContext interface now supports incremental rendering. Instead of allocating the entire audio buffer before rendering begins, the OfflineAudioContext interface processes and delivers the audio graph in chunks. This lowers memory requirements when you process large amounts of audio data, particularly on devices with limited memory.

See also:

WebTransport: Reliability attributes

The reliability property and the static supportsReliableOnly property are now available on WebTransport. These properties tell you what kinds of connections are supported.

  • The static property WebTransport.supportsReliableOnly indicates whether the browser supports WebTransport over exclusively reliable connections. In Microsoft Edge, this property returns false, because a session that's established successfully uses HTTP/3, and supports unreliable datagrams.
  • The reliability property of a specific WebTransport instance indicates whether the established session supports unreliable transport, such as datagrams. This property initially returns "pending", and changes to returning "supports-unreliable" after an HTTP/3 WebTransport connection is established.

See also:

WebTransport: Anticipated concurrent incoming streams

You can now tell WebTransport how many incoming streams you expect to have open at once, by using hints in the WebTransport() constructor. The browser uses these hints to configure the initial QUIC stream allowance. This reduces the risk that a server that needs high stream concurrency is blocked by the initial stream limit.

See also:

WebTransport: Draining

The draining property of WebTransport is a promise that resolves when the server indicates that the WebTransport session will be gracefully retired. Use this signal to establish a replacement session while the existing streams and the current session remain usable.

For example:

transport.draining.then(() => {
  // Start a new session, and migrate your streams to it.
});

See also:

Origin trials

The following are origin trials for new experimental APIs that are available in Microsoft Edge.

Origin trials let you try experimental APIs on your own live website for a limited time. To learn more about origin trials, see Use origin trials in Microsoft Edge.

For the full list of available origin trials, see Microsoft Edge Origin Trials.

Name Description Register
Gamepad raw input event Instead of relying on frequent polling via navigator.getGamepads(), webpages can listen for gamepadrawinputchanged events. These events are fired whenever changes are detected between input frames from the same device. Register
Control viewport heuristics in Speculation Rules API Lets you control the viewport heuristics that are used by speculation rules, to determine if different heuristics parameters give you better results than the default ones. Register
User Agent Image Replacement API Lets you observe when browser features replace images in your page's content. These browser features are currently limited to selected sites. Register
Autofill Event Detects when browser autofill updates form controls, for adapting custom UI and validation. Register
Speculative Load measurement performance.speculations exposes data about used and unused preloads, prefetches, and prerenders. This helps you measure the effectiveness of speculative loading strategies and optimize performance-versus-cost tradeoffs. Register
Prompt API sampling parameters The topK and temperature sampling parameters let you optimize model behavior per language-model session. Register
Digital Credentials API - Issuance Support Lets a site trigger the issuance of a credential, such as a driver's license or an academic degree, from an issuer server to the user's digital wallet application. Register
PrefetchAndPrerenderActivationBeacon Allows Microsoft Edge to reliably report an activation beacon when a prefetch or prerendered page is activated. Register
prerender_until_script Speculation Rules API action Prerenders a page, but switches to prefetching when a script executes. Register
JS Self-Profiling Markers Extends the JS Self-Profiling API by adding sample markers such as script, gc, style, layout, and paint. These markers identify the activity that the browser was doing at capture time. Register
Email Verification Protocol Enables websites to verify email ownership by using cryptographic tokens that are issued by email providers. This reduces reliance on email one-time passcodes (OTPs), and streamlines sign-up, sign-in, and recovery flows. Register
WebAssembly Custom Descriptors V2 Stores data that's associated with source-level types more efficiently, in custom descriptor objects. Register
Declarative Performance Observer API Uses HTTP response headers to prove a reliable browser-managed telemetry system that reports performance metrics for the site, from navigation initiation to page termination. Register
WebMCP Enables your site to register tools for an in-browser agent to complete tasks on behalf of a user. Register
WebRTC Diagnostic Logging API Lets your web app start, finish, and cancel the collection of internal diagnostic logs for WebRTC operations. Register
Connection Allowlist Embedded Enforcement Lets you use the connectionallowlist attribute on an <iframe> element to require that the embedded document restricts its outgoing network connections to a declared allowlist. If the embedded document doesn't deliver a matching Connection-Allowlist header, its response is blocked. Register

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.