FoundationaLLM.Client.Core 0.9.7-beta111

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