FoundationaLLM.Client.Management 0.9.7-rc216

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