Let’s work together to avoid yet another quirky behavior. What can you do to help?Įvery strategy that adds complexity to the User-Agent string has a strong impact on the ecosystem. The Chrome team will decide on whether to resort to the backup option based on the number and severity of the issues reported. If the backup plan is employed, then the User-Agent string would look like this:Ĭhrome is also running experiments to ensure that reporting a three-digit value in the minor version part of the string does not result in breakage, since the minor version in the Chrome User-Agent string has reported 0 for a very long time. The Chrome version as reported in the User-Agent string follows the pattern.
FIREFOX OLD VERSIONS CODE
In Chrome, 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 (the code has already landed). If the breakage is widespread and individual site interventions become unmanageable, Mozilla can temporarily freeze Firefox’s major version at 99 and then test other options. If a site breaks with the major version being 100 on a specific domain, it is possible to fix it by sending version 99 instead. If you type about:compat in the Firefox URL bar, you can see what is currently being fixed. Mozilla webcompat team can hot fix broken websites in Firefox using this mechanism. Firefox has a site interventions mechanism. In Firefox, the strategy will depend on how important the breakage is. There are also backup mitigation strategies in place, in case version 100 release to stable channels causes more damage to websites than anticipated. These experiments will continue to run until the release of version 100. This has led to a few reported issues, some of which have already been fixed. What are browsers doing about it?īoth Firefox and Chrome have been running experiments where current versions of the browser report being at major version 100 in order to detect possible website breakage. Running Chrome experiments in the field has surfaced some issues, which are being worked on. Mike Taylor, an engineer on the Chrome team, has done a survey of common UA parsing libraries which didn’t uncover any issues. Many libraries improved the parsing logic when browsers moved to two-digit version numbers, so hitting the three-digit milestone is expected to cause fewer problems.
It’s possible that some parsing libraries may have hard-coded assumptions or bugs that don’t take into account three-digit major version numbers. Without a single specification to follow, different browsers have different formats for the User-Agent string, and site-specific User-Agent parsing. When browsers first reached version 10 a little over 12 years ago, many issues were discovered with User-Agent parsing libraries as the major version number went from one digit to two. Why can a three-digit version number be problematic? Version 100 browsers will be first released in experimental versions (Chrome Canary, Firefox Nightly), then beta versions, and then finally on the stable channel. The User-Agent and any other version reporting mechanisms will soon report a three-digit version number. Web developers use all kinds of techniques for parsing these strings, from custom code to using User-Agent parsing libraries, which can then be used to determine the corresponding processing logic. It also has the potential to cause breakage on websites as we move from a two-digit to a three-digit version number. Major version 100 is a big milestone for both Chrome and Firefox.
Major version 100-three-digit version number It’s usually formatted as follows:įor example, the latest release versions of browsers at the time of publishing this post are: The string is also accessible through JavaScript with erAgent. User-Agent (UA) is a string that browsers send in HTTP headers, so servers can identify the browser. This post covers the timeline of events, the strategies that Chrome and Firefox are taking to mitigate the impact, and how you can help. This has the potential to cause breakage on sites that rely on identifying the browser version to perform business logic.
Chrome and Firefox will reach version 100 in a couple of months.