You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: microsoft-edge/web-platform/release-notes/134.md
+87-49Lines changed: 87 additions & 49 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ author: MSEdgeTeam
5
5
ms.author: msedgedevrel
6
6
ms.topic: conceptual
7
7
ms.service: microsoft-edge
8
-
ms.date:
8
+
ms.date: 03/06/2025
9
9
---
10
10
# Microsoft Edge 134 web platform release notes (Mar. 2025)
11
11
@@ -34,32 +34,36 @@ For WebView2, see [Release Notes for the WebView2 SDK](../../webview2/release-no
34
34
#### Enabled features
35
35
36
36
37
-
38
37
<!-- ---------- -->
39
-
###### :has-slotted pseudo selector
38
+
###### `:has-slotted` pseudo selector
40
39
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.
40
+
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
41
43
42
44
43
<!-- ---------- -->
45
-
###### Attribution Reporting Feature: Remove Aggregatable report limit when trigger context ID is non-null
44
+
###### Attribution Reporting: Remove Aggregatable report limit when trigger context ID is non-null
46
45
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
46
+
The aggregatable report limit when the trigger context ID is non-null is removed from the Attribution Reporting API.
49
47
50
48
51
49
<!-- ---------- -->
52
50
###### Blob URL Partitioning: Fetching/Navigation
53
51
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.
52
+
<!-- TODO: Chrome-only? -->
53
+
54
+
As a continuation of Storage Partitioning, Chromium implements 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 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 enforces 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
55
56
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
57
58
58
59
59
<!-- ---------- -->
60
60
###### CSS Highlight Inheritance
61
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)
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.
63
+
64
+
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.
65
+
66
+
There are some caveats due to properties not allowed on a highlight pseudo and historical usage: units depending on fonts, container queries, viewports, and more 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).
63
67
64
68
65
69
<!-- ---------- -->
@@ -71,56 +75,61 @@ Enables a page to limit the maximum brightness of HDR content.
71
75
<!-- ---------- -->
72
76
###### Dialog light dismiss
73
77
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.
78
+
This brings the "light dismiss" behavior of the Popover API to `<dialog>` elements. A new `closedby` attribute controls the behavior:
79
79
80
+
*`<dialog closedby=none>` - no user-triggered closing of dialogs at all.
81
+
*`<dialog closedby=closerequest>` - user pressing ESC (or other close trigger) closes the dialog
82
+
*`<dialog closedby=any>` - user clicking outside the dialog, or pressing ESC, closes the dialog. Akin to `popover=auto` behavior.
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
-
88
+
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.
89
+
90
+
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:
91
+
92
+
* Pages that do not have any resources declared in the HTML.
93
+
* Large HTML pages with minimal or no resource loads that could explicitly control preloading resources via other preload mechanisms available.
94
+
92
95
`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
96
94
97
95
98
<!-- ---------- -->
96
99
###### Explicit resource management (async)
97
100
101
+
<!-- TODO: What is this? -->
102
+
98
103
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
104
100
105
101
106
<!-- ---------- -->
102
107
###### Explicit resource management (sync)
103
108
109
+
<!-- TODO: What is this? -->
110
+
104
111
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
112
106
113
107
114
<!-- ---------- -->
108
-
###### Extend the console.timeStamp API to support measurements and and presentation options
115
+
###### Extend the `console.timeStamp` API to support measurements and and presentation options
116
+
117
+
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.
109
118
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
119
Timing entries added with the API can have a custom timestamp, duration and presentation options (track / swimlane and color).
113
120
114
121
115
122
<!-- ---------- -->
116
123
###### OffscreenCanvas getContextAttributes
117
124
118
-
Add the getContextAttributes interface from CanvasRenderingContext2D to OffscreenCanvasRenderingContext2D.
125
+
Add the `getContextAttributes` interface from `CanvasRenderingContext2D` to `OffscreenCanvasRenderingContext2D`.
Enables Shared Storage callers to customize the number of contributions per Private Aggregation report.
125
134
126
135
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.
@@ -131,63 +140,92 @@ Protected Audience callers will not be affected by this feature. However, we are
###### Support `imageSmoothingQuality` in PaintCanvas
135
144
136
-
Blink supports a number of nonstandard goog-prefixed constraints for getUserMedia from some time before constraints were properly standardized.
145
+
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.
137
146
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
147
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.
148
+
<!-- ---------- -->
149
+
###### WebGPU Subgroups
150
+
151
+
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.
141
152
142
153
143
154
<!-- ---------- -->
144
-
###### Support ImageSmoothingQuality in PaintCanvas
155
+
###### `fetchLater` API
145
156
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
-
157
+
`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:
150
158
159
+
* The document is destroyed.
160
+
* After a certain time.
161
+
162
+
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.
163
+
164
+
Note that from the point of view of the API user, the exact send time is unknown.
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/).
171
+
172
+
173
+
<!-- ------------------------------ -->
174
+
#### Microsoft Edge-only origin trials
151
175
152
176
153
177
<!-- ---------- -->
154
-
###### WebGPU Subgroups
178
+
###### Digital Goods API
155
179
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.
180
+
Expires on 3/31/2025.
181
+
182
+
The Digital Goods API allows a web application to get information about its digital products and the user's purchases managed by a digital store. The user agent abstracts connections to the store, and the Payment Request API is used to make purchases.
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:
192
+
Expires on 3/31/2025.
163
193
164
-
• The document is destroyed.
165
-
• After a certain time.
194
+
Allows Microsoft Store-installed Progressive Web Apps (PWAs) to access file content that was previously stored in the WinRT `ApplicationData.LocalFolder` folder by an earlier, UWP version of the application.
166
195
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.
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/).
216
+
Expires on 6/30/2025.
182
217
218
+
Supports 3P acquisition attribution for Progressive Web Apps (PWAs) that were acquired through an app store or directly from the browser.
0 commit comments