FoundationaLLM.Client.Core 0.9.7-rc376

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-rc376
                    
NuGet\Install-Package FoundationaLLM.Client.Core -Version 0.9.7-rc376
                    
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-rc376" />
                    
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-rc376" />
                    
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-rc376
                    
#r "nuget: FoundationaLLM.Client.Core, 0.9.7-rc376"
                    
#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-rc376
                    
#: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-rc376&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Core&version=0.9.7-rc376&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-rc428 21 10/1/2025
0.9.7-rc418 57 9/29/2025
0.9.7-rc408 88 9/26/2025
0.9.7-rc407 95 9/26/2025
0.9.7-rc406 138 9/25/2025
0.9.7-rc405 136 9/25/2025
0.9.7-rc404 133 9/25/2025
0.9.7-rc403 138 9/25/2025
0.9.7-rc402 145 9/24/2025
0.9.7-rc401 147 9/23/2025
0.9.7-rc400 139 9/23/2025
0.9.7-rc399 135 9/23/2025
0.9.7-rc398 137 9/23/2025
0.9.7-rc397 140 9/23/2025
0.9.7-rc396 138 9/23/2025
0.9.7-rc395 134 9/23/2025
0.9.7-rc394 149 9/23/2025
0.9.7-rc393 161 9/22/2025
0.9.7-rc392 147 9/22/2025
0.9.7-rc391 147 9/22/2025
0.9.7-rc390 155 9/22/2025
0.9.7-rc389 157 9/22/2025
0.9.7-rc388 159 9/22/2025
0.9.7-rc387 169 9/22/2025
0.9.7-rc386 156 9/22/2025
0.9.7-rc385 181 9/22/2025
0.9.7-rc384 201 9/22/2025
0.9.7-rc383 198 9/19/2025
0.9.7-rc382 272 9/17/2025
0.9.7-rc381 269 9/17/2025
0.9.7-rc380 276 9/16/2025
0.9.7-rc379 271 9/16/2025
0.9.7-rc378 267 9/16/2025
0.9.7-rc377 279 9/16/2025
0.9.7-rc376 269 9/16/2025
0.9.7-rc375 271 9/16/2025
0.9.7-rc374 268 9/16/2025
0.9.7-rc373 224 9/15/2025
0.9.7-rc372 87 9/12/2025
0.9.7-rc371 107 9/12/2025
0.9.7-rc370 117 9/12/2025
0.9.7-rc369 108 9/12/2025
0.9.7-rc368 140 9/11/2025
0.9.7-rc367 131 9/10/2025
0.9.7-rc366 129 9/10/2025
0.9.7-rc365 129 9/10/2025
0.9.7-rc364 127 9/9/2025
0.9.7-rc363 126 9/9/2025
0.9.7-rc362 133 9/9/2025
0.9.7-rc361 132 9/9/2025
0.9.7-rc360 126 9/9/2025
0.9.7-rc359 130 9/9/2025
0.9.7-rc358 130 9/9/2025
0.9.7-rc357 132 9/8/2025
0.9.7-rc356 82 9/5/2025
0.9.7-rc355 95 9/5/2025
0.9.7-rc354 108 9/5/2025
0.9.7-rc353 99 9/5/2025
0.9.7-rc352 104 9/5/2025
0.9.7-rc351 105 9/5/2025
0.9.7-rc350 146 9/5/2025
0.9.7-rc349 154 9/5/2025
0.9.7-rc348 142 9/4/2025
0.9.7-rc347 139 9/4/2025
0.9.7-rc346 143 9/4/2025
0.9.7-rc345 140 9/3/2025
0.9.7-rc344 142 9/3/2025
0.9.7-rc343 151 9/3/2025
0.9.7-rc342 146 9/3/2025
0.9.7-rc341 137 9/3/2025
0.9.7-rc340 139 9/3/2025
0.9.7-rc339 144 9/3/2025
0.9.7-rc338 144 9/3/2025
0.9.7-rc337 138 9/2/2025
0.9.7-rc336 136 9/2/2025
0.9.7-rc335 138 9/2/2025
0.9.7-rc334 124 9/2/2025
0.9.7-rc333 126 9/2/2025
0.9.7-rc332 124 9/2/2025
0.9.7-rc331 128 9/2/2025
0.9.7-rc330 134 9/1/2025
0.9.7-rc329 131 8/31/2025
0.9.7-rc328 139 8/31/2025
0.9.7-rc327 140 8/31/2025
0.9.7-rc326 130 8/31/2025
0.9.7-rc325 147 8/31/2025
0.9.7-rc324 160 8/29/2025
0.9.7-rc323 161 8/29/2025
0.9.7-rc322 164 8/29/2025
0.9.7-rc321 176 8/29/2025
0.9.7-rc320 179 8/29/2025
0.9.7-rc319 173 8/28/2025
0.9.7-rc318 177 8/28/2025
0.9.7-rc317 178 8/28/2025
0.9.7-rc316 181 8/26/2025
0.9.7-rc315 177 8/26/2025
0.9.7-rc314 192 8/26/2025
0.9.7-rc313 182 8/26/2025
0.9.7-rc312 178 8/26/2025
0.9.7-rc311 201 8/26/2025
0.9.7-rc310 198 8/26/2025
0.9.7-rc309 151 8/25/2025
0.9.7-rc308 149 8/25/2025
0.9.7-rc307 146 8/25/2025
0.9.7-rc306 145 8/25/2025
0.9.7-rc305 278 8/25/2025
0.9.7-rc304 277 8/25/2025
0.9.7-rc303 239 8/25/2025
0.9.7-rc302 241 8/25/2025
0.9.7-rc301 74 8/22/2025
0.9.7-rc300 69 8/22/2025
0.9.7-rc299 97 8/22/2025
0.9.7-rc298 101 8/22/2025
0.9.7-rc297 124 8/21/2025
0.9.7-rc296 124 8/21/2025
0.9.7-rc295 133 8/21/2025
0.9.7-rc293 128 8/21/2025
0.9.7-rc292 123 8/21/2025
0.9.7-rc291 124 8/21/2025
0.9.7-rc290 126 8/20/2025
0.9.7-rc289 138 8/19/2025
0.9.7-rc288 126 8/19/2025
0.9.7-rc287 127 8/19/2025
0.9.7-rc286 135 8/19/2025
0.9.7-rc285 126 8/18/2025
0.9.7-rc284 127 8/18/2025
0.9.7-rc283 128 8/18/2025
0.9.7-rc282 126 8/18/2025
0.9.7-rc281 126 8/18/2025
0.9.7-rc280 135 8/18/2025
0.9.7-rc279 124 8/18/2025
0.9.7-rc278 124 8/18/2025
0.9.7-rc277 127 8/18/2025
0.9.7-rc276 123 8/18/2025
0.9.7-rc275 127 8/18/2025
0.9.7-rc274 127 8/18/2025
0.9.7-rc273 137 8/17/2025
0.9.7-rc272 104 8/16/2025
0.9.7-rc271 126 8/10/2025
0.9.7-rc270 91 8/9/2025
0.9.7-rc269 116 8/9/2025
0.9.7-rc268 117 8/9/2025
0.9.7-rc267 121 8/9/2025
0.9.7-rc266 142 8/8/2025
0.9.7-rc265 143 8/8/2025
0.9.7-rc264 145 8/8/2025
0.9.7-rc263 183 8/8/2025
0.9.7-rc262 177 8/8/2025
0.9.7-rc261 173 8/8/2025
0.9.7-rc260 185 8/8/2025
0.9.7-rc259 219 8/7/2025
0.9.7-rc258 176 8/4/2025
0.9.7-rc257 171 8/4/2025
0.9.7-rc256 128 7/27/2025
0.9.7-rc255 469 7/24/2025
0.9.7-rc254 524 7/22/2025
0.9.7-rc253 520 7/22/2025
0.9.7-rc252 490 7/21/2025
0.9.7-rc251 413 7/21/2025
0.9.7-rc250 318 7/20/2025
0.9.7-rc249.1 297 7/20/2025
0.9.7-rc249 234 7/20/2025
0.9.7-rc248.1 159 8/29/2025
0.9.7-rc248 67 7/18/2025
0.9.7-rc247 67 7/18/2025
0.9.7-rc246 75 7/18/2025
0.9.7-rc245 78 7/18/2025
0.9.7-rc244 100 7/18/2025
0.9.7-rc243 105 7/18/2025
0.9.7-rc242 106 7/18/2025
0.9.7-rc241 137 7/17/2025
0.9.7-rc240 147 7/17/2025
0.9.7-rc239 137 7/17/2025
0.9.7-rc238 135 7/17/2025
0.9.7-rc237 133 7/17/2025
0.9.7-rc236 149 7/17/2025
0.9.7-rc235 135 7/17/2025
0.9.7-rc234 138 7/16/2025
0.9.7-rc233 148 7/16/2025
0.9.7-rc232 132 7/16/2025
0.9.7-rc231 147 7/16/2025
0.9.7-rc230 135 7/16/2025
0.9.7-rc229 137 7/16/2025
0.9.7-rc228 152 7/16/2025
0.9.7-rc227 137 7/16/2025
0.9.7-rc226 138 7/16/2025
0.9.7-rc225 152 7/15/2025
0.9.7-rc224 138 7/15/2025
0.9.7-rc223 148 7/15/2025
0.9.7-rc222 140 7/15/2025
0.9.7-rc220 157 7/10/2025
0.9.7-rc219 140 7/10/2025
0.9.7-rc218 149 7/10/2025
0.9.7-rc217 146 7/10/2025
0.9.7-rc216 160 7/10/2025
0.9.7-rc215 135 7/10/2025
0.9.7-rc214 133 7/9/2025
0.9.7-rc213 141 7/8/2025
0.9.7-rc212 139 7/8/2025
0.9.7-rc211 140 7/8/2025
0.9.7-rc208 142 7/8/2025
0.9.7-rc207 142 7/8/2025
0.9.7-rc206 137 7/8/2025
0.9.7-rc205 141 7/7/2025
0.9.7-rc204 141 7/7/2025
0.9.7-rc203 148 7/7/2025
0.9.7-rc202 137 7/7/2025
0.9.7-rc201 138 7/7/2025
0.9.7-rc200 139 7/3/2025
0.9.7-rc199 143 7/3/2025
0.9.7-rc198 142 7/3/2025
0.9.7-rc197 154 7/3/2025
0.9.7-rc196 137 7/2/2025
0.9.7-rc195 139 7/2/2025
0.9.7-rc194 139 7/1/2025
0.9.7-rc193 136 7/1/2025
0.9.7-rc192 150 7/1/2025
0.9.7-rc191 147 6/30/2025
0.9.7-rc190 139 6/30/2025
0.9.7-rc188 136 6/26/2025
0.9.7-rc187 144 6/26/2025
0.9.7-rc186 146 6/26/2025
0.9.7-rc185 136 6/26/2025
0.9.7-rc184 139 6/24/2025
0.9.7-rc181 155 6/23/2025
0.9.7-rc180 140 6/23/2025
0.9.7-rc179 154 6/23/2025
0.9.7-rc178 140 6/23/2025
0.9.7-rc177 86 6/20/2025
0.9.7-rc176 86 6/20/2025
0.9.7-rc175 78 6/20/2025
0.9.7-rc174 94 6/20/2025
0.9.7-rc173 81 6/20/2025
0.9.7-rc172 138 6/19/2025
0.9.7-rc171 144 6/19/2025
0.9.7-rc170 157 6/19/2025
0.9.7-rc169 141 6/19/2025
0.9.7-rc168 144 6/19/2025
0.9.7-rc167 148 6/19/2025
0.9.7-rc166 140 6/17/2025
0.9.7-rc165 144 6/17/2025
0.9.7-rc164 143 6/16/2025
0.9.7-rc163 138 6/16/2025
0.9.7-rc162 152 6/16/2025
0.9.7-rc161 158 6/15/2025
0.9.7-rc160 213 6/13/2025
0.9.7-rc159 232 6/13/2025
0.9.7-rc158 286 6/12/2025
0.9.7-rc157 296 6/11/2025
0.9.7-rc156 293 6/11/2025
0.9.7-rc155 285 6/10/2025
0.9.7-rc154 289 6/10/2025
0.9.7-rc153 292 6/10/2025
0.9.7-rc152 291 6/10/2025
0.9.7-rc151 287 6/10/2025
0.9.7-rc150.4 467 7/23/2025
0.9.7-rc150.3 121 6/23/2025
0.9.7-rc150.2 123 6/23/2025
0.9.7-rc150 289 6/10/2025
0.9.7-rc149 267 6/9/2025
0.9.7-rc148 268 6/9/2025
0.9.7-rc147 265 6/9/2025
0.9.7-rc146 272 6/9/2025
0.9.7-rc145 268 6/9/2025
0.9.7-rc144 241 6/9/2025
0.9.7-rc143 204 6/8/2025
0.9.7-rc142 213 6/8/2025
0.9.7-rc141 121 6/8/2025
0.9.7-rc140 115 6/7/2025
0.9.7-rc139 117 6/6/2025
0.9.7-rc138 114 6/6/2025
0.9.7-rc137 111 6/6/2025
0.9.7-rc136 157 6/5/2025
0.9.7-rc135 145 6/5/2025
0.9.7-rc134 146 6/5/2025
0.9.7-rc133 141 6/5/2025
0.9.7-rc132 146 6/5/2025
0.9.7-rc131 142 6/5/2025
0.9.7-rc130 146 6/5/2025
0.9.7-rc129 158 6/5/2025
0.9.7-rc128 143 6/4/2025
0.9.7-rc127 152 6/4/2025
0.9.7-rc126 136 6/4/2025
0.9.7-rc125 161 6/4/2025
0.9.7-rc124 160 6/3/2025
0.9.7-rc123 142 6/3/2025
0.9.7-rc122 142 6/3/2025
0.9.7-rc121 146 6/3/2025
0.9.7-rc120 159 6/3/2025
0.9.7-rc119 148 6/2/2025
0.9.7-rc118 146 6/2/2025
0.9.7-rc117 146 6/2/2025
0.9.7-rc116 118 5/30/2025
0.9.7-rc115 150 5/30/2025
0.9.7-rc114 159 5/29/2025
0.9.7-rc113 152 5/29/2025
0.9.7-rc112 152 5/29/2025
0.9.7-rc111 153 5/29/2025
0.9.7-rc110 152 5/29/2025
0.9.7-rc109 160 5/28/2025
0.9.7-rc108 149 5/28/2025
0.9.7-rc107 151 5/27/2025
0.9.7-rc106 147 5/27/2025
0.9.7-rc105 149 5/27/2025
0.9.7-rc104 154 5/26/2025
0.9.7-rc103 153 5/25/2025
0.9.7-rc102 165 5/25/2025
0.9.7-rc101 72 5/24/2025
0.9.7-rc100 106 5/23/2025
0.9.7-ex331 140 9/2/2025
0.9.7-beta159 150 5/20/2025
0.9.7-beta158 181 5/16/2025
0.9.7-beta157 241 5/13/2025
0.9.7-beta156 227 5/12/2025
0.9.7-beta155 163 5/6/2025
0.9.7-beta154 158 5/6/2025
0.9.7-beta153 163 5/5/2025
0.9.7-beta152 156 4/30/2025
0.9.7-beta151 181 4/21/2025
0.9.7-beta150 180 4/21/2025
0.9.7-beta149 180 4/20/2025
0.9.7-beta148 154 4/18/2025
0.9.7-beta147 195 4/17/2025
0.9.7-beta146 200 4/17/2025
0.9.7-beta145 123 4/11/2025
0.9.7-beta144 135 4/11/2025
0.9.7-beta143 152 4/11/2025
0.9.7-beta142 138 4/11/2025
0.9.7-beta141 137 4/11/2025
0.9.7-beta140 174 4/10/2025
0.9.7-beta139 168 4/10/2025
0.9.7-beta138 181 4/9/2025
0.9.7-beta137 164 4/3/2025
0.9.7-beta136 158 4/2/2025
0.9.7-beta135 177 4/2/2025
0.9.7-beta134 171 4/2/2025
0.9.7-beta133 164 4/2/2025
0.9.7-beta132 169 4/2/2025
0.9.7-beta131 161 4/1/2025
0.9.7-beta130 173 4/1/2025
0.9.7-beta129 176 3/31/2025
0.9.7-beta128 166 3/31/2025
0.9.7-beta127 164 3/30/2025
0.9.7-beta126 161 3/30/2025
0.9.7-beta125 474 3/26/2025
0.9.7-beta124 479 3/26/2025
0.9.7-beta123 480 3/26/2025
0.9.7-beta122 479 3/25/2025
0.9.7-beta121 483 3/25/2025
0.9.7-beta120 475 3/25/2025
0.9.7-beta119 486 3/25/2025
0.9.7-beta118 485 3/25/2025
0.9.7-beta117 485 3/25/2025
0.9.7-beta116 494 3/24/2025
0.9.7-beta115 415 3/24/2025
0.9.7-beta114 279 3/23/2025
0.9.7-beta113 117 3/21/2025
0.9.7-beta112 126 3/21/2025
0.9.7-beta111 164 3/19/2025
0.9.7-beta110 166 3/19/2025
0.9.7-beta109 166 3/18/2025
0.9.7-beta108 158 3/17/2025
0.9.7-beta107 155 3/17/2025
0.9.7-beta106 173 3/17/2025
0.9.7-beta105 162 3/13/2025
0.9.7-beta104 166 3/12/2025
0.9.7-beta103 183 3/11/2025
0.9.7-beta102 171 3/9/2025
0.9.7-beta101 218 3/7/2025
0.9.7-beta100 214 3/5/2025
0.9.6 251 3/3/2025
0.9.6-rc100 109 2/28/2025
0.9.5 131 2/26/2025
0.9.5-rc102 107 2/25/2025
0.9.5-rc101 116 2/24/2025
0.9.5-rc100 120 2/23/2025
0.9.4 129 2/21/2025
0.9.3 131 2/17/2025
0.9.3-rc018 119 2/17/2025
0.9.3-rc017 116 2/12/2025
0.9.3-rc016 116 2/12/2025
0.9.3-rc015 120 2/7/2025
0.9.3-rc014 106 2/6/2025
0.9.3-rc013 110 2/5/2025
0.9.3-rc012 121 2/5/2025
0.9.3-rc011 118 2/5/2025
0.9.3-rc010 116 2/5/2025
0.9.3-rc009 120 2/4/2025
0.9.3-rc008 118 2/4/2025
0.9.3-rc007 112 2/4/2025
0.9.3-rc006 118 2/3/2025
0.9.3-rc005 118 2/3/2025
0.9.3-rc004 113 1/31/2025
0.9.3-rc003 118 1/30/2025
0.9.3-rc002 107 1/29/2025
0.9.3-rc001 100 1/29/2025
0.9.2 106 1/24/2025
0.9.2-rc007 91 1/24/2025
0.9.2-rc006 102 1/23/2025
0.9.2-rc005 96 1/23/2025
0.9.2-rc004 106 1/23/2025
0.9.2-rc003 95 1/23/2025
0.9.2-rc002 96 1/23/2025
0.9.2-rc001 96 1/22/2025
0.9.2-a001 133 1/21/2025
0.9.1 124 1/21/2025
0.9.1-rc131 108 1/19/2025
0.9.1-rc130 108 1/19/2025
0.9.1-rc129 119 1/19/2025
0.9.1-rc128 104 1/18/2025
0.9.1-rc127 103 1/18/2025
0.9.1-rc126 112 1/17/2025
0.9.1-rc125 112 1/17/2025
0.9.1-rc124 108 1/16/2025
0.9.1-rc123 117 1/15/2025
0.9.1-rc122 98 1/14/2025
0.9.1-rc121 100 1/14/2025
0.9.1-rc120 108 1/14/2025
0.9.1-rc118 108 1/13/2025
0.9.1-rc117 113 1/13/2025
0.9.1-rc116 108 1/8/2025
0.9.1-rc115 111 1/2/2025
0.9.1-rc114 110 12/24/2024
0.9.1-rc113 112 12/23/2024
0.9.1-rc112 119 12/22/2024
0.9.1-rc111 117 12/22/2024
0.9.1-rc110 121 12/21/2024
0.9.1-rc109 113 12/21/2024
0.9.1-rc108 124 12/21/2024
0.9.1-rc107 130 12/20/2024
0.9.1-rc106 123 12/20/2024
0.9.1-rc105 124 12/19/2024
0.9.1-rc104 109 12/19/2024
0.9.1-rc100 119 12/16/2024
0.9.1-alpha4 123 12/15/2024
0.9.1-alpha3 119 12/15/2024
0.9.0-rc3 114 12/9/2024
0.9.0-rc2 118 12/9/2024
0.9.0-alpha5 117 11/28/2024
0.9.0-alpha1 109 11/27/2024
0.8.4 133 11/20/2024
0.8.3 160 9/18/2024
0.8.2 137 9/3/2024
0.8.2-alpha2 121 9/23/2024
0.8.1 168 8/23/2024
0.8.1-alpha2 123 9/18/2024