Answer the question
In order to leave comments, you need to log in
What version numbering methods are there?
Hi all.
There is a question about product versions. A search on the net and on habré didn’t lead to obvious answers :(, perhaps because I don’t understand (don’t know) what to look for. Therefore, I decided to turn to a respected community. I hope the answers will be useful to many novice developers
. We are interested in certain rules (laws) according to which software versions are numbered. For example:
If the product version consists of XYZ, then
Z - increases when bugs are fixed
Y - when it changes, maybe adding functionality
X - when a completely updated version is released code or something like that
I wish I could find where to read different types (types) of version numbering and examples of their application. Can anyone share their experience, what were the pros and pitfalls when using?
Thanks for the help!
PS Tags on which you can find useful material on this topic are welcome.
Answer the question
In order to leave comments, you need to log in
Read about SemVer semantic versioning as one of the approaches.
It is also interesting to see how versions are related to various package managers, for example RPM: Naming Guidelines
But what about
habrahabr.ru/post/118756/en.wikipedia.org/wiki/Software_versioning
The following comes to mind:
version.build.date (like ms office)
version.subversion.build (like ms windows)
I won’t say that I’m a guru, but perhaps my view of versioning will help in some way.
Software versioning helps:
1) Marketing
2) Support
3) Developer
4) Tester
p.1. A marketer might say “Uv. user we have released a new major version, this version of the product has a lot of bug fixes and a lot of tasty features.».
item 2. A support specialist may be able to respond more specifically to problems, for example, “According to the personal policy, one major version is valid for ... months, your version is outdated. You should contact the sales department for an Upgrade” or “We cannot reproduce your situation. What version of the product do you have?”
p.3 The developer, having seen the task in the bug tracker, can say “I don’t understand something, there are commits for the stable branch, the bug has been fixed. In which particular version is this reproduced?
item 4. The tester, just like the developer, can state “I tested the fix bugs on the new version ... and also the version ... the problem is not reproduced, the bug is fixed”
Versioning is a tool that allows you to avoid many misunderstandings when talking to specialists of different professions: marketer, sales department, support, developer, tester.
The following follows from this. questions:
1) What is the fate of the software sold to the buyer?
2) Is it necessary to keep the history of builds and software versions or is it enough to have one stable release?
3) How do you want to inform technical specialists that your program has changed cardinally and perhaps it is not compatible with the previous formats. versions or she just got extra. bug fixes and some new features?
4) Do you want to tell buyers that you did a really cool job and it would be time for them to pay money to you to evaluate your work?
As a rule, seeing a change in the major version, many specialists ask themselves:
1) Is the new version compatible with the previous formats?
2) Has the GUI changed and do we need to update the usage instructions in our corporate documentation?
3) Should an acceptance test be carried out?
And a row. other important issues
Also, the revision from the version control system is sometimes included in the version line, this greatly helps developers without revealing anything about the internal structure of the software.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question