How are software versions numbers determined?


(rwv01) #1

Just curious,
Can any one tell me what is the logic behind the version numbering of software releases? Is there a standard or conventional method?
Why don’t they just number them 1,2,3,4,5,… etc?


(S68) #2

MajorRelease.MinorRelease.PatchLevel

New Patch Level -> Bugs are corrected

New Minor Release -> Some new feature

New Major Release -> Dramatic changes (New interface, new internal architecture, new philosophy)

This in solid GNUish way.

Patch level is often omitted (Blender 2.23) is Major.Minor, no patch level there

Windows 95 and 98 and 2000… well, those are just fancy numbers

Stefano


(mrunion) #3

Software actually has three “versions” if you want to look at it that way. There is a MAJOR version, MINOR version and BUILD version. Using Blender as an example (and this is NOT anywhere near correctly accurate because I’m not even in the same country where the development is taking place!), we will take version 2.23:

2 - MAJOR version. This is the “major” enhancements indicator. They may add something significant like “twenty light types, built-in PHP code editor and numerous speed enhancements” and call this version 3.xx.

.23 - MINOR version. This is the “small” enhancements and “bug fixes” release indicator. A small enhancement to a feature that alread exists may be added, like better IPO editing, constraints, better booleans. Also, these MINOR releases include many bug fixes.

(xxx) - BUILD version. Blender does not include the build version (that I can find) but this is the count of all complete builds to the application. It is sort of a running total.

Pretend Blender was actually version 2.23.1000. The next release may not even get a bump in MAJOR or MINOR versions if it only fixed something like a misspelled word or something. The new version would be 2.23.1001. Now assume Blender gets an additional IPO called “ghost image” and the Blender release is then 2.24.1002. Finally, lets say Blender adds a whole new section for web site image deployment to popular art galleries around the 'net. It might be version 3.00.1003. See how the build number is CUMULATIVE, but the others are not.

Bottom line, a software company releaseing a MINOR version update is changing the x.MINOR.xxx version. MAJOR releases are MAJOR.xx.xxxx.

Does that help?

Thanx,
Matt
Director of Programming


Why Is This Blender 2.8?
(mrunion) #4

The “patch level” is also a very well used model. The thrid number may be used as PATCH instead of BUILD. Windows users might commonly see the third number as a build count in most circumstances. Internet Exploiter is an exception and fits the PATCH model.

Thanx,
Matt
Director of Programming


(S68) #5

Yea,

Windows third number is BUILD (NT4.0 build 16something)

UNIX (and GNU stuff) seldom cares of build, and third number is always a patch level (LINUX kernel 2.4.16 Major 2 Minor 4, patch level 16…)

Stefano


(xitnalta) #6

There’s actually no convention regarding version numbering.

A lot of free software (but not many of the GNU utilities, actually), use the version numbering as introduced by Linux: ( http://www.kernel.org/ )

Current stable version: 2.4.18 – x - dot - even y - dot - z

Current development version: 2.5.28 – x - dot - odd y - dot - z

x is a major version number component, as mentioned above. Also, z is the “patchlevel” component, also as mentioned above.

y is a bit “strange” here, though. It’s primary purpose is to support parallel development on a “stable” (even y component) and a “development” (odd y component) version of the Linux kernel. It also (again, as already mentioned) serves as the minor version number component, which roughly describes any big change that doesn’t mean a rewrite of the whole thing.

Felix


(rwv01) #7

Thanks guys!
That really cleared it up for me.


(Green) #8

what I use for blenderman is something that I find works for me :slight_smile:

Blenderman 0.1 Beta 7.2 is the current version.

I use the word beta to get people that are unsure if they want to use it to not use it. This since its not really ready for use yet.

Around version beta 9.2 I think Il release BlenderMan 0.1 and write some ducumentation for it.

Then I start with Blenderman 0.2 beta 1.0 and do some big additions.

Generaly the higher number the beta version is at the bigger amunt of bug fixes each release will have and a smaller number of new additions.

As it is right now blenderman has enough releases for 0.1 but it has some nasty bugs that can irritate the hell out of anyone.


(Homer) #9

I am extremely new to blender, so please forgive if this is a stupid question, What is blenderman? Do you have a website? I couldn’t find anything when I did a search on Google. :-?
Thanks in advance.


(Green) #10

Blenderman is a python script for blender that exports to bmrt entropy prman and now 3delight.

It doesnt have a website yet.

http://www.elysiun.com/viewtopic.php?t=3256


(Homer) #11

Thanks, I am trying to get into 3d animation and art, so I am trying to find out what tools are available and what they can do, I am also broke so anything free I am especially interested in :wink: . Thats why I am EXTREMELY interested in Blender becoming opensource, so much so that even though my wife is going to kill me I am going to contribute to the Blender fund as soon as I have a little pocket change. Just dont tell her :wink:
Thanks again for the info.


(IngieBee) #12

Thanks! Really good question, with really good answers!

Ingie