-
Notifications
You must be signed in to change notification settings - Fork 0
/
version.proto
84 lines (75 loc) · 3.48 KB
/
version.proto
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
// Copyright 2020-2024 SIX AFTER, INC (SIX AFTER)
//
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: SIX AFTER, INC (SIX AFTER)
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax="proto3";
package sixafter.types;
option go_package="github.com/sixafter/types;types";
option cc_enable_arenas = true;
option java_package = "com.sixafter.types";
option java_multiple_files = true;
option java_outer_classname = "VersionProto";
option objc_class_prefix = "TPB";
option csharp_namespace = "SixAfter.Types.WellKnownTypes";
// The `Version` message represents a Semantic Versioning 2.0.0 compliant version number.
// For details, see: https://semver.org
message Version {
// The major version number.
//
// Major version zero (0.y.z) is for initial development. Anything MAY change
// at any time. The public API SHOULD NOT be considered stable.
uint32 major = 1;
// Minor version number.
//
// Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible
// functionality is introduced to the public API. It MUST be incremented if any
// public API functionality is marked as deprecated. It MAY be incremented if
// substantial new functionality or improvements are introduced within the private
// code. It MAY include patch level changes. Patch version MUST be reset to 0 when
// minor version is incremented.
uint32 minor = 2;
// Patch version number.
//
// Patch version Z (x.y.Z | x > 0) MUST be incremented if only backwards compatible
// bug fixes are introduced. A bug fix is defined as an internal change that fixes
// incorrect behavior.
uint32 patch = 3;
// The pre-release version identifier.
//
// A pre-release version MAY be denoted by appending a hyphen and a series of dot
// separated identifiers immediately following the patch version. Identifiers MUST
// comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT
// be empty. Numeric identifiers MUST NOT include leading zeroes. Pre-release
// versions have a lower precedence than the associated normal version.
//
// A pre-release version indicates that the version is unstable and might not satisfy
// the intended compatibility requirements as denoted by its associated normal version.
//
// Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92, 1.0.0-x-y-z.–.
string prerelease = 4;
// The build metadata identifier.
//
// Build metadata MAY be denoted by appending a plus sign and a series of dot separated
// identifiers immediately following the patch or pre-release version. Identifiers MUST
// comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be
// empty.
//
// Build metadata MUST be ignored when determining version precedence. Thus two
// versions that differ only in the build metadata, have the same precedence.
//
// Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85,
// 1.0.0+21AF26D3—-117B344092BD.
string build_metadata = 5;
}