📃 March 2020 release notes
Newly available
The following features are newly available:
-
display: table:
The
display: table
CSS declaration renders an element with the box layout of a<table>
HTML element. Child elements may use equivalents to<table>
internal elements such asdisplay: table-row
for<tr>
. -
dominant-baseline:
The
dominant-baseline
CSS property sets the specific baseline used to align an elements's text and inline-level contents. -
font-optical-sizing:
The
font-optical-sizing
CSS property sets whether text rendering is optimized for viewing at different sizes. -
Hashbang comments:
The
#!
comment at the absolute start of a script or module is treated as a normal comment and is ignored by the JavaScript engine. -
Opacity (SVG):
The
fill-opacity
, andstroke-opacity
SVG attributes and CSS properties control the transparency of a stroke or fill of an SVG element. -
Q unit:
The
Q
CSS length unit is an absolute length anchored to the physical measurement of quarter-millimeters.1Q
is equivalent to 1/40 of 1 centimeter. - Import and export of mutable globals (WebAssembly): Mutable global variables are importable and exportable.
-
Web animations:
The
animate()
method ofElement
objects programmatically animates elements over time and can synchronize the animations of multiple elements.
Widely available
The following features are now widely available:
- Brotli compression: Brotli is a lossless data compression algorithm. When used as a content encoding, it often provides better compression than gzip.
-
font-stretch:
The
font-stretch
CSS property selects a font face from a font family based on width, either by a keyword such ascondensed
or a percentage. -
Intl:
The
Intl
API provides language sensitive string comparison, number formatting, date and time formatting, and more. -
Media capture:
The
navigator.mediaDevices.getUserMedia()
API requests access to devices that produce audio or video streams, such as microphones or video cameras. -
Resource timing (initial support):
PerformanceResourceTiming
entries report when network events happen while loading a resource, such as when connections start and end. You can use this information to measure loading times.
New in Safari
The following features are now available in Safari:
-
Async clipboard:
The
navigator.clipboard
API asynchronously reads and writes to the system clipboard. -
clip-path:
The
clip-path
CSS property and SVG attribute set the visible area of an element. Everything outside the area will be hidden. -
Clip path boxes:
The
fill-box
,stroke-box
, andview-box
values forclip-path
set an edge of the element's box to use as the clipping shape. -
dynamic-range media query:
The
dynamic-range
CSS media query sets styles based on whether a device can display at leaststandard
range colors or at leasthigh
range colors. Non-visual devices will match neither. -
Enterkeyhint:
The
enterkeyhint
global HTML attribute sets the label for a virtual keyboard's Enter key. For example,enterkeyhint="search"
may label the key with a magnifying glass icon. -
image-orientation:
The
image-orientation
CSS property corrects the rotation of an image using the image's metadata, such as EXIF. -
min(), max(), and clamp():
The
min()
andmax()
CSS functions return the minimum or maximum of the arguments, whileclamp()
clamps a value to a given range. - Picture-in-picture (video): The picture-in-picture API allow websites to create a floating, always-on-top video window. Also known as PiP or pop-out video.
- Remote playback: The Remote Playback API initiates and controls playback of media on connected remote devices, such as smart TVs with AirPlay or Chromecast capabilities.
-
Resize observer:
The
ResizeObserver
API observes and reacts to changes in the size of DOM elements. -
Shadow parts:
The
part
andexportparts
HTML attributes expose elements of a shadow DOM as named parts, which can be selected by the::part()
CSS pseudo-element for styling. -
String replaceAll():
The
replaceAll()
method of strings returns a new string where all matches of a pattern (a string or regular expression) have been substituted with a replacement string. -
tab-size:
The
tab-size
CSS property sets the width of the tab character. -
transform-box:
The
transform-box
CSS property sets the position and dimensions of the reference box relative to which an element's transformations are calculated. -
WEBGL_compressed_texture_etc WebGL extension:
The
WEBGL_compressed_texture_etc
extension for WebGL 1.0 and 2.0 contexts adds many ETC2 and EAC compressed texture formats tocompressedTexImage2D()
andcompressedTexSubImage2D()
. -
WEBGL_compressed_texture_etc1 WebGL extension:
The
WEBGL_compressed_texture_etc1
extension for WebGL 1.0 and 2.0 contexts adds the ETC1 compressed texture format tocompressedTexImage2D()
andcompressedTexSubImage2D()
.
New in Safari on iOS
The following features are now available in Safari on iOS:
-
Async clipboard:
The
navigator.clipboard
API asynchronously reads and writes to the system clipboard. -
Clip path boxes:
The
fill-box
,stroke-box
, andview-box
values forclip-path
set an edge of the element's box to use as the clipping shape. -
dynamic-range media query:
The
dynamic-range
CSS media query sets styles based on whether a device can display at leaststandard
range colors or at leasthigh
range colors. Non-visual devices will match neither. -
Enterkeyhint:
The
enterkeyhint
global HTML attribute sets the label for a virtual keyboard's Enter key. For example,enterkeyhint="search"
may label the key with a magnifying glass icon. -
image-orientation:
The
image-orientation
CSS property corrects the rotation of an image using the image's metadata, such as EXIF. -
min(), max(), and clamp():
The
min()
andmax()
CSS functions return the minimum or maximum of the arguments, whileclamp()
clamps a value to a given range. - Picture-in-picture (video): The picture-in-picture API allow websites to create a floating, always-on-top video window. Also known as PiP or pop-out video.
- Remote playback: The Remote Playback API initiates and controls playback of media on connected remote devices, such as smart TVs with AirPlay or Chromecast capabilities.
-
Resize observer:
The
ResizeObserver
API observes and reacts to changes in the size of DOM elements. -
Shadow parts:
The
part
andexportparts
HTML attributes expose elements of a shadow DOM as named parts, which can be selected by the::part()
CSS pseudo-element for styling. -
String replaceAll():
The
replaceAll()
method of strings returns a new string where all matches of a pattern (a string or regular expression) have been substituted with a replacement string. -
tab-size:
The
tab-size
CSS property sets the width of the tab character. -
transform-box:
The
transform-box
CSS property sets the position and dimensions of the reference box relative to which an element's transformations are calculated. -
WEBGL_compressed_texture_etc WebGL extension:
The
WEBGL_compressed_texture_etc
extension for WebGL 1.0 and 2.0 contexts adds many ETC2 and EAC compressed texture formats tocompressedTexImage2D()
andcompressedTexSubImage2D()
. -
WEBGL_compressed_texture_etc1 WebGL extension:
The
WEBGL_compressed_texture_etc1
extension for WebGL 1.0 and 2.0 contexts adds the ETC1 compressed texture format tocompressedTexImage2D()
andcompressedTexSubImage2D()
.