What is software versioning and how to do it.
Agenda:
- What is Software Versioning?
- The benefits to : Developers, Users and Mediators
- X.Y.Z Pattern/Schema
- Examples
1. Software Versioning
By: Mohammad M. AlBanna
www.MBanna.info www.OutOfPalBox.net
Freelancer Web Developer
Chrome Extension Developer
2. Agenda
• What is Software Versioning?
• The benefits to : Developers, Users and Mediators
• X.Y.Z Pattern/Schema
• Examples
www.MBanna.info www.OutOfPalBox.net
3. What is Software Versioning
Software versioning is the process of
assigning either unique version names or
unique version numbers to unique states
of computer software. Within a given
version number category (major, minor).
www.MBanna.info www.OutOfPalBox.net
Wikipedia
Facebook Mention Tagging Blocker V 1.0
Facebook Mention Tagging Blocker V 1.1
Facebook Mention Tagging Blocker V 1.1.1
Facebook Mention Tagging Blocker V 1.1.2
4. Benefits to:
• Developers: As a developer i need to know the current
stage of the development period. (Do not put all eggs in
one basket)
• Users: Knowing the current version of installed app will let
you know if the version of app on app's website is new or
not, if the developer repaired the previous bugs or add
more features. (Windows As Example).
• Mediator: App store, Chrome store...and others needs the
developers to write the versions on their apps, more over
the uploaded version needs to be greater than current
version, that will help for automatic updates.
www.MBanna.info www.OutOfPalBox.net
5. X.Y.Z Pattern
• X = main version number, 1-~.
• Y = feature number, 0-9. Increase this number if the change
contains new features with or without bug fixes.
• Z = hotfix number, 0-~. Increase this number if the change only
contains bug fixes.
Example:
• For new application, the version number starts with 1.0.0.
• If the new version contains only bug fixes, increase the hotfix
number so the version number will be 1.0.1.
• If the new version contains new features with or without bug fixes,
increase the feature number and reset the hotfix number to zero so
the version number will be 1.1.0. If the feature number reaches 9,
increase the main version number and reset the feature and hotfix
number to zero (2.0.0 etc.).
www.MBanna.info www.OutOfPalBox.net
StackOverFlow
6. Team
• As a developers team, you have to use third
party software to manage this like "Version
Control Systems" - Watch the video.
www.MBanna.info www.OutOfPalBox.net
7. When jump from V1 to V2…Vn?
• 1->2 : May be incremented only when the
code is completely rewritten.
• V1->V2->V3->V4
• PHP Pure -> Codeigniter -> Codeigniter + Libraries ->
Change the routes system.
www.MBanna.info www.OutOfPalBox.net
8. Windows OS.. Example
Some software producers use different schemes to denote releases of their software.
For example, the Microsoft Windows operating system was first labeled with standard
numerical version numbers (Windows 1.0 through Windows 3.11). Later, Microsoft
started using separate version names for marketing purposes, first using years
(Windows 95 (4.0), Windows 98 (4.10), Windows 2000 (5.0)), then using
alphanumeric codes (Windows Me (4.90), Windows XP (5.1)), then using brand
names (Windows Vista (6.0)). With the release of Windows 7 it appears that
Microsoft has returned to using numerical version numbers, although the internal
version number for Windows 7 is 6.1.
www.MBanna.info www.OutOfPalBox.net
Wikipedia