FoundationaLLM.Client.Core 0.9.7-rc406

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