I propose the following for Mozilla user agent strings (I'll give my
reasons below):
Mozilla 1.0 should be released with the user-agent string Mozilla/5.1
and subsequent releases should be names similarly:
Mozilla/5.11 for release 1.1, 5.12 for 1.2, Mozilla/5.2 for moz 2.0, etc

Mozilla/6.0 could come at a later date if there's a big enough change to
warrant moving up a major version number.

The only proposal I've seen on user agent strings was back in the time
when they expected the Mozilla release to be called 5.0, The version
number that's currently in brackets (X11; U; Linux xxxx; en-us; 0.8.1)
was meant to be the pre release field and only be in pre release
versions. Mozilla/5.x was meant to represent the versions.

Here's my reasons:
1. Currently Netscape 4.x and below actively invcrement the version
field of the user agent with each new release Mozilla/4.77 is Netscape
4.77. Therefore it's unlikely to break any browser that's sniffing for
Mozilla/5

2. Major changes were checked in for XUL syntax and the XUL mime type.
There needs to be a way to distinguish browsers released at version 0.6
(e.g. Netscape 6) with newer browsers. As we don't want people doing
browser sniffing on the vendor specific part of the user-agent string
then incrementing the Mozilla/5.version makes the most sense.

Remember Mozilla and Netscape 6 have a translate function in the view
menu. This serves some remote XUL to Mozilla. This sends to old mime
type and XUL syntax so that it works in Netscape 6. I'm sure the vendors
want to ensure Netscape 6 still works while supporting Mozilla 1.0 and
NS 6.5, therefore searching for Mozilla/5.1 user agent will indicate
that the new mime type and syntax should be sent.

3. It encourages people who sniff for browsers (whether or not they
should or not, we can't stop them), to use the Mozilla/bit of the UA
string rather than the vendor supplied Netscape6/ bit (assuming that
Netscape 6 is going to be the most popular distribution of Mozilla). If
Mozilla/ increments with each version then people will use that for
version sniffing, if it stays the same then people are likely to sniff
on the Netscape/ paart of the string which will break Mozilla and other
non-netscape releases.

4. We've been on Mozilla/5.0 for too long now, I've been using browsers
with /5.0 as their user agent since 1998 - mozClassic used /5.0 so
moving to 5.1 makes the clean break away from that codebase (in the
unlikely event someone wanted to suppot mozclassic!!!).

OK ignore reason 4 :)


Reply via email to