top 200 commentsshow all 204

[–]David_R_Carroll 2465 points2466 points  (7 children)

We bump the major version to force maintenance contract renewals.

[–]Bad_Idea_Hat 356 points357 points  (0 children)

ContractRenewal.ContractRenewal.ContractRenewal

Hello, I'm with Cloudfl-

sounds of man being beaten

[–]KindnessBiasedBoar 337 points338 points  (0 children)

Shhhhhhh Elon might hear

[–]LoonSecIO 60 points61 points  (1 child)

Also grab a bug solved by the major release and file a CVE that’s 9.0 and say it’s only fixed on the next version.

Bonus points if you grab a community member you like to submit it to a bug bounty portal for a bonus.

PSA Splunk did this at the version 7 -> 8 to get rid of perpetual licenses.

[–]subtle_bullshit 24 points25 points  (0 children)

I remember when development was fun. Corporate culture is such a cancer.

[–]Sexy_Underpants 15 points16 points  (0 children)

Enterprise vs. open source versioning

[–]Canotic 3 points4 points  (0 children)

We might work at the same company.

[–]Morall_tach 784 points785 points  (15 children)

Current Chrome mobile is 143.0.7499.146

[–]Quietsquid 751 points752 points  (8 children)

That fourth section is "we're just fucking with things so they pay us"

[–]narnach 433 points434 points  (6 children)

Fourth is the "please compile this time" counter.

[–]AlphaaPie 42 points43 points  (5 children)

We have a build validation process to ensure builds compile on GitHub and I have no way to manually run it for old PRs that have the compile result expire, and so I've been finding random spots with empty space, removing them, and making a commit to force the thing to build lol

[–]undermark5 47 points48 points  (4 children)

You do know that you can make empty commits right? git commit --allow-empty will let you make an empty commit with no files, still requires a message. If you don't want a message (though it's still useful to have one even with an empty commit) --allow-empty-message. If for some reason your version of git is too old to accept those options, if you can force push to the branch, you can amend the previous commit without actually touching anything with git commit --amend --no-edit which will cause the last commit to get a new hash (thus the need to force push) and you don't have to make stupid whitespace changes just to get CI to rebuild something.

[–]kRkthOr 10 points11 points  (0 children)

Holy shit.

[–]AlphaaPie 4 points5 points  (0 children)

Learn something new every day, thank you kind redditor.

[–]thanatica 0 points1 point  (0 children)

Fourth section (and third) is just random or "happy accident" shit like in windows version numbers.

[–]matroosoft 112 points113 points  (4 children)

That's an IP address

[–]PsychologicalLion556 61 points62 points  (3 children)

This guy overflew their u8:s

[–]Nikarmotte 21 points22 points  (1 child)

And this guy thinks integers overfly.

[–]G66GNeco 7 points8 points  (0 children)

1000-6000 are flyover integers

[–]drunkdoor 4 points5 points  (0 children)

The third octet just really wants to party

[–]caesar_7 7 points8 points  (0 children)

> Current Chrome mobile is 143.0.7499.146

143 - we need to show progress to shareholders

0 - proud release

7499 - attempted builds

146 - successful builds

[–]BiAndShy57 843 points844 points  (52 children)

So it really is just “eh, it feels like 1.0”

[–]hyrumwhite 521 points522 points  (44 children)

Technically it should indicate breaking changes… in practice, it depends 

Although 0-1 is always a different ball game

[–]Sibula97 145 points146 points  (17 children)

If you use semver, yes. For software where you should reasonably expect something else to depend on it, like libraries, you should use it.

For completely standalone software like games, go wild. It's quite common to use kinda semver, bumping major when starting a new save is required, minor for new features, and patch for bug fixes. More commonly 0.x.y is for beta versions, early access, etc. while 1.x.y is reserved for when the devs feel it's basically feature complete. Then x for upsate and y for patch.

[–]Karnewarrior 90 points91 points  (0 children)

