FoundationaLLM.Client.Management 0.9.2-rc005

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.9.2-rc005
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.9.2-rc005
                    
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.2-rc005" />
                    
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.2-rc005" />
                    
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.2-rc005
                    
#r "nuget: FoundationaLLM.Client.Management, 0.9.2-rc005"
                    
#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.2-rc005
                    
#: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.2-rc005&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.9.2-rc005&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-rc372 43 9/12/2025
0.9.7-rc371 57 9/12/2025
0.9.7-rc370 64 9/12/2025
0.9.7-rc369 66 9/12/2025
0.9.7-rc368 107 9/11/2025
0.9.7-rc367 104 9/10/2025
0.9.7-rc366 102 9/10/2025
0.9.7-rc365 109 9/10/2025
0.9.7-rc364 105 9/9/2025
0.9.7-rc363 102 9/9/2025
0.9.7-rc362 106 9/9/2025
0.9.7-rc361 105 9/9/2025
0.9.7-rc360 104 9/9/2025
0.9.7-rc359 107 9/9/2025
0.9.7-rc358 103 9/9/2025
0.9.7-rc357 125 9/8/2025
0.9.7-rc356 83 9/5/2025
0.9.7-rc355 92 9/5/2025
0.9.7-rc354 101 9/5/2025
0.9.7-rc353 94 9/5/2025
0.9.7-rc352 97 9/5/2025
0.9.7-rc351 103 9/5/2025
0.9.7-rc350 137 9/5/2025
0.9.7-rc349 141 9/5/2025
0.9.7-rc348 136 9/4/2025
0.9.7-rc347 135 9/4/2025
0.9.7-rc346 134 9/4/2025
0.9.7-rc345 141 9/3/2025
0.9.7-rc344 134 9/3/2025
0.9.7-rc343 141 9/3/2025
0.9.7-rc342 139 9/3/2025
0.9.7-rc341 137 9/3/2025
0.9.7-rc340 136 9/3/2025
0.9.7-rc339 138 9/3/2025
0.9.7-rc338 137 9/3/2025
0.9.7-rc337 139 9/2/2025
0.9.7-rc336 135 9/2/2025
0.9.7-rc335 132 9/2/2025
0.9.7-rc334 122 9/2/2025
0.9.7-rc333 122 9/2/2025
0.9.7-rc332 123 9/2/2025
0.9.7-rc331 131 9/2/2025
0.9.7-rc330 128 9/1/2025
0.9.7-rc329 130 8/31/2025
0.9.7-rc328 124 8/31/2025
0.9.7-rc327 125 8/31/2025
0.9.7-rc326 126 8/31/2025
0.9.7-rc325 148 8/31/2025
0.9.7-rc324 158 8/29/2025
0.9.7-rc323 161 8/29/2025
0.9.7-rc322 165 8/29/2025
0.9.7-rc321 162 8/29/2025
0.9.7-rc320 171 8/29/2025
0.9.7-rc319 172 8/28/2025
0.9.7-rc318 173 8/28/2025
0.9.7-rc317 176 8/28/2025
0.9.7-rc316 177 8/26/2025
0.9.7-rc315 171 8/26/2025
0.9.7-rc314 176 8/26/2025
0.9.7-rc313 174 8/26/2025
0.9.7-rc312 175 8/26/2025
0.9.7-rc311 194 8/26/2025
0.9.7-rc310 194 8/26/2025
0.9.7-rc309 146 8/25/2025
0.9.7-rc308 148 8/25/2025
0.9.7-rc307 143 8/25/2025
0.9.7-rc306 146 8/25/2025
0.9.7-rc305 265 8/25/2025
0.9.7-rc304 264 8/25/2025
0.9.7-rc303 236 8/25/2025
0.9.7-rc302 239 8/25/2025
0.9.7-rc301 69 8/22/2025
0.9.7-rc300 67 8/22/2025
0.9.7-rc299 98 8/22/2025
0.9.7-rc298 97 8/22/2025
0.9.7-rc297 125 8/21/2025
0.9.7-rc296 122 8/21/2025
0.9.7-rc295 126 8/21/2025
0.9.7-rc293 119 8/21/2025
0.9.7-rc292 121 8/21/2025
0.9.7-rc291 122 8/21/2025
0.9.7-rc290 120 8/20/2025
0.9.7-rc289 127 8/19/2025
0.9.7-rc288 127 8/19/2025
0.9.7-rc287 123 8/19/2025
0.9.7-rc286 127 8/19/2025
0.9.7-rc285 125 8/18/2025
0.9.7-rc284 124 8/18/2025
0.9.7-rc283 123 8/18/2025
0.9.7-rc282 120 8/18/2025
0.9.7-rc281 122 8/18/2025
0.9.7-rc280 124 8/18/2025
0.9.7-rc279 123 8/18/2025
0.9.7-rc278 122 8/18/2025
0.9.7-rc277 123 8/18/2025
0.9.7-rc276 122 8/18/2025
0.9.7-rc275 122 8/18/2025
0.9.7-rc274 123 8/18/2025
0.9.7-rc273 127 8/17/2025
0.9.7-rc272 103 8/16/2025
0.9.7-rc271 125 8/10/2025
0.9.7-rc270 87 8/9/2025
0.9.7-rc269 110 8/9/2025
0.9.7-rc268 117 8/9/2025
0.9.7-rc267 114 8/9/2025
0.9.7-rc266 130 8/8/2025
0.9.7-rc265 135 8/8/2025
0.9.7-rc264 143 8/8/2025
0.9.7-rc263 168 8/8/2025
0.9.7-rc262 174 8/8/2025
0.9.7-rc261 174 8/8/2025
0.9.7-rc260 182 8/8/2025
0.9.7-rc259 203 8/7/2025
0.9.7-rc258 172 8/4/2025
0.9.7-rc257 154 8/4/2025
0.9.7-rc256 100 7/27/2025
0.9.7-rc255 442 7/24/2025
0.9.7-rc254 504 7/22/2025
0.9.7-rc253 496 7/22/2025
0.9.7-rc252 468 7/21/2025
0.9.7-rc251 408 7/21/2025
0.9.7-rc250 315 7/20/2025
0.9.7-rc249.1 296 7/20/2025
0.9.7-rc249 225 7/20/2025
0.9.7-rc248.1 153 8/29/2025
0.9.7-rc248 68 7/18/2025
0.9.7-rc247 68 7/18/2025
0.9.7-rc246 73 7/18/2025
0.9.7-rc245 82 7/18/2025
0.9.7-rc244 100 7/18/2025
0.9.7-rc243 101 7/18/2025
0.9.7-rc242 106 7/18/2025
0.9.7-rc241 138 7/17/2025
0.9.7-rc240 134 7/17/2025
0.9.7-rc239 134 7/17/2025
0.9.7-rc238 133 7/17/2025
0.9.7-rc237 136 7/17/2025
0.9.7-rc236 140 7/17/2025
0.9.7-rc235 144 7/17/2025
0.9.7-rc234 136 7/16/2025
0.9.7-rc233 133 7/16/2025
0.9.7-rc232 133 7/16/2025
0.9.7-rc231 143 7/16/2025
0.9.7-rc230 134 7/16/2025
0.9.7-rc229 135 7/16/2025
0.9.7-rc228 140 7/16/2025
0.9.7-rc227 135 7/16/2025
0.9.7-rc226 140 7/16/2025
0.9.7-rc225 139 7/15/2025
0.9.7-rc224 136 7/15/2025
0.9.7-rc223 139 7/15/2025
0.9.7-rc222 138 7/15/2025
0.9.7-rc220 146 7/10/2025
0.9.7-rc219 136 7/10/2025
0.9.7-rc218 139 7/10/2025
0.9.7-rc217 136 7/10/2025
0.9.7-rc216 137 7/10/2025
0.9.7-rc215 144 7/10/2025
0.9.7-rc214 136 7/9/2025
0.9.7-rc213 137 7/8/2025
0.9.7-rc212 134 7/8/2025
0.9.7-rc211 144 7/8/2025
0.9.7-rc208 144 7/8/2025
0.9.7-rc207 140 7/8/2025
0.9.7-rc206 140 7/8/2025
0.9.7-rc205 136 7/7/2025
0.9.7-rc204 138 7/7/2025
0.9.7-rc203 138 7/7/2025
0.9.7-rc202 143 7/7/2025
0.9.7-rc201 136 7/7/2025
0.9.7-rc200 137 7/3/2025
0.9.7-rc199 139 7/3/2025
0.9.7-rc198 144 7/3/2025
0.9.7-rc197 139 7/3/2025
0.9.7-rc196 140 7/2/2025
0.9.7-rc195 136 7/2/2025
0.9.7-rc194 140 7/1/2025
0.9.7-rc193 135 7/1/2025
0.9.7-rc192 141 7/1/2025
0.9.7-rc191 139 6/30/2025
0.9.7-rc190 136 6/30/2025
0.9.7-rc188 137 6/26/2025
0.9.7-rc187 133 6/26/2025
0.9.7-rc186 135 6/26/2025
0.9.7-rc185 137 6/26/2025
0.9.7-rc184 142 6/24/2025
0.9.7-rc181 153 6/23/2025
0.9.7-rc180 137 6/23/2025
0.9.7-rc179 138 6/23/2025
0.9.7-rc178 142 6/23/2025
0.9.7-rc177 89 6/20/2025
0.9.7-rc176 80 6/20/2025
0.9.7-rc175 76 6/20/2025
0.9.7-rc174 78 6/20/2025
0.9.7-rc173 79 6/20/2025
0.9.7-rc172 140 6/19/2025
0.9.7-rc171 147 6/19/2025
0.9.7-rc170 141 6/19/2025
0.9.7-rc169 145 6/19/2025
0.9.7-rc168 149 6/19/2025
0.9.7-rc167 142 6/19/2025
0.9.7-rc166 146 6/17/2025
0.9.7-rc165 138 6/17/2025
0.9.7-rc164 142 6/16/2025
0.9.7-rc163 142 6/16/2025
0.9.7-rc162 138 6/16/2025
0.9.7-rc161 148 6/15/2025
0.9.7-rc160 211 6/13/2025
0.9.7-rc159 228 6/13/2025
0.9.7-rc158 282 6/12/2025
0.9.7-rc157 297 6/11/2025
0.9.7-rc156 287 6/11/2025
0.9.7-rc155 291 6/10/2025
0.9.7-rc154 292 6/10/2025
0.9.7-rc153 287 6/10/2025
0.9.7-rc152 288 6/10/2025
0.9.7-rc151 284 6/10/2025
0.9.7-rc150.4 460 7/23/2025
0.9.7-rc150.3 117 6/23/2025
0.9.7-rc150.2 123 6/23/2025
0.9.7-rc150 288 6/10/2025
0.9.7-rc149 273 6/9/2025
0.9.7-rc148 264 6/9/2025
0.9.7-rc147 264 6/9/2025
0.9.7-rc146 264 6/9/2025
0.9.7-rc145 267 6/9/2025
0.9.7-rc144 239 6/9/2025
0.9.7-rc143 200 6/8/2025
0.9.7-rc142 200 6/8/2025
0.9.7-rc141 123 6/8/2025
0.9.7-rc140 116 6/7/2025
0.9.7-rc139 107 6/6/2025
0.9.7-rc138 107 6/6/2025
0.9.7-rc137 106 6/6/2025
0.9.7-rc136 139 6/5/2025
0.9.7-rc135 144 6/5/2025
0.9.7-rc134 150 6/5/2025
0.9.7-rc133 144 6/5/2025
0.9.7-rc132 141 6/5/2025
0.9.7-rc131 147 6/5/2025
0.9.7-rc130 146 6/5/2025
0.9.7-rc129 144 6/5/2025
0.9.7-rc128 148 6/4/2025
0.9.7-rc127 156 6/4/2025
0.9.7-rc126 129 6/4/2025
0.9.7-rc125 145 6/4/2025
0.9.7-rc124 146 6/3/2025
0.9.7-rc123 156 6/3/2025
0.9.7-rc122 142 6/3/2025
0.9.7-rc121 142 6/3/2025
0.9.7-rc120 148 6/3/2025
0.9.7-rc119 144 6/2/2025
0.9.7-rc118 139 6/2/2025
0.9.7-rc117 145 6/2/2025
0.9.7-rc116 108 5/30/2025
0.9.7-rc115 144 5/30/2025
0.9.7-rc114 145 5/29/2025
0.9.7-rc113 153 5/29/2025
0.9.7-rc112 147 5/29/2025
0.9.7-rc111 150 5/29/2025
0.9.7-rc110 151 5/29/2025
0.9.7-rc109 146 5/28/2025
0.9.7-rc108 142 5/28/2025
0.9.7-rc107 143 5/27/2025
0.9.7-rc106 156 5/27/2025
0.9.7-rc105 150 5/27/2025
0.9.7-rc104 150 5/26/2025
0.9.7-rc103 152 5/25/2025
0.9.7-rc102 161 5/25/2025
0.9.7-rc101 72 5/24/2025
0.9.7-rc100 104 5/23/2025
0.9.7-ex331 124 9/2/2025
0.9.7-beta159 149 5/20/2025
0.9.7-beta158 179 5/16/2025
0.9.7-beta157 234 5/13/2025
0.9.7-beta156 219 5/12/2025
0.9.7-beta155 154 5/6/2025
0.9.7-beta154 149 5/6/2025
0.9.7-beta153 149 5/5/2025
0.9.7-beta152 161 4/30/2025
0.9.7-beta151 168 4/21/2025
0.9.7-beta150 171 4/21/2025
0.9.7-beta149 172 4/20/2025
0.9.7-beta148 154 4/18/2025
0.9.7-beta147 198 4/17/2025
0.9.7-beta146 201 4/17/2025
0.9.7-beta145 117 4/11/2025
0.9.7-beta144 138 4/11/2025
0.9.7-beta143 146 4/11/2025
0.9.7-beta142 141 4/11/2025
0.9.7-beta141 137 4/11/2025
0.9.7-beta140 182 4/10/2025
0.9.7-beta139 173 4/10/2025
0.9.7-beta138 180 4/9/2025
0.9.7-beta137 167 4/3/2025
0.9.7-beta136 163 4/2/2025
0.9.7-beta135 163 4/2/2025
0.9.7-beta134 162 4/2/2025
0.9.7-beta133 168 4/2/2025
0.9.7-beta132 165 4/2/2025
0.9.7-beta131 174 4/1/2025
0.9.7-beta130 165 4/1/2025
0.9.7-beta129 174 3/31/2025
0.9.7-beta128 169 3/31/2025
0.9.7-beta127 170 3/30/2025
0.9.7-beta126 165 3/30/2025
0.9.7-beta125 483 3/26/2025
0.9.7-beta124 493 3/26/2025
0.9.7-beta123 482 3/26/2025
0.9.7-beta122 487 3/25/2025
0.9.7-beta121 497 3/25/2025
0.9.7-beta120 481 3/25/2025
0.9.7-beta119 499 3/25/2025
0.9.7-beta118 494 3/25/2025
0.9.7-beta117 506 3/25/2025
0.9.7-beta116 504 3/24/2025
0.9.7-beta115 416 3/24/2025
0.9.7-beta114 281 3/23/2025
0.9.7-beta113 98 3/21/2025
0.9.7-beta112 128 3/21/2025
0.9.7-beta111 162 3/19/2025
0.9.7-beta110 159 3/19/2025
0.9.7-beta109 161 3/18/2025
0.9.7-beta108 160 3/17/2025
0.9.7-beta107 157 3/17/2025
0.9.7-beta106 171 3/17/2025
0.9.7-beta105 166 3/13/2025
0.9.7-beta104 168 3/12/2025
0.9.7-beta103 179 3/11/2025
0.9.7-beta102 175 3/9/2025
0.9.7-beta101 228 3/7/2025
0.9.7-beta100 225 3/5/2025
0.9.6 243 3/3/2025
0.9.6-rc100 119 2/28/2025
0.9.5 134 2/26/2025
0.9.5-rc102 111 2/25/2025
0.9.5-rc101 103 2/24/2025
0.9.5-rc100 126 2/23/2025
0.9.4 129 2/21/2025
0.9.3 133 2/17/2025
0.9.3-rc018 115 2/17/2025
0.9.3-rc017 129 2/12/2025
0.9.3-rc016 135 2/12/2025
0.9.3-rc015 120 2/7/2025
0.9.3-rc014 117 2/6/2025
0.9.3-rc013 119 2/5/2025
0.9.3-rc012 138 2/5/2025
0.9.3-rc011 116 2/5/2025
0.9.3-rc010 119 2/5/2025
0.9.3-rc009 126 2/4/2025
0.9.3-rc008 117 2/4/2025
0.9.3-rc007 117 2/4/2025
0.9.3-rc006 107 2/3/2025
0.9.3-rc005 114 2/3/2025
0.9.3-rc004 113 1/31/2025
0.9.3-rc003 116 1/30/2025
0.9.3-rc002 112 1/29/2025
0.9.3-rc001 112 1/29/2025
0.9.2 130 1/24/2025
0.9.2-rc007 108 1/24/2025
0.9.2-rc006 118 1/23/2025
0.9.2-rc005 118 1/23/2025
0.9.2-rc004 119 1/23/2025
0.9.2-rc003 112 1/23/2025
0.9.2-rc002 113 1/23/2025
0.9.2-rc001 112 1/22/2025
0.9.2-a001 117 1/21/2025
0.9.1 135 1/21/2025
0.9.1-rc131 110 1/19/2025
0.9.1-rc130 108 1/19/2025
0.9.1-rc129 99 1/19/2025
0.9.1-rc128 109 1/18/2025
0.9.1-rc127 113 1/18/2025
0.9.1-rc126 117 1/17/2025
0.9.1-rc125 115 1/17/2025
0.9.1-rc124 106 1/16/2025
0.9.1-rc123 107 1/15/2025
0.9.1-rc122 111 1/14/2025
0.9.1-rc121 102 1/14/2025
0.9.1-rc120 107 1/14/2025
0.9.1-rc118 110 1/13/2025
0.9.1-rc117 106 1/13/2025
0.9.1-rc116 109 1/8/2025
0.9.1-rc115 128 1/2/2025
0.9.1-rc114 112 12/24/2024
0.9.1-rc113 116 12/23/2024
0.9.1-rc112 121 12/22/2024
0.9.1-rc111 121 12/22/2024
0.9.1-rc110 110 12/21/2024
0.9.1-rc109 119 12/21/2024
0.9.1-rc108 114 12/21/2024
0.9.1-rc107 121 12/20/2024
0.9.1-rc106 119 12/20/2024
0.9.1-rc105 112 12/19/2024
0.9.1-rc104 121 12/19/2024
0.9.1-rc100 117 12/16/2024
0.9.1-alpha4 135 12/15/2024
0.9.1-alpha3 113 12/15/2024
0.9.0-rc3 114 12/9/2024
0.9.0-rc2 113 12/9/2024
0.9.0-alpha5 115 11/28/2024
0.9.0-alpha1 114 11/27/2024
0.8.4 138 11/20/2024
0.8.3 150 9/18/2024
0.8.2 163 9/3/2024
0.8.2-alpha2 133 9/23/2024
0.8.1 167 8/23/2024
0.8.1-alpha2 132 9/18/2024