Download Google Chrome 63.0.3239.84
Google has released version 63 of its Chrome web browser. Google Chrome is available for Windows, Linux and macOS. There are also versions for Android and iOS, but they follow a slightly different release schedule. Since version 50, support for older versions of Windows and macOS has been dropped. The most important changes and improvements made in version 63 are listed below.
Dynamic module imports
Currently, importing JavaScript modules is completely static, and developers cannot import modules based on runtime conditions, like whether a user is logged in. Starting in this release, the import(specifier) syntax now allows developers to dynamically load code into modules and scripts at runtime. This can be used for lazy loading a script only when it’s needed, which improves performance of the application
Async iterators and generators
Writing code that does any sort of iteration with async functions can be inelegant. The new async generator functions using the async iteration protocol are now available to help developers streamline the consumption or implementation of streaming data sources. Async iterators can be used in for loops and also to create custom async iterators through async iterator factories.
Device Memory API
It’s challenging for developers to create one user experience that can work across all devices, due to varying device capabilities. The new Device Memory JavaScript API helps developers with this challenge by using the total RAM on a user’s machine to provide insights into device constraints. This insight enables developers to tailor content at runtime in accordance with hardware limitations. For example, developers can serve a “lite” app to users on low-end devices, resulting in better experiences and fewer frustrations. The Device Memory API can also be used to add context to metrics, such as the amount of time a task takes to complete in JavaScript, through the lens of device memory.
Permissions UI changes
When websites need special permissions from a user, they trigger a permission request. Currently these permission requests appear in Chrome for Android as ignorable banners at the bottom of the screen, and developers often show them without considering whether the user has the appropriate context to grant the permission. This results in a distracting user experience, and users ignore or temporarily dismiss these permission prompts more than 90% of the time.
In Chrome 59, we started to address this problem by temporarily blocking a permission if the user dismisses the request three times. As a next step, in this release Chrome for Android now presents permission requests as modal dialogs. This change reduces the overall number of permission prompts by 50%. It also makes users 5 times more likely to accept or deny requests, rather than temporarily dismissing or repeatedly ignoring them. To ensure users understand the permission request, developers should present users with permission requests at an appropriate timeas we’ve found that users were 2.5 times more likely to grant permission to a site that ask for permissions with context.
Other features in this release Blink > Bindings
- To improve interoperability, a TypeError is now thrown for EventTarget.addEventListener and removeEventListener when the callback passed is not an EventListener, null, or undefined.
Blink > CSS
- Developers can now make pixel-level adjustments using the new Q length unitwhich is especially useful on small viewports.
- Developers can now prevent apps from using Chrome’s pull-to-refresh feature or create custom effects using overscroll behaviorwhich allows changing the browser’s behavior once the scroller has reached its full extent.
Blink > Fonts
- font-variant-east-asian is now supported, allowing developers to control the usage of alternate glyphs for East Asian languages like Japanese and Chinese.
Blink > HTML
- To improve interoperability, Chrome will fire beforeprint and afterprint events as part of the printing standardallowing developers to to annotate the printed copy and edit the annotation after the printing command is done executing.
Blink > JavaScript
- using Promise.prototype.finallya callback can now be registered to be invoked after a Promise has been 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.
Blink > MediaStream
- MediaStreamTrack.applyConstraints() is now supported for local video MediaStreamTracksincluding tracks obtained from getUserMedia(), capture from media elements or screen capture.
Blink > Network
- Version 2 or NT LAN Manager (NTLM) API is now shipped, enabling applications to authenticate remote users and provide session security when requested by the application.
Blink > Sensor
- Thanks to contributors from engineers at Intel, an Origin Trial is now available that exposes the following sensors via the new Generic Sensors API syntax: Accelerometer, LinearAccelerationSensor, Gyroscope, AbsoluteOrientationSensor, and RelativeOrientationSensor.
Blink > Storage
- the localStorage and sessionStorage API’s now use getItem() rather than an anonymous getter, so attempting to access a key using getItem() will now return null rather than undefined. Thanks to Intel for the contribution!
- To improve developer experience, the methods on sessionStorage and localStorage such as getItem(), removeItem(), and clear() are now enumerable. Thanks to Intel for making this happen!
UI > Browser > Mobile (Android)
- display: minimal-ui is now supported by Chrome on Android, enabling developers to display a UI similar to Chrome Custom Tabs for users.
Deprecations and interoperability improvements Blink > Bindings
- To improve interoperability, instance properties with a Promise type now return a rejected promise instead of throwing an exception.
Blink > CSS
- The /deep/ or >>>selector, as well as ::shadow, are now removed from CSS dynamic profile, following their deprecation in Chrome 45.
Blink > DOM
- 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.
Version number | 63.0.3239.84 |
Release status | Final |
Operating systems | Windows 7, Linux, macOS, Windows Vista, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10 |
Website | |
Download | |
License type | GPL |