Once we've shipped Gecko/<version> a few times, we can freeze the rv token. Existing sniffers continue to work. Sites wanting to identify new versions would need to start looking at the Gecko token.
Seems to me that Gecko 20 would be a good opportunity to freeze at a nice round number. Anyone trying to differentiate between 20 and 21 or higher would know that the 'rv:' number has been frozen, I would think.
Unfortunately we had to back out Gecko/<date> => Gecko/<version> change, so the "rv:" version can not be frozen.
(In reply to Masatoshi Kimura [:emk] from comment #2) > Unfortunately we had to back out Gecko/<date> => Gecko/<version> change, so > the "rv:" version can not be frozen. Hm. Maybe it will be possible to freeze it at some future time (years?), if users of Mozilla browsers other than Firefox get into the habit of leaving general.useragent.compatMode.firefox defaulted to true (users of Firefox get Firefox/VERSION anyway). Then the "Gecko version" can be got from whatever follows "Firefox/" in the UA. (Of course, feature-sniffing is *still* better than any of appname-sniffing and version-sniffing, and totally bypasses this Gecko version number.) My SeaMonkey User-Agent string is as follows out of the box, and it's good enough for me: Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20121129 Firefox/20.0 SeaMonkey/2.17a1
(In reply to Tony Mechelynck [:tonymec] from comment #3) > Hm. Maybe it will be possible to freeze it at some future time (years?), if > users of Mozilla browsers other than Firefox get into the habit of leaving > general.useragent.compatMode.firefox defaulted to true I don't think that this assumption can be made. After all, SeaMonkey exposes the compat setting in the preferences UI, so a SM "purist" would disable it and thus only leave the SeaMonkey product version intact without communicating the Gecko version. Now, one can argue that if you disable "Advertise Firefox compatibility" you are doing so at your own risk, but it appears that the Gecko version is too important as part of the UA to remove or freeze it without any replacement.
I think we should WONTFIX this. People have been told to look at stuff between “rv:” and “)” since ancient Netscape 6 times. Moving the version number around buys as nothing but breakage and possibly a saving of a few bytes per HTTP request if the total length of the UA string is reduced, but that doesn’t seem to be happening.
Makes sense to me; I don't see a clear benefit to the potential breakage.
I concur. Gerv