📃 May 2023 release notes
Newly available
The following features are newly available:
-
color():
The
color()function picks a color from a given color space. Wide gamut color spaces likedisplay-p3allow showing more vibrant and saturated colors than the standardsrgbcolor space. -
color-mix():
The
color-mix()function mixes two colors in a given color space and by a given amount. Commonly, lighter or darker variations of a color are created by mixing with white or black. -
Compression streams:
The
CompressionStreamandDecompressionStreamAPIs compress and decompress data using the gzip or deflate formats. -
Lab and LCH:
The CIE Lab color space expresses colors in terms of lightness and how red/green and blue/yellow a color is. LCH is a variant of Lab with polar coordinates. These color spaces can be used with the CSS
color(),lab(), andlch()functions. Also known as CIELAB and CIELCH. -
:nth-child() of <selector>:
The
ofsyntax for the:nth-child()and:nth-last-child()CSS functional pseudo-classes match elements by the relative position of elements, counted from the first or last sibling matching a selector list. -
Oklab and Oklch:
The Oklab color space expresses colors in terms of lightness and how red/green and blue/yellow a color is, aiming to match how humans perceive colors. Oklch is a variant of Oklab with polar coordinates. These color spaces can be used with the CSS
color(),oklab(), andoklch()functions. -
WebRTC SCTP information:
The
sctpobject onRTCPeerConnectionrepresents the negotiated SCTP transport. SCTP (Stream Control Transmission Protocol) is the protocol thatRTCDataChanneluses.
Widely available
The following features are now widely available:
-
Conic gradients:
The
conic-gradient()andrepeating-conic-gradient()CSS functions create backgrounds that progress between two or more colors around a center point. -
text-underline-offset:
The
text-underline-offsetCSS property shifts underlines on text from the initial position by a given distance. The initial position is affected by thetext-underline-positionproperty.
New in Chrome
The following features are now available in Chrome:
-
image-set():
The
image-set()CSS function provides a set of images at different resolutions or pixel densities, which the browser can pick from, depending on the device capabilities. -
JSON source text access:
To serialize and parse JSON in a lossless way,
JSON.stringify()handlesrawJSONvalues andJSON.parse()'s reviver callback takes a source context parameter. -
linear() easing:
The
linear()easing function for animations and transitions interpolates linearly between the control points, and can be used to approximate complex easing functions, such as a bounce effect. -
Overflow media queries:
The
overflow-blockandoverflow-inlineCSS media queries set styles based on the way a device displays content that's larger than the viewport or page area. For example, a laptop lets users scroll to reveal content, while a printer displays overflowing content on additional pages. -
overflow: overlay:
The
overflow: overlayCSS declaration is an alias tooverflow: auto. Historically, it caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. - Partitioned cookies: Partitioned cookies allow you to opt a cookie into partitioned storage, with a separate cookie jar per top-level site. Also known as Cookies Having Independent Partitioned State or CHIPS.
-
scrollend:
The
scrollendevent fires when an element or document has finished scrolling. -
text-wrap:
The
text-wrapCSS property sets how lines break in text that overflows the container. It is a shorthand fortext-wrap-styleandtext-wrap-mode. -
text-wrap: balance:
The
text-wrap: balanceCSS declaration balances the length of each line when text is broken into multiple lines. Also known as headline balancing. -
text-wrap: nowrap:
The
text-wrap: nowrapCSS declaration prevents text breaking into multiple lines. Text that doesn't fit overflows instead. -
Transferable ArrayBuffer:
The
transfer()andtransferToFixedLength()methods ofArrayBuffermove a buffer from one context to another (for example, to a worker). -
Update frequency media query:
The
updateCSS media query sets styles based on whether and how fast the user's device can modify display after it has been rendered. For example, you can avoid animations on devices that aren't fast enough to display them smoothly. -
Extended constant expressions (WebAssembly):
The
i32.add,i32.sub,i32.mul,i64.add,i64.sub, andi64.muloperations extend constant expressions to include arithmetic. - Relaxed-width SIMD (WebAssembly): Relaxed SIMD (Single Instruction Multiple Data) introduces local non-determinism, where the results of the instructions may vary based on hardware support.
-
white-space-collapse:
The
white-space-collapseCSS property sets whether new line characters are shown as line breaks, and whether multiple consecutive spaces are all displayed or combined.
New in Chrome Android
The following features are now available in Chrome Android:
-
image-set():
The
image-set()CSS function provides a set of images at different resolutions or pixel densities, which the browser can pick from, depending on the device capabilities. -
JSON source text access:
To serialize and parse JSON in a lossless way,
JSON.stringify()handlesrawJSONvalues andJSON.parse()'s reviver callback takes a source context parameter. -
linear() easing:
The
linear()easing function for animations and transitions interpolates linearly between the control points, and can be used to approximate complex easing functions, such as a bounce effect. -
Overflow media queries:
The
overflow-blockandoverflow-inlineCSS media queries set styles based on the way a device displays content that's larger than the viewport or page area. For example, a laptop lets users scroll to reveal content, while a printer displays overflowing content on additional pages. -
overflow: overlay:
The
overflow: overlayCSS declaration is an alias tooverflow: auto. Historically, it caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. - Partitioned cookies: Partitioned cookies allow you to opt a cookie into partitioned storage, with a separate cookie jar per top-level site. Also known as Cookies Having Independent Partitioned State or CHIPS.
-
scrollend:
The
scrollendevent fires when an element or document has finished scrolling. -
text-wrap:
The
text-wrapCSS property sets how lines break in text that overflows the container. It is a shorthand fortext-wrap-styleandtext-wrap-mode. -
text-wrap: balance:
The
text-wrap: balanceCSS declaration balances the length of each line when text is broken into multiple lines. Also known as headline balancing. -
text-wrap: nowrap:
The
text-wrap: nowrapCSS declaration prevents text breaking into multiple lines. Text that doesn't fit overflows instead. -
Transferable ArrayBuffer:
The
transfer()andtransferToFixedLength()methods ofArrayBuffermove a buffer from one context to another (for example, to a worker). -
Update frequency media query:
The
updateCSS media query sets styles based on whether and how fast the user's device can modify display after it has been rendered. For example, you can avoid animations on devices that aren't fast enough to display them smoothly. -
Extended constant expressions (WebAssembly):
The
i32.add,i32.sub,i32.mul,i64.add,i64.sub, andi64.muloperations extend constant expressions to include arithmetic. - Relaxed-width SIMD (WebAssembly): Relaxed SIMD (Single Instruction Multiple Data) introduces local non-determinism, where the results of the instructions may vary based on hardware support.
-
white-space-collapse:
The
white-space-collapseCSS property sets whether new line characters are shown as line breaks, and whether multiple consecutive spaces are all displayed or combined.
New in Edge
The following features are now available in Edge:
-
image-set():
The
image-set()CSS function provides a set of images at different resolutions or pixel densities, which the browser can pick from, depending on the device capabilities. -
linear() easing:
The
linear()easing function for animations and transitions interpolates linearly between the control points, and can be used to approximate complex easing functions, such as a bounce effect. -
Overflow media queries:
The
overflow-blockandoverflow-inlineCSS media queries set styles based on the way a device displays content that's larger than the viewport or page area. For example, a laptop lets users scroll to reveal content, while a printer displays overflowing content on additional pages. -
Update frequency media query:
The
updateCSS media query sets styles based on whether and how fast the user's device can modify display after it has been rendered. For example, you can avoid animations on devices that aren't fast enough to display them smoothly.
New in Firefox
The following features are now available in Firefox:
-
Canvas reset():
The
reset()method clears a canvas to its initial state. -
scripting media query:
The
scriptingCSS media query sets styles based on whether scripting such as JavaScript is available. Values areenabledif scripting is available,initial-onlyif scripting is only available on page load (for example, printed content), ornone.
New in Firefox for Android
The following features are now available in Firefox for Android:
-
Canvas reset():
The
reset()method clears a canvas to its initial state. -
scripting media query:
The
scriptingCSS media query sets styles based on whether scripting such as JavaScript is available. Values areenabledif scripting is available,initial-onlyif scripting is only available on page load (for example, printed content), ornone.
New in Safari
The following features are now available in Safari:
-
:user-valid and :user-invalid:
The
:user-validand:user-invalidpseudo-classes match form controls that have been marked as valid or invalid based on their validation constraints.
New in Safari on iOS
The following features are now available in Safari on iOS:
-
:user-valid and :user-invalid:
The
:user-validand:user-invalidpseudo-classes match form controls that have been marked as valid or invalid based on their validation constraints.