Default to v7 feature selections and standardize compatibility selectors - #5189
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The updated Ctrl+C handler in Program.cs cancels a token but doesn’t suppress default termination and isn’t unregistered, which can prevent graceful shutdown and can invoke Cancel() after disposal.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 23/23 changed files
- Comments generated: 1
- Review effort level: Lite
54adbb2 to
bc9a609
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
It changes v7.0 default execution paths and startup/logging behavior across core, CLI, tests, and docs in a release-critical area that warrants final human validation.
Review details
- Files reviewed: 23/23 changed files
- Comments generated: 0 new
- Review effort level: Lite
bc9a609 to
fa44482
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Console logging can still be routed to stdout when --output buildserver is combined with machine-readable stdout outputs (e.g. JSON), risking output corruption.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 23/23 changed files
- Comments generated: 1
- Review effort level: Lite
fa44482 to
bfdf7c8
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
It changes cross-cutting runtime defaults, environment-variable contracts, logging/stdio behavior, and documentation/tests across multiple subsystems, warranting final human verification.
Review details
- Files reviewed: 24/24 changed files
- Comments generated: 0 new
- Review effort level: Lite
bfdf7c8 to
d648ad5
Compare
|
|
Tick the box to add this pull request to the merge queue (same as
|
|
Thank you @arturcic for your contribution! |



Summary
GitVersion v7.0 now defaults to the POSIX v7 parser, nested v7 configuration and managed Git. Replace
GITVERSION_USE_V6_ARGUMENT_PARSERwithGITVERSION_ARGUMENT_PARSER_VERSION=v6|v7; the retired variable reports an actionable error. All three independent selectors trim values, ignore case, treat blanks as defaults and reject unknown values consistently.The CLI captures its effective selections before registration and logs them at information level through the configured logger. Console diagnostics use stderr, including when build-server output is combined with JSON or other output; build-server integration messages retain their existing channel. Migration honors a root-level
--log-fileoption. Temporary v6 parser/configuration and libgit2 fallbacks remain available.Closes #5135. The completed configuration foundation #5131 is closed; v7.1 parser/configuration removal is tracked separately in #5188, backend removal in #5040, and v8 selector removal in #5136. Milestones, roadmap #5137 and native dependency links were aligned before implementation. No legacy implementation is removed here.
Commit organization
Validation
54adbb24e613d8b6cbbbe5a27399e33c6068a165: CI, Code Format, Build (new-cli), and Markdown Update. CI includes managed/libgit2 tests on Linux, Windows and macOS, packaging and executable/container artifact checks.