GitTools / GitTools/GitVersion
[Tracking] GitVersion v7 release roadmap
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 3.1k
- Forks
- 659
- Avg merge
- 13h 15m
- Merged PRs (30d)
- 51
Description
Purpose
Track and order the remaining GitVersion v7 work across the 7.0.x and 7.1.x delivery milestones. The 7.x umbrella milestone contains this roadmap, #2275 (New CLI), and #5031 (managed Git). Existing umbrella issues retain their own sub-issues; this roadmap links only their top-level parents plus standalone work. Umbrella milestone membership does not make all remaining umbrella work a v7.0 release gate; delivery scope is tracked by the release milestones and completion groups below.
The order below is the recommended delivery order. Explicit GitHub blocking relationships remain authoritative where present. Items within the same group may proceed in parallel when they do not share dependencies.
Group 1 — Release foundations and compatibility
These establish the architecture, configuration contract, migration path, and feature-selector lifecycle needed by the rest of v7.
- #5031 — Managed Git implementation umbrella
- Core managed implementation is complete: #5042 — Git CLI writes and network operations established the mutating backend, and #5084 — fully managed Git backend landed the managed reader and parity coverage on
main. - Package-build CI now exercises managed Git through merged #5175.
- v7.0 defaults to managed Git, with
GITVERSION_GIT_BACKEND=libgit2retained as the temporary fallback; completed by merged #5189. - #5040 removes LibGit2Sharp in v7.1.
- #5041 is an optional v7.1 accelerator, blocked by #5040, and is not a release gate.
- Core managed implementation is complete: #5042 — Git CLI writes and network operations established the mutating backend, and #5084 — fully managed Git backend landed the managed reader and parity coverage on
- #5131 —
calculation/outputconfiguration umbrella- #5132 — Versioned configuration, merged in #5158.
- #5133 — Migration and legacy warnings, merged in #5159.
- #5134 — Schemas and migration guidance, merged in #5160.
- Configuration foundation complete. #5135 owns v7.0 defaults/selectors; #5188 owns v7.1 legacy parser/configuration runtime removal, outside the v7.0 release gate.
- #5130 — Regex-based branch and tag exclusions
- Completed by #5147 — support regex tag exclusions and #5148 — support regex branch exclusions.
- #5135 — v7.0 defaults and feature selectors
- Managed Git is the v7.0 default, with the temporary libgit2 fallback retained.
- The configuration foundation #5131 is closed as completed; its dependency link records the satisfied prerequisite.
- Align parser, configuration, and Git-backend defaults and selector behavior for v7.0.
- Complete effective-selection logging and the documentation sweep.
- Completed by #5189 — Default to v7 feature selections and standardize compatibility selectors, merged on 2026-09-08.
- v7.1 legacy parser/configuration runtime removal is tracked separately by #5188.
- Followed by the v8 cleanup in #5136.
The configuration foundation and v7.0 selector/default alignment are complete. Remaining v7.0 delivery work is tracked in Groups 2–5; legacy implementation removal remains in the v7.1 completion group below.
Group 2 — Platform and breaking-change work
Review these after the release foundations are stable; implementation can be parallelized where independent.
-
#5210 — Evaluate .NET 11 SDK, runtime and BCL improvements: scheduled in
7.0.x, blocked by #4998; evaluate measured improvements after baseline support lands. -
#5208 — Modernize selected code using C# 12–14 features
- Completed by merged #5209 on 2026-09-15; includes selected C# 12–14 modernization and nullable-contract improvements.
-
#5219 — Azure Pipelines output variable naming: decide the compatibility policy in v7.0; removal is not approved. Retain current behavior and explicitly defer a breaking replacement if it is not justified or ready.
Group 3 — Version-calculation behavior and API capabilities
Prioritize confirmed regressions before new behavior, then complete independent feature work.
- #4654 — Incorrect
assembly-informational-versionoutput- Resolved by merged #4977, whose tokenizer supports custom numeric formats such as
0000;;''. Closure verification on currentmainconfirmed correct zero/nonzero results through both YAML configuration and CLI overrides; no further implementation is required.
- Resolved by merged #4977, whose tokenizer supports custom numeric formats such as
- #3149 — Develop version after creating a release branch
- Completed by #5192 — Track prerelease tags on unversioned release branches, merged on 2026-09-09. Develop can advance from eligible prerelease tags on release branches without a version in their names; versioned release names retain precedence.
- #4433 — Prevent increment of merged branch in GitHub workflow
- Implementation PR #5140 remains open.
- #4144 —
=semver: none|minor|major|patchbump messages - #4057 — Multiple mainline branches
- #3954 — Consistent
GIT_BRANCHhandling - #3035 —
{Sha}and{ShortSha}in branch labels- Completed by #5191 — Support commit SHA placeholders in branch labels, merged on 2026-09-09. Labels can use the commit being versioned, including historical calculations; named regex captures retain precedence. Documentation and generated schema are updated.
Group 4 — User experience and documentation
- #5187 — Improve documentation navigation and version clarity
- Completed by merged #5185: clearer navigation, version-specific guides and API references, and a consistent accessible documentation experience. Also closes #4537 — Confusing documentation version links.
- #3915 — Document TrunkBased flow: closed as completed.
Nested-configuration documentation is complete under #5134; the broader site experience is tracked separately in #5187. The init wizard (#3900) is scheduled for v7.1 and is outside the v7.0 release gate.
Group 5 — Release and CI infrastructure
-
#5220 — Evaluate MTP GitHub test annotations and job summaries:
7.0.x, optional and non-blocking. Pilot one project/job and verify adapter/reporter compatibility before rollout. -
#5221 — Import .NET test coverage into SonarCloud analysis:
7.0.x, optional and non-blocking. Verify the live analysis and ingestion path first; preserve existing coverage consumers.
The two CI improvements can proceed independently and are explicitly non-blocking for v7.0.
v7.0 completion group
Tracked in the 7.0.x milestone, including #5135:
- #5131 — Configuration implementation, migration tooling, schemas, and guidance: #5132–#5134 are complete. Later legacy-runtime removal remains in the v7.1 group.
- #5031 / #5135 — Make managed Git the v7.0 default, retaining
GITVERSION_GIT_BACKEND=libgit2as the temporary fallback. - #5135 — Complete v7.0 parser/configuration selector alignment: default to the v7 parser and nested configuration, preserve the temporary v6 fallbacks, validate selector values, and reject the retired boolean parser variable with replacement guidance.
- #5135 — Complete effective-selection logging and migration documentation without contaminating machine-readable output.
- #5187 — Improve documentation navigation and version clarity, completed by #5185.
- Release/CI foundations: #5090 — Docker Hub OIDC and #5103 — Self-repository Actions syntax.
- #3149 — Track prerelease tags on unversioned release branches, completed by #5192.
- #3035 — Support commit SHA placeholders in branch labels, completed by #5191.
- #5208 — Complete the selected C# 12–14 modernization and nullable-contract extras, delivered by merged #5209.
- #5219 — Decide Azure Pipelines output variable naming: agree the compatibility policy or explicitly retain current behavior and defer a breaking replacement.
- Optional CI improvements in
7.0.x: #5220 — MTP reporting and #5221 — SonarCloud coverage. Neither blocks the v7.0 release. - Resolve the remaining
7.0.xwork in Groups 2–5: complete each item, move it to a later milestone, or explicitly record it as optional/deferred before the v7.0 release-readiness decision.
LibGit2Sharp and legacy parser/configuration removal belong to v7.1; selector removal belongs to v8. The optional #5041 accelerator is not a v7.0 release gate.
v7.1 completion group
Tracked in the 7.1.x milestone:
- #5040 — Remove LibGit2Sharp and native binaries
- #2921 — Remote-reference operation without local branch copies: scheduled for v7.1, when managed Git is the sole backend following #5040; outside the v7.0 release gate.
- #5188 — Remove the legacy parser/configuration implementations and retain v7 compatibility diagnostics
- #3900 — Revamp the init wizard: scheduled for v7.1.
- #3981 — Trimming and AOT support
- #2138 — Core API without shell-out interoperability
Explicitly non-blocking follow-up
- #5041 — Commit-graph acceleration is scheduled in the
7.1.xmilestone and blocked by #5040 (LibGit2Sharp removal). It remains optional and must not block v7. - #5136 — Remove feature-selector environment variables is the v8 follow-up in the
8.xmilestone.
Release-management rules
- Keep this roadmap and the #2275 and #5031 umbrellas on the
7.xmilestone. Assign release-specific delivery issues to7.0.x,7.1.x, or the appropriate later milestone. - Add new v7 work to the appropriate group and as a direct sub-issue unless it belongs under an existing umbrella.
- Do not duplicate grandchildren such as #5132–#5134 or #5040–#5041 as direct sub-issues here.
- Move explicitly scheduled v7.1 work to the
7.1.xmilestone while retaining its parent hierarchy. - Before releasing v7.0, every open item must be completed, moved to a later milestone, or explicitly marked optional/deferred.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked parent issues and the 7.0.x and 7.1.x milestones; this issue is a roadmap rather than a self-contained implementation task. Review the remaining groups and blocking relationships, then confirm each item is completed, moved to a later milestone, or explicitly marked optional or deferred before release readiness is decided.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, git
- Domain
- release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100