aboutsummaryrefslogtreecommitdiffstats
path: root/system/doc/installation_guide/otp_version.xml
blob: 0ce5144160d13053f923c99d56cc60dec081fd44 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">

<chapter>
  <header>
    <copyright>
      <year>2014</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      The contents of this file are subject to the Erlang Public License,
      Version 1.1, (the "License"); you may not use this file except in
      compliance with the License. You should have received a copy of the
      Erlang Public License along with this software. If not, it can be
      retrieved online at http://www.erlang.org/.
    
      Software distributed under the License is distributed on an "AS IS"
      basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
      the License for the specific language governing rights and limitations
      under the License.
    
    </legalnotice>

    <title>OTP version</title>
    <prepared></prepared>
    <responsible></responsible>
    <docno></docno>
    <approved></approved>
    <checked></checked>
    <date>2014-02-19</date>
    <rev></rev>
    <file>otp_version.xml</file>
  </header>
    <p>As of OTP release 17, the OTP release number corresponds to
    the major part of the OTP version. The OTP version as a concept was
    introduced in OTP 17. In the normal case, the OTP version will be
    constructed as
    <c>&lt;Major&gt;.&lt;Minor&gt;.&lt;Patch&gt;</c> where <c>&lt;Major&gt;</c>
    is the most significant part. However, more dot separated parts than
    this may exist. The dot separated parts consists of integers. If all
    parts less significant than <c>&lt;Minor&gt;</c> equals <c>0</c>, they
    are omitted. The three normal parts
    <c>&lt;Major&gt;.&lt;Minor&gt;.&lt;Patch&gt;</c> will be changed as
    follows:</p>
    <taglist>
      <tag><c>&lt;Major&gt;</c></tag><item>Increased when major changes,
      including incompatibilities, have been made.</item>
      <tag><c>&lt;Minor&gt;</c></tag><item>Increased when new functionality
      has been added.</item>
      <tag><c>&lt;Patch&gt;</c></tag><item>Increased when pure bug fixes
      have been made.</item>
    </taglist>
    <p>When a part in the version number is increased, all less significant
    parts are set to <c>0</c>. Release candidates have an <c>-rc&lt;N&gt;</c>
    suffix. The suffix <c>-rc0</c> will be used during development up to
    the first release candidate.</p>

    <p>OTP of a specific version is a set of applications of
    specific versions. The application versions identified by
    an OTP version corresponds to application versions that
    have been tested together by the Erlang/OTP team at Ericsson AB.
    An OTP system can however be put together with applications from
    different OTP versions. Such a combination of application versions
    has not been tested by the Erlang/OTP team. It is therefore
    <em>always preferred to use OTP applications from one single OTP
    version</em>.</p>

    <p>Application versions will be managed the same way as the OTP version.
    Application versions part of a release candidate will however not have an
    <c>-rc&lt;N&gt;</c> suffix as the OTP version. Also note that a major
    increment in an application version does not necessarily imply a major
    increment of the OTP version. This depends on whether the
    major change in the application is considered as a major change for
    OTP as a whole or not.</p>

    <p>In an OTP source code tree as well as in an installed OTP
    development system, the OTP version can be read from the text
    file <c>OTP_VERSION</c> in the OTP installation root directory
    (<seealso marker="kernel:code#root_dir/0"><c>code:root_dir()</c></seealso>).</p>
    <p>If the version read from the <c>OTP_VERSION</c> file in a
    development system has a <c>**</c> suffix, the system has been
    patched using the <c>$ERL_TOP/otp_build patch_app</c> tool. In
    this case, the system consists of application versions from
    multiple OTP versions. The version preceding the <c>**</c>
    suffix corresponds to the OTP version of the base system that
    has been patched. Note that if a development system is updated by
    other means than <c>$ERL_TOP/otp_build patch_app</c>, the
    <c>OTP_VERSION</c> file may identify wrong OTP version.</p>

    <p>On a target system (see the
    <seealso marker="doc/system_principles:create_target">system principles</seealso>
    documentation) no <c>OTP_VERSION</c> file will exist. This since
    one easily can create a target system where it is hard to even
    determine the base OTP version.</p>
</chapter>