What’s new in Chromium 57 and Opera 44

Opera 44 (based on Chromium 57) for Mac, Windows, Linux is out! To find out what’s new for users, see our Desktop blog. Here’s what it means for web developers.

CSS Grid

CSS Grid is now available. CSS Grid supports a two-dimensional grid-based layout system, optimized for responsive user interface design. Elements within the grid can be specified to span multiple columns or rows. Elements positioned in a CSS grid can also be named, making layout code easier to understand. There are lots of excellent resources available to learn more:

WebAssembly

The WebAssembly API has been enabled by default, allowing developers to run near-native code in the browser without a plugin. WebAssembly is essentially a better replacement for asm.js. We believe it has the potential to bring browser games to the next level.

Credential Management

Opera 44 also adds support for the Credential Management API. This gives users a simpler sign-in process across devices and provides websites with more control over the usage of credentials. The website can use password-based sign-ins via this API. Once logged in, users will be automatically signed back into a site, even if their session has expired.

Other CSS features

  • The caret-color property enables developers to specify the color of the text input cursor.
  • text-decoration-skip: ink can be used to make underlines skip descenders, the portion of letters that extend below the text’s baseline.
  • New text-decoration properties are now available, allowing developers to specify visual effects such as line color and style.

Audio/video

Other JS and DOM features

  • The Fetch API Response class now supports the .redirected attribute to help web developers avoid untrustworthy responses and reduce the risk of open redirectors.
  • The new padStart and padEnd formatting tools enable text padding, facilitating tasks like aligning console output or printing numbers with a fixed number of digits.
  • To preserve consistency with other on<event> attributes, ongotpointercapture and onlostpointercapture are now part of the GlobalEventHandlers mixin.

Improved interoperability

Deprecated and removed features

  • Support for the <keygen> element has been removed, causing it to no longer display any controls nor submit form element data, to align with other browsers.
  • Locally-trusted SHA-1 certificates will now result in a certificate error page.
  • The <cursor> element has been removed, but cursor icons can still be set via the cursor CSS property.
  • A legacy caller has been removed from HTMLEmbedElement and HTMLObjectElement, so the interfaces will now throw exceptions rather than having their instances called as functions.
  • All webkit-prefixed IndexedDB global aliases have been removed, after their deprecation in M38 (Opera 25).
  • Support for webkitClearResourceTimings(), webkitSetResourceTimingBufferSize(), and onwebkitresourcetimingbufferfull has been removed from the Performance interface, in favor of clearResourceTimings(), setResourceTimingBufferSize(), and onresourcetimingbufferfull.
  • The -internal-media-controls-text-track-list* and related pseudo-elements are deprecated and will be removed in M59 (Opera 46). Use custom controls for custom text track selection.
  • Support for the obsolete API webkitCancelRequestAnimationFrame has been removed in favor of cancelAnimationFrame.
  • The webkit prefix has been removed from AudioContext and OfflineAudioContext.

What’s next?

If you’re interested in experimenting with features that are in the pipeline for future versions of Opera, we recommend following our Opera Developer stream.