Mozilla is giving a heads up to website developers that the upcoming three-digit versions of the popular internet browsers Firefox and Chrome might cause some websites to break.
In a Mozilla blog post by Karl Dubost, Chris Peterson, Ali Beyad, the company says the error might happen when browsers parse user-agent strings containing the three-digit version numbers.
The user-agent string contains various information about the browser software, such as the name, or, crucially – version number and supported technologies. When websites receive this information, they modify their response based on the browser version and the technologies supported.
Preparations and mitigations
When browsers made the jump from single-digit versions, to double-digit versions, some websites could not be displayed.
However, this time around – both Mozilla and Google are preparing for the new versions (coming in early May and late March, respectively) in advance. Last August, Mozilla started experimenting to see if version 100 would break some websites, and Google soon followed.
In fact, both developers found a few misbehaving websites, where “unsupported browser” messages would be displayed, or broken interfaces shown.
“Without a single specification to follow, different browsers have different formats for the User-Agent string, and site-specific User-Agent parsing. 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,” Mozilla says.
“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.”
If the companies fail to solve the issues by the release dates, they both have contingency plans: to freeze the user-agent at 99. Furthermore, Firefox will also be able to inject CSS and other similar overrides.
Mozilla has also urged website developers to test their websites for upcoming browsers, with the detailed steps available on the Mozilla blog here.