Chrome version: 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
This release of Chrome had 22 new features.
Async functions make it easy to write code which needs to "block" on certain asynchronous events JavaScript. Async/await does this by providing a simpler and more ergonomic way to use Promises. To block on a value, use the 'await' keyword. Async/await can be implemented based on a desugaring to generators, as described in the following design doc: https://docs.google.com/document/d/1K38ct2dsxG_9OfmgErvFld4MPDC4Wkr8tPuqmSWu_3Y/edit?usp=sharing #
This feature was specified in this Spec.
Docs: https://developers.google.com/web/fundamentals/getting-started/primers/async-functionshttps://jakearchibald.com/2014/es7-async-functions/
Samples: https://blogs.msdn.microsoft.com/eternalcoding/2015/09/30/javascript-goes-to-asynchronous-city
Script should not execute if it is delivered with a MIME type of 'audio/*', 'image/*', 'video/*', or 'text/csv'. #
This feature was specified in this Spec.
For users on slow connections such as 2G, the performance penalty from third-party scripts loaded via document.write() is often so severe as to delay display of main page content for tens of seconds. This feature will block the load of cross-origin, parser-blocking scripts inserted via document.write() in case of an HTTP cache miss for users on a 2G connection. The feature will only be applicable to such scripts in the main frame. #
This feature was specified in this Spec.
Docs: https://developers.google.com/web/updates/2016/08/removing-document-writehttps://developer.mozilla.org/en-US/docs/Web/API/Document/writehttps://docs.google.com/document/d/1dMJRQKTw75ZNdknP3pirSBH3koPl_IWHnxlcBuu4t_c/edit?usp=sharinghttps://docs.google.com/document/d/1FSegTIN91btRwPCIrt6s3X63cdOJmNjcr0p2mhlOAW8/edit?usp=sharinghttps://docs.google.com/document/d/1AtS83d9joGj-xmt_pZB4Uvvn_9d1aEReRg0rI_5runw/edit
No linked samplesThis CSS property controls automatic hyphenations. The automatic hyphenation is strongly demanded as seen in crbug.com/47083, and is already supported by all other major browsers. Blink enables the following values on all platforms: "manual" - the initial value. "none" - disables soft hyphens. and the following value on Android and Mac: "auto" - enables the automatic hyphenation for languages where the underlying operating system has dictionaries. #
This feature was specified in this Spec.
Docs: https://docs.google.com/document/d/1ZgMnNxYxvPJYMOeyxJs8MsfGMNFiDKrz64AySxlCzpk/edit?usp=sharinghttps://developer.mozilla.org/en-US/docs/Web/CSS/hyphens
Samples: https://googlechrome.github.io/samples/css-hyphens/
Add the following EventHandler attributes for existing EME events: * HTMLMediaElement: * onwaitingforkey * (onencrypted is already implemented) * MediaKeySession: * onkeystatuseschange * onmessage #
This feature was specified in this Spec.
Docs: Spec issue: https://github.com/w3c/encrypted-media/issues/176
No linked samplesTLS clients offer lists of 16-bit code points (e.g. cipher suites) that servers select from. To remain extensible, servers must ignore unknown values. However, servers may have bugs and reject unknown values. These servers will interoperate with existing clients, so the mistake may spread unnoticed, breaking extensibility for the whole ecosystem. We will reserve some values to advertise at random, to prevent such mistakes before broken servers are widespread. #
This feature was specified in this Spec.
This will require a user gesture in order to start playback using Web Audio in a cross origin iframe, the same way a user gesture is required to play an audio or video element. #
This feature was specified in this Spec.
Docs: https://github.com/WICG/interventions/issues/28https://github.com/WebAudio/web-audio-api/issues/836
No linked samplesThe spec is: https://dom.spec.whatwg.org/#dom-event-composedpath The relevant change of the spec: https://github.com/whatwg/dom/pull/327 Before: event.composedPath() on window object returns [window] in Blink, which does not include nodes in a document. After: event.composedPath() on window behaves the same way as that on document. It would include a node in a document tree. #
This feature was specified in this Spec.
A prefixed constructor webkitMediaStream has been available since 2012. It will now be available without the prefix as MediaStream. #
This feature was specified in this Spec.
Docs: https://developer.mozilla.org/en/docs/Web/API/MediaStream
No linked samplesThis is a standard event constructor. Previously, the event interface was hidden, so that scripts could not create instances. #
This feature was specified in this Spec.
Docs: https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrackEvent
No linked samplesThe new input event type "auxclick" introduced here provides web developers a way to listen to the click behavior of non-primary buttons, and potentially cancel their effect (eg. opening a new tab when middle clicking on a link). This new input type is needed because the "click" event is restricted to primary button only according to the spec https://w3c.github.io/uievents/#event-type-click. So after this change "click" event will no longer be dispatched for non-primary buttons. #
This feature was specified in this Spec.
Docs: https://developers.google.com/web/updates/2016/10/auxclick
No linked samplesAllow sites to request that web storage be treated as "persistent", preventing Chrome's automatic storage eviction from clearing storage for that site. The permission is automatically granted when the site: - Is bookmarked (if the user has <= 5 bookmarks) - Is added to homescreen - Has push notification permissions - Has high site engagement (Launched as Origin Trial in M52) #
This feature was specified in this Spec.
Allow origins to opt out of the browser's storage-eviction logic that is run when the user's storage space is running low. #
This feature was specified in this Spec.
Docs: https://developers.google.com/web/updates/2016/06/persistent-storage
No linked samplesUnified pointer input API subsuming MouseEvent and TouchEvents which addresses several existing problems (especially on touchscreen laptops) and provides future extensibility. Intent-to-implement thread: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/ODWmcKNQl0I This was behind a flag starting in Chrome 52. #
This feature was specified in this Spec.
Docs: https://developers.google.com/web/updates/2016/10/pointer-eventshttps://developer.mozilla.org/en-US/docs/Web/API/PointerEvent
No linked samplesSupport adding event listeners with the "once" option set to true. When set to true, options’s once member indicates that the callback will only be invoked once after which the event listener will be removed. #
This feature was specified in this Spec.
Docs: https://developers.google.com/web/updates/2016/10/addeventlistener-once
No linked samplesDataset is supported on HTMLElement. Recently spec was modified to support for SVGElement as well. https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement #
This feature was specified in this Spec.
Samples: http://jsbin.com/butikiromu/edit?html,js,console
The touch-action CSS property determines whether touch input may trigger default behavior supplied by user agent. This includes, but is not limited to, behaviors such as panning or zooming. Additional keywords indicating: pan-up, pan-down, pan-left, pan-right have been added to the specification. #
This feature was specified in this Spec.
Samples: http://dtapuska.github.io/touch-action/carousel.html
The CSS Clipping Path (CSS Masking specification) property without the "webkit" prefix. #
This feature was specified in this Spec.
Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/clip-pathhttp://docs.webplatform.org/wiki/css/properties/clip-path
Samples: https://css-tricks.com/clipping-masking-css/https://sarasoueidan.com/blog/css-svg-clipping/https://developer.mozilla.org/en-US/docs/Web/SVG/Applying_SVG_effects_to_HTML_content#Example_Clipping
The specification was updated by https://github.com/whatwg/html/commit/163703186794c21daa92cc2718218afa44f26071. Before the change, maxlength/minlength limits |value| length, not |API value| length. In <textarea>, a single linebreak is represented as CR LF in |value|, and LF in |API value|. Firefox and Edge incorrectly applied to |API value|, and WebKit and Blink correctly applied to |value|. But the specification followed Firefox and Edge. #
This feature was specified in this Spec.
Implement BaseAudioContext according to the spec. This introduces a trivial but user-visible change: querying `AudioContext.prototype.hasOwnProperty(functionName)` will fail. See the comment to see how to fix the potential issue. #
This feature was specified in this Spec.
Docs: https://webaudio.github.io/web-audio-api/#BaseAudioContexthttps://developer.mozilla.org/en-US/docs/Web/API/AudioContext
No linked samplesAdd constructor for WebAudio AudioNodes. Instead of saying "context.createFoo()", you can now say "new FooNode(context, optionalOptions)", roughly. #
This feature was specified in this Spec.
Docs: http://webaudio.github.io/web-audio-api/https://github.com/WebAudio/web-audio-api/issues/696https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
No linked samplesThe close() method is no longer defined for an OfflineAudioContext. It only threw an error anyway, so it wasn't useful. It's now only defined for an AudioContext. #
This feature was specified in this Spec.
Docs: https://webaudio.github.io/web-audio-api/#widl-AudioContext-close-Promise-voidhttps://github.com/WebAudio/web-audio-api/issues/948
No linked samplesThis release of Chrome had 0 new origin trials.
This release of Chrome had 0 are available behind a flag.
To keep the platform healthy, we sometimes remove APIs from the Web Platform which have run their course. There can be many reasons why we would remove an API, such as:
Some of these changes will have an effect on a very small number of sites. To mitigate issues ahead of time, we try to give developers advanced notice so they can make the required changes to keep their sites running.
Chrome currently has a process for deprecations and removals of API's, essentially:
You can find a list of all deprecated features on chromestatus.com using the deprecated filter and removed features by applying the removed filter. We will also try to summarize some of the changes, reasoning, and migration paths in these posts.
This release of Chrome had 0 features deprecated.
This release of Chrome had 2 features removed.
Calls to navigator.vibrate will immediately return 'false' inside cross-origin iframes.The Vibrate API is being abused by unsafe third-party content (eg., malicious ads). As of Chrome 57 this is relaxed to allow vibration after the user has tapped on the frame. See https://crbug.com/683938. #
This feature was specified in this Spec.
Docs: https://github.com/WICG/interventions/issues/25
Samples: http://output.jsbin.com/murono
HTTP/0.9 is the predecessor to HTTP/1.x. One big difference between HTTP/0.9 and HTTP/1.x is that HTTP/0.9 lacks any response headers. So when we send an HTTP/1.x request, if the server responds with a message that doesn't look like HTTP/1.x, we just assume it's an HTTP/0.9 response and treat the entire response is the response body, with no headers. We're removing this behavior except on default ports, and plan to further reduce support in the future. #
This feature was specified in this Spec.