-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathversioning-guide.html
More file actions
160 lines (125 loc) · 6.63 KB
/
versioning-guide.html
File metadata and controls
160 lines (125 loc) · 6.63 KB
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<html lang="en">
<head>
<!-- Site icons -->
<link rel="icon" href="./project-portal/images/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" sizes="180x180" href="./project-portal/images/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./project-portal/images/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./project-portal/images/favicon-16x16.png">
<!-- Metadata -->
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Nathan Snow, AussieDev81">
<meta name="website" content="https://aussiedev81.com">
<meta name="description" content="A simple tool to help understand and implement semantic versioning">
<meta name="keywords" content="semantic, versioning, major, minor, patch, release, pre-release, application">
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://aussiedev81.com">
<meta property="og:type" content="website">
<meta property="og:title" content="AussieDev81">
<meta property="og:description" content="Software Engineer">
<meta property="og:image" content="./project-portal/images/developer.jpg">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="aussiedev81.com">
<meta property="twitter:url" content="https://aussiedev81.com">
<meta name="twitter:title" content="AussieDev81">
<meta name="twitter:description" content="Software Engineer">
<meta name="twitter:image" content="./project-portal/images/developer.jpg">
<!-- Styling -->
<link rel="stylesheet" href="./project-portal/css/bootstrap.min.css">
<link rel="stylesheet" href="./project-portal/css/nivo-lightbox.css">
<link rel="stylesheet" href="./project-portal/css/nivo_themes/default/default.css">
<link rel="stylesheet" href="./project-portal/css/templatemo-style.css">
<link rel="stylesheet" href='https://fonts.googleapis.com/css?family=Montserrat:400,700' type='text/css'>
<link rel="stylesheet" href="./project-portal/css/site.css">
<script rel="preconnect" src="https://kit.fontawesome.com/068920eb91.js" crossorigin="anonymous"></script>
<title>Application Versioning Guide</title>
</head>
<body>
<!-- Goes back to https://projects.aussiedev81.com/boredom -->
<a href="/boredom"><button id="go-back"><i class="fa-solid fa-arrow-left"></i> Back to Projects</button></a>
<!-- Page header -->
<header>
<h1>Application Versioning Guide</h1>
<h2 class="subheading">Semantic Versioning</h2>
</header>
<!-- Version number input -->
<div class="version">
<label>Current Version</label>
<input id="current-version" placeholder="Current version number..." /><br/>
<small>If you're just beginning, start with <code>0.0.1</code></small>
</div>
<!-- Yes/no checkbox questions to determine if any version segments need updating -->
<section class="questions">
<div class="question-item">
<input type="checkbox" id="checkbox1" />
<label>Backwards incompatible changes were made to the API?</label>
</div>
<div class="question-item">
<input type="checkbox" id="checkbox2" />
<label>Backwards compatible changes were made to the API?</label>
</div>
<div class="question-item">
<input type="checkbox" id="checkbox3" />
<label>Was the public API marked as deprecated?</label>
</div>
<div class="question-item">
<input type="checkbox" id="checkbox4" />
<label>Were any backwards compatible bug fixes introduced?</label>
</div>
<div class="question-item">
<input type="checkbox" id="checkbox5" />
<label>Is this version potentially instable?</label>
</div>
</section>
<!-- A breakdown of each of the version components (readonly) -->
<div class="version-components">
<input id="major" type="number" step="1" min="0" readonly />
<label>Major</label>
<input id="minor" type="number" step="1" min="0" readonly />
<label>Minor</label>
<input id="patch" type="number" step="1" min="0" readonly />
<label>Patch</label>
<input id="pre-release" type="text" step="1" min="0" readonly />
<label>Pre-Release<small> (E.g. alpha)</small></label>
</div>
<!-- Shows the result version number formatted with "." between version segments and "-" before any pre-release name -->
<div class="result-row">
<label>Result</label>
<input class="result" id="result" readonly></input>
<button id="copy-button">Copy Version Number</button>
</div>
<!-- Process explanation -->
<section>
<h1>How it works</h1>
<p>
This tools functionality was adopted (and simplified) from the <a href="https://semver.org/"
target="_blank">Semantic Versioning 2.0.0 specification</a>.
</p>
<p>
Numeric suffixes to the pre-release name (E.g. <code>1.0.0-alpha-2</code>) are not yet supported,
perhaps in a future version ;-), however pre-release names are automatically generated (in order)
following the <a href="https://en.wikipedia.org/wiki/Greek_alphabet" target="_blank">Greek Alphabet</a>
</p>
<p>
For existing pre-release names, the system reads the first character of the given pre-release, and
automatically defaults to the corresponding Greek Alphabet name, for example <code>1.0.0-apples</code>
becomes <code>1.0.0-alpha</code>.<br />
Additionally, still using the example of <code>1.0.0-apples</code>, if the user declares that the version is
potentially instable, the pre-release will increment to the next Greek Alphabet letter resulting in the
version number
<code>1.0.0-beta</code>
</p>
<p>
<a href="https://semver.org/" target="_blank" title="Read more">Click here</a> to read more about the semantic Versioning specification
</p>
</section>
<!-- Footer -->
<footer>
Copyright © <script>new Date().getFullYear()</script> <a href="https://aussiedev81.com" target="_blank">AussieDev81</a> - All Rights Reserved
</footer>
</body>
<script data-cfasync="false" src="./project-portal/js/Utils.js" type="module"></script>
<script data-cfasync="false" src="./project-portal/js/Site.js" type="module"></script>
</html>