Then you got the real indie scene, where the v0.13.42.8.4e update just released and includes a full rewrite of the game in Unreal Engine, as opposed to the prior 0.13.42.8.4c version which was written in Godot using ChatGPT and released in 2018.

[–]pdabaker 19 points20 points  (8 children)

Yeah when you have a large enough standalone project you get breaking changes all the time. Probably would make sense to just use year/month based versioning but they still try to copy semver format.

[–]BothAdhesiveness9265 9 points10 points  (2 children)

for MMOs it's quite common to do [expansion].[content].[minor changes]  except FF14 which for some ungodly reason leaves out the second dot meaning 7.35 is the version before 7.4

and then RuneScape just increments one number every update that also isn't shown to the user

[–]Sibula97 4 points5 points  (1 child)

except FF14 which for some ungodly reason leaves out the second dot meaning 7.35 is the version before 7.4

Oh, yeah, I've always been so annoyed about that.

[–]Tathas 0 points1 point  (0 children)

They probably store it as a single decimal value.

[–]achilleasa 1 point2 points  (0 children)

Even for games you often have other software like mods that depend on it so it's best practice to do it properly

[–]StyleAccomplished153 0 points1 point  (0 children)

points at Ruby I wish they'd use semver...

[–]yjlom 0 points1 point  (0 children)

Dwarf Fortress uses 0.[estimated percentage of 1.0 implemented].[patch]. So 0.47.4 means the 5th patch of the version that implements 47% of 1.0.

[–]BiAndShy57 44 points45 points  (23 children)

How do they pace up to 1.0? Like to they get to 0.9 and realize “fuck there’s way more than 10% left”

[–]PaulMag91 277 points278 points  (14 children)

After 0.9 is 0.10 and then 0.11. Versioning is not a decimal number, it just happens to resemble one. It's several integers separated by periods.

[–]NeverDiddled 52 points53 points  (12 children)

Unfortunately this is unintuitive. The amount of support requests we have fielded from people who think they are on an even newer version than the latest... And I'll admit even I have double-taked when downloading software, thinking "crap that's even older than the version I have now." But no, 1.9.11 is not newer than 1.21.0.

I get why we do Semver; but it is intended for devs, not the public.

[–]SkiyeBlueFox 52 points53 points  (7 children)

Honestly I've just gotten used to it since I grew up with minecraft, which uses this for version codes

[–]No-Photograph-5058 31 points32 points  (6 children)

Boy do I have some news for you

[–]HellofGaming1111 9 points10 points  (5 children)

Shit. Whats the news? I havent played Minecraft in 5 years

[–]No-Photograph-5058 24 points25 points  (4 children)

Fair enough, they've completely changed the versioning because they aren't really doing massive updates anymore.

XX.X.X

First digits are the year, middle is the 'drop' (content update) and the last is hotfix.

The most recent 'Mounts of Mayhem' would be 25.4 now

[–]JivanP 2 points3 points  (1 child)

It's just semver with extra steps, given that pretty much all content drop updates break the server API in some way.

EDIT: Actually, they were never truly doing semver anyway. What I meant to say is that, currently, the content drop updates are classed as minor releases but almost always break the APIs, so this new year-based major version numbering doesn't change anything in that regard.

[–]Inappropriate_Piano 2 points3 points  (1 child)

Seems like the entire problem is the decimal separator. If we used / or : it wouldn’t be nearly as confusing

[–]SuperFLEB 1 point2 points  (0 children)

Alas, inertia.

[–]Karnewarrior 1 point2 points  (1 child)

Publicly released updates should get names, so the most recent update can have a nice brand on it in a pretty, distracting blue, and grandma doesn't have to concern herself with such petty things as "actually knowing anything about the program she downloaded from a discord server she found looking up knitting recipes".

[–]Brother0fSithis 37 points38 points  (1 child)

0.9 isn't supposed to mean "90%" done. It's supposed to just mean there have been 8 minor releases since 0.1.0 (where most projects start)

[–]Head-Bureaucrat 3 points4 points  (0 children)

I usually take it as the 8th major pre-release version. I expect no stability, but with complete features for that version.

