public string GetLatestVersion()

in genai-function-calling/semantic-kernel-dotnet/Program.cs [36:56]


    public string GetLatestVersion(
        [Description("Major version to filter by (e.g. 7, 8). Defaults to latest")] int? majorVersion = null)
    {
        using var httpClient = new HttpClient();
        var response = httpClient.GetAsync("https://artifacts.elastic.co/releases/stack.json").Result;
        var json = response.Content.ReadAsStringAsync().Result;
        var releaseData = JsonSerializer.Deserialize<ReleasesResponse>(json);

        var query = releaseData?.Releases
            // Filter out non-release versions (e.g. -rc1) and remove " GA" suffix
            .Select(r => r.Version.Replace(" GA", ""))
            .Where(v => !string.IsNullOrEmpty(v) && !v.Contains('-') && Version.TryParse(v, out _))
            .Select(v => Version.Parse(v));

        if (majorVersion.HasValue)
        {
            query = query?.Where(v => v.Major == majorVersion.Value) ?? [];
        }

        return query?.Max()?.ToString() ?? throw new Exception("No valid versions found.");
    }