Google announced its decision to drop support for the User-Agent string in its Chrome browser. Instead, Chrome will offer a new API called Client Hints that will give the user greater control over which information is shared with websites.
The User-Agent string can be traced back to Mosaic, a popular browser in the early ’90s where the browser simply sent a simple string containing the browser name and its version. The string looked something like Mosaic/0.9 and saw little use.
When Netscape came out a few years later, it adopted the User-Agent string and added additional details such as the operating system, language, etc. These details helped websites to deliver the right content for the user, though in reality, the primary use case for the User-Agent string became browser sniffing.
Since Mosaic and Netscape supported a different set of functionalities, websites had to use the User-Agent string to determine the browser type to avoid using capabilities that were not supported (such as frames, that were only supported by Netscape).
Browser sniffing continued to play a significant part in determining the browser capabilities for many years, which led to an unfortunate side effect where smaller browser vendors had to mimic popular User-Agents to display the correct website – as many companies only supported the major User-Agent types.
As a result, the most significant usage for the User-Agent remained within the advertising industry, where companies used it to ‘fingerprint’ users, a practice that many privacy advocates found to be problematic – mainly as most users had limited options to disable/mask those details.
To combat these two problems, the Chrome team will start phasing out the User-Agent beginning with Chrome 81.
While removing the User-Agent completely was deemed problematic, as many sites still rely on them, Chrome will no longer update the browser version and will only include a unified version of the OS data.
The move is scheduled to be complete by Chrome 85 and is expected to be released in mid-September 2020. Other browser vendors, including Mozilla Firefox, Microsoft Edge, and Apple Safari, have expressed their support of the move. However, it’s still unclear when they will phase out the User-Agent themselves.
You can read more about the Chrome proposed alternative to the User-Agent in an article titled ‘Client Hints’ on the official Github repository. As with every proposal, the exact implementation may change before its release, and developers are advised to keep track of the details within the repository as well as the release notes provided with new versions of Chrome.