Google today launched Chrome 85 for Windows, Mac, Linux, Android, and iOS. Chrome 85 brings tab management changes, 10% faster page loads, PDF improvements, and a slew of developer features. You can update to the latest version now using Chrome’s built-in updater or download it directly from google.com/chrome.
With over 1 billion users, Chrome is both a browser and a major platform that web developers must consider. In fact, with Chrome’s regular additions and changes, developers have to stay on top of everything available — as well as what has been deprecated or removed. Chrome 85, for example, removes support for AppCache by default.
Chrome already supports tab groups, but with this release you can now collapse and expand them. Google says this was the most popular tab group feature request the team received.
If you use Chrome in tablet mode, there is now a new touchscreen interface with larger tabs that are more practical to organize and hide. The new look is coming to Chromebooks first — Google didn’t provide an exact time frame for this feature rollout.
When you start typing a page title into the address bar on Chrome for Android, there is now an option to switch to a tab that you already have open. The suggestion to switch to that tab works just like in Chrome on desktop.
In a future release, you’ll be able to hover over a tab and see a thumbnail preview of the page. Other browsers already have this, so here Chrome is just playing catch-up.
Faster page loads
Google is promising under-the-hood performance improvements with Chrome 85. You can expect two types of speed gains: Profile Guided Optimization, which delivers up to 10% faster page loads, and Tab Throttling, which helps reduce the impact of idle background tabs. The latter, however, is coming to the Beta channel, meaning it’s not yet ready.
Profile Guided Optimization is a compiler optimization technique where the most performance-critical parts of the code can run faster. The technique prioritizes the most common tasks using real usage scenarios that match the workflows of Chrome users around the world.
Rolling out on Chrome 85 for Windows and macOS, the feature loads pages up to 10% faster at the median, according to Google’s testing. The company notes “even greater speed improvements when your CPU is tasked with running many tabs or programs.”
As for tab throttling, a future version of Chrome will give more resources to the tabs you’re using by taking them back from tabs that have been in the background for a long time. This should result in improvements not only in loading speed but also battery and memory savings, Google says.
Chrome 85 will let you fill out PDF forms and save them with your inputs. If you open the file again, you can pick up where you left off. The feature is rolling out over the next few weeks.
When you print a web page and choose the “Save as PDF” destination, Chrome will now generate a tagged PDF. That means it contains extra metadata about the structure of a document (such as headings, lists, tables, paragraphs, and image descriptions). Tagged PDFs are more accessible to users with disabilities, like people who use a screen reader, and are easier for software to automatically process and extract data from. If you don’t see this feature available right away, you may want to turn on the chrome://flags/#export-tagged-pdf flag.
Android and iOS
Chrome 85 for Android is rolling out slowly on Google Play. The changelog isn’t available yet — it merely states that “This release includes stability and performance improvements.”
We do know, however, that Chrome for Android now has improved URL sharing to help you quickly copy a link, send it to Chrome on your other devices, and send links through other apps. You can also print the page or generate a QR code (also available on Chrome for desktop in the address bar).
Chrome 85 for iOS meanwhile is out on Apple’s App Store with the usual “stability and performance improvements.” Here is the full changelog:
- You can safely and easily use your passwords saved to Chrome in other apps on your device. Go to your device’s Settings > Passwords and Accounts > Autofill Passwords. Turn on Autofill and select Chrome.
- Site information has a new look. In Chrome’s menu, tap “Site information” to find out if the page you’re on is secure.
- On iPad, when you have another app open next to Chrome in split view, you can drag links between the apps. When you drag a link to Chrome, you can drop it in the tab switcher, on an open tab, or directly into your bookmarks.
Chrome 85 implements 20 security fixes. The following were found by external researchers:
- [$N/A] High CVE-2020-6558: Insufficient policy enforcement in iOS. Reported by Alison Huffman, Microsoft Browser Vulnerability Research on 2020-07-24
- [$TBD] High CVE-2020-6559: Use after free in presentation API. Reported by Liu Wei and Wu Zekai of Tencent Security Xuanwu Lab on 2020-08-15
- [$5000] Medium CVE-2020-6560: Insufficient policy enforcement in autofill. Reported by Nadja Ungethuem from www.unnex.de on 2020-07-22
- [$1000] Medium CVE-2020-6561: Inappropriate implementation in Content Security Policy. Reported by Rob Wu on 2019-02-16
- [$1000] Medium CVE-2020-6562: Insufficient policy enforcement in Blink. Reported by Masato Kinugawa on 2020-05-27
- [$1000] Medium CVE-2020-6563: Insufficient policy enforcement in intent handling. Reported by Pedro Oliveira on 2020-07-12
- [$500] Medium CVE-2020-6564: Incorrect security UI in permissions. Reported by Khalil Zhani on 2018-05-10
- [$500] Medium CVE-2020-6565: Incorrect security UI in Omnibox. Reported by Khalil Zhani on 2019-12-02
- [$N/A] Medium CVE-2020-6566: Insufficient policy enforcement in media. Reported by Jun Kokatsu, Microsoft Browser Vulnerability Research on 2020-03-27
- [$500] Low CVE-2020-6567: Insufficient validation of untrusted input in command line handling. Reported by Joshua Graham of TSS on 2019-03-01
- [$500] Low CVE-2020-6568: Insufficient policy enforcement in intent handling. Reported by Yongke Wang(@Rudykewang) and Aryb1n(@aryb1n) of Tencent Security Xuanwu Lab (腾讯安全玄武实验室） on 2020-06-08
- [$N/A] Low CVE-2020-6569: Integer overflow in WebUSB. Reported by guaixiaomei on 2019-08-20
- [$N/A] Low CVE-2020-6570: Side-channel information leakage in WebRTC. Reported by Signal/Tenable on 2020-05-19
- [$N/A] Low CVE-2020-6571: Incorrect security UI in Omnibox. Reported by Rayyan Bijoora on 2020-05-21
-  Various fixes from internal audits, fuzzing and other initiatives
Google thus spent at least $10,000 in bug bounties for this release, a tiny amount compared to its usual spend. As always, the security fixes alone should be enough incentive for you to upgrade.
Chrome offers Origin Trials, which let you try new features and provide feedback on usability, practicality, and effectiveness to the web standards community. Chrome 85 has four new Origin Trials:
RTCRtpEncodingParameters.adaptivePtime property, and Portals.
Other developer features in this release include:
- Windows support for getInstalledRelatedApps(): The
navigator.getInstalledRelatedApps()method determines whether a site’s corresponding native app is installed. This allows customization of a user experience for already-installed apps. This method was implemented on Android in Chrome 80. Starting in Chrome 85, it’s available on Windows, thanks to work from Microsoft.
- https://web.dev/app-shortcuts/App Shortcuts: App shortcuts are now available on desktop, in addition to Android, which debuted in Chrome 84. This feature improves users’ productivity and facilitates reengagement with key tasks by providing quick access to common actions. For sites that are already Progressive Web Apps, creating shortcuts requires only adding items to the web app manifest. This addition is the result of work from Microsoft.
- Autoupgrade Mixed Content: Chrome is now auto-upgrading images served over HTTP from HTTPS sites by rewriting URLs to HTTPS without falling back to HTTP when secure content is not available. Chrome has been auto-upgrading audio and video content since version 80.
- AVIF Image Decode: Adds support for decoding AVIF content natively using existing AV1 decoders. AVIF is a next-generation image format standardized by the Alliance for Open Media. There are three primary motivations for supporting AVIF: reducing bandwidth consumption to load pages faster and reduce overall data consumption, adding HDR color support, and supporting ecosystem interest.
- Changes to Persistent Storage for Installed Web Apps: Getting persistent storage is easier and more predictable for installed web apps, including PWAs and Trusted Web Activities. If an installed web app requests persistent storage by calling
navigator.storage.persist(), it will be granted automatically. Other sites will continue to use the existing heuristics.
- Color Adjust: Remove “only” and Support “dark” or “light” for color-scheme: Chrome made two changes to match those made in the CSS Color Adjustment level 1 spec. This means content that has a dark theme in its CSS will be able to match it with dark-themed UA controls.
- content-visibility Property: Adds a CSS property called
content-visibility, which allows automatic or script management of content visibility. When hidden, the element’s contents (subtree or replaced element contents) are not drawn or hit-tested and have CSS containment applied, allowing for rendering optimizations. The
'auto'keyword allows for the user-agent to manage content visibility based on proximity to the viewport, whereas the ‘hidden’ keyword allows full script control of content visibility.
- counter-set: CSS
counter-setis an additional property introduced in CSS Lists Module Level 3 to control counters by setting an existing counter to a specified value. This builds on other implemented counter control properties, specifically counter-reset (which creates a new counter with a specified value) and counter-increment (which increments an existing counter by a specified amount). This feature is needed for precise counter control, since otherwise it is not possible to set an existing counter to a value other than figuring out how to increment or decrement it.
- Event Timing API: The Event Timing API enables web developers to measure event latency both before and after the page load. Monitoring event latency requires an event listener. This precludes measuring event latency early in page load and adds unnecessary performance overhead.
- Expose Picture-in-Picture Window in leavepictureinpicture event: (Desktop only) The
leavepictureinpictureevent now exposes a reference to
pictureInPictureWindowso that web developers no longer need to keep a global reference to that object.
- Named pages with page-orientation: Support is added for several CSS properties and descriptors for printing.
- Referrer Policy: Default to strict-origin-when-cross-origin: Web developers may specify a referrer policy on their documents, which impacts the
Refererheader sent on outgoing requests and navigations. When no such policy is specified, Chrome will now use
strict-origin-when-cross-originas the default policy, instead of
no-referrer-when-downgrade. On cross-origin requests made from documents without a specified referrer policy, this reduces the
Refererheader to the initiating origin.
- Update Fallback Content’s Behavior for ImageInputType and HTMLImageElement: Changes the behavior of fallback content for
HTMLImageElement. Such content will now render exactly the same as alt text would.
- Update the Behavior of the “disabled” Attribute for HTMLLinkElement: Corrects several spec inconsistencies related to the
disabledattribute. These behaviors are eliminated in compliance with a spec update.
- Web Bluetooth writeValueWithResponse() and writeValueWithoutResponse(): Adds two new methods,
writeValueWithoutResponse(), which resolve several issues with the existing method for writing to GATT characteristics and enable developers to control whether the device returns a response. The existing
writeValue()method will remain for backwards compatibility, but its use is discouraged. The new APIs also do not depend on the GATT characteristic properties being set correctly which allows working around buggy Bluetooth devices.
- WebAssembly BigInt Integration: WebAssembly now imports and exports WebAssembly function parameters of type i64 using BigInt.
- WebAuthn getPublicKey(), getPublicKeyAlgorithm() and getAuthenticatorData(): Several methods from the Web Authentication Level 2 spec have been added.
For a full rundown of what’s new, check out the Chrome 85 milestone hotlist.
Google releases a new version of its browser every six weeks or so. Chrome 86 will arrive in early October.