FoundationaLLM.Client.Management 0.9.7-ex331

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