-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathversioning.html
146 lines (118 loc) · 6.59 KB
/
versioning.html
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
(c) 2005, 2009, 2010 ThoughtWorks Ltd. All rights reserved.
(c) 2015 ProxyToys Committers. All rights reserved.
The software in this package is published under the terms of the BSD
style license a copy of which has been included with this distribution in
the LICENSE.txt file.
Created on 07-May-2005
-->
<head>
<title>ProxyToys - About Versioning</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<div id="banner">
<a href="index.html"><img id="logo" src="logo.gif" alt="ProxyToys Logo"/></a>
<div id="title">About Versioning</div>
</div>
<div id="center" class="Content2Column">
<div id="content">
<h1 id="meaning">Version Number Meaning</h1>
<p>The ProxyToys project follows strict rules that govern its use of version
numbers. The version number of a release indicates how that release
is compatible with previous and future releases.</p>
<p>Version numbers have the form
<var>major</var>.<var>minor</var>.<var>patch</var>.
The major version number identifies the API version. A release that
changes the API in a way that breaks backwards compatibility will
increment the major version number and reset the minor and patch versions
to zero. The minor version number identifies the backwards compatible
revision of the API. An API version that adds new elements to the API
will have the same major version, increment the minor version and set the
patch version to zero. The patch version number identifies revisions
that do not change the API. A release that fixes bugs or refactors
implementation details without changing the API will have the same minor
and major versions as the previous release and increment the patch number.
</p>
<p>A hypothetical example:</p>
<table>
<tr><td>1.0.0</td><td>First release</td></tr>
<tr><td>1.0.1</td><td>Improves Javadoc comments</td></tr>
<tr><td>1.1.0</td><td>Adds new API elements</td></tr>
<tr><td>1.2.0</td><td>Adds new API elements, deprecates some API elements</td></tr>
<tr><td>1.2.1</td><td>Fixes bugs</td></tr>
<tr><td>2.0.0</td><td>Incompatible API changes, removes API elements deprecated by version 1.2.0.</td></tr>
<tr><td>2.1.0</td><td>Adds new API elements</td></tr>
<tr><td>etc.</td><td>etc.</td></tr>
</table>
<h1 id="rc">Release Candidates</h1>
<p>Before a new major or minor release, ProxyToys will make release
candidate (RC) packages available so that users can test them against
their own code. There will be one or more release candidates given the
version <var>major</var>.<var>minor</var>.0 RC<var>n</var>, where the
major and minor version numbers identify the upcoming release and RC1
identifies the first candidate release, RC2 the second, and so on.</p>
<p>A release candidate does not guarantee backward compatability with
new API features introduced by any previous RC of the same upcoming
version.
A major version RC can change/remove API features introduced in a
previous RC for the same major version; a minor version RC can change
API features introduced by any previous RC of the same upcoming minor
version but guarantees backward compatability with the previous minor
version.</p>
<h1 id="internals">Internal Classes</h1>
<p>Many classes are for internal use only and not designed to be used by
end users. These are exempt from the versioning rules above.</p>
<p>Such classes are clearly marked as internal in the source code
headers and are excluded from the published JavaDoc.</p>
<h1 id="deprecation">Versioning and Deprecation</h1>
<p>A minor release might deprecate some API features. Deprecated features
will not actually be removed until the next major release.
A release will never remove API features that have not been deprecated in
a previous release.
</p>
<br/><br/>
</div>
</div>
<div class="SidePanel" id="left">
<div class="MenuGroup">
<h1>ProxyToxy in General</h1>
<ul>
<li><a href="index.html">About ProxyToys</a></li>
<li><a href="news.html">News</a></li>
<li><a href="changes.html">Change History</a></li>
<li><a href="license.html">License</a></li>
<li><a href="download.html">Download</a></li>
<li class="currentLink">About Versioning</li>
</ul>
</div>
<div class="MenuGroup">
<h1>Using ProxyToys</h1>
<ul>
<li><a href="tutorial.html">One minute Tutorial</a></li>
<li><a href="factories.html">Proxy Factories</a></li>
<li><a href="toys.html">Toys</a></li>
<li><a href="faq.html">Frequently Asked Questions</a></li>
<li><a href="example-code.html">Example Code</a></li>
<li><a href="mailing-lists.html">Mailing Lists</a></li>
<li><a href="apidocs/index.html">Javadoc</a></li>
<li><a href="issues.html">Reporting Issues</a></li>
</ul>
</div>
<div class="MenuGroup">
<h1>Developing ProxyToys</h1>
<ul>
<li><a href="architecture.html">Architecture Overview</a></li>
<li><a href="how-to-contribute.html">How to Contribute</a></li>
<li><a href="team.html">Development Team</a></li>
<li><a href="repository.html">Source Repository</a></li>
<li><a href="https://github.com/proxytoys/proxytoys">GitHub Project</a></li>
<li><a href="http://ci.codehaus.org/browse/PROXYTOYS">Build Status</a></li>
<li><a href="https://www.openhub.net/p/10075">Code Statistics</a></li>
</ul>
</div>
</div>
</body>
</html>