แก้ไข

แชร์ผ่าน


Microsoft Edge 145 web platform release notes (Feb. 2026)

The following are the new web platform features and updates in Microsoft Edge 145, which releases on February 12, 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:

Edge DevTools

See What's New in Microsoft Edge DevTools.

WebView2

See Release Notes for the WebView2 SDK.

CSS features

Below are the new Cascading Style Sheets (CSS) features in Microsoft Edge.

Scroll-triggered animations

Scroll-triggered animations control the play state of animations, based on a scroll position.

Scroll-triggered animations are useful for cases where you want to start an animation, such as sliding an element into view, only when a certain scroll position is reached.

This feature makes it possible to achieve this common effect without using JavaScript to manually detect that an element is within its scroll container's viewport. This also means that the browser can offload the handling of the interaction to a worker thread, which improves performance.

See also:

trigger-scope

The trigger-scope property lets you define the scope within which the names of animation triggers apply.

For example, scroll-triggered animations use the timeline-trigger and animation-trigger properties to define custom trigger names. By default, those names are global, meaning that they can be referenced from anywhere in the document. By using the trigger-scope property, you can limit the visibility of those trigger names to a specific scope.

See also:

Percentage values for letter-spacing and word-spacing

The letter-spacing and word-spacing CSS properties now support percentage values.

The ability to use percentage values gives you more flexible control over typography, particularly in responsive designs where the text spacing needs to adapt to different viewport widths and font sizes.

Percentage values are calculated relative to the font-size of the current element, and therefore represent a size that's relative to the size of the text to which the values apply.

See also:

Support for column wrapping in multi-column layouts

Multi-column layouts, such as those created by using the column-count or column-width CSS properties, now support column wrapping.

You control column wrapping by using the column-wrap and column-height CSS properties.

With column wrapping, instead of letting the height of the columns be defined by the parent element, you can define an explicit height for the columns. A new row of columns is created when all columns have been filled for one row.

See also:

Customizable select listbox

Customizable selects can now also be rendered as single-select or multi-select in listbox mode.

The listbox rendering mode means that the select element is rendered in the page rather than with a separate button and popup.

To render a customizable select in listbox mode, use the multiple or size HTML attributes. For example: <select multiple> or <select size="4">.

See also:

Improved rendering for near circular border radius

The rendering of near-circular elements, such as those that have a border-radius that's close to 50%, has been improved. The shadows and clip boundaries of these elements now precisely match the visual contour of the elements' curved edges.

This improvement also applies to non-round contours, such as those using the corner-shape property.

See also:

text-justify

The text-justify property lets you control how text is justified when using the text-align: justify; CSS declaration.

For example, you can force justification by expanding inter-character space even in English text, by using text-justify: inter-character;.

See also:

Monochrome emoji rendering in forced colors mode

To improve accessibility, Microsoft Edge now renders monochrome emojis in forced colors mode, such as when the user is using a contrast theme on Windows.

See also:

Web APIs

Below are the new Web API features in Microsoft Edge.

Origin API

The Origin API provides helpful methods for:

  • Comparing origins.
  • Serializing an origin.
  • Parsing an origin.

The origin is a fundamental component of the web that's essential to both the security and privacy boundaries which browsers maintain.

Browsers have always had internal representations of a webpage's origin. The new Origin API exposes this internal representation so that your code can use it.

Using the Origin API, you can do same-origin or same-site comparisons in a more robust way than by using the other, existing origin getters, which all return ASCII serializations of origins.

See also:

PerformanceEntry paintTime and presentationTime properties

Each performance metric is represented by a single PerformanceEntry.

The paintTime and presentationTime properties are now available for the following Performance API entries:

The paintTime property indicates the time at which the rendering phase ended and the browser started the paint phase.

The presentationTime property indicates the time at which the pixels reached the screen.

See also:

Require sticky user activation or permission for clipboardchange events

To prevent unauthorized system clipboard monitoring, the clipboardchange event is now only emitted in the following cases:

  • When the page is in sticky user activation mode.

  • When the clipboard-read permission has been granted by the user.

Sticky user activation happens when the user is actively interacting with the webpage, or has interacted with the page at least once.

See also:

onanimationcancel event handler

The onanimationcancel event handler is now available, similar to onanimationstart, onanimationiteration, and onanimationend.

onanimationcancel makes it possible to detect when an animation stops running, even when this animation didn't reach its natural end. For example:

  • When the animation-name CSS property is changed.

  • When the animating element gets hidden by using display:none.

See also:

IDNA ContextJ rules

