Skip to content

Commit 83ee24a

Browse files
committed
config: pick a real versioning scheme
I'm pretty sure this is close to what we've been doing, but this codifies it. Signed-off-by: Hank Donnay <[email protected]>
1 parent d2b3d82 commit 83ee24a

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

config/doc.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22
// Config type for the main entry point.
33
//
44
// It's currently meant for reading configs and tested against YAML and JSON.
5+
//
6+
// # Version Scheme
7+
//
8+
// This package uses an idiosyncratic versioning scheme:
9+
//
10+
// - The major version tracks the input format.
11+
// - The minor version tracks the Go source API.
12+
// - The patch version increases with fixes and additions.
13+
//
14+
// This means that any valid configuration accepted by `v1.0.0` should continue
15+
// to be accepted for all revisions of the v1 module, but `v1.1.0` may force
16+
// changes on a program importing the module.
517
package config
618

719
// This pakcage can't use "omitempty" tags on slices because "not present" and

0 commit comments

Comments
 (0)