27
hitko
6y

Why do people version their code like they're learning to count? 3.0.0, 3.0.1, ..., 3.0.9, 3.1.0, 3.1.1, ...

And then I'm sitting there with 50+ websites, wondering if updating a plugin from 3.6.5 to 3.6.6 will patch my bugs, or completely break everything because of syntax changes

Comments
  • 10
  • 12
    Versioning 101
    Let’s take your example of a v3.0.1

    3 = major version
    0 = minor version
    1 = patch

    Breaking changes usually only occur at a major change, but you should be testing at minors in case a fix has undesirable effects to something you have used it for.
  • 6
    @kamen That's exactly what I'm talking about, they're not going from 3.0.9 to 3.1.0 because they made minor changes, they're going because 10 comes after 9...
  • 4
    @hitko 10 patches may not constitute to a minor change overall.
    So you could end up with 3.1.32 then 3.2.0 as this last change was a new feature, or 3.1.32 then 3.2.4 as a new feature and 4 bug fixes added.
  • 16
    @C0D4 Good fucking dammit, I know that!! I'm complaining because a whole lot of devs ignore it and act like they HAVE to go from 3.[x].9 to 3.[x+1].0
  • 1
    @hitko Well at least in this case you have two "decimal" points, so it's somehow manageable. If it was just one, I'd understand your confusion because I've been there too - you'd expect "3.1" to be the same as "3.10", but it's not if it's following the same principles. Just force yourself to stop treating these like decimal fractions and it'll be easier.
  • 2
    @hitko that’s so not how I read it.
    Even re-reading it doesn’t seem like that 🤷‍♂️
    Something got lost in text-to-thought processing.

    As for the 3.0.9 - 3.1 3.1.1 , 3.1 3.10.1

    You can’t treat these as decimals well atleast they shouldn’t be.
  • 4
    Also, if you go from 3.2.17 to 4.0.0, and there are all kinds of breaking changes...

    INCLUDE A FUCKING UPGRADE.MD FILE.
  • 1
    @hitko I feel you bro
  • 5
    @C0D4 There must be something wrong with you, I got immediately what @hitko was talking about:
    the first sentence tells you he is angry because people don't know about the concept of major.minor.patch and simply use versions as counters and the second sentence confirms what he is talking about
  • 0
    📌
Add Comment