FoundationaLLM.Client.Core 0.9.7-rc332

This is a prerelease version of FoundationaLLM.Client.Core.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package FoundationaLLM.Client.Core --version 0.9.7-rc332
                    
NuGet\Install-Package FoundationaLLM.Client.Core -Version 0.9.7-rc332
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FoundationaLLM.Client.Core" Version="0.9.7-rc332" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FoundationaLLM.Client.Core" Version="0.9.7-rc332" />
                    
Directory.Packages.props
<PackageReference Include="FoundationaLLM.Client.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FoundationaLLM.Client.Core --version 0.9.7-rc332
                    
#r "nuget: FoundationaLLM.Client.Core, 0.9.7-rc332"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FoundationaLLM.Client.Core@0.9.7-rc332
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FoundationaLLM.Client.Core&version=0.9.7-rc332&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Core&version=0.9.7-rc332&prerelease
                    
Install as a Cake Tool

FoundationaLLM Core Client

The FoundationaLLM Core Client is a .NET client library that simplifies the process of interacting with the FoundationaLLM Core API. The client library provides a set of classes and methods that allow you to interact with the FoundationaLLM Core API in a more intuitive way.

This library contains two primary classes:

  • CoreRESTClient: A class that provides a set of methods for interacting with the FoundationaLLM Core API using REST. This is considered the low-level client and provides direct access to all Core API endpoints.
  • CoreClient: A class that provides a set of methods for interacting with the FoundationaLLM Core API using a higher-level abstraction. This class is designed to simplify the process of interacting with the Core API by providing a more intuitive interface. It does not contain all the methods available in the CoreRESTClient class, but it provides a more user-friendly way to interact with the Core API.

These two classes are mutually exclusive, and you should choose one based on your requirements. If you need direct access to all Core API endpoints, use the CoreRESTClient class. If you need a more user-friendly interface, use the CoreClient class.

Getting started

If you do not have FoundationaLLM deployed, follow the Quick Start Deployment instructions to get FoundationaLLM deployed in your Azure subscription.

Install the NuGet package:

dotnet add package FoundationaLLM.Client.Core

Manual service instantiation

Complete the following steps if you do not want to use dependency injection:

  1. Create a new instance of the CoreRESTClient and CoreClient classes:

    var coreUri = "<YOUR_CORE_API_URL>"; // e.g., "https://myfoundationallmcoreapi.com"
    var instanceId = "<YOUR_INSTANCE_ID>"; // Each FoundationaLLM deployment has a unique (GUID) ID. Locate this value in the FoundationaLLM Management Portal or in Azure App Config (FoundationaLLM:Instance:Id key)
    
    var credential = new AzureCliCredential(); // Can use any TokenCredential implementation, such as ManagedIdentityCredential or AzureCliCredential.
    var options = new APIClientSettings // Optional settings parameter. Default timeout is 900 seconds.
    {
        Timeout = TimeSpan.FromSeconds(600)
    };
    
    var coreRestClient = new CoreRESTClient(
        coreUri,
        credential,
        instanceId,
        options);
    var coreClient = new CoreClient(
        coreUri,
        credential,
        instanceId,
        options);
    
  2. Make a request to the Core API with the CoreRESTClient class:

    var status = await coreRestClient.Status.GetServiceStatusAsync();
    
  3. Make a request to the Core API with the CoreClient class:

    var results = await coreClient.GetAgentsAsync();
    

You can use the FoundationaLLM.Common.Authentication.DefaultAuthentication class to generate the TokenCredential. This class sets the AzureCredential property using the ManagedIdentityCredential when running in a production environment (production parameter of the Initialize method) and the AzureCliCredential when running in a development environment.

Example:

DefaultAuthentication.Initialize(false, "Test"); var credentials = DefaultAuthentication.AzureCredential;

Use dependency injection with a configuration file

