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: BREAKING_CHANGES.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,6 +55,26 @@ The command-line interface has been migrated from Windows-style (`/switch` and s
55
55
56
56
As a temporary migration aid, set the environment variable `GITVERSION_USE_V6_ARGUMENT_PARSER=true` to restore the legacy `/switch` and `-switch` argument handling. This escape hatch will be removed in a future release.
57
57
58
+
### Configuration structure and migration
59
+
60
+
v7 configuration now separates calculation from output:
61
+
62
+
```yaml
63
+
calculation:
64
+
branches:
65
+
main:
66
+
increment: Patch
67
+
output:
68
+
update-build-number: true
69
+
```
70
+
71
+
v7.0 defaults to the nested layout. `GITVERSION_CONFIGURATION_VERSION=v6` is a
72
+
temporary flat-layout fallback that logs a migration warning for user files.
73
+
Convert files with `gitversion config migrate`. The command
74
+
writes YAML to stdout by default, supports `--config`, `--output`,
75
+
`--in-place`, and `--force`, and warns that comments cannot be preserved when
76
+
replacing a file.
77
+
58
78
#### Full argument mapping
59
79
60
80
| Old argument | New argument | Short alias | Env var alternative |
The first command discovers `GitVersion.yml` and emits v7 YAML to stdout.
132
+
`--output` requires `--force` to replace an existing file and cannot be used
133
+
with `--in-place`. In-place migration warns because comments cannot be
134
+
preserved. The command does not need a Git repository and migrating its v7
135
+
output again is idempotent. In v7.0, you can temporarily validate a flat file
136
+
with `GITVERSION_CONFIGURATION_VERSION=v6`; GitVersion warns once for that
137
+
fallback.
138
+
139
+
GitVersion 7 publishes a nested-only schema at
140
+
`https://gitversion.net/schemas/7.0/GitVersion.configuration.json`. If you
141
+
temporarily select `GITVERSION_CONFIGURATION_VERSION=v6`, keep the existing v6
142
+
`$schema` reference (for example,
143
+
`https://gitversion.net/schemas/6.3/GitVersion.configuration.json`) until you
144
+
migrate. Do not point a flat document at the 7.0 schema. New v7 configuration
145
+
settings require migrating to the nested layout with `gitversion config
146
+
migrate` to retain schema validation.
147
+
120
148
## Git backend
121
149
122
150
GitVersion v7 introduces a fully managed Git backend as an alternative to the native LibGit2Sharp (libgit2) implementation. The backend is selected with the `GITVERSION_GIT_BACKEND` environment variable. When the variable is not set (or empty), the release's default backend is used — you never need to set it. Setting it to any value other than `libgit2` or `managed` (case-insensitive) is an error: GitVersion fails fast instead of silently running the default backend with a typo unnoticed.
@@ -138,7 +166,8 @@ The environment variables relevant to migrating from v6 to v7:
0 commit comments