devel-versioning.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 23 Sep 2011 18:04:25 +0300
changeset 1004 5c81d5c1120a
parent 1003 4b8b3daac0db
child 1007 f7a62b2027ea
permissions -rw-r--r--
up
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
921
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
=================
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
 Version format.
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
=================
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
.. contents::
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
1003
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
     6
Feature set versioning.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
     7
=======================
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
     8
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
     9
Feature set versioning pretend to show how serious changes made according to
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    10
feature availability and how compatible these versions.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    11
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    12
Marketing versioning.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    13
=====================
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    14
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    15
Marketing versioning schema used for marketing, advertising purpose. It is
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    16
usually inconsistent and can changed over the time.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    17
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    18
Examples of marketing version schema:
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    19
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    20
 * Years.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    21
 * Ancient gods.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    22
 * Star/satellite/galactic names.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    23
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    24
Look thread for GDB:
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    25
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    26
  http://www.cygwin.com/ml/gdb/2007-07/msg00061.html
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    27
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    28
There discussed:
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    29
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    30
 * Is it essential to update major version if significant change made for
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    31
   licence? Answer: NO!
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    32
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    33
   GPLv3 is a big deal spread out over the whole GNU project, but not a big deal
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    34
   for GDB in particular.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    35
 * Is it right follow date version schema regardless major changes? Answer: NO!
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    36
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    37
   Many OS distribution encode year in versions but versions does not present
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    38
   featureset but package set instead.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    39
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    40
Year as version name.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    41
---------------------
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    42
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    43
If year used as version some people can decide that 2005 is too old and broken
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    44
if it used in 2007. So companies release product by leading year number. So in
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    45
2007 they release 2008 version.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    46
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    47
Version name components.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    48
========================
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    49
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    50
 * major
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    51
 * minor
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    52
 * patch (patchlevel), micro
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    53
 * rev (revision)
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    54
 * build
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    55
 * date
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    56
::
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    57
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    58
  major.minor.rev
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    59
  major.minor.rev.build
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    60
  major.current.age
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    61
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    62
Major version component.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    63
------------------------
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    64
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    65
Major number change means that the new version is incompatible with the old one
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    66
and any dependent of the prior version will require code changes to upgrade to
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    67
the new package.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    68
1004
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    69
Major number rare changed (this can take a lot of year).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    70
1003
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    71
Minor version component.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    72
------------------------
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    73
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    74
Minor number change means that the new version is backward compatible with the
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    75
previous version but has significant enhancements over the previous version.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    76
1004
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    77
Functional enhancement releases. Contain new or significantly changed
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    78
functionality and/or layout.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    79
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    80
New releases are usually only published several times a year or less.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    81
1003
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    82
Revision, micro, bugfix version component.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    83
------------------------------------------
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    84
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    85
Revision number is updated whenever a bugfix is applied to the build such that
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    86
it doesn't bring a compatibility change or introduce newer features.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    87
1004
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    88
Patches are released frequently (sometimes daily).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1003
diff changeset
    89
1003
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    90
Milestone markers.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    91
------------------
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    92
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    93
 * a (alpha) means new development is complete and code checkins are frozen.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    94
   Alpha builds should work well enough to be testable.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    95
 * b (beta) means most severe bugs are fixed and end users can start trying the
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    96
   release.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    97
 * rc (release candidate) are believed to meet all of the criteria for release
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    98
   and can be installed on test instances of production systems.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
    99
947
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   100
Release build version data.
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   101
===========================
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   102
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   103
 * Build number.
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   104
 * Build date.
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   105
 * Build version.
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   106
 * Branch-tag used.
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   107
 * Overnight build (Y/N).
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   108
 * QA tested (Y/N).
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   109
 * QA test results (Pass/Fail).
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   110
 * Location of full logs.
1c8a139fc25d Release build version data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 921
diff changeset
   111
1003
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   112
Version ordering formula.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   113
=========================
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   114
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   115
Strongly recommend:
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   116
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   117
 * Numbers are not decimal fractions. They are integers separated by delimiters.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   118
 * Only offically released versions of the program get version numbers.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   119
   Development snapshots don't. Nor do test releases.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   120
 * If the last component is zero, it may be omitted. Do not distinguish version
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   121
   X.Y from version X.Y.0.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   122
 * Avoid using anything other than numbers in version numbers.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   123
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   124
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   125
Debian version ordering formula.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   126
--------------------------------
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   127
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   128
TODO
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   129
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   130
Semver version ordering formula.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   131
--------------------------------
948
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   132
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   133
if (A.major != B.major) return A.major > B.major;
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   134
if (A.minor != B.minor) return A.minor > B.minor;
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   135
if (A.patch != B.patch) return A.patch > B.patch;
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   136
if (A.special == B.special) return 0;
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   137
if (A.special == "") return 1;
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   138
if (B.special == "") return -1;
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   139
return A.special > B.special;
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   140
949
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   141
**NOTE** Accoding to this definition 1.0.1rc1 < 1.0.1rc10 < 1.0.1rc2 which is
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   142
non meaningful.
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   143
1003
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   144
Odd/even numbering.
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   145
-------------------
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   146
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   147
Who use:
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   148
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   149
  GLib GTK+ Gimp GNOME Kaffe
4b8b3daac0db Feature set versioning. Marketing versioning. Year as version name. Version name components. Version
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 950
diff changeset
   150
949
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   151
Compatibility formula.
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   152
======================
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   153
950
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   154
Assume that app linked with new version of lib. Thus::
949
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   155
950
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   156
  is_compatible_with_old(old, new) {
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   157
    if (old.major != new.major) return 0;
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   158
    if (old.minor > new.minor) return 0;
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   159
    return 1;
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   160
  }
949
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   161
950
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   162
Assume that app linked with old version of lib. Thus::
949
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   163
950
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   164
  is_compatible_with_new(old, new) {
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   165
    if (old.major != new.major) return 0;
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   166
    return 1;
06221010c81d Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 949
diff changeset
   167
  }
949
57b995de80b5 Compatibility formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 948
diff changeset
   168
921
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   169
Reference.
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   170
==========
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   171
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   172
  https://developer.mozilla.org/en/toolkit_version_format
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   173
                Toolkit version format
948
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   174
  http://apr.apache.org/versioning.html
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   175
                APR's Version Numbering
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   176
  http://semver.org/
23cb71bb2b5d Versioning formula.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 947
diff changeset
   177
                Semantic Versioning
921
c1264ffd1a37 Toolkit version format
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   178