Chrome And Firefox On Brink Of A Y2K-Like Moment That Will Break Some Websites
More than 22 years ago, almost everyone knew that the world was ending when the clock ticked to the year 2000. A general panic ensued as people expected planes to fall out of the sky and nukes to launch due to dated software and hardware. Then at the stroke of midnight the world over...nothing happened.
The year 2000 bug, or more colloquially named the Y2K bug, was a software glitch that dated back to significant memory limits on old computers. In the past, due to said memory limits, dates were often stored by computer software in a two-digit format, only housing the last two numbers related to the date. For example, 1971 is 71, 1999 is 99, and 2000 would be 00. Or is 00 1900, or 3000? You can see the problem here. The most that seemed to happen was a couple of airline terminals reported the date was 1900, but due to the vigilance of an industry of IT professionals, most computer systems the world over were up to date and safe from the problems.
Well, we're reaching that same possible problem, this time with web browsers. Google's Chromium engine will be version 100, moving from 99, which includes Microsoft Edge, and Mozilla's Firefox is also reaching the same milestone. It is probably no surprise that many website developers do version number comparisons to ensure compatibility with the code they write. Like pre-2000 developers, the developers may only compare based on two digits. If this is the case, we may see some odd behavior on websites. Most notorious for not keeping their website code up to date happens to be banks. We are hoping this isn't the case for our finance.
This version number problem may be a non-issue, but just in case, both Google and Mozilla have, or will, issue compatibility fixes. Mozilla resolves the issue by providing failover. If compatibility breaks on version 100, the browser will report version 99. However, if enough websites report compatibility issues, Mozilla may freeze its version number at 99 until more of them state they have updated their code.
Google has decided that its resolution is a modification to the User-Agent string reported by the browser. Instead of showing 100 in the major version, they intend to place the number into the Minor Version, providing a major_version.minor_version.build_number. patch_number format. For years minor version has just been 0, so they expect that this may be the best mitigation though it is still considered in testing. It is likely that Microsoft will probably follow suit with Edge, as it is also a Chromium based browser.
We don't expect many websites to have a problem as it is our experience that most web developers of today were aware of the Y2K problem and likely do not do two-digit date storage. That does not mean problems are not possible, though. We are, however, still concerned about the 2038 problem.