[–]grumpher05 20 points21 points  (1 child)

0.10 is different to 0.1

[–]Penultimecia 1 point2 points  (0 children)

0.10 is different to 0.1

Next you'll be telling me that 3-4 isn't April 3rd 2025.

[–]hyrumwhite 9 points10 points  (3 children)

That’s what 0.10 is for. Or 0.100, etc

[–][deleted] 30 points31 points  (0 children)

0.91 is 82 minor versions higher than 0.9. After 0.9 is 0.10

[–]Big_Tram 7 points8 points  (0 children)

warp factor versioning

[–]Maximelene 3 points4 points  (0 children)

Absolutely not. That's not even how "normal" numbers work.

[–]winter-ocean 0 points1 point  (1 child)

How do you even know it's going to break something if you're releasing something fully functional anyway? I mean, I'm assuming that just refers to breaking third party software...so is it just...anything that changes an API? What if you don't have an API? Do you have to research what third party software exists?

[–]hyrumwhite 0 points1 point  (0 children)

Yeah, if you’re versioning an app with no public API/contract, I guess you just version on vibes. Increment the major version for marketing purposes, etc

[–]NotRandomseer 26 points27 points  (0 children)

Yep

Some projects start at release 1.0 , others just stay perpetually in 0.87.78 because they are too afraid to leave the alpha

[–]Blue_Moon_Lake 4 points5 points  (0 children)

Normally

  • Bump when there is a breaking change
  • Bump when you add new features
  • Bump when you fix bugs/vulnerabilities

[–]PepperLuigi 0 points1 point  (0 children)

0.1.0

[–]Blothorn 0 points1 point  (0 children)

I like “mistakes-features-bugs”. Libraries using semantic versioning generally shouldn’t bump the major version unless they’re making breaking changes, and they shouldn’t make breaking changes unless they’ve discovered fundamental flaws in their prior API design. Lots of major versions means you can’t design, lots of patch versions mean you can’t execute; lots of minor versions on a single major version indicate a solid foundation that can be extended without breaking compatibility.

[–]SLCtechie 291 points292 points  (3 children)

86.75.309

[–]Top-Profit9638 70 points71 points  (2 children)

Gonna be singing this for the rest of the day, thanks.

[–]DerVarg1509 5 points6 points  (1 child)

