A Hot Opera 12.50 Summer-Time Snapshot

Summer is usually a quiet time in the Opera offices, but looking at the latest Opera 12.50 snapshot, you'd be forgiven for thinking that our developers have never heard of vacation time.

In among a giant list of bug fixes and tweaks, there are some interesting stand-out features worth highlighting:

Unprefixing stable CSS properties

A wise man (well, our man Bruce Lawson) once said "One of the best ways to have no troubles with prefixes [from a browser's point of view] is not to use them". In this snapshot we're removing the -o- prefixes from our implementation of Transitions, Animations and Transforms.

If you've been using -o- prefixed versions like -o-transform or -o-transition in your stylesheets, make sure that you're also including the unprefixed versions, as the old prefixed properties will be dropped in 12.50.

Of course, this also has an effect on any related JavaScript events and properties – so things like the oTransitionEnd event will be dropped in favour of the unprefixed (and lowercased, as per spec) transitionend event.


Although the current stable release of Opera already has sockets support, it has been disabled by default because it was using an older version of the spec. This snapshot brings our implementation up to the latest WebSockets protocol RFC-6455 and it is now enabled by default.

New Opera extension APIs

A few months ago, we released a special Opera Labs build with the new Screenshot and Resource Loader APIs and an improved URL Filter API (including whitelisting, 3rd-party blocking, and a new filter syntax) for extensions. We've had some great feedback from developers on these features, and with today's release of the Opera 12.50 snapshot we are now "promoting" these new and improved APIs out of the labs and putting them on track for our next stable release.

User-Agent string changes

Opera 12.50 will ship with a simplified UA string. Firstly, we have dropped the "U;" token, which signified that the browser provides crypto support that is stronger than what the "international" builds of Netscape offered circa 1995. The second change is removal of the language indicator. As an example, while the UA string for Opera 12.01 on Mac is currently

Opera/9.80 (Macintosh; Intel Mac OS X 10.8.0; U; en) Presto/2.10.289 Version/12.01

today's snapshot for Opera 12.50 on Mac shows

Opera/9.80 (Macintosh; Intel Mac OS X 10.8.0) Presto/2.12.363 Version/12.50

In a corresponding Mozilla bug report, Henri Sivonen explains why this matters. If you're interested in figuring out the user's locale, you should be looking at the Accept-Language header instead.

Both these changes correspond to similar changes in the IE, Firefox, Chrome and Safari browsers' UA strings. We're not aware of site compatibility issues caused by this change, except for one: at the moment, Google+ shows a browser warning when accessed with Opera builds sporting this new streamlined UA string, due to overly strict string parsing. We have informed Google about this, and are looking forward to a fix. *nudge*