Add release strategy
[openssl-web.git] / about / releasestrat.wml
1
2 #use wml::openssl area=about page=releasestrat
3
4 <title>About, Release Strategy</title>
5 <h1><center>OpenSSL Release Strategy</center></h1>
6 <h2><center>First issued 23rd December 2014</center></h2>
7 <h2><center>Last modified 23rd December 2014</center></h2>
8 <p>
9 <br>
10 </p>
11 <p>As of release 1.0.0 the OpenSSL versioning scheme was improved to
12 better meet developers' and vendors' expectations. Letter releases, such as
13 1.0.1a, exclusively contain bug and security fixes and no new features.
14 Minor releases that change the last digit, e.g. 1.0.1 vs. 1.0.2, can and
15 are likely to contain new features, but in a way that does not break
16 binary compatibility. This means that an application compiled and
17 dynamically linked with 1.0.0 does not need to be recompiled when the shared
18 library is updated to 1.0.2. It should be noted that some features are
19 transparent to the application such as the maximum negotiated TLS version and
20 cipher suites, performance improvements and so on. There is no need to recompile
21 applications to benefit from these features.</p>
22
23 <p>Binary compatibility also allows other possibilities. For example, consider an
24 application that wishes to utilize a new cipher provided in a specific 1.0.x
25 release, but it is also desirable to maintain the application in a 1.0.0 context.
26 Customarily this would be resolved at compile time resulting in two binary
27 packages targeting different OpenSSL versions. However, depending on the feature,
28 it might be possible to check for its availability at run-time, thus cutting
29 down on the maintenance of multiple binary packages. Admittedly it takes a certain
30 discipline and some extra coding, but we would like to encourage such
31 practice. This is because we want to see later releases being adopted
32 faster, because new features can improve security.</p>
33
34 <p>With regards to current and future releases the OpenSSL project has adopted the
35 following policy:</p>
36
37 <ul>
38 <li><p>Support for version 0.9.8 will cease on 2015-12-31. No further releases of 0.9.8
39 will be made after that date. Security fixes only will be applied to 0.9.8 until
40 then.</p></li>
41
42 <li><p>Support for version 1.0.0 will cease on 2015-12-31. No further releases of 1.0.0
43 will be made after that date. Security fixes only will be applied to 1.0.0 until
44 then.</p></li>
45 </ul>
46
47 <p>We may designate a release as a Long Term Support (LTS) release. LTS releases
48 will be supported for at least five years and we will specify one at least every
49 four years. Non-LTS releases will be supported for at least two years.</p>
50
51 <p>As implied by the above paragraphs, during the final year of support, we do not
52 commit to anything other than security fixes. Before that, bug and security
53 fixes will be applied as appropriate.</p>
54
55 <ul>
56 <li><p>Version 1.0.1 will be supported until 2016-12-31.</p></li>
57
58 <li><p>Version 1.0.2 will be supported until at least 2016-12-31.</p></li>
59 </ul>
60
61 <p>At this time, we are not planning a 1.0.3 release.</p>
62
63 <p>Version 1.1.0 will (moderately) break source compatibility (for example we will
64 make most structures opaque etc). We expect a preview version to be available
65 mid 2015, with an expected release by the end of 2015. Preview means that we are
66 not planning or expecting major API changes between the preview release and the
67 final release (but are not categorically precluding that possibility).</p>