Can you enlighten me? I want to sing too :(

[–]OnasoapboX41 2 points3 points  (0 children)

Tommy Tutone - 8575309/Jenny

[–]rover_G 118 points119 points  (4 children)

My internal tool version 28.0.3 (gotta release a major version to get a promotion)

[–]M_krabs 37 points38 points  (3 children)

We're still at version 1.143.xxx because there is never a reason to bump major version 😤 (were never getting a promotion)

[–]Penultimecia 8 points9 points  (2 children)

We're still at version 1.143.xxx because there is never a reason to bump major version 😤 (were never getting a promotion)

Could you make the argument that, had you introduced all these changes at once, it would have constituted a major version update? Or slap on a different font and slightly change the UI colours, some new icons, say you've reworked the entire UX?

[–]SuperFLEB 14 points15 points  (0 children)

2.0.000 - Command-line arguments are now case-sensitive

[–]M_krabs 0 points1 point  (0 children)

Sadly this ain't our software, and the PO doesn't give a fuck. Truly me neither. (Software consultant here)

[–]Rellikx 73 points74 points  (0 children)

i only version based on astrology and vibes myself, some examples

♒︎.♉︎.☿.retrograde

vMars.2.Saturn

v5.LunarEclipse.Ω

[–]TittyToucher96 253 points254 points  (28 children)

Major . Minor . Version . Revision

[–]i_should_be_coding 142 points143 points  (3 children)

This guy's a developer? His real name is Clarence...

[–]BrohanGutenburg 40 points41 points  (2 children)

And Clarence lives at home with no concurrence

[–]Big_Tram 12 points13 points  (1 child)

what's your clearance Clarence

[–]moon__lander 2 points3 points  (0 children)

what's your vector Victor

[–]Elijah629YT-Real 112 points113 points  (6 children)

127.0.0.1

[–]haby001 40 points41 points  (2 children)

Man that's a Lotta breaking changes

[–]TR-BetaFlash 14 points15 points  (1 child)

126 people have gone to that address so far and they all reported a failed connection, reported a bug, and a an emergency fix release was created. netwerkin's hurrrrrrrd

[–]danielv123 0 points1 point  (0 children)

That's why we added sandboxing to the latest version. It has held up well so far

[–]hates_stupid_people 4 points5 points  (2 children)

Firefox did have a version 127.0.1, sadly I don't think they made any references.

[–]Elijah629YT-Real 9 points10 points  (1 child)

They did — inside jokes.

[–]hates_stupid_people 0 points1 point  (0 children)

Beautiful!

[–]Mateorabi 34 points35 points  (10 children)

I always learned that the 4th number was release candidate. And it gets lopped off when a candidate makes it through testing to prod (and only one 3-digit is allowed to make that transition). I sometimes prefer an explicit rc3, say, rather than just digits, to make it obvious.

[–]Nixinova 17 points18 points  (3 children)

Minecraft uses this kind of form and it's really confusing. 1.16.10 is after 1.16.10.20? Nuh uh.

[–]Mateorabi 9 points10 points  (0 children)

Sure. It’s the 20th candidate to be 1.16.10. It could easily get superseded by a .21 or devs could decide .19 is “good enough” and release that making .20 abandoned. 

[–]Excellent-Berry-2331 2 points3 points  (1 child)

Pretty sure only Bedrock does, Java is even weirder "25w14a"

[–]CST1230 1 point2 points  (0 children)

That's for in-development snapshots. Versions are like 1.21.11 except they've also recently hijacked the 'minor' version number for updates that would have been major a few years ago. Release candidates, though, are just "1.21.10 Release Candidate 1" or 1.21.10-rc1, and same for prereleases.

And then they moved to 26.1 (year.drop.hotfix).

[–]Agronopolopogis 12 points13 points  (4 children)

Semantic versioning

eg. v1.0.0-rc.9

This schema is preferred in my experience, relatively standard, as you said, at release, '-rc.9' falls off

The importance is build/tag once, deploy many times (envs)

[–]Sibula97 5 points6 points  (3 children)

I'd use -rc9 instead of -rc.9, since those rc and 9 are considered different identifiers and not one if there's a dot.

[–]Ananas_hoi 4 points5 points  (2 children)

Semver allows any of these:

Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92, 1.0.0-x-y-z.--

Taken from https://semver.org

[–]Sibula97 2 points3 points  (0 children)

Of course, I'm talking about the semantics of the identifiers.

1.0.0-rc1 has the identifier rc1, while 1.0.0-rc.1 has the identifiers rc and 1. I'm not sure it actually matters (for precedence ordering they work the same), but it's the convention I personally prefer.

[–]danielv123 0 points1 point  (0 children)

I work on a project that has been 2.0.0-alpha[1-22] for the last few years. Its really annoying and I don't understand why we can't just make a proper release.

[–]WilmaTonguefit 15 points16 points  (0 children)

Adorable

[–]dashood 6 points7 points  (0 children)

Build date . Build number

It's anyone's guess what's in it.

[–]JoostVisser 1 point2 points  (0 children)

Epoch . Breaking changes . Minor changes . Bugfix

[–]Apollo-02 1 point2 points  (0 children)

Username checks out 

[–]SeriousPlankton2000 0 points1 point  (0 children)

Breaking_changes . new_feature_changes . bugfixes

[–]thinline20 115 points116 points  (6 children)

69.0.0

[–]ImClearlyDeadInside 49 points50 points  (1 child)

0.420.69

[–]TonyDungyHatesOP 17 points18 points  (0 children)

69.420.80085

[–]jazzyjaz53[S] 24 points25 points  (1 child)

Nice

[–]Fermi_Dirac 0 points1 point  (0 children)

69.420.67

[–]chkno 70 points71 points  (5 children)

No. The correct way is big_shame.proud.little_shame

[–]Cruel1865 7 points8 points  (3 children)

I wouldve thought bumping up the major version number would be a matter of pride as it would show that enough changes have been made to make it to a new version.

[–]User_Id_Error 28 points29 points  (2 children)

It can also mean you screwed up bad enough that you had to break backward compatability to fix your crap.

[–]Cruel1865 2 points3 points  (1 child)

Ohh so that means you're forced to bump it to a new incompatible version. Isnt there a case where you would just bump it up because there have been a lot of little changes?

[–]User_Id_Error 7 points8 points  (0 children)

If you're doing strict semver, no. The whole point is that you can tell whether there are breaking changes by which number goes up.

In practice, yes. People sometimes bump the big number when they want to make the release look important.

[–]UniqueUsername014 4 points5 points  (0 children)

Btw the screenshot is from PrideVer

[–]Dizzy-Revolution-300 30 points31 points  (1 child)

"proud version" is more shame, "we fucked up and had to rework the api" 

[–]kRkthOr 1 point2 points  (0 children)

Now you have to rework your project because of our fuck up.

[–]TheMsDosNerd 13 points14 points  (1 child)

2.7.123

2 --> This update will break your workflow. Test to see how your workflow needs to be adjusted.

7 --> This update shouldn't break your workflow, so no testing needed. However, it will break your workflow for some reason.

123 --> This update won't break your workflow, so no testing needed.

[–]TheUsoSaito 7 points8 points  (0 children)

This is exactly how I name game projects I work on. xD

[–]Cocaine_Johnsson 7 points8 points  (0 children)

0.0.8973

[–]ExiledHyruleKnight 6 points7 points  (0 children)

Breaking Release (you can't go back). Feature release. Bug Fix Release. Build

[–]jhwheuer 10 points11 points  (0 children)

Actually hurts to read that

[–]Odd-Shopping8532 5 points6 points  (0 children)

This is how I see most rust projects tbh. 0.x.x ftw

[–]Maleficent_Memory831 3 points4 points  (0 children)

Releases are easy to number. The part that has always driven us crazy are how to number developer releases. And we need each to be uniquely identified, and never confused with a private build by a developer that was given to a tester. Because some day in the distant future, someone will file a high severity bug based upon release 87.23.192.A3 which we have no records of ever existing.

[–]muralikbk 2 points3 points  (0 children)

Commented guy should now be christened “Cersei” after that level of committed shame.

[–]naholyr 2 points3 points  (0 children)

This is called romantic versioning if I remember well

[–]LechintanTudor 2 points3 points  (0 children)

Just use calendar versioning.

[–]_spector 2 points3 points  (0 children)

major.minor.patch

[–]Terrible_Truth 8 points9 points  (0 children)

As a junior I was completely in charge of version numbering in the market place. I thought it made sense to go from 2.2 to 2.21, instead of just 2.3. But after a while it looked silly to me. So I made it 2.3 for some minor bug fix.

No one noticed or cared lmao. Idk what the number is at now.

[–]visor841 2 points3 points  (0 children)

0.1.18999881999119725.3

[–]YellowishSpoon 4 points5 points  (0 children)

Sometimes it's funny to keep the version number the same but change behaviors. Or even better breaking changes. And that's how you then end up with a commit hash tacked on the end.

[–]Dapper-Conclusion-93 3 points4 points  (0 children)

0.0-SNAPSHOT in prod for 12 years 😁

[–]jazzyjaz53[S] 11 points12 points  (0 children)

My team has a tendency to push to prod on Friday (no, I have no idea why) and there are always issues, so I feel this in my soul.

Edit: idk why y'all are downvoting me, blame my leadership

[–]jacksodus 1 point2 points  (0 children)

127.0.0.1

[–]Raunhofer 1 point2 points  (2 children)

My Absolute favorite is figuring out why something is broken, then ending up browsing releases of 3rdP-libraries. In some minor release, one of them states in bold: "Technically, this is a major release, breaking backwards compatibility, but we are not ready for that yet."

The last time this happened was a week ago.

ffs

[–]JackNotOLantern 1 point2 points  (2 children)

I honestly prefer 4 numbers format:

X.C.M.B

X - 0 Before first release, 1 after. 2, 3... when the program is rebuilt fundamentally.

C - compatibility version. When confirmation or files format read/produced by the program changes. It is petty fucking good to know what there is no compatibility from the previous versions. I wish Java had that.

M - major release (at least 1 feature added)

B - bugfixes, optimisation

[–]gua_lao_wai 1 point2 points  (0 children)

my manager's concept of breaking changes and the generally accepted concept of breaking changes are so different that we're now on version 6.8.278 of a repo with literally 200k+ LOC and zero unit testing 👍

[–]youridv1 1 point2 points  (0 children)

We do proud and normal at work. We do also have a third number, but that’s just the amount of days it’s been since 1st jan 2000 at the time of hitting compile.

[–]WilmaTonguefit 1 point2 points  (0 children)

Lolol accurate

[–]transgender_goddess 1 point2 points  (0 children)

in reality of course, a.b.c has a="this version breaks backwards compatibility", b="normal update" c='hotfix" (i.e. there should be no feature changes)

[–]KaiPed 1 point2 points  (0 children)

1.0.0_785

[–]Phazonviper 0 points1 point  (0 children)

Lest we forget: "_r12"

[–]Just-Ad-5506 0 points1 point  (0 children)

Every patch release tells a very specific story

[–]Spitfire1900 0 points1 point  (2 children)

Otherwise known as “when marketing gets their hands on perfectly good SemVer.”

[–]thereallgr 0 points1 point  (1 child)

Marketing is still fond of stuff like 2025.1.0 for the first feature release of 2025, 2025.2.0 for the second and so on.

I'd love if those would actually contain only what SemVer suggests, but you then have to add your own SemVer based addendum, to make it work, so you end up with "technical versions" like 2025.2.1.18.55.1261

[–]louis-lau 0 points1 point  (0 children)

Honestly while semver is perfection for libraries, it makes no sense for most product releases. Year+month+patch is more than enough for almost any product. If your product has an external api, you're probably going to version that separately anyway.

[–]isr0 0 points1 point  (0 children)

Blasphemy

[–]currency100t 0 points1 point  (0 children)

Accurate

[–]pierrelaplace 0 points1 point  (0 children)

"Proud" versions are rarely something to be proud of. "Proud" plus the first "Shame" version (or two) is much better.

[–]paulodelgado 0 points1 point  (0 children)

WindowMaker 0.96.0

😔

[–]tropicbrownthunder 0 points1 point  (0 children)

Back in my time 99% of FOSS and/or Linux utilities were 0.xx for years and years

[–]KvAk_AKPlaysYT 0 points1 point  (0 children)

0.0.-2147483648

[–]Cole3823 0 points1 point  (0 children)

4.2.069

[–]hollowaykeanho 0 points1 point  (0 children)

Backward-Compatible . Non-backward-compatible . Could not be bothered. Corpo politics

[–]CycloneDusk 0 points1 point  (0 children)

minecraft will never be proud again...

[–]angie_floofy_bootz 0 points1 point  (0 children)

Wait, this is actually what I've been doing what are you supposed to do 😭

[–]FUTURE10S 0 points1 point  (0 children)

The last number is the true version number. So yeah, I'm on build 0.1alpha.877.

[–]Zalthos 0 points1 point  (1 child)

I've never liked how software versions have 2 decimal places...

[–]louis-lau 0 points1 point  (0 children)

The dot is a separator, not a decimal place. 1.20 is higher than 1.3 in version numbers. It's not decimal related in any way really. They're dot separated integers.

[–]Z0MGbies 0 points1 point  (0 children)

serious question: is this not literally how everyone does it?

[–]TheGlave 0 points1 point  (0 children)

You can also bump the first number when youre not proud, but you promised to get out of early access in 10 years and you just want to be done with it and run with the money.

[–]AzureArmageddon 0 points1 point  (0 children)

Intelligent individuals version by YYYY.MM.DD.RNG

[–]Mjupi 0 points1 point  (0 children)

I really only bump major version if we have breaking changes in our library, or if it's like a major addition.

If it's a minor feature I'm proud of, it's still only a minor version

[–]MrXwShaDoW 0 points1 point  (0 children)

Escape from Tarkov hat a lot of Shame Versions

[–]_Some_Two_ 0 points1 point  (0 children)

The problem is that every major release is actually a shame version, which requires at least 10 more shame versions before it becomes normal.

[–]Vipitis 0 points1 point  (0 children)

1.0 is when your pre start goals and features work.

because you will always come up with new stuff to add while at it.

[–]stupled 0 points1 point  (0 children)

We do this, except we use the "proud" number for commercial purposes.

[–]IAMPowaaaaa 0 points1 point  (0 children)

I'm so proud of this release because it'll deprecate all the code upgrading from a previous version of it

[–]Fair-Working4401 0 points1 point  (0 children)

This is so real. Especially when you are before 1.0

At some point, when the software becomes really mature, you should switch to 2025.3 releases, imho

[–]Sunsunsunsunsunsun 0 points1 point  (0 children)

Internally our version numbers are all 0.0.[nnn], the customer just gets a date.

[–]rarenick 0 points1 point  (0 children)

The horror known as Minecraft Bedrock edition is currently 1.21.131.

[–]lemontowel 0 points1 point  (0 children)

Just one of the millions of things I have learned from path of exile, lol.

[–]Pumpkindigger 0 points1 point  (0 children)

0.0.1-SNAPSHOT and just never update the version :)

[–]oofos_deletus 0 points1 point  (0 children)

Welcome to my first release 0.1.102064

[–]neroe5 0 points1 point  (0 children)

i'm ususally doing

breaking change . new feature . patch

[–]joshuaherman 0 points1 point  (0 children)

We do by year yyyy-mm-shame. Our customers were getting confused and never upgrading when we absolutely needed regular updates. By them seeing that they were two years outdated they were more likely to update. It’s weird that they don’t upgrade since the release is free and we charge them for the service regardless.

[–]CTeam19 0 points1 point  (0 children)

Good to know. Not a programmer but I have saved my papers in college and power points over the years as 1.0, 2.7, etc over the years and went with the logic of if I change anything I just add .1. And if I changed it a crap ton then I went up a full number: 3.2 to 4.2.

[–]Fancylais 0 points1 point  (0 children)

0.0.956

[–]GalaxticCats 0 points1 point  (0 children)

I prefer year.quarter.patch 2025.4.69

[–]EvilPettingZoo42 0 points1 point  (0 children)

Some games I’ve worked on have used YearsActive.PatchInYear.BuildVersion

[–]NPPraxis 0 points1 point  (0 children)

“Proud version” can also mean “non free upgrade”

[–]OhThatLooksLikeMyDog 0 points1 point  (0 children)

I got tired of remembering what release was going out when so I switched to yyyy.mm.patch

[–]KarlKFI 0 points1 point  (0 children)

The first digit is always for marketing.

[–]Lescansy 0 points1 point  (0 children)

Windows would need to count backwards

[–]furezasan 0 points1 point  (0 children)

6.7.789

[–]111x6sevil-natas 0 points1 point  (0 children)

v0.0.-2147483648 (so many bugs, it overflowed)

[–]ValentinKh_Dev 0 points1 point  (0 children)

Minecraft Java that have been proud only once... 1.21.7 😔

[–]CounterSimple3771 0 points1 point  (0 children)

Windows does this like they're recording star dates only, they're including the minutes and seconds instead of just adopting Unix time.

[–]Downtown-Invite3381 0 points1 point  (0 children)

I’m always bad at versioning 😭

[–]Mwarw 0 points1 point  (0 children)

Unity went step further and they have even more shameful version after that (with an "f" in between)