FoundationaLLM.Client.Management 0.9.7-rc102

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-rc102
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.9.7-rc102
                    
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-rc102" />
                    
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-rc102" />
                    
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-rc102
                    
#r "nuget: FoundationaLLM.Client.Management, 0.9.7-rc102"
                    
#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-rc102
                    
#: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-rc102&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.9.7-rc102&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-rc233 0 7/16/2025
0.9.7-rc232 0 7/16/2025
0.9.7-rc231 0 7/16/2025
0.9.7-rc230 0 7/16/2025
0.9.7-rc229 0 7/16/2025
0.9.7-rc228 0 7/16/2025
0.9.7-rc227 0 7/16/2025
0.9.7-rc226 18 7/16/2025
0.9.7-rc225 30 7/15/2025
0.9.7-rc224 27 7/15/2025
0.9.7-rc223 30 7/15/2025
0.9.7-rc222 30 7/15/2025
0.9.7-rc220 126 7/10/2025
0.9.7-rc219 117 7/10/2025
0.9.7-rc218 118 7/10/2025
0.9.7-rc217 116 7/10/2025
0.9.7-rc216 118 7/10/2025
0.9.7-rc215 124 7/10/2025
0.9.7-rc214 118 7/9/2025
0.9.7-rc213 121 7/8/2025
0.9.7-rc212 117 7/8/2025
0.9.7-rc211 127 7/8/2025
0.9.7-rc208 124 7/8/2025
0.9.7-rc207 124 7/8/2025
0.9.7-rc206 124 7/8/2025
0.9.7-rc205 120 7/7/2025
0.9.7-rc204 118 7/7/2025
0.9.7-rc203 119 7/7/2025
0.9.7-rc202 128 7/7/2025
0.9.7-rc201 121 7/7/2025
0.9.7-rc200 121 7/3/2025
0.9.7-rc199 122 7/3/2025
0.9.7-rc198 126 7/3/2025
0.9.7-rc197 122 7/3/2025
0.9.7-rc196 127 7/2/2025
0.9.7-rc195 122 7/2/2025
0.9.7-rc194 124 7/1/2025
0.9.7-rc193 121 7/1/2025
0.9.7-rc192 126 7/1/2025
0.9.7-rc191 124 6/30/2025
0.9.7-rc190 121 6/30/2025
0.9.7-rc188 124 6/26/2025
0.9.7-rc187 116 6/26/2025
0.9.7-rc186 122 6/26/2025
0.9.7-rc185 123 6/26/2025
0.9.7-rc184 130 6/24/2025
0.9.7-rc181 138 6/23/2025
0.9.7-rc180 125 6/23/2025
0.9.7-rc179 127 6/23/2025
0.9.7-rc178 131 6/23/2025
0.9.7-rc177 72 6/20/2025
0.9.7-rc176 68 6/20/2025
0.9.7-rc175 64 6/20/2025
0.9.7-rc174 67 6/20/2025
0.9.7-rc173 68 6/20/2025
0.9.7-rc172 129 6/19/2025
0.9.7-rc171 134 6/19/2025
0.9.7-rc170 130 6/19/2025
0.9.7-rc169 134 6/19/2025
0.9.7-rc168 134 6/19/2025
0.9.7-rc167 129 6/19/2025
0.9.7-rc166 127 6/17/2025
0.9.7-rc165 126 6/17/2025
0.9.7-rc164 132 6/16/2025
0.9.7-rc163 130 6/16/2025
0.9.7-rc162 128 6/16/2025
0.9.7-rc161 138 6/15/2025
0.9.7-rc160 199 6/13/2025
0.9.7-rc159 217 6/13/2025
0.9.7-rc158 271 6/12/2025
0.9.7-rc157 274 6/11/2025
0.9.7-rc156 275 6/11/2025
0.9.7-rc155 275 6/10/2025
0.9.7-rc154 281 6/10/2025
0.9.7-rc153 276 6/10/2025
0.9.7-rc152 277 6/10/2025
0.9.7-rc151 273 6/10/2025
0.9.7-rc150.3 105 6/23/2025
0.9.7-rc150.2 109 6/23/2025
0.9.7-rc150 276 6/10/2025
0.9.7-rc149 262 6/9/2025
0.9.7-rc148 253 6/9/2025
0.9.7-rc147 252 6/9/2025
0.9.7-rc146 251 6/9/2025
0.9.7-rc145 256 6/9/2025
0.9.7-rc144 227 6/9/2025
0.9.7-rc143 187 6/8/2025
0.9.7-rc142 188 6/8/2025
0.9.7-rc141 112 6/8/2025
0.9.7-rc140 103 6/7/2025
0.9.7-rc139 96 6/6/2025
0.9.7-rc138 96 6/6/2025
0.9.7-rc137 95 6/6/2025
0.9.7-rc136 127 6/5/2025
0.9.7-rc135 133 6/5/2025
0.9.7-rc134 135 6/5/2025
0.9.7-rc133 131 6/5/2025
0.9.7-rc132 130 6/5/2025
0.9.7-rc131 136 6/5/2025
0.9.7-rc130 135 6/5/2025
0.9.7-rc129 133 6/5/2025
0.9.7-rc128 134 6/4/2025
0.9.7-rc127 138 6/4/2025
0.9.7-rc126 118 6/4/2025
0.9.7-rc125 134 6/4/2025
0.9.7-rc124 135 6/3/2025
0.9.7-rc123 133 6/3/2025
0.9.7-rc122 131 6/3/2025
0.9.7-rc121 131 6/3/2025
0.9.7-rc120 136 6/3/2025
0.9.7-rc119 131 6/2/2025
0.9.7-rc118 128 6/2/2025
0.9.7-rc117 131 6/2/2025
0.9.7-rc116 97 5/30/2025
0.9.7-rc115 131 5/30/2025
0.9.7-rc114 131 5/29/2025
0.9.7-rc113 139 5/29/2025
0.9.7-rc112 132 5/29/2025
0.9.7-rc111 136 5/29/2025
0.9.7-rc110 137 5/29/2025
0.9.7-rc109 133 5/28/2025
0.9.7-rc108 129 5/28/2025
0.9.7-rc107 131 5/27/2025
0.9.7-rc106 140 5/27/2025
0.9.7-rc105 138 5/27/2025
0.9.7-rc104 138 5/26/2025
0.9.7-rc103 139 5/25/2025
0.9.7-rc102 141 5/25/2025
0.9.7-rc101 59 5/24/2025
0.9.7-rc100 93 5/23/2025
0.9.7-beta159 137 5/20/2025
0.9.7-beta158 166 5/16/2025
0.9.7-beta157 221 5/13/2025
0.9.7-beta156 205 5/12/2025
0.9.7-beta155 139 5/6/2025
0.9.7-beta154 136 5/6/2025
0.9.7-beta153 138 5/5/2025
0.9.7-beta152 145 4/30/2025
0.9.7-beta151 153 4/21/2025
0.9.7-beta150 157 4/21/2025
0.9.7-beta149 158 4/20/2025
0.9.7-beta148 139 4/18/2025
0.9.7-beta147 185 4/17/2025
0.9.7-beta146 188 4/17/2025
0.9.7-beta145 102 4/11/2025
0.9.7-beta144 125 4/11/2025
0.9.7-beta143 134 4/11/2025
0.9.7-beta142 128 4/11/2025
0.9.7-beta141 122 4/11/2025
0.9.7-beta140 167 4/10/2025
0.9.7-beta139 161 4/10/2025
0.9.7-beta138 168 4/9/2025
0.9.7-beta137 155 4/3/2025
0.9.7-beta136 150 4/2/2025
0.9.7-beta135 149 4/2/2025
0.9.7-beta134 148 4/2/2025
0.9.7-beta133 153 4/2/2025
0.9.7-beta132 153 4/2/2025
0.9.7-beta131 162 4/1/2025
0.9.7-beta130 154 4/1/2025
0.9.7-beta129 163 3/31/2025
0.9.7-beta128 159 3/31/2025
0.9.7-beta127 157 3/30/2025
0.9.7-beta126 154 3/30/2025
0.9.7-beta125 468 3/26/2025
0.9.7-beta124 482 3/26/2025
0.9.7-beta123 469 3/26/2025
0.9.7-beta122 472 3/25/2025
0.9.7-beta121 480 3/25/2025
0.9.7-beta120 470 3/25/2025
0.9.7-beta119 488 3/25/2025
0.9.7-beta118 479 3/25/2025
0.9.7-beta117 493 3/25/2025
0.9.7-beta116 492 3/24/2025
0.9.7-beta115 405 3/24/2025
0.9.7-beta114 266 3/23/2025
0.9.7-beta113 88 3/21/2025
0.9.7-beta112 115 3/21/2025
0.9.7-beta111 149 3/19/2025
0.9.7-beta110 145 3/19/2025
0.9.7-beta109 146 3/18/2025
0.9.7-beta108 145 3/17/2025
0.9.7-beta107 144 3/17/2025
0.9.7-beta106 157 3/17/2025
0.9.7-beta105 151 3/13/2025
0.9.7-beta104 155 3/12/2025
0.9.7-beta103 160 3/11/2025
0.9.7-beta102 163 3/9/2025
0.9.7-beta101 216 3/7/2025
0.9.7-beta100 211 3/5/2025
0.9.6 216 3/3/2025
0.9.6-rc100 101 2/28/2025
0.9.5 120 2/26/2025
0.9.5-rc102 99 2/25/2025
0.9.5-rc101 91 2/24/2025
0.9.5-rc100 114 2/23/2025
0.9.4 116 2/21/2025
0.9.3 122 2/17/2025
0.9.3-rc018 104 2/17/2025
0.9.3-rc017 118 2/12/2025
0.9.3-rc016 114 2/12/2025
0.9.3-rc015 110 2/7/2025
0.9.3-rc014 103 2/6/2025
0.9.3-rc013 110 2/5/2025
0.9.3-rc012 120 2/5/2025
0.9.3-rc011 106 2/5/2025
0.9.3-rc010 109 2/5/2025
0.9.3-rc009 117 2/4/2025
0.9.3-rc008 108 2/4/2025
0.9.3-rc007 106 2/4/2025
0.9.3-rc006 98 2/3/2025
0.9.3-rc005 104 2/3/2025
0.9.3-rc004 102 1/31/2025
0.9.3-rc003 105 1/30/2025
0.9.3-rc002 102 1/29/2025
0.9.3-rc001 101 1/29/2025
0.9.2 118 1/24/2025
0.9.2-rc007 96 1/24/2025
0.9.2-rc006 104 1/23/2025
0.9.2-rc005 107 1/23/2025
0.9.2-rc004 107 1/23/2025
0.9.2-rc003 99 1/23/2025
0.9.2-rc002 102 1/23/2025
0.9.2-rc001 101 1/22/2025
0.9.2-a001 105 1/21/2025
0.9.1 114 1/21/2025
0.9.1-rc131 99 1/19/2025
0.9.1-rc130 96 1/19/2025
0.9.1-rc129 86 1/19/2025
0.9.1-rc128 97 1/18/2025
0.9.1-rc127 103 1/18/2025
0.9.1-rc126 107 1/17/2025
0.9.1-rc125 102 1/17/2025
0.9.1-rc124 95 1/16/2025
0.9.1-rc123 96 1/15/2025
0.9.1-rc122 100 1/14/2025
0.9.1-rc121 91 1/14/2025
0.9.1-rc120 96 1/14/2025
0.9.1-rc118 99 1/13/2025
0.9.1-rc117 95 1/13/2025
0.9.1-rc116 99 1/8/2025
0.9.1-rc115 118 1/2/2025
0.9.1-rc114 99 12/24/2024
0.9.1-rc113 105 12/23/2024
0.9.1-rc112 109 12/22/2024
0.9.1-rc111 109 12/22/2024
0.9.1-rc110 97 12/21/2024
0.9.1-rc109 105 12/21/2024
0.9.1-rc108 102 12/21/2024
0.9.1-rc107 110 12/20/2024
0.9.1-rc106 109 12/20/2024
0.9.1-rc105 101 12/19/2024
0.9.1-rc104 109 12/19/2024
0.9.1-rc100 107 12/16/2024
0.9.1-alpha4 121 12/15/2024
0.9.1-alpha3 102 12/15/2024
0.9.0-rc3 97 12/9/2024
0.9.0-rc2 102 12/9/2024
0.9.0-alpha5 102 11/28/2024
0.9.0-alpha1 102 11/27/2024
0.8.4 127 11/20/2024
0.8.3 138 9/18/2024
0.8.2 152 9/3/2024
0.8.2-alpha2 124 9/23/2024
0.8.1 156 8/23/2024
0.8.1-alpha2 121 9/18/2024