FoundationaLLM.Client.Core 0.9.7-rc271

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