To improve interoperability with other browsers, Microsoft Edge now implements the IDNA ContextJ rules, by disallowing ZWNJ (U+200C ZERO WIDTH NON-JOINER) and ZWJ (U+200D ZERO WIDTH JOINER) characters in most places within URLs.

IDNA is the mechanism by which non-ASCII characters can occur in domain names. For example, the URL http://네이버.한국/ is encoded as http://xn--950bt9s8xi.xn--3e0b707e/.

See also:

getOrInsert and getOrInsertComputed methods on Map and WeakMap

getOrInsert

The getOrInsert(key, defaultValue) method on Map and WeakMap returns the value that's stored at a specified key in the map.

If the key isn't found in the map, the getOrInsert method creates a new entry for that key, with the provided default value, and then returns the value.

See also:

getOrInsertComputed

The getOrInsertComputed(key, callback) method on Map and WeakMap returns the value that's stored at a specified key in the map.

If the key isn't found in the map, the getOrInsertComputed method creates a new entry for that key, sets its value to the result of a given callback function, and then returns the value.

See also:

LayoutShift API reports in CSS pixels

The prevRect and currentRect data that's returned by the LayoutShift API now reports lengths in CSS pixels instead of physical pixels.

This change makes the LayoutShift API consistent with other layout-related APIs, which all use CSS pixel units.

See also:

Text-scale meta element

The text-scale meta element makes the default font-size of a webpage's root element consistent with the text scale settings of the operating system and browser. For example:

<meta name="text-scale" content="scale">

Previously, there was no easy way to respect the text scale that the user set in the operating system or browser.

The text-scale meta element is useful if you follow best practices around font-relative units, such as by using rem and em font size units to respect the user's text size preferences.

This feature also allows the browser to disable its own browser-based mechanisms and heuristics, such as full-screen zoom on desktop, or text auto-sizing on mobile. Now, you can signal to the browser that the page is constructed in a way that will scale well across various user-selected font size preferences.

See also:

To define a cookie's expiry time, you can now use the maxAge attribute when using the Cookie Store API.

This is in addition to the expires attribute, which already controls a cookie's expiry time. The new, maxAge attribute:

  • Provides an alternative option that can sometimes be more intuitive than the expires attribute.
  • Aligns the Cookie Store API with the options that are provided by document.cookie and the Set-Cookie HTTP Header.

See also:

focusVisible option for the focus() method

When calling the focus() method, you can now supply the focusVisible boolean option.

  • When focusVisible is true, a focus ring is displayed around the newly focused element, and the :focus-visible CSS pseudo-class is matched.

  • When focusVisible is false, a focus ring is not displayed around the newly focused element, and the :focus-visible CSS pseudo-class isn't matched.

  • When focusVisible is missing, the browser makes its own determination whether a focus ring is displayed around the newly focused element, and whether the :focus-visible CSS pseudo-class is matched accordingly.

See also:

VideoFrame.metadata() now returns rtpTimestamp for WebRTC video frames

The new VideoFrame.metadata() method returns a dictionary object.

  • If the VideoFrame browser object has an rtpTimestamp field in its metadata, a dictionary object that contains the rtpTimestamp field is returned.
  • If the VideoFrame browser object doesn't have an rtpTimestamp field in its metadata, an empty dictionary object is returned.

Only video frames that originate from a WebRTC source have the rtpTimestamp metadata.

The rtpTimestamp field allows an app to correlate each exposed frame with its original RTP transport timestamp, for the following:

  • An app that uses a MediaStreamTrackProcessor, such as to render decoded WebRTC frames to a canvas.
  • An app that uses WebCodecs, such as for custom decoding pipelines.

See also:

New input event types for keyboard deletion commands on selected text

When keyboard deletion commands such as Ctrl+Backspace or Ctrl+Delete are used with selected text in an element that has a contenteditable attribute, the beforeinput and input events now report the following input event types:

  • deleteContentBackward
  • deleteContentForward

Previously, the following event types were reported:

  • deleteWordBackward
  • deleteWordForward

This change enables you to detect which editing operation occurred and implement reliable undo/redo mechanisms, or other custom editing behaviors.

See also:

to property for Navigation API transitions

NavigationTransition objects now have a to property, which exposes the destination of the navigation. The existing from property exposes the source of the navigation.

The to and from properties are useful when using precommit handlers. Precommit handlers are used during same-document navigation via the NavigateEvent.intercept() method, to either:

  • Modify or cancel in-flight navigation.
  • Perform work while the navigation is ongoing and before it is committed.

