Opera 47 has been released today for Windows, Mac and Linux. Our browser release detection scripts notified us and we quickly installed it on our cross-browser testing platform at Browserling. Opera 47 is based on Chromium 60.

Cross-browser testing in Opera 47

Try Opera 47 in Browserling now!

New Features in Opera 47

  • Exportable bookmarks

You can now export all of your bookmarks, everything from your Speed Dial, bookmarks bar and other folders is listed in a single HTML file.

Opera 47 export bookmarks

  • Fixes of the bookmarks pop-up

When adding a new bookmark or Speed Dial entry you see the bookmark pop up. It received some bug fixes.

  • Smoother background loading of news

The frequent refresh of news in Opera could be kind of overwhelming for you and the browser itself. To reduce interruptions and decrease data usage, Opera 47 provides a way to set a refresh schedule at two new intervals of 3-6 hours.

  • Longer list of closed tabs

Many people often work with many tabs and even many sessions. Although the recently closed drop-down was very useful to them, it had capacity for only 10 recently closed tabs, which was insufficient for many. This capacity has now been expanded to 32.

  • Smoother video playback

Everyone should see a smoother video pop-up player in Opera 47 compared to older Opera versions. Windows 7 users that use Aero will no longer see flickering background images when switching between YouTube videos, while macOS adherents will no longer experience broken auto-played YouTube videos when going fullscreen.

  • Quality improvements to the design

The colors and appearances of the interface has been sharpened up also there is a change in the dark theme favicons (the icons associated with a website). They are not slightly lighter.

  • Security and engine update

"Opera features a “risky file protection” in order to prevent the most scary file types from being downloaded. Opera 47 has been beefed up with .scf files added to the risky file extensions list (for Windows)".

New Developer Features in Opera 47

  • Paint Timing API.
  • CSS font-display.
  • Credential Management API improvements.

Other New Developer Features in Opera 47

  • Object rest & spread properties are now supported, making it simpler to merge and shallow-clone objects and implement various immutable object patterns.
  • The new Web Push Encryption format is now supported and PushManager.supportedContentEncodings can be used to detect where it can be used.
  • PushSubscription.expirationTime is now available, notifying sites when and if a subscription expires.
  • To improve performance and predictability, pointermove and mousemove events are now delivered once per animation frame (analog to requestAnimationFrame), matching the current functionality of scroll and TouchEvents.
  • The :focus-within CSS pseudo-class is now available, affecting any element the :focus pseudo-class affects, as well as any element with a descendant affected by :focus.
  • The CSS frames() timing function is now available, allowing for proper frame-based animations.
  • To provide an improved way to capture editing actions, InputEvent now allows user input to be managed by script, enhancing the details provided to editable elements.
  • To increase security, a beforeunload dialog triggered when the user leaves a site is now only shown if the frame attempting to display it has ever received a user gesture or user interaction, though the beforeunload event is still dispatched regardless.
  • VP9, an open and royalty-free video coding format, can now be used with the MP4 (ISO BMFF) container and requires the new VP9 string format mentioned below.
  • A new VP9 string format is now available and accepted by various media-related APIs, enabling developers to describe the encoding properties that are common in video codecs, but are not yet exposed.

Deprecations and interoperability improvements in Opera 47

  • getElementsByTagName() now accepts qualified names in response to an update to the DOM specification.
  • The /deep/ combinator which has been removed from the current specification, now behaves like the descendant combinator, which is effectively a no-op. Previously it would enable selecting descendants in shadow trees.
  • To improve the user experience, calls to Navigator.vibrate() now immediately return false if the user hasn’t explicitly tapped on the frame or any embedded frame, matching existing behavior for cross-origin iframes.
  • WEBKIT_KEYFRAME_RULE and WEBKIT_KEYFRAMES_RULE have been removed in favor of the unprefixed standardized APIs, KEYFRAME_RULE and KEYFRAMES_RULE.
  • Support for non-standard WebKitAnimationEvent and WebKitTransitionEvent has been removed from document.createEvent().
  • To better align with spec, NodeIterator.filter and TreeWalker.filter no longer wrap JavaScript objects, and .prototype has been removed from window.NodeFilter.
  • RTCPeerConnection.prototype.getStreamById() is being removed, and a polyfill is recommended as a replacement.
  • SVGPathElement.prototype.getPathSegAtLength() has been deprecated, and will be removed in Opera 49 (Chromium 62), since it has been been removed from the SVGPathElement interface in the SVG2 spec.
  • Headers.prototype.getAll() has been removed from the Fetch API in line with its removal from the spec.

[source] Here are highlights from the changelog of Opera 47:

  • DNA-62437 [Linux] Thin grey stripe on messenger window.
  • DNA-63048 Missing translations for ‘All bookmarks’.
  • DNA-63075 Missing translation for ‘Trash’ – German.
  • DNA-63161 Change channel for desktop-stable-60-2631 to stable.

Happy cross-browser testing in Opera 47!