Opera 20 released

Opera 20 for Mac and Windows (based on Chromium 33) is out! Here’s what that means for web developers.

Background (parallel) JavaScript compilation/optimization

Until now, the V8 JavaScript engine took turns compiling optimized JavaScript code and executing it. For large pieces of code this could become a nuisance, and in complex applications like games it could even lead to stuttering and dropped frames. Recently, the V8 team enabled concurrent compilation, which tackles this issue. As a result, JavaScript-heavy web pages run smoother in Opera 20.

Custom Elements

Opera 20 supports the Web Components / Custom Elements spec by default. This means you can use document.registerElement() to register custom elements, and document.createElement(elementName, typeExtension) to instantiate type extension-style custom elements. See this Custom Elements tutorial for more information.

Unprefixed Page Visibility API

You can now use document.hidden instead of document.webkitHidden and listen for visibilitychange event rather than the webkitvisibilitychange event.

More extension APIs

Opera 20 for Desktop adds the following APIs to extensions:

See our Opera 15+ extensions documentation for in-depth discussion of these APIs.

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.