1. Array.prototype.find

    The `find()` method returns the value of the first item in the array based on the result of the provided testing function.

  2. CSS font-stretch

    If a font has multiple types of variations based on the width of characters, the `font-stretch` property allows the appropriate one to be selected. The property in itself does not cause the browser to stretch to a font.

  3. CSS Masks

    Method of displaying part of an element, using a selected image as a mask

  4. EOT - Embedded OpenType fonts

    Type of font that can be derived from a regular font, allowing small files and legal use of high-quality fonts. Usage is restricted by the file being tied to the website

  5. ECMAScript 5

    Full support for the ECMAScript 5 specification. Features include `Function.prototype.bind`, Array methods like `indexOf`, `forEach`, `map` & `filter`, Object methods like `defineProperty`, `create` & `keys`, the `trim` method on Strings and many more.

  6. ECMAScript 2015 (ES6)

    Support for the ECMAScript 2015 specification. Features include Promises, Modules, Classes, Template Literals, Arrow Functions, Let and Const, Default Parameters, Generators, Destructuring Assignment, Rest & Spread, Map/Set & WeakMap/WeakSet and many more.

  7. JavaScript modules via script tag

    Loading JavaScript module scripts (aka ES6 modules) using `<script type="module">` Includes support for the `nomodule` attribute.

  8. Email, telephone & URL input types

    Text input fields intended for email addresses, telephone numbers or URLs. Particularly useful in combination with [form validation](https://caniuse.com/#feat=form-validation)

  9. CSS3 Multiple column layout

    Method of flowing information in multiple columns

  10. String.prototype.padStart(), String.prototype.padEnd()

    The `padStart()` and `padEnd()` methods pad the current string with a given string (eventually repeated) so that the resulting string reaches a given length. The pad is applied from the start (left) of the current string for `padStart()`, and applied from the end (right) of the current string for `padEnd()`.

  11. Promise.prototype.finally

    When the promise is settled, whether fulfilled or rejected, the specified callback function is executed.

  12. Trusted Types for DOM manipulation

    An API that forces developers to be very explicit about their use of powerful DOM-injection APIs. Can greatly improve security against XSS attacks.

  13. Variable fonts

    OpenType font settings that allows a single font file to behave like multiple fonts: it can contain all the allowed variations in width, weight, slant, optical size, or any other exposed axes of variation as defined by the font designer. Variations can be applied via the `font-variation-settings` property.

  14. WebAssembly Reference Types

    An extension to WebAssembly allowing opaque references as first-class types, and multiple tables

  15. cssrule api: type

  16. htmlulistelement api: type

  17. svgfeturbulenceelement api: type

  18. trustedtypepolicyfactory api: defaultpolicy

  19. xpathresult api: resulttype

  20. css at-rule: `@font-face`: opentype cbdt and cblc rendering

  21. css at-rule: `@font-face`: opentype colrv0 rendering

  22. css at-rule: `@font-face`: opentype colrv1 rendering

  23. css at-rule: `@font-face`: opentype sbix rendering

  24. css at-rule: `@font-face`: opentype svg rendering

  25. css property: list-style-type: hangul

  26. css property: list-style-type: hangul-consonant

  27. css property: list-style-type: korean-hangul-formal

  28. types: `<image>`: `<gradient>`: `linear-gradient()`: gradients applied to pre-multiplied color space (prevents grays from appearing in gradients with transparency)

  29. types: `<image>`: `<gradient>`: `radial-gradient()`: gradients applied to pre-multiplied color space (prevents grays from appearing in gradients with transparency)

  30. html element: script: type: `type="module"`

  31. html element: script: type: `type="speculationrules"`

  32. html element: script: type: `type="speculationrules"`: `eagerness` key

  33. html element: script: type: `type="speculationrules"`: `expects_no_vary_search` key

  34. html element: script: type: `type="speculationrules"`: `prefetch` key

  35. html element: script: type: `type="speculationrules"`: `prerender` key

  36. html element: script: type: `type="speculationrules"`: `referrer_policy` key

  37. html element: script: type: `type="speculationrules"`: `relative_to` key

  38. html element: script: type: `type="speculationrules"`: `requires` key

  39. html element: script: type: `type="speculationrules"`: `requires` key: `anonymous-client-ip-when-cross-origin` value

  40. html element: script: type: `type="speculationrules"`: `source` key is optional

  41. html element: script: type: `type="speculationrules"`: `urls` key

  42. html element: script: type: `type="speculationrules"`: `where` key

  43. html element: ul: type

  44. headers http header: sec-purpose: `sec-purpose` for `<script type="speculationrules">` prefetch

  45. javascript built-in: regexp: multiline: prototype accessor property (es2015)

  46. javascript built-in: typedarray: indexed properties not consulting prototype

  47. svg element: feturbulence: type

  48. svg element: script: type: `type='module'`