Rather than manually instantiating the CoreRESTClient and CoreClient classes, you can use dependency injection to manage the instances. This approach is more flexible and allows you to easily switch between different implementations of the ICoreClient and ICoreRESTClient interfaces.

  1. Create a configuration file (e.g., appsettings.json) with the following content:

    {
        "FoundationaLLM": {
            "APIEndpoints": {
     	        "CoreAPI": {
     	            "Essentials": {
     	                "APIUrl": "https://localhost:63279/"
                    }
     		    },
            },
            "Instance": {
                "Id": "00000000-0000-0000-0000-000000000000"
            }
        }
    }
    
  2. Read the configuration file:

    var configuration = new ConfigurationBuilder()
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
        .Build();
    
  3. Use the CoreClient extension method to add the CoreClient and CoreRESTClient to the service collection:

    var services = new ServiceCollection();
    var credential = new AzureCliCredential(); // Can use any TokenCredential implementation, such as ManagedIdentityCredential or AzureCliCredential.
    services.AddCoreClient(
        configuration[AppConfigurationKeys.FoundationaLLM_APIEndpoints_CoreAPI_Essentials_APIUrl]!,
        credential,
        configuration[AppConfigurationKeys.FoundationaLLM_Instance_Id]!);
    
    var serviceProvider = services.BuildServiceProvider();
    
  4. Retrieve the CoreClient and CoreRESTClient instances from the service provider:

    var coreClient = serviceProvider.GetRequiredService<ICoreClient>();
    var coreRestClient = serviceProvider.GetRequiredService<ICoreRESTClient>();
    

Alternately, you can inject the CoreClient and CoreRESTClient instances directly into your classes using dependency injection.

public class MyService
{
    private readonly ICoreClient _coreClient;
    private readonly ICoreRESTClient _coreRestClient;

    public MyService(ICoreClient coreClient, ICoreRESTClient coreRestClient)
    {
        _coreClient = coreClient;
        _coreRestClient = coreRestClient;
    }
}

Use dependency injection with Azure App Configuration

If you prefer to retrieve the configuration settings from Azure App Configuration, you can use the Microsoft.Azure.AppConfiguration.AspNetCore or Microsoft.Extensions.Configuration.AzureAppConfiguration package to retrieve the configuration settings from Azure App Configuration.

  1. Connect to Azure App Configuration:

    var configuration = new ConfigurationBuilder()
        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
        .AddEnvironmentVariables()
        .AddAzureAppConfiguration(options =>
        {
            options.Connect("<connection-string>");
            options.ConfigureKeyVault(kv =>
            {
                kv.SetCredential(Credentials);
            });
            options.Select(AppConfigurationKeyFilters.FoundationaLLM_Instance);
            options.Select(AppConfigurationKeyFilters.FoundationaLLM_APIEndpoints_CoreAPI_Essentials);
        })
        .Build();
    

    If you have configured your local development environment, you can obtain the App Config connection string from an environment variable (Environment.GetEnvironmentVariable(EnvironmentVariables.FoundationaLLM_AppConfig_ConnectionString)) when developing locally.

  2. Use the CoreClient extension method to add the CoreClient and CoreRESTClient to the service collection:

    var services = new ServiceCollection();
    var credential = new AzureCliCredential(); // Can use any TokenCredential implementation, such as ManagedIdentityCredential or AzureCliCredential.
    
    services.AddCoreClient(
        configuration[AppConfigurationKeys.FoundationaLLM_APIEndpoints_CoreAPI_Essentials_APIUrl]!,
        credential,
        configuration[AppConfigurationKeys.FoundationaLLM_Instance_Id]!);
    
  3. Retrieve the CoreClient and CoreRESTClient instances from the service provider:

    var coreClient = serviceProvider.GetRequiredService<ICoreClient>();
    var coreRestClient = serviceProvider.GetRequiredService<ICoreRESTClient>();
    

Example projects

The Core.Examples test project contains several examples that demonstrate how to use the CoreClient and CoreRESTClient classes to interact with the Core API through a series of end-to-end tests.

FoundationaLLM: The platform for deploying, scaling, securing and governing generative AI in the enterprises 🚀

License

FoundationaLLM provides the platform for deploying, scaling, securing and governing generative AI in the enterprise. With FoundationaLLM you can:

  • Create AI agents that are grounded in your enterprise data, be that text, semi-structured or structured data.
  • Make AI agents available to your users through a branded chat interface or integrate the REST API to the AI agent into your application for a copilot experience or integrate the Agent API in a machine-to-machine automated process.
  • Experiment building agents that can use a variety of large language models including OpenAI GPT-4, Mistral and Llama 2 or any models pulled from the Hugging Face model catalog that provide a REST completions endpoint.
  • Centrally manage, configure and secure your AI agents AND their underlying assets including prompts, data sources, vectorization data pipelines, vector databases and large language models using the management portal.
  • Enable everyone in your enterprise to create their own AI agents. Your non-developer users can create and deploy their own agents in a self-service fashion from the management portal, but we don't get in the way of your advanced AI developers who can deploy their own orchestrations built in LangChain, Semantic Kernel, Prompt Flow or any orchestration that exposes a completions endpoint.
  • Deploy and manage scalable vectorization data pipelines that can ingest millions of documents to provide knowledge to your model.
  • Empower your users with as many task-focused AI agents as desired.
  • Control access to the AI agents and the resources they access using role-based access controls (RBAC).
  • Harness the rapidly evolving capabilities from Azure AI and Azure OpenAI from one integrated stack.

