back to article Three major browsers are about to hit version 100. Will websites cope?

This February Google put out Chrome 98, closely followed by Mozilla releasing Firefox 97. Soon both will hit version 100. The memory of the web industry is short. This has happened before: when Opera reached version 10 in 2009, it caused problems, and just three years later, Firefox 10 faced similar issues. And it will happen …

  1. Warm Braw

    Continuous Incrementation...

    ... / Continuous Deprecation

  2. Anonymous Coward
    Anonymous Coward

    "There is some advice for web developers – instance check user-agents' version numbers as integers, not as strings."

    ...and preferably not as an 8-bit signed integer.

    1. MiguelC Silver badge

      An 8 bit signed integer would work for a while (exactly 27 more versions of Chrome), just like a quick and dirty solution to 2 digit year dates was to consider that any date whose year was under 50 would in the 2000's and that from 50 onwards meant it was in the 1900's - it brought its own problems with it but got into numerous programs anyway (even on some Y2K 'solutions')

    2. Ken Hagan Gold badge

      Here;s some better advice:- Don't check user-agents' version numbers.

      1. Neil Barnes Silver badge
        Coat

        Because all browsers follow the standards, right? So they all display the same source the same way, right?

        Aaah, standards. So many to choose from.

        1. GruntyMcPugh

          Obligatory XKCD. No need to link to it, we all know the one.

        2. Ken Hagan Gold badge

          If you are sensitive not just to the browser but its version number, you are sailing waaay too close to the wind. All browsers have been good enough for normal content for years now.

    3. Anonymous Coward
      Devil

      What??? Webs...

      ... are all made from strings only... and web developers too....

      1. Arthur the cat Silver badge
        Boffin

        Re: What??? Webs...

        ... are all made from strings only...

        Well, that's String Theory for you.

  3. PriorKnowledge
    Linux

    Ubuntu was right... sort of.

    Given releases occur monthly for Chrome with the occasional patch and Firefox isn't too far off, is there really any point in using anything other than say 2022.02.17 as a version number? It makes everything easy to understand and resolves the leading zeroes problem until the 10K bug bites us or interplanetary colonisation (and thus the need for a truly universal date/time format) necessitates change.

    1. John Brown (no body) Silver badge

      Re: Ubuntu was right... sort of.

      Or stop changing the major version number for every point release. Software authors/publishers seem to have "version envy" and all want bigger numbers. I'm not sure exactly what they are compensating for, but it's probably something small and inconsequential.

      1. David 132 Silver badge
        Thumb Up

        Re: Ubuntu was right... sort of.

        This. I fully expect Chrome to switch any day now to incrementing its version number 10 or 100 at a time, because "we've updated Chrome from version 98 to version 198" sounds so much more impressive, doesn't it, than "we've updated Chrome from version 98 to version 98.0.1".

        Shortly followed by Firefox, because Mozilla seem determined to cater to those people who don't want Chrome, by making Firefox as Chrome-like as possible.

        1. Dale 3

          Re: Ubuntu was right... sort of.

          Like Samsung flagship phones, that went up to S8 S9 S10 then leapt to S20 and now S22, presumably to latch onto the year number, which makes much sense (at least until they need to beat the market by releasing the S25 in November '24).

      2. LovesTha

        Re: Ubuntu was right... sort of.

        With a date based 'version' number, calling it a major version is a misnomer. It's just the version number.

    2. Greybearded old scrote Silver badge

      Re: Ubuntu was right... sort of.

      Better still, use some form of hashref of the code. (Recommended by the late, great Joe Armstrong.) Bugger incremental versions, branching in the repository makes a nonsense of that.

    3. Anonymous Coward
      Anonymous Coward

      Re: Ubuntu was right... sort of.

      is there really any point in using anything other than say 2022.02.17 as a version number?

      While I (mostly) wholeheartedly agree with you, that does preclude continuous integration builds from being released more often than once a day. Some development teams (that I've heard of) push releases live every few hours. So a revision number in addition to the date would be necessary for those: 2022.02.18.01

      1. ThatOne Silver badge
        Devil

        Re: Ubuntu was right... sort of.

        Now here is a crazy idea: Have one major version number (probably tied to how the program works at that time), and add, after a separator for better visibility, minor versions.

        Something like 3.12.01...

        Yeah, I'm out of my gourd.

  4. JDPower666
    Pint

    That last line is gold

    1. Notas Badoff

      "As Safari is only up to version 15, Apple users can feel smug too. No change there, then."

      I would have added "No plusses either."

  5. aldolo

    dont drop leading zeroes

    00001 is better then 1

    1. TheWeetabix Bronze badge

      Re: dont drop leading zeroes

      /a/e/

  6. chivo243 Silver badge
    Angel

    The real question!

    Will it go to 110?!!!

    Nigel signing off...

    1. David 132 Silver badge
      Happy

      Re: The real question!

      "Chrome" is so 80s.

      They need to rename the browser to "Black".

      And successive versions can be "Black", "Blacker", "How much more black can this be" and "None more black".

      1. Vulch

        Re: The real question!

        Ultimate Dark Mode:

        “Every time you try to operate one of these weird black controls that are labelled in black on a black background, a little black light lights up black to let you know you’ve done it."

        D. Adams.

      2. Anonymous Coward
        Anonymous Coward

        Re: The real question!

        "Vantablack" ... has been bettered by now, but that anti-anti-anti-star hasn't been named yet.

      3. heyrick Silver badge

        Re: The real question!

        You can't call it "black". Some twat will take offense on behalf of somebody else and... the sky will fall (according to social media).

  7. Anonymous Coward
    Anonymous Coward

    Remember when web devs targeted web standards, not browser versions? Me neither.

  8. Ken Moorhouse Silver badge

    If systems are having problems adding one to 99...

    ...what hope is there for AI?

    1. Someone Else Silver badge

      Re: If systems are having problems adding one to 99...

      Depends...is Artificial Intelligence > Natural Stupidity?

    2. Paul Herber Silver badge

      Re: If systems are having problems adding one to 99...

      Al who? Al Capone? Al di Meola? Al Murray?

      1. Ken Moorhouse Silver badge

        Re: Al who? Al Capone? Al di Meola? Al Murray?

        al-Khwarizmi

        aka Al Gorithm*

        *I made that up.

  9. Anonymous Coward
    Facepalm

    Meaninglessness

    Meaningless version numbers are useless. All version numbers should be release date based. And when I say all, I'd include hardware as well.

    Curiously, while Google Chrome is approaching 100 of goddess knows what, Google Android does it right. Android 12 is the twelfth yearly update and the just released the monthly (and user friendly named) February Security Update.

    1. doublelayer Silver badge

      Re: Meaninglessness

      No, that's not the best approach. It works if you have one set of releases and everyone uses one of those and ideally the latest one. It works less well if you have different styles of releases. Here are a few examples.

      You have a program that gets updated from time to time. Sometimes, you make a big change that breaks the workflow. Maybe you charge users for that big update. Maybe you just want to let them postpone making the shift until they're more comfortable that early adopters didn't find it broken. You might release updates for both versions. If the version numbers look like 2.2.391 and 3.0.5, it's clear which one they'll use. If they look like 2022.02.16.15.30.1 and 2022.02.16.17.38.1, how do you know which you want?

      You can also run into string problems. How much precision do you need in the date version numbers? Leading zeros or not? Do you separate the date components or keep them together like in the ISO format? What do you do for beta versions? The major.minor.patch format is usually shorter and clearer, even if one of the numbers gets large.

  10. Paul Herber Silver badge

    For real programmers the next version after 99 is 9A.

    1. KittenHuffer Silver badge

      Shouldn't that be A1?

      1. ICL1900-G3 Silver badge
      2. TheWeetabix Bronze badge

        9h + 1h = Ah

        99h + 1h = 9Ah

        99h + 7h = A1h

        Now, if I have six tomatoes, for oranges, and a duck, what colour are Mrs. Jones underpants?

        1. Ken Moorhouse Silver badge
          Headmaster

          Re: 99h + 7h = A1h

          A0h

        2. CrazyOldCatMan Silver badge

          what colour are Mrs. Jones underpants?

          You mean - what colour would they be if she wore some?

  11. ShadowSystems
    Facepalm

    History repeating itself...

    Microsoft had included version checks in all versions of Windows so that newer versions could taunt previous versions. Then they released Win8 & suddenly realized they had a problem. The next logical release would be "Win9" but they already HAD Win95 & Win98, so that obviously wouldn't work.

    MS then skipped 9 & went straight to Win10, hoping the version check thing would still work. After all 10 is newer than 8, right?

    Now we've got browsers about to hit 100+ versioning problems in the same vein as MS had with Windows. And yet folks seem surprised that "Who could have seen this coming?"

    *FacePalmSighs*

    Who wants to join me for a pint? Maybe we can drown the VoicesInOurHeads that keep ranting & raving about the idiots... =-/

    1. heyrick Silver badge

      Re: History repeating itself...

      As I understood it, there's a lot of code around that pulled the Windows friendly version string and looked to see if the first character was '9', because 95 and 98 were pretty similar.

      Two decades on, when they've dropped the names (95, 98, ME, XP, Vista...) and are just using version numbers...oh, hang on, what happens if the first character is a '9'?

      Oh, well balls, that's not right!

      1. Curtis

        Re: History repeating itself...

        WinME was a bugfix. Home users installed WIn2000 on their machines, and had to start dealing with NT4.0 issues. And they couldn't "downgrade" back to 98 without reformatting all of their data. So they hurriedly released "ME" built on NT, that was more consumer friendly, as a hold over until they could get XP fully tested and released.

        God, I hated tech support in the early 2000's

        1. Korev Silver badge
          Headmaster

          Re: History repeating itself...

          ME was built on Win9x.

          XP was built on the NT/2000 codebase.

          1. Michael Strorm Silver badge

            Re: History repeating itself...

            "ME was built on Win9x."

            Exactly. I remember that, before it launched, the *original* plan was for the next NT-based version of Windows (which ultimately became Windows 2000) to entirely replace the DOS-based line and become the "mainstream" version of Windows for all users (*).... except that they never quite managed that.

            Compatibility issues et al (IIRC) meant Windows 2000 wasn't quite ready to take over, and it took a little longer until the NT-based Windows XP came out and they were able to entirely ditch the DOS-underpinned versions.

            In hindsight, I assumed that was the only real reason for the (still DOS-based) Windows ME's existence and why it was so pointless and short-lived- it was little more than a stopgap and backup plan.

            (It might also explain why Windows 2000 has a more "consumer-friendly" style name that *sounds* like it's the directly replacement for 95 and 98).

            (*) Something which its Wikipedia article appears to confirm I remembered correctly.

    2. Ken Moorhouse Silver badge

      Re: The next logical release would be "Win9" but they already HAD Win95 & Win98

      That is a very interesting point.

      Doesn't it mean though that MS were perceptive enough to realise **ahead of time** that this would break things?

      1. heyrick Silver badge
        Happy

        Re: The next logical release would be "Win9" but they already HAD Win95 & Win98

        Depends upon how much of their own stuff broke on the test versions.

  12. nintendoeats Silver badge

    How

    is

    decimal

    digit

    overflow

    still

    a

    problem

    If you think you are a good dev, and you wrote customer-facing code that is affected by this issue, then you are wrong. You should not assume that a number you don't control will fit in X number of digits, especially if you know that it is just going to increase over time. Why does anybody even need to say that?

    If you are looking at a number encoded as a string, your number one goal in life should be to parse it to a numeric data type as quickly and cleanly as possible. If you don't know for sure that number will fit in one byte for as long as the universe still exists (or at least until next time you can recompile your code), then use 2 bytes (and so on for 2, 4, and 8). This is both obvious and not hard.

    JavaScript's silent type conversions strike again.

    1. Anonymous Coward
      Anonymous Coward

      If you are looking at a number encoded as a string, ...

      ... be sure that at some point in the future, marketeers will decide that un-numerical strings [1] are cooler, and start identifying browser versions that way instead :-)

      [1] or possibly even emojis, or go the full Monty and use blockchains or NFTs :-)

      1. Anonymous Coward
        Anonymous Coward

        Re: If you are looking at a number encoded as a string, ...

        "[1] or possibly even emojis, or go the full Monty and use blockchains or NFTs :-)"

        Shhhh, FFS don't give them any ideas!

    2. Greybearded old scrote Silver badge

      "You think you are a good dev," and yet you persist in using Eich's abomination. It's not like it's the only option any longer. (Of course somebody has to use that crap to implement the other languages, but that's their problem.)

      A bad workman blames his tools you say? That's because a good workman buys from Snap-On not Wilko.

    3. deadlockvictim

      Why indeed?

      Because a lot of people who write code for a living are, em, full-stack developers. They have to work with a lot of technologies, some of which they are competent in and others, well, not so much. Don't get me wrong, some full-stack are amazing people who have mastered multiple fields and code efficiently & quickly. And then there are those who pick it up as they go along. Why bother learn SQL when you can use an ORM. Saves lots of time. Aren't Javascript frameworks the greatest thing ever to have happened?

      Companies who hire them don't seem to want people who have specialised in a particular field or maybe these companies are content with software that runs 'meh' but at least runs. And more hardware can always be bought to compensate for the meh-ness of it all.

  13. Doctor Syntax Silver badge

    And the developers of every website that gets broken deserve it. Likewise the browser devs for any condemnation that users might heap on them.

  14. mjflory
    Coat

    The 99% solution

    Then again, the Chrome and Firefox maintainers could emulate early Linux kernel numbering. In 1993 it felt like Zeno was numbering the kernels: http://www.oldlinux.org/Linux.old/docs/history/0.99.html . One hundred and five versions, from "0.99" (13 Dec 1992) to "0.99.15j" (2 Mar 1994), separated "0.98.6" from "pre-1.0". Perhaps "Chrome 99.99991" could follow ""Chrome 99.9999" -- or should it be "Chrome 99.99999"?

    1. Arthur the cat Silver badge
      Happy

      Re: The 99% solution

      Use Peano numbers. Versions are 0, S0, SS0, SSS0, …

      Or you can replace S with Succ if your software isn't that good.

  15. mark l 2 Silver badge

    I use a browser user agent switcher add on, which lets me pretend to be whatever browser and OS i want for all those badly written sites which have decided that they should code for Chrome and ignore all other browser engines.

  16. Richard Pennington 1
    Meh

    Dropbox got there before any of them...

    Dropbox is now on version 142. It went past 100 a while ago...

  17. tiggity Silver badge

    .. and testing for user agent is stupid .. It can be spoofed

    If you are foolish enough to use JS for anything fundamental then test for the particular functionality not a browser / version (hint - your website should not break if user has JS disabled, it should just gracefully fail back to decent functionality just missing a few bells and whistles, e.g. if I get a blank page when JS is disabled & view source shows little in the way of content just lots of JS trying to pull in data then I **** off to a different site instead).

    Do a proper job & code for trying to support most browsers - will also lead to a codebase / architecture that's simpler & easier to maintain.

    1. Arthur the cat Silver badge

      .. and testing for user agent is stupid .. It can be spoofed

      Several years back I set my User-Agent to that for IE6 to test a particular web site and then got called away before resetting it. By the time I got back to my desk I'd forgotten this. Most sites worked fine, but the next time I went to Google it was like being dropped through a time warp to circa 2000.

  18. martinusher Silver badge

    You know that nobody uses decimal numbers inside computers?

    OK?

    Id expect any version weirdness to happen around subversion 255.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like