FoundationaLLM.Client.Management 0.9.7-rc267

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-rc267
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.9.7-rc267
                    
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-rc267" />
                    
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-rc267" />
                    
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-rc267
                    
#r "nuget: FoundationaLLM.Client.Management, 0.9.7-rc267"
                    
#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-rc267
                    
#: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-rc267&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.9.7-rc267&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-rc319 0 8/28/2025
0.9.7-rc318 0 8/28/2025
0.9.7-rc317 0 8/28/2025
0.9.7-rc316 13 8/26/2025
0.9.7-rc315 7 8/26/2025
0.9.7-rc314 9 8/26/2025
0.9.7-rc313 6 8/26/2025
0.9.7-rc312 8 8/26/2025
0.9.7-rc311 8 8/26/2025
0.9.7-rc310 10 8/26/2025
0.9.7-rc309 44 8/25/2025
0.9.7-rc308 47 8/25/2025
0.9.7-rc307 41 8/25/2025
0.9.7-rc306 46 8/25/2025
0.9.7-rc305 31 8/25/2025
0.9.7-rc304 30 8/25/2025
0.9.7-rc303 30 8/25/2025
0.9.7-rc302 32 8/25/2025
0.9.7-rc301 41 8/22/2025
0.9.7-rc300 45 8/22/2025
0.9.7-rc299 73 8/22/2025
0.9.7-rc298 70 8/22/2025
0.9.7-rc297 101 8/21/2025
0.9.7-rc296 97 8/21/2025
0.9.7-rc295 100 8/21/2025
0.9.7-rc293 97 8/21/2025
0.9.7-rc292 96 8/21/2025
0.9.7-rc291 99 8/21/2025
0.9.7-rc290 111 8/20/2025
0.9.7-rc289 123 8/19/2025
0.9.7-rc288 124 8/19/2025
0.9.7-rc287 120 8/19/2025
0.9.7-rc286 124 8/19/2025
0.9.7-rc285 122 8/18/2025
0.9.7-rc284 122 8/18/2025
0.9.7-rc283 120 8/18/2025
0.9.7-rc282 118 8/18/2025
0.9.7-rc281 120 8/18/2025
0.9.7-rc280 122 8/18/2025
0.9.7-rc279 121 8/18/2025
0.9.7-rc278 120 8/18/2025
0.9.7-rc277 121 8/18/2025
0.9.7-rc276 119 8/18/2025
0.9.7-rc275 119 8/18/2025
0.9.7-rc274 120 8/18/2025
0.9.7-rc273 123 8/17/2025
0.9.7-rc272 100 8/16/2025
0.9.7-rc271 122 8/10/2025
0.9.7-rc270 85 8/9/2025
0.9.7-rc269 108 8/9/2025
0.9.7-rc268 115 8/9/2025
0.9.7-rc267 112 8/9/2025
0.9.7-rc266 129 8/8/2025
0.9.7-rc265 133 8/8/2025
0.9.7-rc264 141 8/8/2025
0.9.7-rc263 166 8/8/2025
0.9.7-rc262 171 8/8/2025
0.9.7-rc261 171 8/8/2025
0.9.7-rc260 180 8/8/2025
0.9.7-rc259 202 8/7/2025
0.9.7-rc258 170 8/4/2025
0.9.7-rc257 151 8/4/2025
0.9.7-rc256 98 7/27/2025
0.9.7-rc255 441 7/24/2025
0.9.7-rc254 483 7/22/2025
0.9.7-rc253 476 7/22/2025
0.9.7-rc252 437 7/21/2025
0.9.7-rc251 366 7/21/2025
0.9.7-rc250 276 7/20/2025
0.9.7-rc249.1 276 7/20/2025
0.9.7-rc249 187 7/20/2025
0.9.7-rc248 26 7/18/2025
0.9.7-rc247 28 7/18/2025
0.9.7-rc246 33 7/18/2025
0.9.7-rc245 40 7/18/2025
0.9.7-rc244 76 7/18/2025
0.9.7-rc243 77 7/18/2025
0.9.7-rc242 81 7/18/2025
0.9.7-rc241 115 7/17/2025
0.9.7-rc240 113 7/17/2025
0.9.7-rc239 113 7/17/2025
0.9.7-rc238 113 7/17/2025
0.9.7-rc237 115 7/17/2025
0.9.7-rc236 119 7/17/2025
0.9.7-rc235 116 7/17/2025
0.9.7-rc234 116 7/16/2025
0.9.7-rc233 113 7/16/2025
0.9.7-rc232 113 7/16/2025
0.9.7-rc231 122 7/16/2025
0.9.7-rc230 114 7/16/2025
0.9.7-rc229 115 7/16/2025
0.9.7-rc228 118 7/16/2025
0.9.7-rc227 115 7/16/2025
0.9.7-rc226 119 7/16/2025
0.9.7-rc225 119 7/15/2025
0.9.7-rc224 115 7/15/2025
0.9.7-rc223 118 7/15/2025
0.9.7-rc222 117 7/15/2025
0.9.7-rc220 141 7/10/2025
0.9.7-rc219 132 7/10/2025
0.9.7-rc218 134 7/10/2025
0.9.7-rc217 132 7/10/2025
0.9.7-rc216 133 7/10/2025
0.9.7-rc215 140 7/10/2025
0.9.7-rc214 132 7/9/2025
0.9.7-rc213 134 7/8/2025
0.9.7-rc212 131 7/8/2025
0.9.7-rc211 141 7/8/2025
0.9.7-rc208 141 7/8/2025
0.9.7-rc207 137 7/8/2025
0.9.7-rc206 137 7/8/2025
0.9.7-rc205 133 7/7/2025
0.9.7-rc204 131 7/7/2025
0.9.7-rc203 133 7/7/2025
0.9.7-rc202 140 7/7/2025
0.9.7-rc201 133 7/7/2025
0.9.7-rc200 135 7/3/2025
0.9.7-rc199 137 7/3/2025
0.9.7-rc198 140 7/3/2025
0.9.7-rc197 137 7/3/2025
0.9.7-rc196 138 7/2/2025
0.9.7-rc195 134 7/2/2025
0.9.7-rc194 138 7/1/2025
0.9.7-rc193 133 7/1/2025
0.9.7-rc192 139 7/1/2025
0.9.7-rc191 135 6/30/2025
0.9.7-rc190 132 6/30/2025
0.9.7-rc188 135 6/26/2025
0.9.7-rc187 130 6/26/2025
0.9.7-rc186 133 6/26/2025
0.9.7-rc185 134 6/26/2025
0.9.7-rc184 140 6/24/2025
0.9.7-rc181 149 6/23/2025
0.9.7-rc180 135 6/23/2025
0.9.7-rc179 136 6/23/2025
0.9.7-rc178 140 6/23/2025
0.9.7-rc177 83 6/20/2025
0.9.7-rc176 78 6/20/2025
0.9.7-rc175 73 6/20/2025
0.9.7-rc174 76 6/20/2025
0.9.7-rc173 77 6/20/2025
0.9.7-rc172 138 6/19/2025
0.9.7-rc171 145 6/19/2025
0.9.7-rc170 139 6/19/2025
0.9.7-rc169 143 6/19/2025
0.9.7-rc168 146 6/19/2025
0.9.7-rc167 140 6/19/2025
0.9.7-rc166 140 6/17/2025
0.9.7-rc165 136 6/17/2025
0.9.7-rc164 141 6/16/2025
0.9.7-rc163 141 6/16/2025
0.9.7-rc162 137 6/16/2025
0.9.7-rc161 147 6/15/2025
0.9.7-rc160 209 6/13/2025
0.9.7-rc159 227 6/13/2025
0.9.7-rc158 281 6/12/2025
0.9.7-rc157 296 6/11/2025
0.9.7-rc156 284 6/11/2025
0.9.7-rc155 288 6/10/2025
0.9.7-rc154 291 6/10/2025
0.9.7-rc153 286 6/10/2025
0.9.7-rc152 287 6/10/2025
0.9.7-rc151 283 6/10/2025
0.9.7-rc150.4 441 7/23/2025
0.9.7-rc150.3 115 6/23/2025
0.9.7-rc150.2 121 6/23/2025
0.9.7-rc150 287 6/10/2025
0.9.7-rc149 272 6/9/2025
0.9.7-rc148 263 6/9/2025
0.9.7-rc147 263 6/9/2025
0.9.7-rc146 263 6/9/2025
0.9.7-rc145 266 6/9/2025
0.9.7-rc144 238 6/9/2025
0.9.7-rc143 199 6/8/2025
0.9.7-rc142 199 6/8/2025
0.9.7-rc141 122 6/8/2025
0.9.7-rc140 114 6/7/2025
0.9.7-rc139 106 6/6/2025
0.9.7-rc138 106 6/6/2025
0.9.7-rc137 105 6/6/2025
0.9.7-rc136 137 6/5/2025
0.9.7-rc135 143 6/5/2025
0.9.7-rc134 147 6/5/2025
0.9.7-rc133 142 6/5/2025
0.9.7-rc132 140 6/5/2025
0.9.7-rc131 146 6/5/2025
0.9.7-rc130 145 6/5/2025
0.9.7-rc129 143 6/5/2025
0.9.7-rc128 146 6/4/2025
0.9.7-rc127 152 6/4/2025
0.9.7-rc126 128 6/4/2025
0.9.7-rc125 144 6/4/2025
0.9.7-rc124 145 6/3/2025
0.9.7-rc123 145 6/3/2025
0.9.7-rc122 141 6/3/2025
0.9.7-rc121 141 6/3/2025
0.9.7-rc120 147 6/3/2025
0.9.7-rc119 143 6/2/2025
0.9.7-rc118 137 6/2/2025
0.9.7-rc117 144 6/2/2025
0.9.7-rc116 107 5/30/2025
0.9.7-rc115 142 5/30/2025
0.9.7-rc114 143 5/29/2025
0.9.7-rc113 152 5/29/2025
0.9.7-rc112 145 5/29/2025
0.9.7-rc111 149 5/29/2025
0.9.7-rc110 150 5/29/2025
0.9.7-rc109 145 5/28/2025
0.9.7-rc108 141 5/28/2025
0.9.7-rc107 142 5/27/2025
0.9.7-rc106 153 5/27/2025
0.9.7-rc105 149 5/27/2025
0.9.7-rc104 149 5/26/2025
0.9.7-rc103 151 5/25/2025
0.9.7-rc102 160 5/25/2025
0.9.7-rc101 71 5/24/2025
0.9.7-rc100 103 5/23/2025
0.9.7-beta159 148 5/20/2025
0.9.7-beta158 178 5/16/2025
0.9.7-beta157 233 5/13/2025
0.9.7-beta156 218 5/12/2025
0.9.7-beta155 152 5/6/2025
0.9.7-beta154 148 5/6/2025
0.9.7-beta153 148 5/5/2025
0.9.7-beta152 157 4/30/2025
0.9.7-beta151 166 4/21/2025
0.9.7-beta150 169 4/21/2025
0.9.7-beta149 169 4/20/2025
0.9.7-beta148 152 4/18/2025
0.9.7-beta147 196 4/17/2025
0.9.7-beta146 199 4/17/2025
0.9.7-beta145 115 4/11/2025
0.9.7-beta144 136 4/11/2025
0.9.7-beta143 144 4/11/2025
0.9.7-beta142 139 4/11/2025
0.9.7-beta141 135 4/11/2025
0.9.7-beta140 180 4/10/2025
0.9.7-beta139 171 4/10/2025
0.9.7-beta138 178 4/9/2025
0.9.7-beta137 164 4/3/2025
0.9.7-beta136 161 4/2/2025
0.9.7-beta135 161 4/2/2025
0.9.7-beta134 159 4/2/2025
0.9.7-beta133 165 4/2/2025
0.9.7-beta132 163 4/2/2025
0.9.7-beta131 172 4/1/2025
0.9.7-beta130 163 4/1/2025
0.9.7-beta129 172 3/31/2025
0.9.7-beta128 167 3/31/2025
0.9.7-beta127 167 3/30/2025
0.9.7-beta126 163 3/30/2025
0.9.7-beta125 481 3/26/2025
0.9.7-beta124 491 3/26/2025
0.9.7-beta123 480 3/26/2025
0.9.7-beta122 484 3/25/2025
0.9.7-beta121 492 3/25/2025
0.9.7-beta120 479 3/25/2025
0.9.7-beta119 497 3/25/2025
0.9.7-beta118 492 3/25/2025
0.9.7-beta117 504 3/25/2025
0.9.7-beta116 502 3/24/2025
0.9.7-beta115 414 3/24/2025
0.9.7-beta114 279 3/23/2025
0.9.7-beta113 96 3/21/2025
0.9.7-beta112 126 3/21/2025
0.9.7-beta111 160 3/19/2025
0.9.7-beta110 155 3/19/2025
0.9.7-beta109 159 3/18/2025
0.9.7-beta108 158 3/17/2025
0.9.7-beta107 154 3/17/2025
0.9.7-beta106 169 3/17/2025
0.9.7-beta105 164 3/13/2025
0.9.7-beta104 165 3/12/2025
0.9.7-beta103 172 3/11/2025
0.9.7-beta102 173 3/9/2025
0.9.7-beta101 226 3/7/2025
0.9.7-beta100 224 3/5/2025
0.9.6 231 3/3/2025
0.9.6-rc100 114 2/28/2025
0.9.5 132 2/26/2025
0.9.5-rc102 110 2/25/2025
0.9.5-rc101 102 2/24/2025
0.9.5-rc100 125 2/23/2025
0.9.4 127 2/21/2025
0.9.3 132 2/17/2025
0.9.3-rc018 114 2/17/2025
0.9.3-rc017 128 2/12/2025
0.9.3-rc016 128 2/12/2025
0.9.3-rc015 119 2/7/2025
0.9.3-rc014 114 2/6/2025
0.9.3-rc013 118 2/5/2025
0.9.3-rc012 132 2/5/2025
0.9.3-rc011 115 2/5/2025
0.9.3-rc010 118 2/5/2025
0.9.3-rc009 125 2/4/2025
0.9.3-rc008 116 2/4/2025
0.9.3-rc007 115 2/4/2025
0.9.3-rc006 106 2/3/2025
0.9.3-rc005 113 2/3/2025
0.9.3-rc004 111 1/31/2025
0.9.3-rc003 115 1/30/2025
0.9.3-rc002 111 1/29/2025
0.9.3-rc001 109 1/29/2025
0.9.2 129 1/24/2025
0.9.2-rc007 107 1/24/2025
0.9.2-rc006 116 1/23/2025
0.9.2-rc005 117 1/23/2025
0.9.2-rc004 117 1/23/2025
0.9.2-rc003 111 1/23/2025
0.9.2-rc002 111 1/23/2025
0.9.2-rc001 111 1/22/2025
0.9.2-a001 116 1/21/2025
0.9.1 128 1/21/2025
0.9.1-rc131 109 1/19/2025
0.9.1-rc130 106 1/19/2025
0.9.1-rc129 97 1/19/2025
0.9.1-rc128 107 1/18/2025
0.9.1-rc127 112 1/18/2025
0.9.1-rc126 116 1/17/2025
0.9.1-rc125 113 1/17/2025
0.9.1-rc124 105 1/16/2025
0.9.1-rc123 106 1/15/2025
0.9.1-rc122 110 1/14/2025
0.9.1-rc121 101 1/14/2025
0.9.1-rc120 106 1/14/2025
0.9.1-rc118 109 1/13/2025
0.9.1-rc117 105 1/13/2025
0.9.1-rc116 108 1/8/2025
0.9.1-rc115 127 1/2/2025
0.9.1-rc114 108 12/24/2024
0.9.1-rc113 115 12/23/2024
0.9.1-rc112 120 12/22/2024
0.9.1-rc111 118 12/22/2024
0.9.1-rc110 107 12/21/2024
0.9.1-rc109 117 12/21/2024
0.9.1-rc108 112 12/21/2024
0.9.1-rc107 120 12/20/2024
0.9.1-rc106 118 12/20/2024
0.9.1-rc105 111 12/19/2024
0.9.1-rc104 119 12/19/2024
0.9.1-rc100 116 12/16/2024
0.9.1-alpha4 131 12/15/2024
0.9.1-alpha3 112 12/15/2024
0.9.0-rc3 111 12/9/2024
0.9.0-rc2 112 12/9/2024
0.9.0-alpha5 113 11/28/2024
0.9.0-alpha1 113 11/27/2024
0.8.4 136 11/20/2024
0.8.3 149 9/18/2024
0.8.2 162 9/3/2024
0.8.2-alpha2 132 9/23/2024
0.8.1 166 8/23/2024
0.8.1-alpha2 131 9/18/2024