FoundationaLLM is not a large language model. It enables you to use the large language models of your choice (e.g., OpenAI GPT-4, Mistral, LLama 2, etc.)

FoundationaLLM deploys a secure, comprehensive and highly configurable copilot platform to your Azure cloud environment:

  • Simplifies integration with enterprise data sources used by agent for in-context learning (e.g., enabling RAG, CoT, ReAct and inner monologue patterns).
  • Provides defense in depth with fine-grain security controls over data used by agent and pre/post completion filters that guard against attack.
  • Hardened solution attacked by an LLM red team from inception.
  • Scalable solution load balances across multiple LLM endpoints.
  • Extensible to new data sources, new LLM orchestrators and LLMs.

Why is FoundationaLLM Needed?

Simply put we saw a lot of folks reinventing the wheel just to get a customized copilot or AI agent that was grounded and bases its responses in their own data as opposed to the trained parametric knowledge of the model. Many of the solutions we saw made for great demos, but were effectively toys wrapping calls to OpenAI endpoints- they were not something intended or ready to take into production at enterprise scale. We built FoundationaLLM to provide a continuous journey, one that was quick to get started with so folks could experiment quickly with LLM's but not fall off a cliff after that with a solution that would be insecure, unlicensed, inflexible and not fully featured enough to grow from the prototype into a production solution without having to start all over.

The core problems to deliver enterprise copilots or AI agents are:

  • Enterprise grade copilots or AI agents are complex and have lots of moving parts (not to mention infrastructure).
  • The industry has a skills gap when it comes to filling the roles needed to deliver these complex copilot solutions.
  • The top AI risks (inaccuracy, cybersecurity, compliance, explainability, privacy) are not being mitigated by individual tools.
  • Delivery of a copilot or AI agent solution is time consuming, expensive and frustrating when starting from scratch.

Documentation

Get up to speed with FoundationaLLM by reading the documentation. This includes deployment instructions, quickstarts, architecture, and API references.

Getting Started

FoundationaLLM provides a simple command line driven approach to getting your first deployment up and running. Basically, it's two commands. After that, you can customize the solution, run it locally on your machine and update the deployment with your customizations.

Follow the Quick Start Deployment instructions to get FoundationaLLM deployed in your Azure subscription.

Reporting Issues and Support

If you encounter any issues with FoundationaLLM, please open an issue on GitHub. We will respond to your issue as soon as possible. Please use the Labels (bug, documentation, general question, release x.x.x) to categorize your issue and provide as much detail as possible to help us understand and resolve the issue.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on FoundationaLLM.Client.Core:

Package Downloads
FoundationaLLM.Core.Examples

