You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/reference/intro-to-semver.md
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -10,18 +10,18 @@ Version Promiscuity is the opposite problem, **JsonLibrary** releases _v1.1.0_ w
10
10
11
11
SemVer introduces conventions about breaking changes into our version numbers so we can safely upgrade dependencies without fear of unexpected breaking changes while still allowing us to upgrade downstream libraries to get new features and bug fixes. The convention is quite simple.
12
12
13
-
{major}.{minor}.{patch}-{tag}+{buildmetadata}
14
-
{major} = Only incremented if the release has breaking changes (includes bug fixes which have breaking behavioural changes
15
-
{minor} = Incremented if the release has new non-breaking features
16
-
{patch} = Incremented if the release only contains non-breaking bug fixes
17
-
{tag} = Optional -{tag} denotes a pre-release of the version preceeding
18
-
{buildmetadata} = Options +{buildmetadata} contains additional information about the version, but DOES NOT AFFECT the semantic version preceding it.
13
+
**{major}.{minor}.{patch}-{tag}+{buildmetadata}**
14
+
**{major}** = Only incremented if the release has breaking changes (includes bug fixes which have breaking behavioural changes)
15
+
**{minor}** = Incremented if the release has new non-breaking features
16
+
**{patch}** = Incremented if the release only contains non-breaking bug fixes
17
+
**{tag}** = Optional -{tag} denotes a pre-release of the version preceeding
18
+
**{buildmetadata}** = Options +{buildmetadata} contains additional information about the version, but DOES NOT AFFECT the semantic version preceding it.
19
19
20
20
Only one number should be incremented per release, and all lower parts should be reset to 0 (if major is incrememented then minor and patch should become 0).
21
21
22
-
For a more complete explaination checkout [semver.org](http://semver.org) which is the official spec. Remember this is a breif introduction and does not cover all parts of semantic versioning, just the important parts to get started.
22
+
For a more complete explaination checkout [semver.org](http://semver.org) which is the official spec. Remember this is a brief introduction and does not cover all parts of semantic versioning, just the important parts to get started.
23
23
24
24
## SemVer in GitVersion
25
25
GitVersion makes it easy to follow semantic versioning in your library by automatically calculating the next semantic version which your library/application is likely to use. In GitFlow the develop branch will bump the *minor* when master is tagged, while GitHubFlow will bump the *patch*.
26
26
27
-
Because one side does not always fit all, GitVersion provides many [Variables](../more-info/variables.md) for you to use which contain different variations of the version. For example SemVer will be in the format {major}.{minor}.{patch}-{tag}, but FullSemVer will also include build metadata: {major}.{minor}.{patch}-{tag}+{buildmetadata}
27
+
Because one side does not always fit all, GitVersion provides many [Variables](../more-info/variables.md) for you to use which contain different variations of the version. For example `SemVer` will be in the format {major}.{minor}.{patch}-{tag}, but `FullSemVer` will also include build metadata: {major}.{minor}.{patch}-{tag}+{buildmetadata}
Copy file name to clipboardExpand all lines: docs/why.md
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,7 @@
2
2
GitVersion makes versioning woes a thing of the past. It looks at your git history to calculate what the version currently is. I have seen and used many different approaches in the past, all have downfalls and often are not transportable between projects.
3
3
4
4
It solves:
5
+
5
6
- Rebuilding tags always produces the same version
6
7
- Not having to rebuild to increment versions
7
8
- Not duplicating version information in multiple places (branch release/2.0.0 already has the version in it, why do I need to change something else)
0 commit comments