We aren’t supposed to be doing any sort of decision-making based on browser User-Agent Strings. But, ya know, collectively, we do.
Karl Dubost notes that there is a significant change coming to them, notably moving the version integer past two digits:
According to the Firefox release calendar, during the first quarter of 2022 (probably March), Firefox Nightly will reach version 100. It will set Firefox stable release version around May 2022 (if it doesn’t change until then).
And Chrome release calendar sets a current date of March 29, 2022.
So, we’ll be looking at UAs like:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 KHTML, like Gecko) Chrome/188.8.131.52 Safari/537.36
A bad RegEx will be getting some people for sure. But even string comparison will catch people, as Karl notes:
"80" < "99" // true "80" < "100" // false parseInt("80", 10) < parseInt("99", 10) // true parseInt("80", 10) < parseInt("100", 10) // true
Might wanna search the ol’ codebase for
navigator.userAgent and see what you’re doing.
In Chromium 96 and up you can flip the
chrome://flags/#force-major-version-to-100flag to test sites while sending a User-Agent string that claims to be version 100.
Sites that use the jQuery Reject plugin are known to have issues.