|
| 1 | +--- |
| 2 | +title: Microsoft Edge 134 web platform release notes (Mar. 2025) |
| 3 | +description: Microsoft Edge 134 web platform release notes (Mar. 2025) |
| 4 | +author: MSEdgeTeam |
| 5 | +ms.author: msedgedevrel |
| 6 | +ms.topic: conceptual |
| 7 | +ms.service: microsoft-edge |
| 8 | +ms.date: |
| 9 | +--- |
| 10 | +# Microsoft Edge 134 web platform release notes (Mar. 2025) |
| 11 | + |
| 12 | +The following are the new web platform features and updates in Microsoft Edge 134, which releases on March 6, 2025. |
| 13 | + |
| 14 | +To stay up-to-date and get the latest web platform features, download an Insiders version of Microsoft Edge, such as Canary, Dev, or Beta; see [Become a Microsoft Edge Insider](https://aka.ms/microsoftedge). |
| 15 | + |
| 16 | + |
| 17 | +<!-- ====================================================================== --> |
| 18 | +## Edge DevTools |
| 19 | + |
| 20 | +For Edge DevTools, see [What's New in Microsoft Edge DevTools](../../devtools-guide-chromium/whats-new/whats-new.md). |
| 21 | + |
| 22 | + |
| 23 | +<!-- ====================================================================== --> |
| 24 | +## WebView2 |
| 25 | + |
| 26 | +For WebView2, see [Release Notes for the WebView2 SDK](../../webview2/release-notes/index.md). |
| 27 | + |
| 28 | + |
| 29 | +<!-- ====================================================================== --> |
| 30 | +## Web platform features |
| 31 | + |
| 32 | + |
| 33 | +<!-- ------------------------------ --> |
| 34 | +#### Enabled features |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | +<!-- ---------- --> |
| 39 | +###### :has-slotted pseudo selector |
| 40 | + |
| 41 | +The :has-slotted pseudo class represents a slot element with slotted content, such as a text node or element. This can be used to style elements based on whether or not they are using slot fallback content. |
| 42 | + |
| 43 | + |
| 44 | +<!-- ---------- --> |
| 45 | +###### Attribution Reporting Feature: Remove Aggregatable report limit when trigger context ID is non-null |
| 46 | + |
| 47 | +We are landing the following change to the Attribution Reporting API focused on: |
| 48 | +* Removing aggregatable report limit when trigger context ID is non-null |
| 49 | + |
| 50 | + |
| 51 | +<!-- ---------- --> |
| 52 | +###### Blob URL Partitioning: Fetching/Navigation |
| 53 | + |
| 54 | +As a continuation of Storage Partitioning, Chromium will implement partitioning of Blob URL access by Storage Key (top-level site, frame origin, and the has-cross-site-ancestor boolean), with the exception of top-level navigations which will remain partitioned only by frame origin. This behavior is similar to what’s currently implemented by both Firefox and Safari, and aligns Blob URL usage with the partitioning scheme used by other storage APIs as part of Storage Partitioning. In addition, Chromium will enforce noopener on renderer-initiated top-level navigations to Blob URLs where the corresponding site is cross-site to the top-level site performing the navigation. This aligns Chromium with similar behavior in Safari, and the relevant specs have been updated to reflect these changes. |
| 55 | + |
| 56 | +This change can be temporarily reverted by setting the PartitionedBlobURLUsage policy. The policy will be deprecated when the other storage partitioning related enterprise policies are deprecated. |
| 57 | + |
| 58 | + |
| 59 | +<!-- ---------- --> |
| 60 | +###### CSS Highlight Inheritance |
| 61 | + |
| 62 | +With CSS Highlight Inheritance, the CSS Highlight pseudo classes, such as ::selection and ::highlight, inherit their properties through the pseudo highlight chain, rather than the element chain. The result is a more intuitive model for inheritance of properties in highlights. Specifically, "When any supported property is not given a value by the cascade ... its specified value is determined by inheritance from the corresponding highlight pseudo-element of its originating element’s parent element." There are some caveats due to properties not allowed on a highlight pseudo and historical usage: units depending on fonts, container queries, viewports etc. use metrics from the originating element, and all custom property values used in the highlight pseudo are taken from the originating element (inherited through the originating element cascade). (https://drafts.csswg.org/css-pseudo-4/#highlight-cascade) |
| 63 | + |
| 64 | + |
| 65 | +<!-- ---------- --> |
| 66 | +###### CSS dynamic-range-limit property |
| 67 | + |
| 68 | +Enables a page to limit the maximum brightness of HDR content. |
| 69 | + |
| 70 | + |
| 71 | +<!-- ---------- --> |
| 72 | +###### Dialog light dismiss |
| 73 | + |
| 74 | +One of the nice features of the Popover API is its light dismiss behavior. This chromestatus is about bringing that same capability to `<dialog>`. A new `closedby` attribute controls behavior: |
| 75 | + |
| 76 | +`<dialog closedby=none>` - no user-triggered closing of dialogs at all. |
| 77 | +`<dialog closedby=closerequest>` - user pressing ESC (or other close trigger) closes the dialog |
| 78 | +`<dialog closedby=any>` - user clicking outside the dialog, or pressing ESC, closes the dialog. Akin to `popover=auto` behavior. |
| 79 | + |
| 80 | + |
| 81 | + |
| 82 | +<!-- ---------- --> |
| 83 | +###### Document-Policy: expect-no-linked-resources |
| 84 | + |
| 85 | +The expect-no-linked-resources configuration point in Document Policy allows a document to hint to the user agent to better optimize its loading sequence, such as not using the default speculative parsing behavior. |
| 86 | + |
| 87 | +User Agents have implemented speculative parsing of HTML to speculatively fetch resources that are present in the HTML markup, to speed up page loading. For the vast majority of pages on the Web that have resources declared in the HTML markup, the optimization is beneficial and the cost paid in determining such resources is a sound tradeoff. However, the following scenarios might result in a sub-optimal performance tradeoff vs. the explicit time spent parsing HTML for determining sub resources to fetch: |
| 88 | + |
| 89 | + * Pages that do not have any resources declared in the HTML. |
| 90 | + * Large HTML pages with minimal or no resource loads that could explicitly control preloading resources via other preload mechanisms available. |
| 91 | + |
| 92 | +`expect-no-linked-resources` Document-Policy hints the User Agent that it may choose to optimize out the time spent in such sub resource determination. |
| 93 | + |
| 94 | + |
| 95 | +<!-- ---------- --> |
| 96 | +###### Explicit resource management (async) |
| 97 | + |
| 98 | +This feature addresses a common pattern in software development regarding the lifetime and management of various resources (memory, I/O, etc.). This pattern generally includes the allocation of a resource and the ability to explicitly release critical resources. |
| 99 | + |
| 100 | + |
| 101 | +<!-- ---------- --> |
| 102 | +###### Explicit resource management (sync) |
| 103 | + |
| 104 | +This feature addresses a common pattern in software development regarding the lifetime and management of various resources (memory, I/O, etc.). This pattern generally includes the allocation of a resource and the ability to explicitly release critical resources. |
| 105 | + |
| 106 | + |
| 107 | +<!-- ---------- --> |
| 108 | +###### Extend the console.timeStamp API to support measurements and and presentation options |
| 109 | + |
| 110 | +This feature extends the console.timeStamp() API, in a backwards-compatible manner, to provide a high-performance method for instrumenting applications and surfacing timing data to the Performance panel in DevTools. |
| 111 | + |
| 112 | +Timing entries added with the API can have a custom timestamp, duration and presentation options (track / swimlane and color). |
| 113 | + |
| 114 | + |
| 115 | +<!-- ---------- --> |
| 116 | +###### OffscreenCanvas getContextAttributes |
| 117 | + |
| 118 | +Add the getContextAttributes interface from CanvasRenderingContext2D to OffscreenCanvasRenderingContext2D. |
| 119 | + |
| 120 | + |
| 121 | +<!-- ---------- --> |
| 122 | +###### Private Aggregation API: per-context contribution limits for Shared Storage callers |
| 123 | + |
| 124 | +Enables Shared Storage callers to customize the number of contributions per Private Aggregation report. |
| 125 | + |
| 126 | +This feature enables Shared Storage callers to configure per-context contribution limits via a new field, `maxContributions`. Callers set this field to override the default number of contributions per report — larger and smaller numbers will both be permitted. Chrome will accept values of `maxContributions` between 1 and 1000 inclusive; larger values will be interpreted as 1000. |
| 127 | + |
| 128 | +Due to padding, the size of each report's payload will be roughly proportional to the chosen number of contributions per report. We expect that opting into larger reports will increase the cost of operating the Aggregation Service. |
| 129 | + |
| 130 | +Protected Audience callers will not be affected by this feature. However, we are planning to add support for customizing the number of contributions for Protected Audience reports in future features. |
| 131 | + |
| 132 | + |
| 133 | +<!-- ---------- --> |
| 134 | +###### Remove nonstandard getUserMedia audio constraints |
| 135 | + |
| 136 | +Blink supports a number of nonstandard goog-prefixed constraints for getUserMedia from some time before constraints were properly standardized. |
| 137 | + |
| 138 | +Usage has gone down significantly ~0.000001% to 0.0009% (depending on the constraint) and some of them do not even have an effect due to changes in the Chromium audio-capture stack. Soon none of them will have any effect due to other upcoming changes. |
| 139 | + |
| 140 | +We do not expect any major regressions due to this change. Applications using these constraints will continue to work, but will get audio with default settings (as if no constraints were passed). They can easily migrate to standard constraints. |
| 141 | + |
| 142 | + |
| 143 | +<!-- ---------- --> |
| 144 | +###### Support ImageSmoothingQuality in PaintCanvas |
| 145 | + |
| 146 | +Add support for the imageSmoothingQuality attribute on Paint Canvas. It allows a web developer to choose the quality/performance tradeoff when scaling images. There are 3 options in total for imageSmoothingQuality: low, medium and high. |
| 147 | + |
| 148 | +Chrome platform status entry for its launch on Canvas 2D: https://chromestatus.com/feature/4717415682277376 |
| 149 | + |
| 150 | + |
| 151 | + |
| 152 | + |
| 153 | +<!-- ---------- --> |
| 154 | +###### WebGPU Subgroups |
| 155 | + |
| 156 | +Adds subgroup functionality to WebGPU. Subgroup operations perform SIMT operations to provide efficient communication and data sharing among groups of invocations. These operations can be used to accelerate applications by reducing memory overheads incurred by inter-invocation communication. |
| 157 | + |
| 158 | + |
| 159 | +<!-- ---------- --> |
| 160 | +###### fetchLater API |
| 161 | + |
| 162 | +fetchLater() is a JavaScript API to request a deferred fetch. Once called, the request is queued by the browser, and will be invoked in one of the following scenarios: |
| 163 | + |
| 164 | +• The document is destroyed. |
| 165 | +• After a certain time. |
| 166 | + |
| 167 | +The API returns a FetchLaterResult that contains a boolean field "activated" that may be updated to tell whether the deferred request has been sent out or not. On successful sending, the whole response will be ignored by browser, including body and headers. Nothing at all should be processed or updated, as the page may have already be gone. |
| 168 | + |
| 169 | +Note that from the point of view of the API user, the exact send time is unknown. |
| 170 | + |
| 171 | + |
| 172 | +<!-- ------------------------------ --> |
| 173 | +#### Deprecated and removed features |
| 174 | + |
| 175 | + |
| 176 | + |
| 177 | + |
| 178 | +<!-- ====================================================================== --> |
| 179 | +## Origin trials |
| 180 | + |
| 181 | +The following are new experimental APIs which 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](../../origin-trials/index.md). To see the full list of available origin trials, see [Microsoft Edge Origin Trials](https://developer.microsoft.com/microsoft-edge/origin-trials/). |
| 182 | + |
| 183 | + |
| 184 | +<!-- ------------------------------ --> |
| 185 | +#### Microsoft Edge only origin trials |
| 186 | + |
| 187 | + |
| 188 | +<!-- ------------------------------ --> |
| 189 | +#### New Chromium origin trials |
| 190 | + |
| 191 | + |
| 192 | + |
| 193 | +<!-- ====================================================================== --> |
| 194 | +> [!NOTE] |
| 195 | +> 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). |
0 commit comments