Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I would like to know what's the logic for setting the versions in an application that you're developing?

I mean from 1.0 to 1.1 or 1.7 to 2.0

share|improve this question
    
IMHO, It totally depends on how big are changes you have made. –  Soner Gönül Aug 13 '12 at 11:12
    
duplicate of What “version naming convention” do you use? –  gnat Apr 28 '13 at 1:12
add comment

3 Answers

Version numbers are defined as major.minor.revision which can have any arbitrary meaning, but generally when referring to applications:

  • Revision = Bug fix
  • Minor = Feature fixes and small adjustments
  • Major = New features and other large changes

When referring to an API, a major upgrade is usually an interface change that will break users of the API. A minor upgrade is typically a change to the functionality behind API calls but the interface remains the same.

share|improve this answer
1  
+1, good answer. It can also be referenced as VRML - Version, Release, Minor, Level. –  GlenH7 Aug 7 '12 at 14:40
add comment

In general, they could mean whatever you want them to mean. Unfortunately, they are often used simply as marketing tools (Version 2 is out, so all of our clients should buy it!). A better use for them is in implementing semantic versioning. That is, giving those versions specific meanings that are useful to your development and QA teams. Technically, you can make those meanings whatever you'd like, but there are some best practices.

OSGi has a nice whitepaper on semantic versioning. While some of the concepts mentioned there are mainly applicable to OSGi, the rest are pretty general.

For example, changing a major version number (1.0 -> 2.0) usually means that the two pieces of software are not backwards compatible.

share|improve this answer
add comment

A new version is introduced when the feature set and/or previous functionality of an application is changed.

Numbers after dot are for smaller changes. For example, you've modified the registration form only, and the rest of the app remains the same.

Numbers before dot indicate more significant changes, like big functionality changes, or adding a new set of features, etc.

Besides numbers, the version might also have identifiers like Beta or Alpha, which indicate whether the current version is complete, or is still being worked on and might have some flaws.

Take a look at wiki article for more info.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.