RESOLVED FIXED Bug 216593
[macOS] Limit reported macOS release to 10.15 series
https://bugs.webkit.org/show_bug.cgi?id=216593
Summary [macOS] Limit reported macOS release to 10.15 series
Brent Fulgham
Reported 2020-09-15 18:14:20 PDT
The world apparently isn't ready for macOS 11.0 in User Agents. Because of the depressing UA sniffing code on the web, let's just report our current shipping release until things settle down.
Attachments
Patch (1.65 KB, patch)
2020-09-15 18:18 PDT, Brent Fulgham
no flags
Brent Fulgham
Comment 1 2020-09-15 18:14:36 PDT
Brent Fulgham
Comment 2 2020-09-15 18:18:50 PDT
Maciej Stachowiak
Comment 3 2020-09-15 21:13:03 PDT
Comment on attachment 408883 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=408883&action=review > Source/WebCore/platform/mac/UserAgentMac.mm:39 > + osVersion = "10_15_6"_s; Why do it this roundabout way instead of hardcoding this to "10_15_6"_s always? Under what circumstances would osVersion not start with 10? And if we fully hardcoded it, maybe we could encode it directly in the template string, same as the AppleWebKit/ version number.
Maciej Stachowiak
Comment 4 2020-09-15 21:14:12 PDT
Comment on attachment 408883 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=408883&action=review r=me >> Source/WebCore/platform/mac/UserAgentMac.mm:39 >> + osVersion = "10_15_6"_s; > > Why do it this roundabout way instead of hardcoding this to "10_15_6"_s always? Under what circumstances would osVersion not start with 10? And if we fully hardcoded it, maybe we could encode it directly in the template string, same as the AppleWebKit/ version number. Oh, I understand now. This is to preserve original OS version on older macOS.
Brent Fulgham
Comment 5 2020-09-16 09:18:56 PDT
(In reply to Maciej Stachowiak from comment #4) > Comment on attachment 408883 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=408883&action=review > > r=me > > >> Source/WebCore/platform/mac/UserAgentMac.mm:39 > >> + osVersion = "10_15_6"_s; > > > > Why do it this roundabout way instead of hardcoding this to "10_15_6"_s always? Under what circumstances would osVersion not start with 10? And if we fully hardcoded it, maybe we could encode it directly in the template string, same as the AppleWebKit/ version number. > > Oh, I understand now. This is to preserve original OS version on older macOS. Yes, exactly. That was Charles's request.
EWS
Comment 6 2020-09-16 09:34:36 PDT
Committed r267148: <https://trac.webkit.org/changeset/267148> All reviewed patches have been landed. Closing bug and clearing flags on attachment 408883 [details].
akielbas
Comment 7 2021-02-03 11:54:41 PST
Out of curiosity, when will this be changed again? Would a better option perhaps have been to change it to 10.16 instead (which is what older Xcode versions did)? So that Big Sur can still be detected?
Ryosuke Niwa
Comment 8 2021-02-03 22:14:25 PST
(In reply to akielbas from comment #7) > Out of curiosity, when will this be changed again? > > Would a better option perhaps have been to change it to 10.16 instead (which > is what older Xcode versions did)? So that Big Sur can still be detected? The long term goal is to limit the disclosure of the underlying macOS via user agent string and other means since it can be used for finger printing purposes.
Eric Portis
Comment 9 2021-02-10 15:34:22 PST
Cloudinary is struggling to implement a workaround for https://bugs.webkit.org/show_bug.cgi?id=219977 / rdar://problem/72485913, which affects MacOS ≥ 11.1. Is there any reliable way to detect platform version, currently?
karl
Comment 10 2021-02-14 22:30:53 PST
Brent, Maciej, > The world apparently isn't ready for macOS 11.0 in User Agents. Because of the depressing UA sniffing code on the web, let's just report our current shipping release until things settle down. Do you have examples of sites which were breaking because of the OS information in the UA string? I'm trying to retrace the origin of it. https://www.otsukare.info/2021/02/15/capping-macos-user-agent We (Mozilla) are likely to try to work together with Google Chrome team on understanding the webcompat space as we are in the process of making similar changes.
Aodhan Cullen
Comment 11 2021-07-14 03:12:25 PDT
(In reply to Ryosuke Niwa from comment #8) > (In reply to akielbas from comment #7) > > Out of curiosity, when will this be changed again? > > > > Would a better option perhaps have been to change it to 10.16 instead (which > > is what older Xcode versions did)? So that Big Sur can still be detected? > > The long term goal is to limit the disclosure of the underlying macOS via > user agent string and other means since it can be used for finger printing > purposes. That doesn't really make sense, as you were happy to report is as macOS 11.0 - but only rolled it back when it broke some websites? We can't report on Big Sur usage correctly for the world any more at https://gs.statcounter.com/macos-version-market-share/desktop/worldwide Could you reconsider changing it to 10.16?
Jonathan Watt
Comment 12 2021-07-31 13:28:31 PDT
FWIW Mozilla made the same change in Firefox 87 to report 10.15 forever to reduce fingerprint surface[1] (backported to Firefox ESR 78). That was after initially adding various special cases to report 10.16 for specific sites for web compat[2]. 1. https://bugzilla.mozilla.org/show_bug.cgi?id=1679929 2. e.g. https://github.com/mozilla-extensions/webcompat-addon/pull/200
naveen
Comment 13 2022-12-25 18:14:19 PST
Safari (and all browsers) on my M1 MacBook running macOS Ventura still shows the useragent as "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15"
Dushan
Comment 14 2024-10-10 21:32:21 PDT
Hi Team, Still we can see the issue even this issue is fixed. All the usages are being tracked to macOS 10.15 Safari.Would you be able to take look into this
Ashley Gullen
Comment 15 2024-11-20 08:14:20 PST
Could Apple implement the navigator.userAgentData API? (Issue 241749) Having frozen the user agent string macOS version, there is now essentially no public information on macOS usage by version. Apple do not appear to publish any such stats themselves, leaving web stats the only source of information that software developers can make decisions on (like StatCounter global stats) - but this information is no longer reliable as UA strings are frozen. It is difficult to know which versions to target and the wrong decision could leave lots of macOS users unsupported. The navigator.userAgentData API could provide just the bare minimum major OS version (e.g. 14.0, 15.0) which provides basic compatibility information with minimal fingerprinting impact. It also has the benefit of not needing websites to have to parse obscure user agent strings.
Note You need to log in before you can comment on or make changes to this bug.