• Hanzito (unregistered)

    Bureaucratic problems require bureaucratic solutions.

  • Debra (unregistered)

    Finally, a happy ending.

    Haven't you ever wondered why, when reading about an application's changelog/history, it sometimes says "version 1.2.3 : functionally equivalent to 1.3.1 but released only in market X / for customer Y"? I'm sure I have seen something like this before. Well, this is (probably) why.

  • Daniele (unregistered)

    Ok, but WHY?

  • JC (unregistered) in reply to Debra

    I once heard about a "new" version of a tiny open source tool - can't remember the name. The changelog read something like this :

    Version 1.6.9 : it's been two years since the last update. That's beacause the software does its job perfectly and has no known bug anymore but people keep asking me if the project is dead ; so here is a version bump without any change to please them.

  • Foo AKA Fooo (unregistered)

    Until they upgrade from 3.4.31 to 3.5.0. Oops ...

  • The Dave G (unregistered)

    So Initech is requesting new features, when they haven't approved the last (3.5) one yet? There's your problem.

  • Sauron (unregistered)

    This could happen again in the future.

    So, Chops company should change their products to have 2 version numbers.

    One version number would be the "public" version number, nicely displayed in the the "About" information, to keep Initech happy.

    And the other version number (the actual one) should be hidden somewhere in some obscure place like some "Advanced settings" menu, so the helpdesk support people could still get that information.

    Otherwise, Chops could also just hide the actual version number in plain sight, just below the fake one, thanks to some misleading label and smaller font to make it pass off as the version number of a mere internal component ("INITRODE OFFICE v3.4.31 - driver v3.5.1")

  • DaveD (unregistered)

    Sounds about right. Where I work, all software has to be approved by the state. We recently found out that we can no longer buy SSL certs from a certain vendor (because they aren't approved), but we can buy that same vendor's certs through an approved reseller. Go figure.

  • DaveD (unregistered)

    Did Initech have the request for new features approved by IT?

  • Darkwing Duck (unregistered) in reply to DaveD

    Ah, bureaucratic grift. Gotta love it.

  • my name is missing (unregistered)

    The version number of this comment is held for moderation.

  • (nodebb)

    Sometimes I want to try a new whiskey, but my internalized hater of everything that is new rebels against any new brand names. I solved the problem by asking the liquor store to pour the new whiskey I want to try into a bottle of the brand I've been drinking for years, and voila.

  • WTFGuy (unregistered)

    I think Hanzito nailed it in one. Just like tech can't solve social / organizational problems, nothing but bureaucratic solutions can solve bureaucratic problems.

    @Debra Ref:

    Haven't you ever wondered why, when reading about an application's changelog/history, it sometimes says "version 1.2.3 : functionally equivalent to 1.3.1 but released only in market X / for customer Y"? I'm sure I have seen something like this before. Well, this is (probably) why.

    The other scenario where I've seen this is where some other shop's code was built on top of ours, and that code included hard-coded version number checks of our code's versions that could not be changed because reasons.

    So we had to continue to label our product, e.g. v3.4.x so Big Customer's crappy in-house add-ins / add-ons would still run while we're actually up to v3.6 or even v4.2.

  • (nodebb) in reply to Foo AKA Fooo

    Until they upgrade from 3.4.31 to 3.5.0. Oops

    3.5.1: Emergency patch release to fix a serious regression in 3.5.0. This patch is cumulative so no need to install 3.5.0 first.

  • (nodebb)

    This is exactly how my comment -- number 15 -- can be FRIST!

  • (nodebb) in reply to WTFGuy

    So we had to continue to label our product, e.g. v3.4.x so Big Customer's crappy in-house add-ins / add-ons would still run while we're actually up to v3.6 or even v4.2.

    If your product is still compatible with code designed to run on version 3.4, semantic version says you shouldn't be incrementing the major version number.

  • (nodebb) in reply to Bananafish

    Frist.4.31

  • I'm not a robot (unregistered) in reply to Jeremy Pereira

    You do know that not everyone uses "semantic versioning", right?

  • Mark Hartman (unregistered)

    "Everyone was happy with this outcome."

    That's the REAL WTF. That NEVER happens.

  • (nodebb) in reply to Foo AKA Fooo

    And what's the problem here? They've already updated numbers in changelog, now 3.5 will stand for something new.

  • Foo AKA Fooo (unregistered) in reply to Andre Alexin

    "we shipped 3.5 a few months ago", possibly also to other customers.

  • NoLand (unregistered)

    The smart move now would be to immediately release 3.4.31 as 3.5.0 and then to rerelease it as 3.5.1 so that Initech can deploy 3.5.2 as it arrives…

    3 new versions including a major increment in just a week – what productivity!

  • Randal L. Schwartz (google) in reply to Mark Hartman

    "Everyone was happy with this outcome."

    That's the REAL WTF. That NEVER happens.

    To be clear, everyone was blissfully happy. As in "ignorant".

  • DaveD (unregistered) in reply to Hanzito

    @Hanzito, I think you have that backwards. Bureaucratic solutions create bureaucratic problems.

  • a cow (not a robot) (unregistered)

    Where I work, I had to fight hard to be able to increment the version number of a program I updated. "Because other software check that number, and stop working if it doesn't match".

    So, someone spent years checking a string that was designed and requested to be immutable. Useful... I guess.

  • Brian Boorman (unregistered)
    Comment held for moderation.
  • Yikes (unregistered)
    Comment held for moderation.
  • (nodebb) in reply to a cow (not a robot)

    Then there's the joy of Windows version numbers. Windows 3.11 existed for so long that many people wrote their version checks like this:

    if (MajorVersion >=3 && MinorVersion >= 11)
    

    So when version 4.0 finally came out, the above version check would fail, and the program would go back to some Windows 3.0 limp-mode, or, more likely, throw an error message "upgrade to Win 3.11" and refuse to run. So the next version of Windows that shipped was officially 4.99.

  • Dave (unregistered)
    Comment held for moderation.
  • DaveD (unregistered) in reply to PotatoEngineer
    Comment held for moderation.
  • (nodebb) in reply to PotatoEngineer

    Close, but not quite right.

    The Win16 API GetVersion() returned the version number backwards, with the minor part in the MSB and the major part in the LSB, so lots of lazy programmers(1) would do stuff like this:

        if ( GetVersion() < 0x0A03 ) // at least 3.10 == 3.1 ==> OK
           // handle unsupported version
    

    So when Windows 95 (the first to be officially numbered as 4.0 behind the scenes) came out, it included code to detect that a Win16 program was linked to run on Windows 3.X, and for such a program, GetVersion() returned 3.95, coded as 0x5F03, which is, indeed, not less than 0x0A03.

    (1) Above all, ones who worked on what the book I read about this described as "commercially important" applications, which I'd guess refers to either MS Office or Corel Draw.

  • Worf (unregistered)
    Comment held for moderation.
  • Boot (unregistered)

    Seen this so many times..... from both sides. As Support, trying to persuade Engineering not to do this, then also having to do it.

    Moral of this story - never have customers who can dictate this sort of stuff.

  • OnceUponATime (unregistered)

    One of the biggest A fires I've ever seen play out had a root cause that the code to check the topology database version under or overflowed because this big client who was just like the one featured here was able to pick-and-choose their features and were anchored on their own version. Anyhow it was an edge case that mainline QA hadn't thought to test for. Old code at just this client. So while deploying an upgrade to their network, the moment the database version check failed, the entire nationwide network went "thud". Yes, it had to be power cycled.

  • Asad Khan (unregistered)
    Comment held for moderation.
  • (nodebb)

    Had something similar years ago, some big customer wanted a fairly minor change made for compatibility with some special-snowflake thing they were using. We made it and since the release hadn't been through the full roughly week-long battery of regression tests and whatnot (none of which this trivial change would have affected) it was tagged as "beta". Beta meaning "hasn't been run through all the releases tests yet but other than that equivalent to production code" rather than "experimental".

    Someone saw the "beta" tag somewhere in a config file and had a fit. We explained why it was there and why it was a technicality that didn't matter. After numerous emails back and forth we decided it was easier to just hand-edit out the beta tag in the binary...

  • (nodebb) in reply to JC

    I've run into that before. Friend of mine wrote and maintained a widely-used small open-source utility and used to get queries like that, "X hasn't been updated in Y years, is it abandoned?". His reply was "no, some people just take care to get it right the first time".

    Says something about that sad state of our industry that people get suspicious when there aren't patches and band-aids applied all the time.

  • (nodebb) in reply to Jeremy Pereira

    The product may have plenty of totally incompatible features and have underwent a total rewrite, but still be perfectly compatible with an add-on that uses about 1 % of the products feature set & API.

  • (nodebb) in reply to zomgwtf

    Programs do not live in void and as the environment changes they generally have to evolve too so no changes for years do usually mean that the program has been abandoned and possibly will not work in your new version of OS.

  • Raul (unregistered) in reply to Andre Alexin

    And what's the problem here? They've already updated numbers in changelog, now 3.5 will stand for something new.

    Well, the problem is their "3.4.31" is actually the normal 3.5.1, not just a generic "3.5". If they what they "upgrade" to is specifically a normal 3.5.0, it is actually a downgrade. A downgrade that they paid for.

  • Help Me Buddy (unregistered) in reply to Daniele
    Comment held for moderation.
  • ascrack (unregistered)
    Comment held for moderation.
  • ascrack (unregistered)
    Comment held for moderation.

Leave a comment on “Version Numbers”

Log In or post as a guest

Replying to comment #:

« Return to Article