Modules/businessdev.ALbuild.Core/Public/Compare-BcVersion.ps1

function Compare-BcVersion {
    <#
    .SYNOPSIS
        Compares two Business Central version strings.
 
    .DESCRIPTION
        Normalises both operands with ConvertTo-BcVersion and compares them, returning -1, 0 or
        1 (reference less than, equal to, or greater than difference).
 
    .PARAMETER ReferenceVersion
        The left-hand version.
 
    .PARAMETER DifferenceVersion
        The right-hand version.
 
    .EXAMPLE
        Compare-BcVersion '25.1' '25.2'
        Returns -1
 
    .OUTPUTS
        System.Int32
    #>

    [CmdletBinding()]
    [OutputType([int])]
    param(
        [Parameter(Mandatory, Position = 0)]
        [string] $ReferenceVersion,

        [Parameter(Mandatory, Position = 1)]
        [string] $DifferenceVersion
    )

    $left  = ConvertTo-BcVersion -InputObject $ReferenceVersion -Strict
    $right = ConvertTo-BcVersion -InputObject $DifferenceVersion -Strict
    return $left.CompareTo($right)
}