@@ -53,9 +53,41 @@ representing the version.
53
53
` guess-next-dev (default) `
54
54
: Automatically guesses the next development version (default).
55
55
Guesses the upcoming release by incrementing the pre-release segment if present,
56
- otherwise by incrementing the micro segment. Then appends :code: ` .devN ` .
56
+ otherwise by incrementing the micro segment. Then appends ` .devN ` .
57
57
In case the tag ends with ` .dev0 ` the version is not bumped
58
- and custom ` .devN ` versions will trigger a error.
58
+ and custom ` .devN ` versions will trigger an error.
59
+
60
+ **Examples:**
61
+ - Tag `1.0.0` → version `1.0.1.dev0` (if dirty or distance > 0)
62
+ - Tag `1.0.0` → version `1.0.0` (if exact match)
63
+
64
+ ` calver-by-date `
65
+ : Calendar versioning scheme that generates versions based on dates.
66
+ Uses the format ` YY.MM.DD.patch ` or ` YYYY.MM.DD.patch ` depending on the existing tag format.
67
+ If the commit is on the same date as the latest tag, increments the patch number.
68
+ Otherwise, uses the current date with patch 0. Supports branch-specific versioning
69
+ for release branches.
70
+
71
+ **Examples:**
72
+ - Tag `23.01.15.0` on same day → version `23.01.15.1.devN`
73
+ - Tag `23.01.15.0` on different day (e.g., 2023-01-16) → version `23.01.16.0.devN`
74
+ - Tag `2023.01.15.0` → uses 4-digit year format for new versions
75
+
76
+ ` no-guess-dev `
77
+ : Does no next version guessing, just adds ` .post1.devN ` .
78
+ This is the recommended replacement for the deprecated ` post-release ` scheme.
79
+
80
+ **Examples:**
81
+ - Tag `1.0.0` → version `1.0.0.post1.devN` (if distance > 0)
82
+ - Tag `1.0.0` → version `1.0.0` (if exact match)
83
+
84
+ ` only-version `
85
+ : Only use the version from the tag, as given.
86
+
87
+ !!! warning "This means version is no longer pseudo unique per commit"
88
+
89
+ **Examples:**
90
+ - Tag `1.0.0` → version `1.0.0` (always, regardless of distance or dirty state)
59
91
60
92
` post-release (deprecated) `
61
93
: Generates post release versions (adds ` .postN ` )
@@ -64,6 +96,9 @@ representing the version.
64
96
65
97
!!! warning "the recommended replacement is `no-guess-dev`"
66
98
99
+ **Examples:**
100
+ - Tag `1.0.0` → version `1.0.0.postN` (where N is the distance)
101
+
67
102
` python-simplified-semver `
68
103
: Basic semantic versioning.
69
104
@@ -73,6 +108,10 @@ representing the version.
73
108
74
109
This scheme is not compatible with pre-releases.
75
110
111
+ **Examples:**
112
+ - Tag `1.0.0` on non-feature branch → version `1.0.1.devN`
113
+ - Tag `1.0.0` on feature branch → version `1.1.0.devN`
114
+
76
115
` release-branch-semver `
77
116
: Semantic versioning for projects with release branches.
78
117
The same as ` guess-next-dev ` (incrementing the pre-release or micro segment)
@@ -81,14 +120,9 @@ representing the version.
81
120
non-release branch, increments the minor segment and sets the micro segment to
82
121
zero, then appends ` .devN `
83
122
84
- ` no-guess-dev `
85
- : Does no next version guessing, just adds ` .post1.devN `
86
-
87
- ` only-version `
88
- : Only use the version from the tag, as given.
89
-
90
- !!! warning "This means version is no longer pseudo unique per commit"
91
-
123
+ **Examples:**
124
+ - Tag `1.0.0` on release branch `release-1.0` → version `1.0.1.devN`
125
+ - Tag `1.0.0` on development branch → version `1.1.0.devN`
92
126
93
127
### ` setuptools_scm.local_scheme `
94
128
Configures how the local part of a version is rendered given a
0 commit comments