2018
4 featuresThe EXT_blend_minmax extension for WebGL 1.0 contexts adds two blend equations, the minimum and maximum color components of the source and destination colors.
The OES_vertex_array_object extension for WebGL 1.0 contexts adds vertex array objects (VAOs) which encapsulate vertex array states. These objects keep pointers to vertex data and names for different sets of vertex data.
The isSecureContext global property is a boolean for whether the current browsing context is secure. This is primarily a check that the page has been served over an HTTPS URL.
The navigator.sendBeacon() method asynchronously sends an HTTP POST request with a limited amount of data, typically for app state, events, and analytics data. The one-way beacon is guaranteed to be initiated before the browser unloads the page, but the sender does not get to handle the response.
2017
26 featuresThe spellcheck global HTML attribute sets whether the browser may check an element for spelling errors.
The <time> HTML element represents a time, such as a calendar date, clock time, or duration. It may include the datetime attribute to translate dates into machine-readable format.
The <data> element links a given piece of content with a machine-readable translation.
The WebAssembly.instantiate() and WebAssembly.instantiateStreaming() global static methods load WebAssembly code (also known as Wasm), a portable binary instruction format.
CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
The vw, vh, vmin, and vmax CSS viewport units are relative to the size of the viewport, and are used to size elements in relation to the viewport's dimensions.
The Intl API provides language sensitive string comparison, number formatting, date and time formatting, and more.
The Web Cryptography API performs low-level cryptographic operations, such as encryption, decryption, and signature verification. Also known as the Web Crypto API.
The navigator.mediaDevices.getUserMedia() API requests access to devices that produce audio or video streams, such as microphones or video cameras.
A resource performance entry records when a network event happens while loading a resource, such as when a connection starts and ends. You can use this information to measure loading times.
Brotli is a lossless data compression algorithm. When used as a content encoding, it often provides better compression than gzip.
The compositionstart, compositionupdate, and compositionend events fire when an input method editor adds characters that might not be commonly available on keyboards. Examples of these characters are emoji, logograms in Asian languages, or input from speech recognition processors.
The WEBGL_debug_renderer_info extension for WebGL 1.0 and 2.0 contexts exposes information about the graphics driver for debugging purposes.
The -webkit-text-stroke-width and -webkit-text-stroke-color CSS properties set the thickness and color of text outlines. The -webkit-text-fill-color sets the color within text character outlines. Both default to the text color.
The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
The padStart() and padEnd() methods of strings return a string lengthened to a minimum number of characters by adding characters to the start or end of the string.
The async and await keywords allow you to use the asynchronous, promise-based behavior of a function without using promise chains.
Custom properties are CSS properties prefixed with -- that set values you can reuse with the var() function. For example, you can set a --key-color property to reuse as border-color: var(--key-color). Also known as CSS variables.
The navigator.getGamepads() API accesses and responds to signals from game controllers.
The exponentiation (**) operator returns the result of raising the first operand to the power of the second operand.
The writing-mode CSS property sets whether text is laid out horizontally or vertically, and left to right, or right to left.
The "copy", "cut", and "paste" events fire on elements when the user starts an action with the clipboard.
The fetch() method makes asynchronous HTTP requests.
The srcset and sizes attributes for <img> elements set a list of possible sources for the image and a corresponding list of size conditions for choosing a source, to show a responsive image that fits the size of the display.
The <input type="range"> element represents a slider for choosing an inexact value between a minimum and maximum value.