FoundationaLLM.Client.Management 0.8.2-alpha2

This is a prerelease version of FoundationaLLM.Client.Management.
There is a newer version of this package available.
See the version list below for details.
dotnet add package FoundationaLLM.Client.Management --version 0.8.2-alpha2
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.8.2-alpha2
                    
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.Management" Version="0.8.2-alpha2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FoundationaLLM.Client.Management" Version="0.8.2-alpha2" />
                    
Directory.Packages.props
<PackageReference Include="FoundationaLLM.Client.Management" />
                    
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.Management --version 0.8.2-alpha2
                    
#r "nuget: FoundationaLLM.Client.Management, 0.8.2-alpha2"
                    
#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.Management@0.8.2-alpha2
                    
#: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.Management&version=0.8.2-alpha2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.8.2-alpha2&prerelease
                    
Install as a Cake Tool

FoundationaLLM Management Client

The FoundationaLLM Management Client is a .NET client library that simplifies the process of interacting with the FoundationaLLM Management API. The client library provides a set of classes and methods that allow you to interact with the FoundationaLLM Management API in a more intuitive way.

This library contains two primary classes:

  • ManagementRESTClient: A class that provides a set of methods for interacting with the FoundationaLLM Management API using REST. This is considered the low-level client and provides direct access to all Management API endpoints.
  • ManagementClient: A class that provides a set of methods for interacting with the FoundationaLLM Management API using a higher-level abstraction. This class is designed to simplify the process of interacting with the Management API by providing a more intuitive interface. It does not contain all the methods available in the ManagementRESTClient class, but it provides a more user-friendly way to interact with the Management API.

These two classes are mutually exclusive, and you should choose one based on your requirements. If you need direct access to all Management API endpoints, use the ManagementRESTClient class. If you need a more user-friendly interface, use the ManagementClient 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.Management

Manual service instantiation