See also:

The dropEffect value is preserved from dragover to drop events

When using the Drag and Drop API, the last dataTransfer.dropEffect value that was set during a dragover event is now preserved and available during the subsequent drop event.

Previously, Microsoft Edge overwrote the dropEffect value with its own negotiated operation before the drop event was fired, contrary to the spec.

See also:

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:

confidence field to detect representative navigation timing performance entries

The new confidence field on the PerformanceNavigationTiming object makes it possible to detect whether a navigation timing performance entry is representative of your web application's performance, or if the performance may have been affected by external factors, such as a cold start of the browser, or high system load.

When the browser first launches, it performs many expensive initialization tasks that compete for system resources. Browser extensions can also affect performance, because some extensions run additional code on every webpage the user visits, increasing CPU usage and slowing response times. Likewise, when a machine is already busy with intensive tasks, a webpage might load more slowly.

These factors make it more difficult to reliably detect whether a performance issue exists within the code of your web application.

The confidence field provides a way to identify navigation timing performance entries that are more likely to be representative of your web application's performance.

See also:

Device-bound session credentials

Device-bound session credentials provides a way for a website to securely bind a user session to a single device, to reduce the risk of session theft.

Device-bound session credentials makes the web safer for users, by making it harder to abuse the user's identity.

See also:

Deprecated or removed features

Remove support for Bitmap extension to embed JPEG or PNG

Support for embedding JPEG or PNG image data in a Bitmap image format is nonstandard, and has been removed.

Use PNG or JPEG images directly, rather than embedding them inside a BMP image format.

Origin trials in Microsoft Edge

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 Test experimental APIs and features by using origin trials.

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

Web Install API

Expires on July 14, 2026.

The Web Install API allows a website to install other websites as web apps on the user's device, by using navigator.install().

Chromium origin trials

Below are active Chromium origin trials which you can try in Microsoft Edge.

For the full list of Chromium origin trials that are available in Microsoft Edge, see Microsoft Edge Origin Trials.

SharedArrayBuffers in non-isolated pages on Desktop platforms

Expires on May 19, 2026.

This is a temporary extension for ungated use of SharedArrayBuffer objects in webpages that aren't cross-origin isolated.

Digital Credentials API - Issuance Support

Expires on July 14, 2026.

The Digital Credentials API enables triggering the issuance of user credentials from a credential issuer server to a digital wallet application. For example, this API can be used to trigger the provisioning of a new driver's license, or a verified academic degree, from a government or university server to a user's digital wallet.

WebAssembly Custom Descriptors

Expires on June 16, 2026.

WebAssembly Custom Descriptors allows WebAssembly to store data that's associated with source-level types more efficiently, in new custom descriptor objects.

Enhanced Canvas TextMetrics

Expires on August 11, 2026.

This origin trial expands the TextMetrics Canvas API to support:

  • Selection rectangles.
  • Bounding box queries.
  • Operations based on a glyph cluster.

This new functionality enables complex text-editing applications to have accurate selection, caret positioning, and hit testing. Also, cluster-based rendering facilitates sophisticated text effects, such as:

Writer API

Expires on April 21, 2026.

The Writer API can be used to generate text from a writing task prompt, backed by an on-device AI language model.

Use this API to:

  • Generate a textual explanation of structured data.
  • Compose a post about a product, based on reviews or a product description.
  • Generate a biography based on background information.
  • And more.

See also Summarize, write, and rewrite text with the Writing Assistance APIs.

Rewriter API

Expires on April 21, 2026.

The Rewriter API transforms and rephrases input text in requested ways, backed by an on-device AI language model.

Use this API to remove redundancies within input text, in order to:

  • Fit the text into a word limit.
  • Rephrase the text to suit the intended audience.
  • Be more constructive if the text uses inadequate language.

See also Summarize, write, and rewrite text with the Writing Assistance APIs.

Incoming call notifications

Expires on May 19, 2026.

This feature extends the Notifications API to allow an installed PWA to send incoming call notifications, which have call-styled buttons and a ringtone.

This extension helps Voice over IP web apps create more engaging experiences by making it easier for users to recognize a call notification and answer it.

Local Network Access from Non-Secure Contexts

Expires on May 19, 2026.

Local Network Access from non-secure contexts temporarily allows for access to resources on local networks to originate from non-secure contexts. This gives you more time to migrate Local Network Access requests so that they originate from a secure context.

For restrictions on Local Network Access, see New permission prompt for Local Network Access. This origin trial can only be enabled through HTTP header-provided origin tokens.

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.