From c046833ed220275e20ae31791fc728120e882dd2 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Tue, 6 Jan 2026 09:44:10 +0100 Subject: [PATCH] Microsoft Edge 145 web platform release notes (Feb. 2026) (#3682) * New web platform release notes for 145 * Edit pass * detailed contents * writer/editor pass 1st half * linkfix * 2nd half writer editor pass * del Entry todo's * not This * png-jpeg-in-bmp applies to edge * Update site-impacting-changes * update template * addressed review comments * escape html tag name * Fix formatting --------- Co-authored-by: captainbrosset Co-authored-by: undefined Co-authored-by: Michael Hoffman <45407486+mikehoffms@users.noreply.github.com> --- microsoft-edge/toc.yml | 12 +- .../web-platform/release-notes/143.md | 2 +- .../web-platform/release-notes/144.md | 43 +- .../web-platform/release-notes/145.md | 631 ++++++++++++++++++ .../web-platform/site-impacting-changes.md | 1 + scripts/beta-release-notes-template.njk | 21 +- 6 files changed, 667 insertions(+), 43 deletions(-) create mode 100644 microsoft-edge/web-platform/release-notes/145.md diff --git a/microsoft-edge/toc.yml b/microsoft-edge/toc.yml index 7600b8bba4..3542fedc23 100644 --- a/microsoft-edge/toc.yml +++ b/microsoft-edge/toc.yml @@ -30,6 +30,10 @@ href: ./web-platform/release-notes/index.md displayName: what's new, announcements + - name: Microsoft Edge 145 + href: ./web-platform/release-notes/145.md + displayName: Microsoft Edge 145 web platform release notes (Feb. 2026) # page title + - name: Microsoft Edge 144 href: ./web-platform/release-notes/144.md displayName: Microsoft Edge 144 web platform release notes (Jan. 2026) # page title @@ -66,13 +70,13 @@ href: ./web-platform/release-notes/136.md displayName: Microsoft Edge 136 web platform release notes (May 2025) # page title - - name: Microsoft Edge 135 - href: ./web-platform/release-notes/135.md - displayName: Microsoft Edge 135 web platform release notes (Apr. 2025) # page title - # keep 10 items above - name: Archive items: + - name: Microsoft Edge 135 + href: ./web-platform/release-notes/135.md + displayName: Microsoft Edge 135 web platform release notes (Apr. 2025) # page title + - name: Microsoft Edge 134 href: ./web-platform/release-notes/134.md displayName: Microsoft Edge 134 web platform release notes (Mar. 2025) # page title diff --git a/microsoft-edge/web-platform/release-notes/143.md b/microsoft-edge/web-platform/release-notes/143.md index 5239357c5f..5d7d63974b 100644 --- a/microsoft-edge/web-platform/release-notes/143.md +++ b/microsoft-edge/web-platform/release-notes/143.md @@ -147,7 +147,7 @@ Below are the new Web API features in Microsoft Edge. -###### Allow more characters in JavaScript DOM APIs +#### 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. diff --git a/microsoft-edge/web-platform/release-notes/144.md b/microsoft-edge/web-platform/release-notes/144.md index 61f4f454c6..e3e5a090fa 100644 --- a/microsoft-edge/web-platform/release-notes/144.md +++ b/microsoft-edge/web-platform/release-notes/144.md @@ -5,13 +5,9 @@ author: MSEdgeTeam ms.author: msedgedevrel ms.topic: article ms.service: microsoft-edge -ms.date: 01/08/2026 +ms.date: 01/15/2026 --- # Microsoft Edge 144 web platform release notes (Jan. 2026) - The following are the new web platform features and updates in Microsoft Edge 144, which releases on January 15, 2026. @@ -31,13 +27,11 @@ To stay up-to-date and get the latest web platform features, download a preview * [Web APIs](#web-apis) * [The Temporal API](#the-temporal-api) * [The clipboardchange event](#the-clipboardchange-event) - * [IDNA ContextJ rules](#idna-contextj-rules) * [The variants accessor property of Intl.Locale](#the-variants-accessor-property-of-intllocale) * [Mirroring of MathML operators in right-to-left mode](#mirroring-of-mathml-operators-in-right-to-left-mode) * [Performance API interactionCount property](#performance-api-interactioncount-property) * [The `maintain-framerate-and-resolution` value for the `RTCDegradationPreference` enum](#the-maintain-framerate-and-resolution-value-for-the-rtcdegradationpreference-enum) * [LayoutShift API reports rect elements in CSS pixels](#layoutshift-api-reports-rect-elements-in-css-pixels) - * [Browser Bound Keys in the Secure Payment Confirmation API](#browser-bound-keys-in-the-secure-payment-confirmation-api) * [Support for `ping`, `hreflang`, `type`, and `referrerPolicy` for SVG `` elements](#support-for-ping-hreflang-type-and-referrerpolicy-for-svg-a-elements) * [Exception on History API pushState and replaceState throttling](#exception-on-history-api-pushstate-and-replacestate-throttling) * [User-Agent Client Hints ch-ua-high-entropy-values permissions policy](#user-agent-client-hints-ch-ua-high-entropy-values-permissions-policy) @@ -64,8 +58,8 @@ To stay up-to-date and get the latest web platform features, download a preview ## Edge DevTools See [What's New in Microsoft Edge DevTools](../../devtools/whats-new/whats-new.md). - @@ -73,14 +67,16 @@ See [What's new in DevTools (Microsoft Edge 144)](../../devtools/whats-new/2026/ ## WebView2 See [Release Notes for the WebView2 SDK](../../webview2/release-notes/index.md). - ## CSS features +Below are the new Cascading Style Sheets (CSS) features in Microsoft Edge. + #### The `scrolled` feature for scroll-state container queries @@ -181,6 +177,8 @@ See also: ## Web APIs +Below are the new Web API features in Microsoft Edge. + #### The Temporal API @@ -202,17 +200,6 @@ See also: * [Test the clipboardchange event—a more efficient way to monitor the clipboard](https://developer.chrome.com/blog/clipboardchange). - -#### 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: -* [Better Unicode support](./143.md#better-unicode-support) in _Microsoft Edge 143 web platform release notes (Dec. 2025)_. - - #### The `variants` accessor property of `Intl.Locale` @@ -281,18 +268,6 @@ See also: * [LayoutShiftAttribution](https://developer.mozilla.org/docs/Web/API/LayoutShiftAttribution) 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](https://developer.mozilla.org/docs/Web/API/Payment_Request_API/Using_secure_payment_confirmation) at MDN. -* [Browser Bound Key Store](https://w3c.github.io/secure-payment-confirmation/#sctn-browser-bound-key-store) in _Secure Payment Confirmation_. - - #### Support for `ping`, `hreflang`, `type`, and `referrerPolicy` for SVG `` elements diff --git a/microsoft-edge/web-platform/release-notes/145.md b/microsoft-edge/web-platform/release-notes/145.md new file mode 100644 index 0000000000..21c36fbbc1 --- /dev/null +++ b/microsoft-edge/web-platform/release-notes/145.md @@ -0,0 +1,631 @@ +--- +title: Microsoft Edge 145 web platform release notes (Feb. 2026) +description: Microsoft Edge 145 web platform release notes (Feb. 2026) +author: MSEdgeTeam +ms.author: msedgedevrel +ms.topic: conceptual +ms.service: microsoft-edge +ms.date: 02/01/2026 +--- +# 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](https://www.microsoft.com/edge/download/insider). + +**Detailed contents:** + +* [Edge DevTools](#edge-devtools) +* [WebView2](#webview2) +* [CSS features](#css-features) + * [Scroll-triggered animations](#scroll-triggered-animations) + * [trigger-scope](#trigger-scope) + * [Percentage values for letter-spacing and word-spacing](#percentage-values-for-letter-spacing-and-word-spacing) + * [Support for column wrapping in multi-column layouts](#support-for-column-wrapping-in-multi-column-layouts) + * [Customizable select listbox](#customizable-select-listbox) + * [Improved rendering for near circular border radius](#improved-rendering-for-near-circular-border-radius) + * [text-justify](#text-justify) + * [Monochrome emoji rendering in forced colors mode](#monochrome-emoji-rendering-in-forced-colors-mode) +* [Web APIs](#web-apis) + * [Origin API](#origin-api) + * [PerformanceEntry presentationTime and paintTime properties](#performanceentry-painttime-and-presentationtime-properties) + * [Require sticky user activation or permission for clipboardchange events](#require-sticky-user-activation-or-permission-for-clipboardchange-events) + * [onanimationcancel event handler](#onanimationcancel-event-handler) + * [IDNA ContextJ rules](#idna-contextj-rules) + * [`getOrInsert` and `getOrInsertComputed` methods on `Map` and `WeakMap`](#getorinsert-and-getorinsertcomputed-methods-on-map-and-weakmap) + * [LayoutShift API reports in CSS pixels](#layoutshift-api-reports-in-css-pixels) + * [Text-scale meta element](#text-scale-meta-element) + * [Cookie Store API maxAge attribute](#cookie-store-api-maxage-attribute) + * [focusVisible option for the focus() method](#focusvisible-option-for-the-focus-method) + * [VideoFrame.metadata() now returns rtpTimestamp for WebRTC video frames](#videoframemetadata-now-returns-rtptimestamp-for-webrtc-video-frames) + * [New input event types for keyboard deletion commands on selected text](#new-input-event-types-for-keyboard-deletion-commands-on-selected-text) + * [to property for Navigation API transitions](#to-property-for-navigation-api-transitions) + * [The dropEffect value is preserved from dragover to drop events](#the-dropeffect-value-is-preserved-from-dragover-to-drop-events) + * [Browser Bound Keys in the Secure Payment Confirmation API](#browser-bound-keys-in-the-secure-payment-confirmation-api) + * [confidence field to detect representative navigation timing performance entries](#confidence-field-to-detect-representative-navigation-timing-performance-entries) + * [Device-bound session credentials](#device-bound-session-credentials) +* [Deprecated or removed features](#deprecated-or-removed-features) + * [Remove support for Bitmap extension to embed JPEG or PNG](#remove-support-for-bitmap-extension-to-embed-jpeg-or-png) +* [Origin trials in Microsoft Edge](#origin-trials-in-microsoft-edge) + * [Web Install API](#web-install-api) +* [Chromium origin trials](#chromium-origin-trials) + * [SharedArrayBuffers in non-isolated pages on Desktop platforms](#sharedarraybuffers-in-non-isolated-pages-on-desktop-platforms) + * [Digital Credentials API - Issuance Support](#digital-credentials-api---issuance-support) + * [WebAssembly Custom Descriptors](#webassembly-custom-descriptors) + * [Enhanced Canvas TextMetrics](#enhanced-canvas-textmetrics) + * [Writer API](#writer-api) + * [Rewriter API](#rewriter-api) + * [Incoming call notifications](#incoming-call-notifications) + * [Local Network Access from Non-Secure Contexts](#local-network-access-from-non-secure-contexts) + + + +## Edge DevTools + +See [What's New in Microsoft Edge DevTools](../../devtools/whats-new/whats-new.md). + + + + +## WebView2 + +See [Release Notes for the WebView2 SDK](../../webview2/release-notes/index.md). + + + + +## 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: +* [Explainer for the Scroll-Triggered animations](https://github.com/explainers-by-googlers/scroll-triggered-animations/blob/main/README.md) + + + +#### 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: +* [Trigger Name Scoping: the trigger-scope property](https://drafts.csswg.org/css-animations-2/#trigger-scope) + + + +#### 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: +* [letter-spacing](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/letter-spacing) at MDN. +* [word-spacing](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/word-spacing) at MDN. + + + +#### 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: +* [The overflow direction: the column-wrap property](https://drafts.csswg.org/css-multicol-2/#cwr) +* [The Block Size of Columns: the column-height property](https://drafts.csswg.org/css-multicol-2/#ch) + + + +#### 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: ``. + +See also: +* [Customizable select elements](https://developer.mozilla.org/docs/Learn_web_development/Extensions/Forms/Customizable_select) at MDN. +* [Mobile and desktop parity for \ elements](./142.md#mobile-and-desktop-parity-for-select-elements) in _Microsoft Edge 142 web platform release notes (Oct. 2025)_. + + + +#### 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: +* [border-radius](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-radius) at MDN. +* [corner-shape](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/corner-shape) at MDN. + + + +#### `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: +* [text-justify](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-justify) at MDN. + + + +#### 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: +* [forced-colors](https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/@media/forced-colors) at MDN. + + + +## 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: +* [The Origin interface](https://html.spec.whatwg.org/multipage/browsers.html#the-origin-interface) + + + +#### 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: + +* Element timing. + * See [PerformanceElementTiming](https://developer.mozilla.org/docs/Web/API/PerformanceElementTiming) at MDN. +* Largest Contentful Paint. + * See [LargestContentfulPaint](https://developer.mozilla.org/docs/Web/API/LargestContentfulPaint) at MDN. +* Long Animation Frames. + * See [PerformanceLongAnimationFrameTiming](https://developer.mozilla.org/docs/Web/API/PerformanceLongAnimationFrameTiming) at MDN. +* Paint timing. + * See [PerformancePaintTiming](https://developer.mozilla.org/docs/Web/API/PerformancePaintTiming) at MDN. + +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: +* [Performance APIs](https://developer.mozilla.org/docs/Web/API/Performance_API) at MDN. + + + +#### 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: +* [The clipboardchange event](./144.md#the-clipboardchange-event) in _Microsoft Edge 144 web platform release notes (Jan. 2026)_. + + + +#### `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: +* [Element: animationcancel event](https://developer.mozilla.org/docs/Web/API/Element/animationcancel_event) at MDN. + + + +#### 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: +* [Better Unicode support](./143.md#better-unicode-support) in _Microsoft Edge 143 web platform release notes (Dec. 2025)_. + + + +#### `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: +* [Proposal Upsert](https://github.com/tc39/proposal-upsert) +* [Map.prototype.getOrInsert()](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map/getOrInsert) at MDN. +* [WeakMap.prototype.getOrInsert()](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/getOrInsert) at MDN. + + + +###### `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: +* [Proposal Upsert](https://github.com/tc39/proposal-upsert) +* [Map.prototype.getOrInsertComputed()](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map/getOrInsertComputed) at MDN. +* [WeakMap.prototype.getOrInsertComputed()](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/getOrInsertComputed) at MDN. + + + +#### 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: +* [LayoutShift](https://developer.mozilla.org/docs/Web/API/LayoutShift) at MDN. + + + +#### 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: + +`` + +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: +* [Text-Scale meta element](https://drafts.csswg.org/css-fonts-5/#text-scale-meta) + + + +#### Cookie Store API `maxAge` attribute + +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: +* [Cookie Store API](https://developer.mozilla.org/docs/Web/API/Cookie_Store_API) at MDN. + + + +#### `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: +* [HTMLElement: focus() method](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus) at MDN. + + + +#### `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: +* [VideoFrameMetadata](https://w3c.github.io/mediacapture-extensions/#videoframemetadata) in Media Capture and Streams Extensions. +* [WebRTC API](https://developer.mozilla.org/docs/Web/API/WebRTC_API) at MDN. + + + +#### 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: +* [InputEvent: inputType property](https://developer.mozilla.org/docs/Web/API/InputEvent/inputType) at MDN. + + + +#### `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: +* [Navigation API](https://developer.mozilla.org/docs/Web/API/Navigation_API) at MDN. +* [NavigationPrecommitController](https://developer.mozilla.org/docs/Web/API/NavigationPrecommitController) at MDN. + + + +#### 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: +* [HTML Drag and Drop API](https://developer.mozilla.org/docs/Web/API/HTML_Drag_and_Drop_API) at MDN. +* [DataTransfer: dropEffect property](https://developer.mozilla.org/docs/Web/API/DataTransfer/dropEffect) 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](https://developer.mozilla.org/docs/Web/API/Payment_Request_API/Using_secure_payment_confirmation) at MDN. +* [Browser Bound Key Store](https://w3c.github.io/secure-payment-confirmation/#sctn-browser-bound-key-store) in _Secure Payment Confirmation_. + + + +#### `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: +* [Performance APIs](https://developer.mozilla.org/docs/Web/API/Performance_API) at MDN. +* [PerformanceNavigationTiming](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming) at MDN. +* [PerformanceTimingConfidence interface](https://w3c.github.io/navigation-timing/#sec-performance-timing-confidence) in _Navigation Timing Level 2_. + + + +#### 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: +* [Device Bound Session Credentials](https://w3c.github.io/webappsec-dbsc/) + + + +## 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](../../origin-trials/index.md). + +For the full list of available origin trials, see [Microsoft Edge Origin Trials](https://developer.microsoft.com/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()`. + +* [Explainer](https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/WebInstall/explainer.md) +* [Feedback](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/new?template=web-install-api.md) +* [Register](https://developer.microsoft.com/en-us/microsoft-edge/origin-trials/trials/bcf7d28f-6bdf-45d8-9207-63c97a042407) + + + +## 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](https://developer.microsoft.com/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. + +* [Explainer](https://developer.chrome.com/blog/enabling-shared-array-buffer/) +* [Feedback](https://bugs.chromium.org/p/chromium/issues/entry?components=Internals%3ESandbox%3ESiteIsolation) +* [Register](https://developer.chrome.com/origintrials/#/register_trial/303992974847508481) + + + +#### 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. + +* [Explainer](https://w3c-fedid.github.io/digital-credentials) +* [Feedback](https://github.com/w3c-fedid/digital-credentials/issues) +* [Register](https://developer.chrome.com/origintrials/#/register_trial/385620718093598721) + + + +#### 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. + +* [Explainer](https://github.com/WebAssembly/custom-descriptors/blob/main/proposals/custom-descriptors/Overview.md) +* [Feedback](https://github.com/WebAssembly/custom-descriptors/issues) +* [Register](https://developer.chrome.com/origintrials/#/register_trial/619807898716864513) + + + +#### 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: +* Independent character animations. +* Independent character styling. + +* [Explainer](https://github.com/Igalia/explainers/blob/main/canvas-formatted-text/text-metrics-additions.md) +* [Feedback](https://github.com/Igalia/explainers/issues) +* [Register](https://developer.chrome.com/origintrials/#/register_trial/1646628613757337601) + + + +#### 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](../writing-assistance-apis.md). + +* [Explainer](https://github.com/webmachinelearning/writing-assistance-apis/blob/main/README.md#writer-api) +* [Feedback](https://github.com/webmachinelearning/writing-assistance-apis/issues) +* [Register](https://developer.chrome.com/origintrials/#/register_trial/-8779204523605360639) + + + +#### 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](../writing-assistance-apis.md). + +* [Explainer](https://github.com/webmachinelearning/writing-assistance-apis/blob/main/README.md#rewriter-api) +* [Feedback](https://github.com/webmachinelearning/writing-assistance-apis/issues) +* [Register](https://developer.chrome.com/origintrials/#/register_trial/444167513249415169) + + + +#### 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. + +* [Explainer](https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Notifications/notifications_actions_customization.md) +* [Feedback](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues) +* [Register](https://developer.chrome.com/origintrials/#/register_trial/2876111312029483009) + + + +#### 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](https://developer.chrome.com/blog/local-network-access). This origin trial can only be enabled through HTTP header-provided origin tokens. + +* [Explainer](https://developer.chrome.com/blog/local-network-access) +* [Feedback](https://github.com/WICG/local-network-access) +* [Register](https://developer.chrome.com/origintrials/#/register_trial/3826370833404657665) + + + +> [!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](https://creativecommons.org/licenses/by/4.0). diff --git a/microsoft-edge/web-platform/site-impacting-changes.md b/microsoft-edge/web-platform/site-impacting-changes.md index bf82973d75..2c601b0209 100644 --- a/microsoft-edge/web-platform/site-impacting-changes.md +++ b/microsoft-edge/web-platform/site-impacting-changes.md @@ -36,6 +36,7 @@ This table lists high-impact changes which the Microsoft Edge team is tracking c | --- | --- | --- | | Insecure downloads over HTTP | Future release (TBD) | When a user tries to download potentially dangerous content from an HTTP site, the user will receive a UI warning, such as "Insecure download blocked." The user will still have an option to proceed and download the item. Admins can use the `InsecureContentAllowedForUrls` policy to specify HTTP sites for which the warning will be suppressed. Admins can use the `InsecureDownloadWarnings` feature flag to test the impact of this upcoming feature. | | Deprecate unload event | Future release (TBD) | Introduces a new Permission-Policy to allow creating unload event listeners. The default policy is `allow`, but the default policy will gradually be migrated to `deny`, such that unload handlers stop firing on pages, unless a page explicitly opts in to re-enable them. This change is happening in the Chromium project, on which Microsoft Edge is based. For more information, see [Intent to Deprecate: Deprecate unload event](https://groups.google.com/a/chromium.org/g/blink-dev/c/dvusqw9-IhI/m/SBkm_u1RAQAJ). | +| JPEG or PNG embedded in BMP | v145 | Support for embedding JPEG or PNG image data in a Bitmap image format is nonstandard, and has been removed. See [Remove support for Bitmap extension to embed JPEG or PNG](./release-notes/145.md#remove-support-for-bitmap-extension-to-embed-jpeg-or-png) in _Microsoft Edge 145 web platform release notes (Feb. 2026)_. | | Externally loaded entities in XML parsing | v144 | Synchronous fetching of external XML entities/DTDs, which are then used when parsing under specific circumstances, has been removed. See [Externally loaded entities in XML parsing](./release-notes/144.md#externally-loaded-entities-in-xml-parsing), in _Microsoft Edge 144 web platform release notes (Jan. 2025)_. | | Deprecate `Intl.Locale` getters | v143 | The accessor properties of the `Intl.Locale` object are now deprecated, in favor of the corresponding functions, per specification. See [Deprecate `Intl.Locale` getters](./release-notes/143.md#deprecate-intllocale-getters), in _Microsoft Edge 143 web platform release notes (Dec. 2025)_. | | Mobile and desktop parity for `` HTML elements, when using the `multiple` and `size` attributes, is now consistent across mobile and desktop devices. See [Mobile and desktop parity for `