Complete the following steps if you do not want to use dependency injection:

  1. Create a new instance of the ManagementRESTClient and ManagementClient classes:

    var managementUri = "<YOUR_MANAGEMENT_API_URL>"; // e.g., "https://myfoundationallmmanagementapi.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 managementRestClient = new ManagementRESTClient(
        managementUri,
        credential,
        instanceId,
        options);
    var managementClient = new ManagementClient(
        managementUri,
        credential,
        instanceId,
        options);
    
  2. Make a request to the Management API with the ManagementRESTClient class:

    var status = await managementRestClient.Status.GetServiceStatusAsync();
    
  3. Make a request to the Management API with the ManagementClient class:

    await managementClient.DataSources.DeleteDataSourceAsync("<DATASOURCE_NAME>");
    // Purge the data source so we can reuse the name.
    await managementClient.DataSources.PurgeDataSourceAsync("<DATASOURCE_NAME>");
    

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 ManagementRESTClient and ManagementClient 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 IManagementClient and IManagementRESTClient interfaces.

  1. Create a configuration file (e.g., appsettings.json) with the following content:

    {
        "FoundationaLLM": {
            "APIEndpoints": {
     	        "ManagementAPI": {
     	            "Essentials": {
                        "APIUrl": "https://localhost:63267/"
                    }
                }
            },
            "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 ManagementClient extension method to add the ManagementClient and ManagementRESTClient to the service collection:

    var services = new ServiceCollection();
    var credential = new AzureCliCredential(); // Can use any TokenCredential implementation, such as ManagedIdentityCredential or AzureCliCredential.
    services.AddManagementClient(
        configuration[AppConfigurationKeys.FoundationaLLM_APIEndpoints_ManagementAPI_Essentials_APIUrl]!,
        credential,
        configuration[AppConfigurationKeys.FoundationaLLM_Instance_Id]!);
    
    var serviceProvider = services.BuildServiceProvider();
    
  4. Retrieve the ManagementClient and ManagementRESTClient instances from the service provider:

    var managementClient = serviceProvider.GetRequiredService<IManagementClient>();
    var managementRestClient = serviceProvider.GetRequiredService<IManagementRESTClient>();
    

Alternately, you can inject the ManagementClient and ManagementRESTClient instances directly into your classes using dependency injection.

public class MyService
{
    private readonly IManagementClient _managementClient;
    private readonly IManagementRESTClient _managementRestClient;

    public MyService(IManagementClient managementClient, IManagementRESTClient managementRestClient)
    {
        _managementClient = managementClient;
        _managementRestClient = managementRestClient;
    }
}

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_ManagementAPI_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 ManagementClient extension method to add the ManagementClient and ManagementRESTClient to the service collection:

    var services = new ServiceCollection();
    var credential = new AzureCliCredential(); // Can use any TokenCredential implementation, such as ManagedIdentityCredential or AzureCliCredential.
    
    services.AddManagementClient(
        configuration[AppConfigurationKeys.FoundationaLLM_APIEndpoints_ManagementAPI_Essentials_APIUrl]!,
        credential,
        configuration[AppConfigurationKeys.FoundationaLLM_Instance_Id]!);
    
  3. Retrieve the ManagementClient and ManagementRESTClient instances from the service provider:

    var managementClient = serviceProvider.GetRequiredService<IManagementClient>();
    var managementRestClient = serviceProvider.GetRequiredService<IManagementRESTClient>();
    

Example projects

The Core.Examples test project contains several examples that demonstrate how to use the ManagementClient and ManagementRESTClient classes to interact with the Management 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.Management:

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-beta112 0 2/4/2026
0.9.8-beta111 0 2/4/2026
0.9.8-beta110 84 1/15/2026
0.9.8-beta109 81 1/13/2026
0.9.8-beta108 79 1/13/2026
0.9.8-beta107 422 12/8/2025
0.9.8-beta106 665 12/2/2025
0.9.8-beta105 662 12/1/2025
0.9.8-beta104 663 12/1/2025
0.9.8-beta101 132 11/28/2025
0.9.7 197 11/24/2025
0.9.7-rc488 300 11/21/2025
0.9.7-rc487 324 11/21/2025
0.9.7-rc485 397 11/19/2025
0.9.7-rc484 399 11/18/2025
0.9.7-rc483 401 11/18/2025
0.9.7-rc481 399 11/18/2025
0.9.7-rc480 396 11/17/2025
0.9.7-rc479 294 11/17/2025
0.9.7-rc474 277 11/16/2025
0.9.7-rc473 291 11/16/2025
0.9.7-rc471 259 11/10/2025
0.9.7-rc470 266 11/10/2025
0.9.7-rc467 259 11/10/2025
0.9.7-rc466 137 11/7/2025
0.9.7-rc461 193 11/4/2025
0.9.7-rc460 191 11/4/2025
0.9.7-rc452 188 10/28/2025
0.9.7-rc451 186 10/28/2025
0.9.7-rc440 182 10/21/2025
0.9.7-rc439 173 10/20/2025
0.9.7-rc428 176 10/1/2025
0.9.7-rc418 173 9/29/2025
0.9.7-rc408 148 9/26/2025
0.9.7-rc407 160 9/26/2025
0.9.7-rc406 194 9/25/2025
0.9.7-rc405 169 9/25/2025
0.9.7-rc404 179 9/25/2025
0.9.7-rc403 190 9/25/2025
0.9.7-rc402 185 9/24/2025
0.9.7-rc401 178 9/23/2025
0.9.7-rc400 170 9/23/2025
0.9.7-rc399 185 9/23/2025
0.9.7-rc398 187 9/23/2025
0.9.7-rc397 183 9/23/2025
0.9.7-rc396 181 9/23/2025
0.9.7-rc395 175 9/23/2025
0.9.7-rc394 188 9/23/2025
0.9.7-rc393 196 9/22/2025
0.9.7-rc392 194 9/22/2025
0.9.7-rc391 188 9/22/2025
0.9.7-rc390 197 9/22/2025
0.9.7-rc389 202 9/22/2025
0.9.7-rc388 203 9/22/2025
0.9.7-rc387 214 9/22/2025
0.9.7-rc386 205 9/22/2025
0.9.7-rc385 225 9/22/2025
0.9.7-rc384 242 9/22/2025
0.9.7-rc383 258 9/19/2025
0.9.7-rc382 308 9/17/2025
0.9.7-rc381 310 9/17/2025
0.9.7-rc380 324 9/16/2025
0.9.7-rc379 327 9/16/2025
0.9.7-rc378 328 9/16/2025
0.9.7-rc377 324 9/16/2025
0.9.7-rc376 315 9/16/2025
0.9.7-rc375 316 9/16/2025
0.9.7-rc374 314 9/16/2025
0.9.7-rc373 254 9/15/2025
0.9.7-rc372 138 9/12/2025
0.9.7-rc371 155 9/12/2025
0.9.7-rc370 153 9/12/2025
0.9.7-rc369 140 9/12/2025
0.9.7-rc368 191 9/11/2025
0.9.7-rc367 196 9/10/2025
0.9.7-rc366 181 9/10/2025
0.9.7-rc365 177 9/10/2025
0.9.7-rc364 186 9/9/2025
0.9.7-rc363 180 9/9/2025
0.9.7-rc362 180 9/9/2025
0.9.7-rc361 187 9/9/2025
0.9.7-rc360 183 9/9/2025
0.9.7-rc359 180 9/9/2025
0.9.7-rc358 178 9/9/2025
0.9.7-rc357 199 9/8/2025
0.9.7-rc356 144 9/5/2025
0.9.7-rc355 148 9/5/2025
0.9.7-rc354 171 9/5/2025
0.9.7-rc353 152 9/5/2025
0.9.7-rc352 168 9/5/2025
0.9.7-rc351 170 9/5/2025
0.9.7-rc350 197 9/5/2025
0.9.7-rc349 201 9/5/2025
0.9.7-rc348 191 9/4/2025
0.9.7-rc347 206 9/4/2025
0.9.7-rc346 199 9/4/2025
0.9.7-rc345 201 9/3/2025
0.9.7-rc344 196 9/3/2025
0.9.7-rc343 196 9/3/2025
0.9.7-rc342 193 9/3/2025
0.9.7-rc341 196 9/3/2025
0.9.7-rc340 188 9/3/2025
0.9.7-rc339 194 9/3/2025
0.9.7-rc338 202 9/3/2025
0.9.7-rc337 195 9/2/2025
0.9.7-rc336 194 9/2/2025
0.9.7-rc335 182 9/2/2025
0.9.7-rc334 177 9/2/2025
0.9.7-rc333 175 9/2/2025
0.9.7-rc332 172 9/2/2025
0.9.7-rc331 185 9/2/2025
0.9.7-rc330 188 9/1/2025
0.9.7-rc329 200 8/31/2025
0.9.7-rc328 178 8/31/2025
0.9.7-rc327 181 8/31/2025
0.9.7-rc326 182 8/31/2025
0.9.7-rc325 207 8/31/2025
0.9.7-rc324 210 8/29/2025
0.9.7-rc323 219 8/29/2025
0.9.7-rc322 232 8/29/2025
0.9.7-rc321 220 8/29/2025
0.9.7-rc320 227 8/29/2025
0.9.7-rc319 225 8/28/2025
0.9.7-rc318 226 8/28/2025
0.9.7-rc317 240 8/28/2025
0.9.7-rc316 234 8/26/2025
0.9.7-rc315 225 8/26/2025
0.9.7-rc314 229 8/26/2025
0.9.7-rc313 228 8/26/2025
0.9.7-rc312 230 8/26/2025
0.9.7-rc311 252 8/26/2025
0.9.7-rc310 246 8/26/2025
0.9.7-rc309 196 8/25/2025
0.9.7-rc308 205 8/25/2025
0.9.7-rc307 193 8/25/2025
0.9.7-rc306 205 8/25/2025
0.9.7-rc305 326 8/25/2025
0.9.7-rc304 319 8/25/2025
0.9.7-rc303 301 8/25/2025
0.9.7-rc302 306 8/25/2025
0.9.7-rc301 136 8/22/2025
0.9.7-rc300 122 8/22/2025
0.9.7-rc299 161 8/22/2025
0.9.7-rc298 154 8/22/2025
0.9.7-rc297 179 8/21/2025
0.9.7-rc296 181 8/21/2025
0.9.7-rc295 181 8/21/2025
0.9.7-rc293 174 8/21/2025
0.9.7-rc292 178 8/21/2025
0.9.7-rc291 175 8/21/2025
0.9.7-rc290 168 8/20/2025
0.9.7-rc289 177 8/19/2025
0.9.7-rc288 189 8/19/2025
0.9.7-rc287 183 8/19/2025
0.9.7-rc286 190 8/19/2025
0.9.7-rc285 200 8/18/2025
0.9.7-rc284 182 8/18/2025
0.9.7-rc283 176 8/18/2025
0.9.7-rc282 185 8/18/2025
0.9.7-rc281 186 8/18/2025
0.9.7-rc280 183 8/18/2025
0.9.7-rc279 182 8/18/2025
0.9.7-rc278 177 8/18/2025
0.9.7-rc277 177 8/18/2025
0.9.7-rc276 176 8/18/2025
0.9.7-rc275 176 8/18/2025
0.9.7-rc274 190 8/18/2025
0.9.7-rc273 185 8/17/2025
0.9.7-rc272 170 8/16/2025
0.9.7-rc271 178 8/10/2025
0.9.7-rc270 141 8/9/2025
0.9.7-rc269 165 8/9/2025
0.9.7-rc268 181 8/9/2025
0.9.7-rc267 182 8/9/2025
0.9.7-rc266 202 8/8/2025
0.9.7-rc265 190 8/8/2025
0.9.7-rc264 202 8/8/2025
0.9.7-rc263 227 8/8/2025
0.9.7-rc262 231 8/8/2025
0.9.7-rc261 228 8/8/2025
0.9.7-rc260 235 8/8/2025
0.9.7-rc259 255 8/7/2025
0.9.7-rc258 222 8/4/2025
0.9.7-rc257 207 8/4/2025
0.9.7-rc256 182 7/27/2025
0.9.7-rc255 525 7/24/2025
0.9.7-rc254 569 7/22/2025
0.9.7-rc253 560 7/22/2025
0.9.7-rc252 527 7/21/2025
0.9.7-rc251 455 7/21/2025
0.9.7-rc250 369 7/20/2025
0.9.7-rc249.1 326 7/20/2025
0.9.7-rc249 270 7/20/2025
0.9.7-rc248.1 180 8/29/2025
0.9.7-rc248 113 7/18/2025
0.9.7-rc247 115 7/18/2025
0.9.7-rc246 128 7/18/2025
0.9.7-rc245 126 7/18/2025
0.9.7-rc244 147 7/18/2025
0.9.7-rc243 145 7/18/2025
0.9.7-rc242 162 7/18/2025
0.9.7-rc241 179 7/17/2025
0.9.7-rc240 179 7/17/2025
0.9.7-rc239 179 7/17/2025
0.9.7-rc238 181 7/17/2025
0.9.7-rc237 182 7/17/2025
0.9.7-rc236 169 7/17/2025
0.9.7-rc235 192 7/17/2025
0.9.7-rc234 189 7/16/2025
0.9.7-rc233 178 7/16/2025
0.9.7-rc232 172 7/16/2025
0.9.7-rc231 189 7/16/2025
0.9.7-rc230 184 7/16/2025
0.9.7-rc229 177 7/16/2025
0.9.7-rc228 188 7/16/2025
0.9.7-rc227 172 7/16/2025
0.9.7-rc226 181 7/16/2025
0.9.7-rc225 171 7/15/2025
0.9.7-rc224 171 7/15/2025
0.9.7-rc223 181 7/15/2025
0.9.7-rc222 190 7/15/2025
0.9.7-rc220 197 7/10/2025
0.9.7-rc219 185 7/10/2025
0.9.7-rc218 188 7/10/2025
0.9.7-rc217 182 7/10/2025
0.9.7-rc216 189 7/10/2025
0.9.7-rc215 189 7/10/2025
0.9.7-rc214 184 7/9/2025
0.9.7-rc213 189 7/8/2025
0.9.7-rc212 179 7/8/2025
0.9.7-rc211 189 7/8/2025
0.9.7-rc208 188 7/8/2025
0.9.7-rc207 185 7/8/2025
0.9.7-rc206 197 7/8/2025
0.9.7-rc205 182 7/7/2025
0.9.7-rc204 177 7/7/2025
0.9.7-rc203 184 7/7/2025
0.9.7-rc202 187 7/7/2025
0.9.7-rc201 177 7/7/2025
0.9.7-rc200 165 7/3/2025
0.9.7-rc199 171 7/3/2025
0.9.7-rc198 172 7/3/2025
0.9.7-rc197 185 7/3/2025
0.9.7-rc196 181 7/2/2025
0.9.7-rc195 171 7/2/2025
0.9.7-rc194 189 7/1/2025
0.9.7-rc193 182 7/1/2025
0.9.7-rc192 181 7/1/2025
0.9.7-rc191 184 6/30/2025
0.9.7-rc190 171 6/30/2025
0.9.7-rc188 179 6/26/2025
0.9.7-rc187 181 6/26/2025
0.9.7-rc186 173 6/26/2025
0.9.7-rc185 172 6/26/2025
0.9.7-rc184 183 6/24/2025
0.9.7-rc181 207 6/23/2025
0.9.7-rc180 187 6/23/2025
0.9.7-rc179 186 6/23/2025
0.9.7-rc178 186 6/23/2025
0.9.7-rc177 145 6/20/2025
0.9.7-rc176 133 6/20/2025
0.9.7-rc175 124 6/20/2025
0.9.7-rc174 126 6/20/2025
0.9.7-rc173 129 6/20/2025
0.9.7-rc172 190 6/19/2025
0.9.7-rc171 194 6/19/2025
0.9.7-rc170 189 6/19/2025
0.9.7-rc169 192 6/19/2025
0.9.7-rc168 211 6/19/2025
0.9.7-rc167 170 6/19/2025
0.9.7-rc166 206 6/17/2025
0.9.7-rc165 184 6/17/2025
0.9.7-rc164 175 6/16/2025
0.9.7-rc163 195 6/16/2025
0.9.7-rc162 175 6/16/2025
0.9.7-rc161 193 6/15/2025
0.9.7-rc160 275 6/13/2025
0.9.7-rc159 291 6/13/2025
0.9.7-rc158 331 6/12/2025
0.9.7-rc157 334 6/11/2025
0.9.7-rc156 317 6/11/2025
0.9.7-rc155 353 6/10/2025
0.9.7-rc154 339 6/10/2025
0.9.7-rc153 327 6/10/2025
0.9.7-rc152 347 6/10/2025
0.9.7-rc151 324 6/10/2025
0.9.7-rc150.4 487 7/23/2025
0.9.7-rc150.3 142 6/23/2025
0.9.7-rc150.2 144 6/23/2025
0.9.7-rc150 335 6/10/2025
0.9.7-rc149 330 6/9/2025
0.9.7-rc148 310 6/9/2025
0.9.7-rc147 322 6/9/2025
0.9.7-rc146 307 6/9/2025
0.9.7-rc145 310 6/9/2025
0.9.7-rc144 278 6/9/2025
0.9.7-rc143 244 6/8/2025
0.9.7-rc142 246 6/8/2025
0.9.7-rc141 155 6/8/2025
0.9.7-rc140 153 6/7/2025
0.9.7-rc139 138 6/6/2025
0.9.7-rc138 151 6/6/2025
0.9.7-rc137 152 6/6/2025
0.9.7-rc136 185 6/5/2025
0.9.7-rc135 188 6/5/2025
0.9.7-rc134 203 6/5/2025
0.9.7-rc133 183 6/5/2025
0.9.7-rc132 176 6/5/2025
0.9.7-rc131 195 6/5/2025
0.9.7-rc130 185 6/5/2025
0.9.7-rc129 191 6/5/2025
0.9.7-rc128 178 6/4/2025
0.9.7-rc127 211 6/4/2025
0.9.7-rc126 166 6/4/2025
0.9.7-rc125 180 6/4/2025
0.9.7-rc124 192 6/3/2025
0.9.7-rc123 199 6/3/2025
0.9.7-rc122 187 6/3/2025
0.9.7-rc121 187 6/3/2025
0.9.7-rc120 193 6/3/2025
0.9.7-rc119 195 6/2/2025
0.9.7-rc118 183 6/2/2025
0.9.7-rc117 192 6/2/2025
0.9.7-rc116 141 5/30/2025
0.9.7-rc115 187 5/30/2025
0.9.7-rc114 181 5/29/2025
0.9.7-rc113 202 5/29/2025
0.9.7-rc112 190 5/29/2025
0.9.7-rc111 190 5/29/2025
0.9.7-rc110 184 5/29/2025
0.9.7-rc109 182 5/28/2025
0.9.7-rc108 176 5/28/2025
0.9.7-rc107 183 5/27/2025
0.9.7-rc106 220 5/27/2025
0.9.7-rc105 195 5/27/2025
0.9.7-rc104 197 5/26/2025
0.9.7-rc103 192 5/25/2025
0.9.7-rc102 213 5/25/2025
0.9.7-rc101 100 5/24/2025
0.9.7-rc100 146 5/23/2025
0.9.7-post9 165 12/22/2025
0.9.7-post3 423 12/8/2025
0.9.7-post10 84 1/20/2026
0.9.7-post1 660 12/1/2025
0.9.7-ex331 172 9/2/2025
0.9.7-beta159 197 5/20/2025
0.9.7-beta158 225 5/16/2025
0.9.7-beta157 267 5/13/2025
0.9.7-beta156 268 5/12/2025
0.9.7-beta155 205 5/6/2025
0.9.7-beta154 187 5/6/2025
0.9.7-beta153 198 5/5/2025
0.9.7-beta152 216 4/30/2025
0.9.7-beta151 195 4/21/2025
0.9.7-beta150 213 4/21/2025
0.9.7-beta149 205 4/20/2025
0.9.7-beta148 202 4/18/2025
0.9.7-beta147 251 4/17/2025
0.9.7-beta146 244 4/17/2025
0.9.7-beta145 151 4/11/2025
0.9.7-beta144 193 4/11/2025
0.9.7-beta143 214 4/11/2025
0.9.7-beta142 173 4/11/2025
0.9.7-beta141 189 4/11/2025
0.9.7-beta140 231 4/10/2025
0.9.7-beta139 218 4/10/2025
0.9.7-beta138 227 4/9/2025
0.9.7-beta137 206 4/3/2025
0.9.7-beta136 205 4/2/2025
0.9.7-beta135 206 4/2/2025
0.9.7-beta134 202 4/2/2025
0.9.7-beta133 197 4/2/2025
0.9.7-beta132 207 4/2/2025
0.9.7-beta131 217 4/1/2025
0.9.7-beta130 212 4/1/2025
0.9.7-beta129 218 3/31/2025
0.9.7-beta128 206 3/31/2025
0.9.7-beta127 217 3/30/2025
0.9.7-beta126 206 3/30/2025
0.9.7-beta125 526 3/26/2025
0.9.7-beta124 536 3/26/2025
0.9.7-beta123 521 3/26/2025
0.9.7-beta122 528 3/25/2025
0.9.7-beta121 550 3/25/2025
0.9.7-beta120 521 3/25/2025
0.9.7-beta119 549 3/25/2025
0.9.7-beta118 533 3/25/2025
0.9.7-beta117 549 3/25/2025
0.9.7-beta116 547 3/24/2025
0.9.7-beta115 459 3/24/2025
0.9.7-beta114 321 3/23/2025
0.9.7-beta113 146 3/21/2025
0.9.7-beta112 165 3/21/2025
0.9.7-beta111 206 3/19/2025
0.9.7-beta110 200 3/19/2025
0.9.7-beta109 200 3/18/2025
0.9.7-beta108 205 3/17/2025
0.9.7-beta107 203 3/17/2025
0.9.7-beta106 214 3/17/2025
0.9.7-beta105 216 3/13/2025
0.9.7-beta104 214 3/12/2025
0.9.7-beta103 239 3/11/2025
0.9.7-beta102 214 3/9/2025
0.9.7-beta101 259 3/7/2025
0.9.7-beta100 258 3/5/2025
0.9.6 313 3/3/2025
0.9.6-rc100 167 2/28/2025
0.9.5 190 2/26/2025
0.9.5-rc102 160 2/25/2025
0.9.5-rc101 154 2/24/2025
0.9.5-rc100 160 2/23/2025
0.9.4 172 2/21/2025
0.9.3 174 2/17/2025
0.9.3-rc018 161 2/17/2025
0.9.3-rc017 174 2/12/2025
0.9.3-rc016 189 2/12/2025
0.9.3-rc015 170 2/7/2025
0.9.3-rc014 166 2/6/2025
0.9.3-rc013 174 2/5/2025
0.9.3-rc012 206 2/5/2025
0.9.3-rc011 162 2/5/2025
0.9.3-rc010 166 2/5/2025
0.9.3-rc009 169 2/4/2025
0.9.3-rc008 154 2/4/2025
0.9.3-rc007 169 2/4/2025
0.9.3-rc006 147 2/3/2025
0.9.3-rc005 162 2/3/2025
0.9.3-rc004 157 1/31/2025
0.9.3-rc003 159 1/30/2025
0.9.3-rc002 156 1/29/2025
0.9.3-rc001 156 1/29/2025
0.9.2 175 1/24/2025
0.9.2-rc007 159 1/24/2025
0.9.2-rc006 163 1/23/2025
0.9.2-rc005 159 1/23/2025
0.9.2-rc004 163 1/23/2025
0.9.2-rc003 148 1/23/2025
0.9.2-rc002 153 1/23/2025
0.9.2-rc001 158 1/22/2025
0.9.2-a001 166 1/21/2025
0.9.1 198 1/21/2025
0.9.1-rc131 159 1/19/2025
0.9.1-rc130 145 1/19/2025
0.9.1-rc129 141 1/19/2025
0.9.1-rc128 146 1/18/2025
0.9.1-rc127 158 1/18/2025
0.9.1-rc126 148 1/17/2025
0.9.1-rc125 158 1/17/2025
0.9.1-rc124 158 1/16/2025
0.9.1-rc123 154 1/15/2025
0.9.1-rc122 160 1/14/2025
0.9.1-rc121 151 1/14/2025
0.9.1-rc120 144 1/14/2025
0.9.1-rc118 154 1/13/2025
0.9.1-rc117 157 1/13/2025
0.9.1-rc116 140 1/8/2025
0.9.1-rc115 169 1/2/2025
0.9.1-rc114 154 12/24/2024
0.9.1-rc113 158 12/23/2024
0.9.1-rc112 158 12/22/2024
0.9.1-rc111 156 12/22/2024
0.9.1-rc110 151 12/21/2024
0.9.1-rc109 162 12/21/2024
0.9.1-rc108 142 12/21/2024
0.9.1-rc107 168 12/20/2024
0.9.1-rc106 165 12/20/2024
0.9.1-rc105 152 12/19/2024
0.9.1-rc104 172 12/19/2024
0.9.1-rc100 163 12/16/2024
0.9.1-alpha4 194 12/15/2024
0.9.1-alpha3 164 12/15/2024
0.9.0-rc3 153 12/9/2024
0.9.0-rc2 162 12/9/2024
0.9.0-alpha5 164 11/28/2024
0.9.0-alpha1 162 11/27/2024
0.8.4 173 11/20/2024
0.8.3 199 9/18/2024
0.8.2 212 9/3/2024
0.8.2-alpha2 169 9/23/2024
0.8.1 214 8/23/2024
0.8.1-alpha2 174 9/18/2024