Just a few days into new year and Opera has released a major new release - Opera version 50. This is the last Opera version to run under OS X 10.9. All the next versions will require at least OS X 10.10. Opera 50 is based on Chromium 63, therefore it is capable to do everything Chrome 63 does. This release is specifically notable for its new anti-Bitcoin mining protection, extended VR360 support for Oculus and other cool features. It's also already installed in Browserling, our cross-browser testing platform.

Cross-browser testing in Opera 50

Try Opera 50 in Browserling now!

New Features in Opera 50

  • Integrated bitcoin mining prevention

If you're following crypto news, then you'll know that that value of Bitcoin cryptocurrency is skyrocketing. Everyone wants to make an easy profit and as a result a lot of users put shady bitcoin mining scripts on their websites. This quickly depletes laptop batteries and slows down computers. Opera is the first browser so far to stop bitcoin mining on your computer.

This illustration pretty much explains it all:

Opera 50 Crypto Mining Protection

To prevent cryptocurrency mining sites from doing their dirty work on your computer, simply enable Opera's ad blocker. You can also find and change NoCoin in Settings (Preferences on macOS) - Basic - Block ads, under the Recommended lists of ad filters. If you like ads but still want to be protected from Bitcoin-mining, you can simply uncheck EasyList and leave the NoCoin box checked. Voila - you're protected.

  • VR Player improvements

Opera has developed a support for Oculus Rift, offering immersive, 360-degree virtual world with just a click. Not only this, Opera has also implemented software decoding path support, so that you don't need to install any extensions to handle VR playback for you, when your GPU does not support YouTube’s VP8 or VP9 formats. There is also added JavaScript-based detection for a selection of popular web sites - such as YouTube, Facebook or Vimeo - to help out with automatic format detection for the proper playback mode. And lastly, Opera has added a dedicated Exit VR button to stop a VR playback in the Opera VR 360 Player, returning your device to its native home screen.

  • Chromecast support

Chromecast is a streaming digital media player developed by Google. With them you can effortlessly stream content from your browser onto your TV screen or home audio system without having to get tangled in cables every time. Opera 50 now supports Chromecast playback.

Opera 50 Chromecast

Other New Features in Opera 50

  • Ability to Save pages as PDFs.
  • Tab's context menu is more functional, cleaned up and regrouped.
  • Currency converter extended with cryptocurrencies.
  • Better unit converter.
  • Session protection against crashes.
  • Renewed VPN.
  • Smoother videos on macOS.

New Developer Features in Opera 50

  • Dynamic module imports.
  • Async iterators and generators.
  • Device Memory API.

Other New Developer Features in Opera 50

  • Developers can now make pixel-level adjustments using the new Q length unit, which is especially useful on small viewports.
  • font-variant-east-asian is now supported, allowing developers to control the usage of alternate glyphs for East Asian languages like Japanese and Chinese.
  • To improve interoperability, Opera will fire beforeprint and afterprint events as part of the printing standard, allowing developers to annotate the printed copy and edit the annotation after the printing command is done executing.
  • Using Promise.prototype.finally(), a callback can now be registered to be invoked after a Promise has been either fulfilled or rejected.
  • The Intl.PluralRules API allows developers to build applications that understand pluralization of a given language by indicating which plural form applies for a given number and language.
  • MediaStreamTrack.applyConstraints() is now supported for local video MediaStreamTracks, including tracks obtained from getUserMedia(), capture from media elements or screen capture.
  • Version 2 of NT LAN Manager (NTLM) API is now shipped, enabling applications to authenticate remote users and provide session security when requested by the application.
  • The localStorage and sessionStorage APIs now use getItem() rather than an anonymous getter, so attempting to access a key using getItem() will now return null rather than undefined.
  • To improve developer experience, the methods on sessionStorage and localStorage such as getItem(), removeItem(), and clear() are now enumerable.

Deprecations and interoperability improvements

  • To improve interoperability, a TypeError is now thrown by EventTarget.addEventListener() and EventTarget.removeEventListener() when the callback argument is not an EventListener, null, or undefined.
  • Also to improve interoperability, instance properties with a Promise type now return a rejected promise instead of throwing an exception when the property access fails.
  • The /deep/ or >>> selector, as well as ::shadow, are now removed from CSS dynamic profile.
  • To improve interoperability, HTMLAllCollection, HTMLCollection,HTMLFormControlsCollection and HTMLOptionsCollection are no longer enumerable, so they are now left out of calls to Object.keys() or for-in loops.

Finally, here are highlights from Opera 50 bugfix changelog:

  • DNA-66238 Fix language dependent filters not being added to recommended list.
  • DNA-66357 Provide language translations.
  • DNA-66376 Fix Speed Dial extensions title is missing on Start Page.
  • DNA-66396 Fix Use-after-free of NSWindowDelegate.
  • DNA-66085 Avoid direct downloads of currency exchange rates.
  • DNA-66436 New rules are now downloaded on upgrade in Adblocker.
  • DNA-66467 Bookmarksbar is shown upon update to version 50.
  • DNA-66480 Blank history, white StartPage.
  • DNA-66669 Fix Spectre vulnerability check.

Happy cross-browser testing in Opera 50!