FoundationaLLM.Client.Management 0.9.7-rc149

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-rc149
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.9.7-rc149
                    
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-rc149" />
                    
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-rc149" />
                    
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-rc149
                    
#r "nuget: FoundationaLLM.Client.Management, 0.9.7-rc149"
                    
#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-rc149
                    
#: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-rc149&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.9.7-rc149&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-rc269 0 8/9/2025
0.9.7-rc268 0 8/9/2025
0.9.7-rc267 0 8/9/2025
0.9.7-rc266 40 8/8/2025
0.9.7-rc265 45 8/8/2025
0.9.7-rc264 55 8/8/2025
0.9.7-rc263 76 8/8/2025
0.9.7-rc262 82 8/8/2025
0.9.7-rc261 84 8/8/2025
0.9.7-rc260 90 8/8/2025
0.9.7-rc259 111 8/7/2025
0.9.7-rc258 120 8/4/2025
0.9.7-rc257 117 8/4/2025
0.9.7-rc256 90 7/27/2025
0.9.7-rc255 433 7/24/2025
0.9.7-rc254 475 7/22/2025
0.9.7-rc253 467 7/22/2025
0.9.7-rc252 428 7/21/2025
0.9.7-rc251 358 7/21/2025
0.9.7-rc250 266 7/20/2025
0.9.7-rc249.1 266 7/20/2025
0.9.7-rc249 178 7/20/2025
0.9.7-rc248 18 7/18/2025
0.9.7-rc247 20 7/18/2025
0.9.7-rc246 25 7/18/2025
0.9.7-rc245 32 7/18/2025
0.9.7-rc244 68 7/18/2025
0.9.7-rc243 68 7/18/2025
0.9.7-rc242 72 7/18/2025
0.9.7-rc241 104 7/17/2025
0.9.7-rc240 104 7/17/2025
0.9.7-rc239 104 7/17/2025
0.9.7-rc238 104 7/17/2025
0.9.7-rc237 106 7/17/2025
0.9.7-rc236 109 7/17/2025
0.9.7-rc235 108 7/17/2025
0.9.7-rc234 108 7/16/2025
0.9.7-rc233 105 7/16/2025
0.9.7-rc232 104 7/16/2025
0.9.7-rc231 114 7/16/2025
0.9.7-rc230 106 7/16/2025
0.9.7-rc229 107 7/16/2025
0.9.7-rc228 109 7/16/2025
0.9.7-rc227 106 7/16/2025
0.9.7-rc226 110 7/16/2025
0.9.7-rc225 111 7/15/2025
0.9.7-rc224 106 7/15/2025
0.9.7-rc223 109 7/15/2025
0.9.7-rc222 108 7/15/2025
0.9.7-rc220 133 7/10/2025
0.9.7-rc219 124 7/10/2025
0.9.7-rc218 126 7/10/2025
0.9.7-rc217 123 7/10/2025
0.9.7-rc216 125 7/10/2025
0.9.7-rc215 131 7/10/2025
0.9.7-rc214 124 7/9/2025
0.9.7-rc213 127 7/8/2025
0.9.7-rc212 123 7/8/2025
0.9.7-rc211 132 7/8/2025
0.9.7-rc208 129 7/8/2025
0.9.7-rc207 129 7/8/2025
0.9.7-rc206 129 7/8/2025
0.9.7-rc205 125 7/7/2025
0.9.7-rc204 123 7/7/2025
0.9.7-rc203 124 7/7/2025
0.9.7-rc202 132 7/7/2025
0.9.7-rc201 125 7/7/2025
0.9.7-rc200 125 7/3/2025
0.9.7-rc199 126 7/3/2025
0.9.7-rc198 130 7/3/2025
0.9.7-rc197 127 7/3/2025
0.9.7-rc196 130 7/2/2025
0.9.7-rc195 126 7/2/2025
0.9.7-rc194 128 7/1/2025
0.9.7-rc193 125 7/1/2025
0.9.7-rc192 131 7/1/2025
0.9.7-rc191 128 6/30/2025
0.9.7-rc190 125 6/30/2025
0.9.7-rc188 128 6/26/2025
0.9.7-rc187 121 6/26/2025
0.9.7-rc186 126 6/26/2025
0.9.7-rc185 127 6/26/2025
0.9.7-rc184 134 6/24/2025
0.9.7-rc181 143 6/23/2025
0.9.7-rc180 129 6/23/2025
0.9.7-rc179 130 6/23/2025
0.9.7-rc178 134 6/23/2025
0.9.7-rc177 76 6/20/2025
0.9.7-rc176 71 6/20/2025
0.9.7-rc175 67 6/20/2025
0.9.7-rc174 70 6/20/2025
0.9.7-rc173 71 6/20/2025
0.9.7-rc172 132 6/19/2025
0.9.7-rc171 137 6/19/2025
0.9.7-rc170 133 6/19/2025
0.9.7-rc169 137 6/19/2025
0.9.7-rc168 139 6/19/2025
0.9.7-rc167 133 6/19/2025
0.9.7-rc166 134 6/17/2025
0.9.7-rc165 130 6/17/2025
0.9.7-rc164 135 6/16/2025
0.9.7-rc163 133 6/16/2025
0.9.7-rc162 131 6/16/2025
0.9.7-rc161 141 6/15/2025
0.9.7-rc160 202 6/13/2025
0.9.7-rc159 219 6/13/2025
0.9.7-rc158 275 6/12/2025
0.9.7-rc157 282 6/11/2025
0.9.7-rc156 278 6/11/2025
0.9.7-rc155 282 6/10/2025
0.9.7-rc154 285 6/10/2025
0.9.7-rc153 280 6/10/2025
0.9.7-rc152 281 6/10/2025
0.9.7-rc151 277 6/10/2025
0.9.7-rc150.4 432 7/23/2025
0.9.7-rc150.3 109 6/23/2025
0.9.7-rc150.2 113 6/23/2025
0.9.7-rc150 280 6/10/2025
0.9.7-rc149 266 6/9/2025
0.9.7-rc148 257 6/9/2025
0.9.7-rc147 256 6/9/2025
0.9.7-rc146 255 6/9/2025
0.9.7-rc145 260 6/9/2025
0.9.7-rc144 231 6/9/2025
0.9.7-rc143 191 6/8/2025
0.9.7-rc142 192 6/8/2025
0.9.7-rc141 116 6/8/2025
0.9.7-rc140 107 6/7/2025
0.9.7-rc139 100 6/6/2025
0.9.7-rc138 100 6/6/2025
0.9.7-rc137 99 6/6/2025
0.9.7-rc136 131 6/5/2025
0.9.7-rc135 137 6/5/2025
0.9.7-rc134 141 6/5/2025
0.9.7-rc133 136 6/5/2025
0.9.7-rc132 134 6/5/2025
0.9.7-rc131 140 6/5/2025
0.9.7-rc130 139 6/5/2025
0.9.7-rc129 137 6/5/2025
0.9.7-rc128 138 6/4/2025
0.9.7-rc127 145 6/4/2025
0.9.7-rc126 122 6/4/2025
0.9.7-rc125 138 6/4/2025
0.9.7-rc124 139 6/3/2025
0.9.7-rc123 139 6/3/2025
0.9.7-rc122 135 6/3/2025
0.9.7-rc121 135 6/3/2025
0.9.7-rc120 140 6/3/2025
0.9.7-rc119 134 6/2/2025
0.9.7-rc118 131 6/2/2025
0.9.7-rc117 134 6/2/2025
0.9.7-rc116 100 5/30/2025
0.9.7-rc115 135 5/30/2025
0.9.7-rc114 135 5/29/2025
0.9.7-rc113 143 5/29/2025
0.9.7-rc112 136 5/29/2025
0.9.7-rc111 140 5/29/2025
0.9.7-rc110 141 5/29/2025
0.9.7-rc109 137 5/28/2025
0.9.7-rc108 134 5/28/2025
0.9.7-rc107 135 5/27/2025
0.9.7-rc106 145 5/27/2025
0.9.7-rc105 142 5/27/2025
0.9.7-rc104 142 5/26/2025
0.9.7-rc103 144 5/25/2025
0.9.7-rc102 153 5/25/2025
0.9.7-rc101 64 5/24/2025
0.9.7-rc100 97 5/23/2025
0.9.7-beta159 142 5/20/2025
0.9.7-beta158 171 5/16/2025
0.9.7-beta157 226 5/13/2025
0.9.7-beta156 210 5/12/2025
0.9.7-beta155 145 5/6/2025
0.9.7-beta154 142 5/6/2025
0.9.7-beta153 142 5/5/2025
0.9.7-beta152 151 4/30/2025
0.9.7-beta151 158 4/21/2025
0.9.7-beta150 163 4/21/2025
0.9.7-beta149 162 4/20/2025
0.9.7-beta148 144 4/18/2025
0.9.7-beta147 189 4/17/2025
0.9.7-beta146 192 4/17/2025
0.9.7-beta145 107 4/11/2025
0.9.7-beta144 129 4/11/2025
0.9.7-beta143 137 4/11/2025
0.9.7-beta142 132 4/11/2025
0.9.7-beta141 127 4/11/2025
0.9.7-beta140 172 4/10/2025
0.9.7-beta139 165 4/10/2025
0.9.7-beta138 171 4/9/2025
0.9.7-beta137 158 4/3/2025
0.9.7-beta136 155 4/2/2025
0.9.7-beta135 153 4/2/2025
0.9.7-beta134 152 4/2/2025
0.9.7-beta133 157 4/2/2025
0.9.7-beta132 157 4/2/2025
0.9.7-beta131 166 4/1/2025
0.9.7-beta130 156 4/1/2025
0.9.7-beta129 165 3/31/2025
0.9.7-beta128 161 3/31/2025
0.9.7-beta127 160 3/30/2025
0.9.7-beta126 157 3/30/2025
0.9.7-beta125 471 3/26/2025
0.9.7-beta124 485 3/26/2025
0.9.7-beta123 472 3/26/2025
0.9.7-beta122 476 3/25/2025
0.9.7-beta121 485 3/25/2025
0.9.7-beta120 473 3/25/2025
0.9.7-beta119 491 3/25/2025
0.9.7-beta118 482 3/25/2025
0.9.7-beta117 497 3/25/2025
0.9.7-beta116 495 3/24/2025
0.9.7-beta115 407 3/24/2025
0.9.7-beta114 271 3/23/2025
0.9.7-beta113 90 3/21/2025
0.9.7-beta112 120 3/21/2025
0.9.7-beta111 152 3/19/2025
0.9.7-beta110 148 3/19/2025
0.9.7-beta109 151 3/18/2025
0.9.7-beta108 150 3/17/2025
0.9.7-beta107 148 3/17/2025
0.9.7-beta106 161 3/17/2025
0.9.7-beta105 155 3/13/2025
0.9.7-beta104 159 3/12/2025
0.9.7-beta103 164 3/11/2025
0.9.7-beta102 167 3/9/2025
0.9.7-beta101 220 3/7/2025
0.9.7-beta100 216 3/5/2025
0.9.6 222 3/3/2025
0.9.6-rc100 108 2/28/2025
0.9.5 124 2/26/2025
0.9.5-rc102 104 2/25/2025
0.9.5-rc101 95 2/24/2025
0.9.5-rc100 118 2/23/2025
0.9.4 120 2/21/2025
0.9.3 126 2/17/2025
0.9.3-rc018 108 2/17/2025
0.9.3-rc017 122 2/12/2025
0.9.3-rc016 121 2/12/2025
0.9.3-rc015 113 2/7/2025
0.9.3-rc014 107 2/6/2025
0.9.3-rc013 112 2/5/2025
0.9.3-rc012 123 2/5/2025
0.9.3-rc011 109 2/5/2025
0.9.3-rc010 111 2/5/2025
0.9.3-rc009 119 2/4/2025
0.9.3-rc008 110 2/4/2025
0.9.3-rc007 108 2/4/2025
0.9.3-rc006 101 2/3/2025
0.9.3-rc005 107 2/3/2025
0.9.3-rc004 105 1/31/2025
0.9.3-rc003 108 1/30/2025
0.9.3-rc002 104 1/29/2025
0.9.3-rc001 103 1/29/2025
0.9.2 122 1/24/2025
0.9.2-rc007 99 1/24/2025
0.9.2-rc006 107 1/23/2025
0.9.2-rc005 110 1/23/2025
0.9.2-rc004 110 1/23/2025
0.9.2-rc003 103 1/23/2025
0.9.2-rc002 105 1/23/2025
0.9.2-rc001 104 1/22/2025
0.9.2-a001 109 1/21/2025
0.9.1 122 1/21/2025
0.9.1-rc131 102 1/19/2025
0.9.1-rc130 99 1/19/2025
0.9.1-rc129 90 1/19/2025
0.9.1-rc128 101 1/18/2025
0.9.1-rc127 106 1/18/2025
0.9.1-rc126 110 1/17/2025
0.9.1-rc125 106 1/17/2025
0.9.1-rc124 98 1/16/2025
0.9.1-rc123 99 1/15/2025
0.9.1-rc122 103 1/14/2025
0.9.1-rc121 94 1/14/2025
0.9.1-rc120 99 1/14/2025
0.9.1-rc118 102 1/13/2025
0.9.1-rc117 98 1/13/2025
0.9.1-rc116 102 1/8/2025
0.9.1-rc115 120 1/2/2025
0.9.1-rc114 102 12/24/2024
0.9.1-rc113 107 12/23/2024
0.9.1-rc112 112 12/22/2024
0.9.1-rc111 112 12/22/2024
0.9.1-rc110 100 12/21/2024
0.9.1-rc109 110 12/21/2024
0.9.1-rc108 105 12/21/2024
0.9.1-rc107 112 12/20/2024
0.9.1-rc106 112 12/20/2024
0.9.1-rc105 104 12/19/2024
0.9.1-rc104 112 12/19/2024
0.9.1-rc100 110 12/16/2024
0.9.1-alpha4 125 12/15/2024
0.9.1-alpha3 105 12/15/2024
0.9.0-rc3 99 12/9/2024
0.9.0-rc2 105 12/9/2024
0.9.0-alpha5 105 11/28/2024
0.9.0-alpha1 105 11/27/2024
0.8.4 130 11/20/2024
0.8.3 142 9/18/2024
0.8.2 155 9/3/2024
0.8.2-alpha2 126 9/23/2024
0.8.1 159 8/23/2024
0.8.1-alpha2 123 9/18/2024