Opera 44 was released yesterday and we just installed it to our browser testing cloud. Opera 44 is based on Chrome 57 that we already added to Browserling last week. Opera 44 is now fully available to everyone for cross-browser testing.

Cross-browser testing in Opera 44

Try Opera 44 in Browserling now!

Key Features in Opera 44

  • Web Assembly that allows developers to run near-native code in the browser without plugins.
  • CSS grid that's a two-dimensional grid-based layout system for creating responsive user interface designs.
  • Background tab throttling that provides energy savings and longer battery life.
  • Apple's touch bar support.

Developer Features in Opera 44

Credential Management

Opera 44 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.

Improved interoperability

Fieldset.elements now returns an HTMLCollection instead of an HTMLFormControlsCollection to better align with spec. The usemap attribute now requires case-sensitive matching. Custom message events and events created by client.postMessage(message, transfer) in a service worker will now use MessageEvent instead of ServiceWorkerMessageEvent.

New 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 Improvements

The new AudioContext.getOutputTimestamp() method enables developers to synchronize DOMHighResTimeStamp and AudioContext.currentTime values. AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode now inherit from AudioScheduledSourceNode, consolidating functionality. The new cancelAndHoldAtTime function cancels future AudioParam events with times greater than or equal to cancelTime, allowing developers to preserve the value of the scheduled time in a direct way. Developers can now construct WebAudio-specific events such as OfflineAudioCompletionEvent and AudioProcessingEvent.

JavaScript 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 attributes, ongotpointercapture and onlostpointercapture are now part of the GlobalEventHandlers mixin.

WebAssembly

WebAssembly is a new type of code that can be run in modern web browsers - it is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++ with a compilation target so that they can run on the web. It is also designed to run alongside JavaScript, allowing both to work together. WebAssembly is essentially a better replacement for asm.js.

Deprecated and removed features in Opera 44

  • 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 webkitClearResourceTimings(), webkitSetResourceTimingBufferSize(), and onwebkitresourcetimingbufferfull has been removed from the Performance interface, in favor of clearResourceTimings(), setResourceTimingBufferSize(), and onresourcetimingbufferfull.
  • Locally-trusted SHA-1 certificates will now result in a certificate error page.
  • 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.
  • The webkit prefix has been removed from AudioContext and OfflineAudioContext.
  • 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.
  • The <cursor> element has been removed, but cursor icons can still be set via the cursor CSS property.
  • All webkit-prefixed IndexedDB global aliases have been removed, after their deprecation in M38 (Opera 25).
  • Support for the obsolete API webkitCancelRequestAnimationFrame has been removed in favor of cancelAnimationFrame.

Happy cross-browser testing in Opera 44!