FoundationaLLM.Core.Examples contains custom development examples packaged as tests.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.9.7-rc356 0 9/5/2025
0.9.7-rc355 0 9/5/2025
0.9.7-rc354 0 9/5/2025
0.9.7-rc353 0 9/5/2025
0.9.7-rc352 0 9/5/2025
0.9.7-rc351 0 9/5/2025
0.9.7-rc350 60 9/5/2025
0.9.7-rc349 58 9/5/2025
0.9.7-rc348 59 9/4/2025
0.9.7-rc347 61 9/4/2025
0.9.7-rc346 64 9/4/2025
0.9.7-rc345 61 9/3/2025
0.9.7-rc344 74 9/3/2025
0.9.7-rc343 73 9/3/2025
0.9.7-rc342 76 9/3/2025
0.9.7-rc341 69 9/3/2025
0.9.7-rc340 72 9/3/2025
0.9.7-rc339 78 9/3/2025
0.9.7-rc338 75 9/3/2025
0.9.7-rc337 72 9/2/2025
0.9.7-rc336 71 9/2/2025
0.9.7-rc335 73 9/2/2025
0.9.7-rc334 69 9/2/2025
0.9.7-rc333 71 9/2/2025
0.9.7-rc332 70 9/2/2025
0.9.7-rc331 73 9/2/2025
0.9.7-rc330 85 9/1/2025
0.9.7-rc329 82 8/31/2025
0.9.7-rc328 79 8/31/2025
0.9.7-rc327 80 8/31/2025
0.9.7-rc326 81 8/31/2025
0.9.7-rc325 98 8/31/2025
0.9.7-rc324 154 8/29/2025
0.9.7-rc323 156 8/29/2025
0.9.7-rc322 159 8/29/2025
0.9.7-rc321 159 8/29/2025
0.9.7-rc320 163 8/29/2025
0.9.7-rc319 166 8/28/2025
0.9.7-rc318 171 8/28/2025
0.9.7-rc317 170 8/28/2025
0.9.7-rc316 174 8/26/2025
0.9.7-rc315 171 8/26/2025
0.9.7-rc314 175 8/26/2025
0.9.7-rc313 176 8/26/2025
0.9.7-rc312 173 8/26/2025
0.9.7-rc311 195 8/26/2025
0.9.7-rc310 191 8/26/2025
0.9.7-rc309 146 8/25/2025
0.9.7-rc308 144 8/25/2025
0.9.7-rc307 141 8/25/2025
0.9.7-rc306 140 8/25/2025
0.9.7-rc305 262 8/25/2025
0.9.7-rc304 262 8/25/2025
0.9.7-rc303 235 8/25/2025
0.9.7-rc302 235 8/25/2025
0.9.7-rc301 58 8/22/2025
0.9.7-rc300 65 8/22/2025
0.9.7-rc299 92 8/22/2025
0.9.7-rc298 96 8/22/2025
0.9.7-rc297 119 8/21/2025
0.9.7-rc296 120 8/21/2025
0.9.7-rc295 118 8/21/2025
0.9.7-rc293 123 8/21/2025
0.9.7-rc292 119 8/21/2025
0.9.7-rc291 118 8/21/2025
0.9.7-rc290 121 8/20/2025
0.9.7-rc289 125 8/19/2025
0.9.7-rc288 123 8/19/2025
0.9.7-rc287 123 8/19/2025
0.9.7-rc286 122 8/19/2025
0.9.7-rc285 122 8/18/2025
0.9.7-rc284 123 8/18/2025
0.9.7-rc283 125 8/18/2025
0.9.7-rc282 122 8/18/2025
0.9.7-rc281 121 8/18/2025
0.9.7-rc280 121 8/18/2025
0.9.7-rc279 120 8/18/2025
0.9.7-rc278 121 8/18/2025
0.9.7-rc277 124 8/18/2025
0.9.7-rc276 119 8/18/2025
0.9.7-rc275 124 8/18/2025
0.9.7-rc274 123 8/18/2025
0.9.7-rc273 123 8/17/2025
0.9.7-rc272 100 8/16/2025
0.9.7-rc271 123 8/10/2025
0.9.7-rc270 86 8/9/2025
0.9.7-rc269 113 8/9/2025
0.9.7-rc268 113 8/9/2025
0.9.7-rc267 117 8/9/2025
0.9.7-rc266 128 8/8/2025
0.9.7-rc265 138 8/8/2025
0.9.7-rc264 142 8/8/2025
0.9.7-rc263 170 8/8/2025
0.9.7-rc262 173 8/8/2025
0.9.7-rc261 169 8/8/2025
0.9.7-rc260 179 8/8/2025
0.9.7-rc259 205 8/7/2025
0.9.7-rc258 173 8/4/2025
0.9.7-rc257 157 8/4/2025
0.9.7-rc256 104 7/27/2025
0.9.7-rc255 445 7/24/2025
0.9.7-rc254 485 7/22/2025
0.9.7-rc253 478 7/22/2025
0.9.7-rc252 438 7/21/2025
0.9.7-rc251 369 7/21/2025
0.9.7-rc250 293 7/20/2025
0.9.7-rc249.1 292 7/20/2025
0.9.7-rc249 212 7/20/2025
0.9.7-rc248.1 154 8/29/2025
0.9.7-rc248 47 7/18/2025
0.9.7-rc247 47 7/18/2025
0.9.7-rc246 55 7/18/2025
0.9.7-rc245 58 7/18/2025
0.9.7-rc244 80 7/18/2025
0.9.7-rc243 85 7/18/2025
0.9.7-rc242 86 7/18/2025
0.9.7-rc241 117 7/17/2025
0.9.7-rc240 117 7/17/2025
0.9.7-rc239 116 7/17/2025
0.9.7-rc238 114 7/17/2025
0.9.7-rc237 113 7/17/2025
0.9.7-rc236 118 7/17/2025
0.9.7-rc235 115 7/17/2025
0.9.7-rc234 134 7/16/2025
0.9.7-rc233 135 7/16/2025
0.9.7-rc232 129 7/16/2025
0.9.7-rc231 144 7/16/2025
0.9.7-rc230 131 7/16/2025
0.9.7-rc229 134 7/16/2025
0.9.7-rc228 140 7/16/2025
0.9.7-rc227 134 7/16/2025
0.9.7-rc226 135 7/16/2025
0.9.7-rc225 139 7/15/2025
0.9.7-rc224 134 7/15/2025
0.9.7-rc223 134 7/15/2025
0.9.7-rc222 136 7/15/2025
0.9.7-rc220 142 7/10/2025
0.9.7-rc219 138 7/10/2025
0.9.7-rc218 137 7/10/2025
0.9.7-rc217 143 7/10/2025
0.9.7-rc216 140 7/10/2025
0.9.7-rc215 133 7/10/2025
0.9.7-rc214 131 7/9/2025
0.9.7-rc213 139 7/8/2025
0.9.7-rc212 136 7/8/2025
0.9.7-rc211 138 7/8/2025
0.9.7-rc208 138 7/8/2025
0.9.7-rc207 140 7/8/2025
0.9.7-rc206 135 7/8/2025
0.9.7-rc205 136 7/7/2025
0.9.7-rc204 136 7/7/2025
0.9.7-rc203 142 7/7/2025
0.9.7-rc202 135 7/7/2025
0.9.7-rc201 136 7/7/2025
0.9.7-rc200 137 7/3/2025
0.9.7-rc199 140 7/3/2025
0.9.7-rc198 140 7/3/2025
0.9.7-rc197 140 7/3/2025
0.9.7-rc196 134 7/2/2025
0.9.7-rc195 136 7/2/2025
0.9.7-rc194 135 7/1/2025
0.9.7-rc193 131 7/1/2025
0.9.7-rc192 136 7/1/2025
0.9.7-rc191 143 6/30/2025
0.9.7-rc190 135 6/30/2025
0.9.7-rc188 134 6/26/2025
0.9.7-rc187 139 6/26/2025
0.9.7-rc186 134 6/26/2025
0.9.7-rc185 134 6/26/2025
0.9.7-rc184 137 6/24/2025
0.9.7-rc181 143 6/23/2025
0.9.7-rc180 137 6/23/2025
0.9.7-rc179 138 6/23/2025
0.9.7-rc178 137 6/23/2025
0.9.7-rc177 74 6/20/2025
0.9.7-rc176 74 6/20/2025
0.9.7-rc175 74 6/20/2025
0.9.7-rc174 82 6/20/2025
0.9.7-rc173 78 6/20/2025
0.9.7-rc172 136 6/19/2025
0.9.7-rc171 142 6/19/2025
0.9.7-rc170 145 6/19/2025
0.9.7-rc169 139 6/19/2025
0.9.7-rc168 141 6/19/2025
0.9.7-rc167 145 6/19/2025
0.9.7-rc166 137 6/17/2025
0.9.7-rc165 141 6/17/2025
0.9.7-rc164 141 6/16/2025
0.9.7-rc163 136 6/16/2025
0.9.7-rc162 139 6/16/2025
0.9.7-rc161 145 6/15/2025
0.9.7-rc160 211 6/13/2025
0.9.7-rc159 230 6/13/2025
0.9.7-rc158 284 6/12/2025
0.9.7-rc157 292 6/11/2025
0.9.7-rc156 280 6/11/2025
0.9.7-rc155 283 6/10/2025
0.9.7-rc154 286 6/10/2025
0.9.7-rc153 289 6/10/2025
0.9.7-rc152 288 6/10/2025
0.9.7-rc151 285 6/10/2025
0.9.7-rc150.4 445 7/23/2025
0.9.7-rc150.3 118 6/23/2025
0.9.7-rc150.2 121 6/23/2025
0.9.7-rc150 284 6/10/2025
0.9.7-rc149 264 6/9/2025
0.9.7-rc148 265 6/9/2025
0.9.7-rc147 263 6/9/2025
0.9.7-rc146 260 6/9/2025
0.9.7-rc145 266 6/9/2025
0.9.7-rc144 239 6/9/2025
0.9.7-rc143 201 6/8/2025
0.9.7-rc142 200 6/8/2025
0.9.7-rc141 118 6/8/2025
0.9.7-rc140 113 6/7/2025
0.9.7-rc139 105 6/6/2025
0.9.7-rc138 112 6/6/2025
0.9.7-rc137 109 6/6/2025
0.9.7-rc136 143 6/5/2025
0.9.7-rc135 142 6/5/2025
0.9.7-rc134 144 6/5/2025
0.9.7-rc133 138 6/5/2025
0.9.7-rc132 143 6/5/2025
0.9.7-rc131 140 6/5/2025
0.9.7-rc130 143 6/5/2025
0.9.7-rc129 151 6/5/2025
0.9.7-rc128 140 6/4/2025
0.9.7-rc127 150 6/4/2025
0.9.7-rc126 132 6/4/2025
0.9.7-rc125 149 6/4/2025
0.9.7-rc124 147 6/3/2025
0.9.7-rc123 139 6/3/2025
0.9.7-rc122 140 6/3/2025
0.9.7-rc121 144 6/3/2025
0.9.7-rc120 147 6/3/2025
0.9.7-rc119 146 6/2/2025
0.9.7-rc118 143 6/2/2025
0.9.7-rc117 141 6/2/2025
0.9.7-rc116 114 5/30/2025
0.9.7-rc115 146 5/30/2025
0.9.7-rc114 147 5/29/2025
0.9.7-rc113 150 5/29/2025
0.9.7-rc112 149 5/29/2025
0.9.7-rc111 151 5/29/2025
0.9.7-rc110 150 5/29/2025
0.9.7-rc109 147 5/28/2025
0.9.7-rc108 146 5/28/2025
0.9.7-rc107 147 5/27/2025
0.9.7-rc106 144 5/27/2025
0.9.7-rc105 147 5/27/2025
0.9.7-rc104 151 5/26/2025
0.9.7-rc103 151 5/25/2025
0.9.7-rc102 153 5/25/2025
0.9.7-rc101 69 5/24/2025
0.9.7-rc100 102 5/23/2025
0.9.7-ex331 74 9/2/2025
0.9.7-beta159 147 5/20/2025
0.9.7-beta158 179 5/16/2025
0.9.7-beta157 239 5/13/2025
0.9.7-beta156 223 5/12/2025
0.9.7-beta155 150 5/6/2025
0.9.7-beta154 154 5/6/2025
0.9.7-beta153 150 5/5/2025
0.9.7-beta152 154 4/30/2025
0.9.7-beta151 179 4/21/2025
0.9.7-beta150 176 4/21/2025
0.9.7-beta149 177 4/20/2025
0.9.7-beta148 152 4/18/2025
0.9.7-beta147 193 4/17/2025
0.9.7-beta146 198 4/17/2025
0.9.7-beta145 120 4/11/2025
0.9.7-beta144 132 4/11/2025
0.9.7-beta143 148 4/11/2025
0.9.7-beta142 136 4/11/2025
0.9.7-beta141 134 4/11/2025
0.9.7-beta140 172 4/10/2025
0.9.7-beta139 165 4/10/2025
0.9.7-beta138 169 4/9/2025
0.9.7-beta137 160 4/3/2025
0.9.7-beta136 155 4/2/2025
0.9.7-beta135 175 4/2/2025
0.9.7-beta134 159 4/2/2025
0.9.7-beta133 160 4/2/2025
0.9.7-beta132 167 4/2/2025
0.9.7-beta131 159 4/1/2025
0.9.7-beta130 171 4/1/2025
0.9.7-beta129 172 3/31/2025
0.9.7-beta128 164 3/31/2025
0.9.7-beta127 161 3/30/2025
0.9.7-beta126 158 3/30/2025
0.9.7-beta125 472 3/26/2025
0.9.7-beta124 476 3/26/2025
0.9.7-beta123 478 3/26/2025
0.9.7-beta122 477 3/25/2025
0.9.7-beta121 479 3/25/2025
0.9.7-beta120 471 3/25/2025
0.9.7-beta119 483 3/25/2025
0.9.7-beta118 480 3/25/2025
0.9.7-beta117 483 3/25/2025
0.9.7-beta116 492 3/24/2025
0.9.7-beta115 411 3/24/2025
0.9.7-beta114 274 3/23/2025
0.9.7-beta113 103 3/21/2025
0.9.7-beta112 124 3/21/2025
0.9.7-beta111 161 3/19/2025
0.9.7-beta110 163 3/19/2025
0.9.7-beta109 160 3/18/2025
0.9.7-beta108 156 3/17/2025
0.9.7-beta107 153 3/17/2025
0.9.7-beta106 169 3/17/2025
0.9.7-beta105 160 3/13/2025
0.9.7-beta104 164 3/12/2025
0.9.7-beta103 179 3/11/2025
0.9.7-beta102 169 3/9/2025
0.9.7-beta101 217 3/7/2025
0.9.7-beta100 212 3/5/2025
0.9.6 233 3/3/2025
0.9.6-rc100 108 2/28/2025
0.9.5 128 2/26/2025
0.9.5-rc102 106 2/25/2025
0.9.5-rc101 114 2/24/2025
0.9.5-rc100 119 2/23/2025
0.9.4 127 2/21/2025
0.9.3 129 2/17/2025
0.9.3-rc018 117 2/17/2025
0.9.3-rc017 114 2/12/2025
0.9.3-rc016 115 2/12/2025
0.9.3-rc015 118 2/7/2025
0.9.3-rc014 105 2/6/2025
0.9.3-rc013 107 2/5/2025
0.9.3-rc012 118 2/5/2025
0.9.3-rc011 117 2/5/2025
0.9.3-rc010 114 2/5/2025
0.9.3-rc009 119 2/4/2025
0.9.3-rc008 116 2/4/2025
0.9.3-rc007 111 2/4/2025
0.9.3-rc006 117 2/3/2025
0.9.3-rc005 116 2/3/2025
0.9.3-rc004 111 1/31/2025
0.9.3-rc003 116 1/30/2025
0.9.3-rc002 106 1/29/2025
0.9.3-rc001 98 1/29/2025
0.9.2 104 1/24/2025
0.9.2-rc007 90 1/24/2025
0.9.2-rc006 101 1/23/2025
0.9.2-rc005 94 1/23/2025
0.9.2-rc004 94 1/23/2025
0.9.2-rc003 93 1/23/2025
0.9.2-rc002 95 1/23/2025
0.9.2-rc001 95 1/22/2025
0.9.2-a001 121 1/21/2025
0.9.1 121 1/21/2025
0.9.1-rc131 106 1/19/2025
0.9.1-rc130 107 1/19/2025
0.9.1-rc129 106 1/19/2025
0.9.1-rc128 102 1/18/2025
0.9.1-rc127 101 1/18/2025
0.9.1-rc126 111 1/17/2025
0.9.1-rc125 110 1/17/2025
0.9.1-rc124 106 1/16/2025
0.9.1-rc123 105 1/15/2025
0.9.1-rc122 96 1/14/2025
0.9.1-rc121 99 1/14/2025
0.9.1-rc120 106 1/14/2025
0.9.1-rc118 107 1/13/2025
0.9.1-rc117 111 1/13/2025
0.9.1-rc116 97 1/8/2025
0.9.1-rc115 109 1/2/2025
0.9.1-rc114 109 12/24/2024
0.9.1-rc113 110 12/23/2024
0.9.1-rc112 117 12/22/2024
0.9.1-rc111 116 12/22/2024
0.9.1-rc110 110 12/21/2024
0.9.1-rc109 112 12/21/2024
0.9.1-rc108 112 12/21/2024
0.9.1-rc107 119 12/20/2024
0.9.1-rc106 111 12/20/2024
0.9.1-rc105 113 12/19/2024
0.9.1-rc104 106 12/19/2024
0.9.1-rc100 118 12/16/2024
0.9.1-alpha4 120 12/15/2024
0.9.1-alpha3 118 12/15/2024
0.9.0-rc3 112 12/9/2024
0.9.0-rc2 116 12/9/2024
0.9.0-alpha5 115 11/28/2024
0.9.0-alpha1 108 11/27/2024
0.8.4 132 11/20/2024
0.8.3 158 9/18/2024
0.8.2 135 9/3/2024
0.8.2-alpha2 119 9/23/2024
0.8.1 167 8/23/2024
0.8.1-alpha2 122 9/18/2024