Mozilla changes Firefox's user agent because of Internet Explorer 11
Microsoft retired its Internet Explorer 11 web browser in 2022 officially to concentrate fully on Microsoft Edge. While Internet Explorer is disabled on most systems and from the focus of most developers, it has not been removed yet and it is still playing a role today. The browser is still haunting some from its grave.
There are two main use cases for which Internet Explorer is still relevant. First, in environments that use websites and services that rely on Internet Explorer-exclusive technology; this applies to Enterprise and business environments for the most part. Microsoft added IE Mode to Microsoft Edge to address this. Content designed for Internet Explorer can be loaded in Microsoft Edge using IE Mode.
The second may not look relevant at all anymore. Some websites and apps use code to determine the user agent. The user agent informs the site about several parameters, including the used web browser (engine) and operating system. When done correctly, it may reveal the used browser and that may then lead to a custom user experience.
When done incorrectly, it may lead to false identification; this is exactly what is happening on some sites currently regarding Internet Explorer user agent sniffing and the Firefox web browser. Some sites identify Firefox as Internet Explorer because of inaccurate user agent sniffing.
- Internet Explorer 11's user agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko
- Firefox 110's: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:110.0) Gecko/20100101 Firefox/110.0
And here is how that can happen:
- A Firefox user visits a website in Firefox 110 or any other version up to Firefox 119.
- The site in question checks for rv:11 in the user agent. Firefox's rv:110 value is identified wrongly as Internet Explorer in this case.
False identification of Firefox may lead to compatibility issues, display issues or functionality issues. Firefox versions 110 to 119 are affected by the issue.
To avoid this from happening, Mozilla decided to freeze part of Firefox's version. Instead of echoing rv:110, rv:111 and so on up to rv:119, Firefox returns rv:109 instead. The end of the user agent string displays the actual version of Firefox still.
Mozilla plans to restore the original user agent of Firefox with the release of Firefox 120. The organization plans to release Firefox 120 on November 21, 2023. (via Sören Hentzschel)
My mother’s basic calculator is able to notice the difference between 11.0 and 110, it seems a pretty low joke. Thanks for the article.
Calculator programmers > Web programmers ?
It is rumored that the reason for skipping windows 9 is that some sites looking for windows 9*, believing it was windows 95 or windows 98.
My understanding is that that’s a function baked into Windows itself in its compatibility functions, and Microsoft didn’t have a workaround that wouldn’t require patching ancient software, so their easiest solution was to avoid using a 9 altogether.
This rumors usually arent true if the program rely on NT version instead of the name itself.
Example: Windows 9 would be NT 6.4 if its even exist, but MS changed it to Win 10 and bumped the NT version to 10.0 (through NT ver 6.2 will be kept (seen on registry) for compatibility with older programs/games).
It’s funny because they were so scared of problems with version 100 in UA string. They asked people to test it beforehand, launched experiments, etc.
But then the real problem was with version 110 :) Luckily they have caught it in Nightly.
This looks like it was taken straight from a Mr. Beans show.
Termux.dev D themeSeq the right
They need to speed-up their version increases, I want a debate over “should we skip version 666” happen in my lifetime :D
The “agile” development was such a Google Chrome gimmick, and yet there are “developers” who will not let it go. I read it as Firefox “11.0” and Chrome “10.8” anyway, because that’s what it is, and I will not take part in this petty lie.
Shouldn’t Mozille be freezing the user agent at all by now? UA should become irrelevant. Apple has frozen it on Safari, and Microsoft and Google are doing the same.
Yes, exactly. What is the need to give websites such detailed information to let them fingerprint your browser? They should be sniffing features, not UA strings. Google and Microsoft are freezing their user agents to discourage this behaviour. For some reason Mozilla refuses to follow this lead
It reminds me of the reason Windows skipped version 9. Programs will read the OS version as “Windows 9”, and think it was Windows 95 or 98 and refuse to start.
Then rv:1100, Chrome does bring bad habits :)
Sigh! I wish instead of this, Mozilla would focus on providing a statement confirming as to when they are ditching Windows 7 and 8x support. They’re really stalling on this.
Lazy RegEx matching aside (pun intended), why would you be testing for the version to determine if it’s ie11 instead of testing the rest of the string and block all ie versions? Or are the other versions already blocked with similar rules and they just throw this on the end of the list of rules? UAs always confused me anyways.