📃 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-p3
allow showing more vibrant and saturated colors than the standardsrgb
color 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
CompressionStream
andDecompressionStream
interfaces 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
of
syntax 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
sctp
object onRTCPeerConnection
represents the negotiated SCTP transport. SCTP (Stream Control Transmission Protocol) is the protocol thatRTCDataChannel
uses.
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 position:
The
text-underline-position
andtext-underline-offset
CSS properties set the position and distance from initial position of text underlines on text withtext-decoration: underline
.
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()
handlesrawJSON
values 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-block
andoverflow-inline
CSS 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. - 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
scrollend
event fires when an element or document has finished scrolling. -
text-wrap:
The
text-wrap
CSS property sets how lines break in text that overflows the container. It is a shorthand fortext-wrap-style
andtext-wrap-mode
. -
text-wrap: balance:
The
text-wrap: balance
CSS 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: nowrap
CSS declaration prevents text breaking into multiple lines. Text that doesn't fit overflows instead. -
Transferable ArrayBuffer:
The
transfer()
andtransferToFixedLength()
methods ofArrayBuffer
move a buffer from one context to another (for example, to a worker). -
Update frequency media query:
The
update
CSS 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.mul
operations 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.
-
WebGPU:
The
navigator.gpu
API performs operations such as rendering and computation on dedicated graphics hardware (also known as a Graphics Processing Unit). -
white-space-collapse:
The
white-space-collapse
CSS 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()
handlesrawJSON
values 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-block
andoverflow-inline
CSS 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. - 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
scrollend
event fires when an element or document has finished scrolling. -
text-wrap:
The
text-wrap
CSS property sets how lines break in text that overflows the container. It is a shorthand fortext-wrap-style
andtext-wrap-mode
. -
text-wrap: balance:
The
text-wrap: balance
CSS 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: nowrap
CSS declaration prevents text breaking into multiple lines. Text that doesn't fit overflows instead. -
Transferable ArrayBuffer:
The
transfer()
andtransferToFixedLength()
methods ofArrayBuffer
move a buffer from one context to another (for example, to a worker). -
Update frequency media query:
The
update
CSS 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.mul
operations 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-collapse
CSS 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-block
andoverflow-inline
CSS 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
update
CSS 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. -
WebGPU:
The
navigator.gpu
API performs operations such as rendering and computation on dedicated graphics hardware (also known as a Graphics Processing Unit).
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
scripting
CSS media query sets styles based on whether scripting such as JavaScript is available. Values areenabled
if scripting is available,initial-only
if 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
scripting
CSS media query sets styles based on whether scripting such as JavaScript is available. Values areenabled
if scripting is available,initial-only
if 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-valid
and:user-invalid
pseudo-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-valid
and:user-invalid
pseudo-classes match form controls that have been marked as valid or invalid based on their validation constraints.