The Web browser 100 problem

Monday, 14 March 2022

Both Google Chrome and Firefox are close to releasing the hundredth versions of their popular browsers. However, there are technical issues that come with these releases that may cause some websites to break.

This issue surrounds User-Agents (UA) that are sent with all requests from the browser, which allow applications to identify the client’s operating system, browser and version. This process of identification is called User Agent Sniffing and whilst modern development practices advise against it, some libraries may have hard-coded checks on the user agent to identify what features they should avoid.


The problem

The problem is caused by the major versions of both Chrome and Firefox moving from 99 to 100, and thus two characters moving to three. You may remember similar issues occurring with both Opera 10 and Firefox 10 when the version went from one character to two back in 2009, and this is likely to cause the same problems. Historical poor development may cause sites to be unable to detect that third character so if it’s running on version 100, it will in fact be read as version 10, which may mean that features designed to work in versions beyond that may fail.

Version 100 browsers will be first released in experimental versions (Chrome Canary, Firefox Nightly), then beta versions, and then finally on the stable channel on these dates.

Chrome (Release Schedule) March 29, 2022

Firefox (Release Schedule) May 3, 2022


No issues with tradeit

tradeit itself uses feature detection rather than User Agent sniffing so that isn’t a problem, but for some merchants who have third party libraries included either directly in the tradeit components, or via tag manager that use that type of User Agent sniffing, issues could arise.


Fixes

Both Google and Mozilla are, obviously, aware of the issues and are working on fixing them. There are also backup mitigation strategies in place, in case version 100 causes more problems than anticipated. They are actively appealing for help diagnosing any problems.


Google Chrome

You can check if your site has such a problem using a Chrome feature flag, which forces Chrome to send a three-digit UA. Then, you can check to see if the new UA is being presented properly by visiting the test site, Is Chrome 100 Yet? Then you can use this browser to check out your own sites for problems. The backup plan is to use a flag to freeze the major version at 99 and report the real major version number in the minor version part of the User-Agent string using the following pattern ...

This would then output something like 99.100.4967.0.


Mozilla Firefox

Firefox has a site interventions mechanism and Mozilla webcompat team can hot fix broken websites in Firefox using this mechanism. If the problems appear too common and individual site interventions become unmanageable, Mozilla will temporarily freeze Firefox’s major version at 99 and try other options.


What can you do?

Test, test and test. We would advise you to follow the guidelines of Chrome and Firefox above and test your sites to see if they are affected and report any issues to them if they are.