FoundationaLLM.Client.Core 0.9.7-beta101

This is a prerelease version of FoundationaLLM.Client.Core.
There is a newer version of this package available.
See the version list below for details.
dotnet add package FoundationaLLM.Client.Core --version 0.9.7-beta101
                    
NuGet\Install-Package FoundationaLLM.Client.Core -Version 0.9.7-beta101
                    
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-beta101" />
                    
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-beta101" />
                    
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-beta101
                    
#r "nuget: FoundationaLLM.Client.Core, 0.9.7-beta101"
                    
#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-beta101
                    
#: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-beta101&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Core&version=0.9.7-beta101&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.8-beta107 417 12/8/2025
0.9.8-beta106 660 12/2/2025
0.9.8-beta105 657 12/1/2025
0.9.8-beta104 657 12/1/2025
0.9.8-beta101 131 11/28/2025
0.9.7 183 11/24/2025
0.9.7-rc488 289 11/21/2025
0.9.7-rc487 317 11/21/2025
0.9.7-rc485 404 11/19/2025
0.9.7-rc484 390 11/18/2025
0.9.7-rc483 393 11/18/2025
0.9.7-rc481 406 11/18/2025
0.9.7-rc480 387 11/17/2025
0.9.7-rc479 278 11/17/2025
0.9.7-rc474 267 11/16/2025
0.9.7-rc473 288 11/16/2025
0.9.7-rc471 258 11/10/2025
0.9.7-rc470 262 11/10/2025
0.9.7-rc467 263 11/10/2025
0.9.7-rc466 132 11/7/2025
0.9.7-rc461 181 11/4/2025
0.9.7-rc460 188 11/4/2025
0.9.7-rc452 198 10/28/2025
0.9.7-rc451 174 10/28/2025
0.9.7-rc440 170 10/21/2025
0.9.7-rc439 176 10/20/2025
0.9.7-rc428 177 10/1/2025
0.9.7-rc418 192 9/29/2025
0.9.7-rc408 143 9/26/2025
0.9.7-rc407 145 9/26/2025
0.9.7-rc406 171 9/25/2025
0.9.7-rc405 177 9/25/2025
0.9.7-rc404 170 9/25/2025
0.9.7-rc403 178 9/25/2025
0.9.7-rc402 189 9/24/2025
0.9.7-rc401 175 9/23/2025
0.9.7-rc400 165 9/23/2025
0.9.7-rc399 162 9/23/2025
0.9.7-rc398 161 9/23/2025
0.9.7-rc397 170 9/23/2025
0.9.7-rc396 165 9/23/2025
0.9.7-rc395 157 9/23/2025
0.9.7-rc394 178 9/23/2025
0.9.7-rc393 188 9/22/2025
0.9.7-rc392 177 9/22/2025
0.9.7-rc391 172 9/22/2025
0.9.7-rc390 181 9/22/2025
0.9.7-rc389 190 9/22/2025
0.9.7-rc388 189 9/22/2025
0.9.7-rc387 201 9/22/2025
0.9.7-rc386 184 9/22/2025
0.9.7-rc385 214 9/22/2025
0.9.7-rc384 228 9/22/2025
0.9.7-rc383 228 9/19/2025
0.9.7-rc382 299 9/17/2025
0.9.7-rc381 300 9/17/2025
0.9.7-rc380 300 9/16/2025
0.9.7-rc379 294 9/16/2025
0.9.7-rc378 293 9/16/2025
0.9.7-rc377 305 9/16/2025
0.9.7-rc376 305 9/16/2025
0.9.7-rc375 294 9/16/2025
0.9.7-rc374 294 9/16/2025
0.9.7-rc373 248 9/15/2025
0.9.7-rc372 116 9/12/2025
0.9.7-rc371 133 9/12/2025
0.9.7-rc370 143 9/12/2025
0.9.7-rc369 140 9/12/2025
0.9.7-rc368 163 9/11/2025
0.9.7-rc367 150 9/10/2025
0.9.7-rc366 154 9/10/2025
0.9.7-rc365 159 9/10/2025
0.9.7-rc364 157 9/9/2025
0.9.7-rc363 153 9/9/2025
0.9.7-rc362 150 9/9/2025
0.9.7-rc361 156 9/9/2025
0.9.7-rc360 150 9/9/2025
0.9.7-rc359 158 9/9/2025
0.9.7-rc358 155 9/9/2025
0.9.7-rc357 147 9/8/2025
0.9.7-rc356 110 9/5/2025
0.9.7-rc355 127 9/5/2025
0.9.7-rc354 137 9/5/2025
0.9.7-rc353 126 9/5/2025
0.9.7-rc352 137 9/5/2025
0.9.7-rc351 135 9/5/2025
0.9.7-rc350 171 9/5/2025
0.9.7-rc349 180 9/5/2025
0.9.7-rc348 177 9/4/2025
0.9.7-rc347 171 9/4/2025
0.9.7-rc346 170 9/4/2025
0.9.7-rc345 166 9/3/2025
0.9.7-rc344 182 9/3/2025
0.9.7-rc343 178 9/3/2025
0.9.7-rc342 175 9/3/2025
0.9.7-rc341 161 9/3/2025
0.9.7-rc340 166 9/3/2025
0.9.7-rc339 169 9/3/2025
0.9.7-rc338 169 9/3/2025
0.9.7-rc337 165 9/2/2025
0.9.7-rc336 165 9/2/2025
0.9.7-rc335 166 9/2/2025
0.9.7-rc334 147 9/2/2025
0.9.7-rc333 152 9/2/2025
0.9.7-rc332 151 9/2/2025
0.9.7-rc331 154 9/2/2025
0.9.7-rc330 162 9/1/2025
0.9.7-rc329 162 8/31/2025
0.9.7-rc328 169 8/31/2025
0.9.7-rc327 175 8/31/2025
0.9.7-rc326 161 8/31/2025
0.9.7-rc325 173 8/31/2025
0.9.7-rc324 188 8/29/2025
0.9.7-rc323 191 8/29/2025
0.9.7-rc322 189 8/29/2025
0.9.7-rc321 205 8/29/2025
0.9.7-rc320 210 8/29/2025
0.9.7-rc319 201 8/28/2025
0.9.7-rc318 202 8/28/2025
0.9.7-rc317 204 8/28/2025
0.9.7-rc316 207 8/26/2025
0.9.7-rc315 206 8/26/2025
0.9.7-rc314 220 8/26/2025
0.9.7-rc313 218 8/26/2025
0.9.7-rc312 199 8/26/2025
0.9.7-rc311 227 8/26/2025
0.9.7-rc310 223 8/26/2025
0.9.7-rc309 178 8/25/2025
0.9.7-rc308 175 8/25/2025
0.9.7-rc307 170 8/25/2025
0.9.7-rc306 171 8/25/2025
0.9.7-rc305 303 8/25/2025
0.9.7-rc304 302 8/25/2025
0.9.7-rc303 269 8/25/2025
0.9.7-rc302 271 8/25/2025
0.9.7-rc301 101 8/22/2025
0.9.7-rc300 95 8/22/2025
0.9.7-rc299 123 8/22/2025
0.9.7-rc298 125 8/22/2025
0.9.7-rc297 152 8/21/2025
0.9.7-rc296 152 8/21/2025
0.9.7-rc295 161 8/21/2025
0.9.7-rc293 153 8/21/2025
0.9.7-rc292 153 8/21/2025
0.9.7-rc291 149 8/21/2025
0.9.7-rc290 151 8/20/2025
0.9.7-rc289 161 8/19/2025
0.9.7-rc288 153 8/19/2025
0.9.7-rc287 153 8/19/2025
0.9.7-rc286 161 8/19/2025
0.9.7-rc285 148 8/18/2025
0.9.7-rc284 155 8/18/2025
0.9.7-rc283 151 8/18/2025
0.9.7-rc282 153 8/18/2025
0.9.7-rc281 152 8/18/2025
0.9.7-rc280 158 8/18/2025
0.9.7-rc279 153 8/18/2025
0.9.7-rc278 147 8/18/2025
0.9.7-rc277 167 8/18/2025
0.9.7-rc276 147 8/18/2025
0.9.7-rc275 152 8/18/2025
0.9.7-rc274 152 8/18/2025
0.9.7-rc273 162 8/17/2025
0.9.7-rc272 134 8/16/2025
0.9.7-rc271 158 8/10/2025
0.9.7-rc270 120 8/9/2025
0.9.7-rc269 144 8/9/2025
0.9.7-rc268 144 8/9/2025
0.9.7-rc267 143 8/9/2025
0.9.7-rc266 169 8/8/2025
0.9.7-rc265 175 8/8/2025
0.9.7-rc264 175 8/8/2025
0.9.7-rc263 211 8/8/2025
0.9.7-rc262 209 8/8/2025
0.9.7-rc261 195 8/8/2025
0.9.7-rc260 212 8/8/2025
0.9.7-rc259 242 8/7/2025
0.9.7-rc258 204 8/4/2025
0.9.7-rc257 212 8/4/2025
0.9.7-rc256 154 7/27/2025
0.9.7-rc255 499 7/24/2025
0.9.7-rc254 550 7/22/2025
0.9.7-rc253 548 7/22/2025
0.9.7-rc252 526 7/21/2025
0.9.7-rc251 431 7/21/2025
0.9.7-rc250 344 7/20/2025
0.9.7-rc249.1 312 7/20/2025
0.9.7-rc249 261 7/20/2025
0.9.7-rc248.1 176 8/29/2025
0.9.7-rc248 98 7/18/2025
0.9.7-rc247 92 7/18/2025
0.9.7-rc246 96 7/18/2025
0.9.7-rc245 101 7/18/2025
0.9.7-rc244 128 7/18/2025
0.9.7-rc243 138 7/18/2025
0.9.7-rc242 133 7/18/2025
0.9.7-rc241 168 7/17/2025
0.9.7-rc240 174 7/17/2025
0.9.7-rc239 165 7/17/2025
0.9.7-rc238 165 7/17/2025
0.9.7-rc237 158 7/17/2025
0.9.7-rc236 173 7/17/2025
0.9.7-rc235 164 7/17/2025
0.9.7-rc234 164 7/16/2025
0.9.7-rc233 185 7/16/2025
0.9.7-rc232 161 7/16/2025
0.9.7-rc231 174 7/16/2025
0.9.7-rc230 163 7/16/2025
0.9.7-rc229 161 7/16/2025
0.9.7-rc228 176 7/16/2025
0.9.7-rc227 162 7/16/2025
0.9.7-rc226 167 7/16/2025
0.9.7-rc225 176 7/15/2025
0.9.7-rc224 167 7/15/2025
0.9.7-rc223 176 7/15/2025
0.9.7-rc222 169 7/15/2025
0.9.7-rc220 181 7/10/2025
0.9.7-rc219 166 7/10/2025
0.9.7-rc218 174 7/10/2025
0.9.7-rc217 174 7/10/2025
0.9.7-rc216 182 7/10/2025
0.9.7-rc215 160 7/10/2025
0.9.7-rc214 157 7/9/2025
0.9.7-rc213 172 7/8/2025
0.9.7-rc212 165 7/8/2025
0.9.7-rc211 169 7/8/2025
0.9.7-rc208 171 7/8/2025
0.9.7-rc207 164 7/8/2025
0.9.7-rc206 164 7/8/2025
0.9.7-rc205 167 7/7/2025
0.9.7-rc204 162 7/7/2025
0.9.7-rc203 180 7/7/2025
0.9.7-rc202 164 7/7/2025
0.9.7-rc201 161 7/7/2025
0.9.7-rc200 174 7/3/2025
0.9.7-rc199 185 7/3/2025
0.9.7-rc198 181 7/3/2025
0.9.7-rc197 179 7/3/2025
0.9.7-rc196 162 7/2/2025
0.9.7-rc195 167 7/2/2025
0.9.7-rc194 164 7/1/2025
0.9.7-rc193 160 7/1/2025
0.9.7-rc192 171 7/1/2025
0.9.7-rc191 183 6/30/2025
0.9.7-rc190 163 6/30/2025
0.9.7-rc188 160 6/26/2025
0.9.7-rc187 180 6/26/2025
0.9.7-rc186 173 6/26/2025
0.9.7-rc185 164 6/26/2025
0.9.7-rc184 163 6/24/2025
0.9.7-rc181 184 6/23/2025
0.9.7-rc180 167 6/23/2025
0.9.7-rc179 181 6/23/2025
0.9.7-rc178 165 6/23/2025
0.9.7-rc177 113 6/20/2025
0.9.7-rc176 107 6/20/2025
0.9.7-rc175 120 6/20/2025
0.9.7-rc174 118 6/20/2025
0.9.7-rc173 110 6/20/2025
0.9.7-rc172 174 6/19/2025
0.9.7-rc171 171 6/19/2025
0.9.7-rc170 180 6/19/2025
0.9.7-rc169 168 6/19/2025
0.9.7-rc168 174 6/19/2025
0.9.7-rc167 179 6/19/2025
0.9.7-rc166 169 6/17/2025
0.9.7-rc165 174 6/17/2025
0.9.7-rc164 167 6/16/2025
0.9.7-rc163 179 6/16/2025
0.9.7-rc162 188 6/16/2025
0.9.7-rc161 187 6/15/2025
0.9.7-rc160 242 6/13/2025
0.9.7-rc159 270 6/13/2025
0.9.7-rc158 310 6/12/2025
0.9.7-rc157 323 6/11/2025
0.9.7-rc156 313 6/11/2025
0.9.7-rc155 307 6/10/2025
0.9.7-rc154 316 6/10/2025
0.9.7-rc153 320 6/10/2025
0.9.7-rc152 322 6/10/2025
0.9.7-rc151 316 6/10/2025
0.9.7-rc150.4 488 7/23/2025
0.9.7-rc150.3 141 6/23/2025
0.9.7-rc150.2 141 6/23/2025
0.9.7-rc150 319 6/10/2025
0.9.7-rc149 294 6/9/2025
0.9.7-rc148 294 6/9/2025
0.9.7-rc147 292 6/9/2025
0.9.7-rc146 298 6/9/2025
0.9.7-rc145 291 6/9/2025
0.9.7-rc144 264 6/9/2025
0.9.7-rc143 231 6/8/2025
0.9.7-rc142 240 6/8/2025
0.9.7-rc141 144 6/8/2025
0.9.7-rc140 140 6/7/2025
0.9.7-rc139 141 6/6/2025
0.9.7-rc138 147 6/6/2025
0.9.7-rc137 129 6/6/2025
0.9.7-rc136 185 6/5/2025
0.9.7-rc135 171 6/5/2025
0.9.7-rc134 174 6/5/2025
0.9.7-rc133 167 6/5/2025
0.9.7-rc132 173 6/5/2025
0.9.7-rc131 173 6/5/2025
0.9.7-rc130 170 6/5/2025
0.9.7-rc129 184 6/5/2025
0.9.7-rc128 169 6/4/2025
0.9.7-rc127 178 6/4/2025
0.9.7-rc126 162 6/4/2025
0.9.7-rc125 187 6/4/2025
0.9.7-rc124 185 6/3/2025
0.9.7-rc123 167 6/3/2025
0.9.7-rc122 167 6/3/2025
0.9.7-rc121 171 6/3/2025
0.9.7-rc120 186 6/3/2025
0.9.7-rc119 176 6/2/2025
0.9.7-rc118 171 6/2/2025
0.9.7-rc117 161 6/2/2025
0.9.7-rc116 143 5/30/2025
0.9.7-rc115 162 5/30/2025
0.9.7-rc114 181 5/29/2025
0.9.7-rc113 179 5/29/2025
0.9.7-rc112 182 5/29/2025
0.9.7-rc111 174 5/29/2025
0.9.7-rc110 181 5/29/2025
0.9.7-rc109 179 5/28/2025
0.9.7-rc108 181 5/28/2025
0.9.7-rc107 175 5/27/2025
0.9.7-rc106 171 5/27/2025
0.9.7-rc105 176 5/27/2025
0.9.7-rc104 178 5/26/2025
0.9.7-rc103 183 5/25/2025
0.9.7-rc102 195 5/25/2025
0.9.7-rc101 93 5/24/2025
0.9.7-rc100 135 5/23/2025
0.9.7-post9 163 12/22/2025
0.9.7-post3 405 12/8/2025
0.9.7-post1 658 12/1/2025
0.9.7-ex331 170 9/2/2025
0.9.7-beta159 176 5/20/2025
0.9.7-beta158 210 5/16/2025
0.9.7-beta157 262 5/13/2025
0.9.7-beta156 255 5/12/2025
0.9.7-beta155 192 5/6/2025
0.9.7-beta154 181 5/6/2025
0.9.7-beta153 187 5/5/2025
0.9.7-beta152 184 4/30/2025
0.9.7-beta151 205 4/21/2025
0.9.7-beta150 206 4/21/2025
0.9.7-beta149 208 4/20/2025
0.9.7-beta148 177 4/18/2025
0.9.7-beta147 220 4/17/2025
0.9.7-beta146 231 4/17/2025
0.9.7-beta145 149 4/11/2025
0.9.7-beta144 164 4/11/2025
0.9.7-beta143 178 4/11/2025
0.9.7-beta142 164 4/11/2025
0.9.7-beta141 168 4/11/2025
0.9.7-beta140 205 4/10/2025
0.9.7-beta139 197 4/10/2025
0.9.7-beta138 213 4/9/2025
0.9.7-beta137 187 4/3/2025
0.9.7-beta136 182 4/2/2025
0.9.7-beta135 201 4/2/2025
0.9.7-beta134 195 4/2/2025
0.9.7-beta133 192 4/2/2025
0.9.7-beta132 191 4/2/2025
0.9.7-beta131 189 4/1/2025
0.9.7-beta130 205 4/1/2025
0.9.7-beta129 201 3/31/2025
0.9.7-beta128 193 3/31/2025
0.9.7-beta127 191 3/30/2025
0.9.7-beta126 182 3/30/2025
0.9.7-beta125 500 3/26/2025
0.9.7-beta124 505 3/26/2025
0.9.7-beta123 512 3/26/2025
0.9.7-beta122 501 3/25/2025
0.9.7-beta121 507 3/25/2025
0.9.7-beta120 504 3/25/2025
0.9.7-beta119 527 3/25/2025
0.9.7-beta118 511 3/25/2025
0.9.7-beta117 522 3/25/2025
0.9.7-beta116 520 3/24/2025
0.9.7-beta115 441 3/24/2025
0.9.7-beta114 308 3/23/2025
0.9.7-beta113 140 3/21/2025
0.9.7-beta112 161 3/21/2025
0.9.7-beta111 190 3/19/2025
0.9.7-beta110 193 3/19/2025
0.9.7-beta109 192 3/18/2025
0.9.7-beta108 182 3/17/2025
0.9.7-beta107 180 3/17/2025
0.9.7-beta106 203 3/17/2025
0.9.7-beta105 187 3/13/2025
0.9.7-beta104 193 3/12/2025
0.9.7-beta103 213 3/11/2025
0.9.7-beta102 196 3/9/2025
0.9.7-beta101 247 3/7/2025
0.9.7-beta100 251 3/5/2025
0.9.6 291 3/3/2025
0.9.6-rc100 135 2/28/2025
0.9.5 158 2/26/2025
0.9.5-rc102 134 2/25/2025
0.9.5-rc101 146 2/24/2025
0.9.5-rc100 146 2/23/2025
0.9.4 156 2/21/2025
0.9.3 161 2/17/2025
0.9.3-rc018 149 2/17/2025
0.9.3-rc017 149 2/12/2025
0.9.3-rc016 142 2/12/2025
0.9.3-rc015 146 2/7/2025
0.9.3-rc014 130 2/6/2025
0.9.3-rc013 136 2/5/2025
0.9.3-rc012 150 2/5/2025
0.9.3-rc011 144 2/5/2025
0.9.3-rc010 144 2/5/2025
0.9.3-rc009 146 2/4/2025
0.9.3-rc008 143 2/4/2025
0.9.3-rc007 138 2/4/2025
0.9.3-rc006 142 2/3/2025
0.9.3-rc005 147 2/3/2025
0.9.3-rc004 142 1/31/2025
0.9.3-rc003 148 1/30/2025
0.9.3-rc002 135 1/29/2025
0.9.3-rc001 124 1/29/2025
0.9.2 140 1/24/2025
0.9.2-rc007 113 1/24/2025
0.9.2-rc006 128 1/23/2025
0.9.2-rc005 120 1/23/2025
0.9.2-rc004 136 1/23/2025
0.9.2-rc003 119 1/23/2025
0.9.2-rc002 120 1/23/2025
0.9.2-rc001 121 1/22/2025
0.9.2-a001 154 1/21/2025
0.9.1 149 1/21/2025
0.9.1-rc131 133 1/19/2025
0.9.1-rc130 137 1/19/2025
0.9.1-rc129 150 1/19/2025
0.9.1-rc128 124 1/18/2025
0.9.1-rc127 134 1/18/2025
0.9.1-rc126 145 1/17/2025
0.9.1-rc125 142 1/17/2025
0.9.1-rc124 135 1/16/2025
0.9.1-rc123 137 1/15/2025
0.9.1-rc122 125 1/14/2025
0.9.1-rc121 123 1/14/2025
0.9.1-rc120 136 1/14/2025
0.9.1-rc118 132 1/13/2025
0.9.1-rc117 147 1/13/2025
0.9.1-rc116 135 1/8/2025
0.9.1-rc115 142 1/2/2025
0.9.1-rc114 138 12/24/2024
0.9.1-rc113 139 12/23/2024
0.9.1-rc112 143 12/22/2024
0.9.1-rc111 141 12/22/2024
0.9.1-rc110 137 12/21/2024
0.9.1-rc109 140 12/21/2024
0.9.1-rc108 149 12/21/2024
0.9.1-rc107 158 12/20/2024
0.9.1-rc106 139 12/20/2024
0.9.1-rc105 159 12/19/2024
0.9.1-rc104 140 12/19/2024
0.9.1-rc100 147 12/16/2024
0.9.1-alpha4 153 12/15/2024
0.9.1-alpha3 152 12/15/2024
0.9.0-rc3 142 12/9/2024
0.9.0-rc2 144 12/9/2024
0.9.0-alpha5 144 11/28/2024
0.9.0-alpha1 130 11/27/2024
0.8.4 156 11/20/2024
0.8.3 185 9/18/2024
0.8.2 160 9/3/2024
0.8.2-alpha2 145 9/23/2024
0.8.1 187 8/23/2024
0.8.1-alpha2 146 9/18/2024