If you are using user-agent for anything other than statistics, you are likely doing something wrong...
And it would be a shame if Firefox didn't implement something, even so minor like a new version number, 'just' because sites break. You are Mozilla, send them a mail and give them a week to fix it, because you are f'ing Mozilla. I'm glad this is apparently just what they did here.
(Same thing when NVIDIA or Microsoft do contortions to support broken games. You already fixed the function or shader; don't hotpatch it but send it to the vendor and tell them to merge it or else...)
User-base has no importance, dev-base is what matters here. If Mozilla sends a letter to developers, chances are those people already stumbled upon MDN multiple times when they looked for answers to web development related questions.
If there's no law saying they have to support those 3% of customers, and supporting the 3% costs more than the 3% bring in, then yeah they won't bother.
I also use it for developing and use its developer tools. If it works on Firefox, there's maybe a few CSS tweaks I need to make when I test on other browsers
> If you are using user-agent for anything other than statistics, you are likely doing something wrong...
Except it is very common. Back before FF included DRM (optional) I couldn't get Netflix on Linux FF. But if I switched the UA string to FF Windows or Linux Chrome I could watch it. Contacted Netflix and they said "we don't use UA strings to block people." But it isn't just Netflix. I've seen this happen many times with many different websites (no problems since DRM is enabled on FF).
I don't disagree with you, but the amount of people doing "something wrong" is staggering. And it isn't just the little guys.
Also, Mozilla is what, 3.45%? I don't think people care unless you're Chrome or Safari (combined are ~85%).
I'd like to see you implement SameSite=None cookies without user agent sniffing. Still pisses me off that a bunch of browser vendors decided to break backwards compatibility so badly you're literally forced to sniff for user agents
There is still a possibility that Mozilla's improvements can break backwards compatibility. One time they attempted to improve Firefox's error message for undefined property accesses in JavaScript, but it caused breaking changes because some websites relied on parsing the old error message format.
Mozilla's response was to roll back the change instead of blaming the users. The alternative was letting Firefox lose market share to Chrome because the websites people wanted to use didn't work. At least one major e-commerce website (Flipkart) was actively losing sales because of the bug.
Mozilla trying to strongarm people into using web features the "right" way sounds like something Google would do.
Well, Chrome recently released their 92nd version... The same thing could happen to them really soon. Should they keep the user agent as version 99 indefinitely too? User agents shouldn't be as relevant as they are.
When a new Firefox release breaks a website, the browser is broken.
When a new Chrome or Safari release breaks a website, the website is broken.
I hate myself for typing that out, but it's true. Chrome has the luxury of dictating terms to sites that IE used to have 10 years ago. Firefox has never had such a dominant position, so they need to shoulder some of the burden themselves to ensure remaining users aren't forced to switch.
The other valid use case is blacklisting buggy browser versions. Some browsers will claim to support a feature but it doesn't actually work (e.g. indexeddb in some versions of safari). The only way to detect is using the user agent.
Are there any legitimate reasons to care about the user agent in this day and age? If you're still serving different css/js based on a self reported identification, then chances are your motivation is questionable.
Not unlike certain CPU and GPU makers. Frankly, I am surprised any of this is still matters. Guess I am still just an old an naive summer child
We detect IE to show a banner saying to upgrade. I assume some sites like google search do so they can support literally every browser. I was shocked to find out IE 8 on a fresh windows xp vm was able to use google search without any issues.
Is it true that Microsoft skipped Windows 9 because too many applications check for "Windows 9*", and would have thought that they are running on Windows 95 or 98?
It strikes me as plausible. If the devs thought that Microsoft was going to keep their year based naming system then it wouldn't be a problem for another 100 years, by which point they would be long dead and it would be someone else's problem. The fact that there were two versions to check also meant that the shortcut of only checking the first digit is understandable. Also, if the version strings included extra cruft, like Windows 98SE2 then stopping the check early makes sense over trying for explicit string matches.
Of course Windows 10 was supposed to be the last version ever in Apple OSX style, but now we have beta for Windows 11. The lesson is: never trust what Microsoft tells you about their intentions.
None of the native APIs return the version number as a string, and to see a version > Vista you need to declare the minimum supported version anyway. But I can see this being a problem in some scripted languages, maybe.
Personally I believe they wanted to avoid Windows NEIN, or it's some marketing BS to jump a number and pull up to OS X (10).
As a long-time Nightly build user as my main browser (since Phoenix 0.4 or so), I'm used to things breaking. So set my UA to this to see if anything happens:
> Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:93.0) Gecko/20100101 Firefox/1930.0
And it would be a shame if Firefox didn't implement something, even so minor like a new version number, 'just' because sites break. You are Mozilla, send them a mail and give them a week to fix it, because you are f'ing Mozilla. I'm glad this is apparently just what they did here.
(Same thing when NVIDIA or Microsoft do contortions to support broken games. You already fixed the function or shader; don't hotpatch it but send it to the vendor and tell them to merge it or else...)