Version Release Fix - October 2025

A modern, high-performance lexical analysis and parsing system with comprehensive PCRE2 support and CognitiveGraph integration

Version Release Fix - October 2025

Issue Summary

The release version was stuck on 1.0.1 and not incrementing with new commits to the main branch. This prevented:

Root Cause

The GitVersion.yml configuration file had the next-version field hardcoded to 1.0.1:

mode: Mainline
next-version: 1.0.1  # ← This was preventing GitVersion from auto-calculating versions

GitVersion is designed to automatically calculate versions based on:

By hardcoding next-version: 1.0.1, we prevented GitVersion from incrementing past this base version, even though the repository had the tag v1.0.1 at an older commit and new commits on main.

Solution Applied

Removed the next-version field entirely from GitVersion.yml:

mode: Mainline
# next-version removed - GitVersion will auto-calculate from tags
branches:
  main:
    increment: Minor  # Auto-increments minor version

Now GitVersion will:

  1. Find the latest tag (v1.0.1)
  2. Count commits since that tag
  3. Apply the increment strategy (Minor) to calculate the next version
  4. Automatically produce 1.1.0 (or higher) for new commits on main

Impact of Fix

After this PR is merged to main:

How Versioning Works Now (Automatic)

GitVersion automatically manages versioning:

For Minor Releases (Automatic)

Just merge to main - GitVersion will increment: 1.0.1 → 1.1.0 → 1.2.0 → ...

For Major Releases

Create a tag manually when needed:

git tag v2.0.0
git push --tags

For Patch Releases

Change the increment strategy temporarily in GitVersion.yml:

branches:
  main:
    increment: Patch  # Changes to patch increment

Then merge to main for 1.1.0 → 1.1.1 → 1.1.2 → ...

Why Automatic Versioning Is Better

Verification

You can verify the version that will be generated by running:

# Install GitVersion tool
dotnet tool install --global GitVersion.Tool --version 5.*

# Check the version that will be generated
dotnet-gitversion /showvariable SemVer

CI/CD Pipeline Status

Both pipelines are working correctly:

GitVersion will now automatically calculate versions based on tags and commits.