Google today released Chrome version 35 for Windows, Mac, and Linux (Update: Android as well). The new version is mainly for developers, especially those building Web content and apps for mobile devices – this release doesn’t appear to have any new features targeted at the end user. You can update to the latest release now using the browser’s built-in silent updater, or download it directly from google.com/chrome.

Update: It’s worth adding that aside from the developer additions, this release also enables “Ok Google” voice search, which was previously added in Chrome 34 beta, for all users. Visit Google.com, or open a tab if Google is your default search engine, and say “Ok Google” to get going.

At the time, Google said the feature was limited to US English users and that support for additional languages was “coming soon.” Unfortunately, “soon” hasn’t arrived yet and only Americans have access to this feature.

ok google Chrome 35 launches with OK Google voice search, more control over touch input, new APIs and JavaScript features

Here’s the Chrome version 35.0.1847.116 changelog provided by Google:

  • More developer control over touch input.
  • New JavaScript features.
  • Unprefixed Shadow DOM.
  • A number of new apps/extension APIs.
  • Lots of under the hood changes for stability and performance.

First up, Google is promising more developer control over touch and zoom input. The touch-action CSS property lets developers use a declarative mechanism to selectively disable touch scrolling, pinch-zooming, or double-tap-zooming on parts of their Web content. Unfortunately, this was in Chrome 35 beta but appears to have been delayed. Meanwhile, Web content on desktop computers will now receive mouse scroll wheel events with the ctrlKey modifier set, which lets developers do something different than simply default to triggering browser zoom (Google offers the example of being able to zoom in Google Maps, as opposed to zooming on the whole webpage).

Next, Chrome 35 adds new JavaScript functionality defined in the ECMAScript 6 standard. There are three of them:

  • Promise, a value that may not be available yet but will be known at some point in future, and is meant to help writing cleaner asynchronous code.
  • WeakMaps and WeakSets allow developers to create efficient, garbage-collected data structures. In both, references to objects are held weakly: if there is no other reference to an object stored in the WeakSet, it can be garbage collected. This helps avoid memory leaks.
  • Object.observe lets developers observe changes to JavaScript objects. Callbacks can observe multiple objects and will receive all changes to any objects in a single asynchronous call.

Google has also added support for unprefixed Shadow DOM; the prefixed implementation of Shadow DOM was made available with the release of Chrome 25. The addition brings reliable composition of user interface elements by allowing developers to scope their HTML markup, CSS, and hide the implementation details of complex components, as well as build their own first-class elements and APIs with Custom Elements.

Finally, CSS Font Loading has been added for dynamically loading font resources. The SVG ‘paint-order’ property lets developers control the order in which fill, stroke, and markers are painted.

Last but certainly not least, Chrome 35 also addresses 23 security issues, of which Google chose to highlight the following:

  • [$3000][356653] High CVE-2014-1743: Use-after-free in styles. Credit to cloudfuzzer.
  • [$3000][359454] High CVE-2014-1744: Integer overflow in audio. Credit to Aaron Staple.
  • [$1000][346192] High CVE-2014-1745: Use-after-free in SVG. Credit to Atte Kettunen of OUSPG.
  • [$1000][364065] Medium CVE-2014-1746: Out-of-bounds read in media filters. Credit to Holger Fuhrmannek.
  • [$1000][330663] Medium CVE-2014-1747: UXSS with local MHTML file. Credit to packagesu.
  • [$500][331168] Medium CVE-2014-1748: UI spoofing with scrollbar. Credit to Jordan Milne.
  • [374649] CVE-2014-1749: Various fixes from internal audits, fuzzing and other initiatives.
  • [358057] CVE-2014-3152: Integer underflow in V8 fixed in version 3.25.28.16.

Google thus spent at least $9,500 in bug bounties this release. These fixes alone should push Chrome users to upgrade as soon as possible.