FoundationaLLM.Client.Management 0.9.7-rc188

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-rc188
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.9.7-rc188
                    
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-rc188" />
                    
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-rc188" />
                    
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-rc188
                    
#r "nuget: FoundationaLLM.Client.Management, 0.9.7-rc188"
                    
#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-rc188
                    
#: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-rc188&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.9.7-rc188&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-rc241 0 7/17/2025
0.9.7-rc240 17 7/17/2025
0.9.7-rc239 18 7/17/2025
0.9.7-rc238 22 7/17/2025
0.9.7-rc237 24 7/17/2025
0.9.7-rc236 28 7/17/2025
0.9.7-rc235 27 7/17/2025
0.9.7-rc234 31 7/16/2025
0.9.7-rc233 28 7/16/2025
0.9.7-rc232 28 7/16/2025
0.9.7-rc231 36 7/16/2025
0.9.7-rc230 28 7/16/2025
0.9.7-rc229 30 7/16/2025
0.9.7-rc228 33 7/16/2025
0.9.7-rc227 28 7/16/2025
0.9.7-rc226 32 7/16/2025
0.9.7-rc225 36 7/15/2025
0.9.7-rc224 31 7/15/2025
0.9.7-rc223 33 7/15/2025
0.9.7-rc222 32 7/15/2025
0.9.7-rc220 130 7/10/2025
0.9.7-rc219 121 7/10/2025
0.9.7-rc218 123 7/10/2025
0.9.7-rc217 120 7/10/2025
0.9.7-rc216 122 7/10/2025
0.9.7-rc215 128 7/10/2025
0.9.7-rc214 120 7/9/2025
0.9.7-rc213 124 7/8/2025
0.9.7-rc212 120 7/8/2025
0.9.7-rc211 130 7/8/2025
0.9.7-rc208 127 7/8/2025
0.9.7-rc207 127 7/8/2025
0.9.7-rc206 127 7/8/2025
0.9.7-rc205 123 7/7/2025
0.9.7-rc204 121 7/7/2025
0.9.7-rc203 122 7/7/2025
0.9.7-rc202 131 7/7/2025
0.9.7-rc201 124 7/7/2025
0.9.7-rc200 124 7/3/2025
0.9.7-rc199 125 7/3/2025
0.9.7-rc198 129 7/3/2025
0.9.7-rc197 125 7/3/2025
0.9.7-rc196 129 7/2/2025
0.9.7-rc195 124 7/2/2025
0.9.7-rc194 126 7/1/2025
0.9.7-rc193 123 7/1/2025
0.9.7-rc192 128 7/1/2025
0.9.7-rc191 126 6/30/2025
0.9.7-rc190 123 6/30/2025
0.9.7-rc188 126 6/26/2025
0.9.7-rc187 118 6/26/2025
0.9.7-rc186 124 6/26/2025
0.9.7-rc185 125 6/26/2025
0.9.7-rc184 132 6/24/2025
0.9.7-rc181 140 6/23/2025
0.9.7-rc180 127 6/23/2025
0.9.7-rc179 129 6/23/2025
0.9.7-rc178 133 6/23/2025
0.9.7-rc177 74 6/20/2025
0.9.7-rc176 70 6/20/2025
0.9.7-rc175 66 6/20/2025
0.9.7-rc174 69 6/20/2025
0.9.7-rc173 70 6/20/2025
0.9.7-rc172 131 6/19/2025
0.9.7-rc171 136 6/19/2025
0.9.7-rc170 132 6/19/2025
0.9.7-rc169 136 6/19/2025
0.9.7-rc168 136 6/19/2025
0.9.7-rc167 131 6/19/2025
0.9.7-rc166 130 6/17/2025
0.9.7-rc165 128 6/17/2025
0.9.7-rc164 134 6/16/2025
0.9.7-rc163 132 6/16/2025
0.9.7-rc162 130 6/16/2025
0.9.7-rc161 140 6/15/2025
0.9.7-rc160 200 6/13/2025
0.9.7-rc159 218 6/13/2025
0.9.7-rc158 273 6/12/2025
0.9.7-rc157 276 6/11/2025
0.9.7-rc156 277 6/11/2025
0.9.7-rc155 277 6/10/2025
0.9.7-rc154 283 6/10/2025
0.9.7-rc153 278 6/10/2025
0.9.7-rc152 279 6/10/2025
0.9.7-rc151 275 6/10/2025
0.9.7-rc150.3 107 6/23/2025
0.9.7-rc150.2 111 6/23/2025
0.9.7-rc150 278 6/10/2025
0.9.7-rc149 264 6/9/2025
0.9.7-rc148 255 6/9/2025
0.9.7-rc147 254 6/9/2025
0.9.7-rc146 253 6/9/2025
0.9.7-rc145 258 6/9/2025
0.9.7-rc144 229 6/9/2025
0.9.7-rc143 189 6/8/2025
0.9.7-rc142 190 6/8/2025
0.9.7-rc141 114 6/8/2025
0.9.7-rc140 105 6/7/2025
0.9.7-rc139 98 6/6/2025
0.9.7-rc138 98 6/6/2025
0.9.7-rc137 97 6/6/2025
0.9.7-rc136 129 6/5/2025
0.9.7-rc135 135 6/5/2025
0.9.7-rc134 137 6/5/2025
0.9.7-rc133 133 6/5/2025
0.9.7-rc132 132 6/5/2025
0.9.7-rc131 138 6/5/2025
0.9.7-rc130 137 6/5/2025
0.9.7-rc129 135 6/5/2025
0.9.7-rc128 136 6/4/2025
0.9.7-rc127 140 6/4/2025
0.9.7-rc126 120 6/4/2025
0.9.7-rc125 136 6/4/2025
0.9.7-rc124 137 6/3/2025
0.9.7-rc123 135 6/3/2025
0.9.7-rc122 133 6/3/2025
0.9.7-rc121 133 6/3/2025
0.9.7-rc120 138 6/3/2025
0.9.7-rc119 132 6/2/2025
0.9.7-rc118 129 6/2/2025
0.9.7-rc117 132 6/2/2025
0.9.7-rc116 98 5/30/2025
0.9.7-rc115 133 5/30/2025
0.9.7-rc114 133 5/29/2025
0.9.7-rc113 141 5/29/2025
0.9.7-rc112 134 5/29/2025
0.9.7-rc111 138 5/29/2025
0.9.7-rc110 139 5/29/2025
0.9.7-rc109 135 5/28/2025
0.9.7-rc108 131 5/28/2025
0.9.7-rc107 133 5/27/2025
0.9.7-rc106 143 5/27/2025
0.9.7-rc105 140 5/27/2025
0.9.7-rc104 139 5/26/2025
0.9.7-rc103 141 5/25/2025
0.9.7-rc102 143 5/25/2025
0.9.7-rc101 61 5/24/2025
0.9.7-rc100 94 5/23/2025
0.9.7-beta159 140 5/20/2025
0.9.7-beta158 169 5/16/2025
0.9.7-beta157 224 5/13/2025
0.9.7-beta156 208 5/12/2025
0.9.7-beta155 142 5/6/2025
0.9.7-beta154 139 5/6/2025
0.9.7-beta153 140 5/5/2025
0.9.7-beta152 148 4/30/2025
0.9.7-beta151 156 4/21/2025
0.9.7-beta150 161 4/21/2025
0.9.7-beta149 161 4/20/2025
0.9.7-beta148 142 4/18/2025
0.9.7-beta147 188 4/17/2025
0.9.7-beta146 191 4/17/2025
0.9.7-beta145 106 4/11/2025
0.9.7-beta144 128 4/11/2025
0.9.7-beta143 136 4/11/2025
0.9.7-beta142 131 4/11/2025
0.9.7-beta141 125 4/11/2025
0.9.7-beta140 170 4/10/2025
0.9.7-beta139 164 4/10/2025
0.9.7-beta138 170 4/9/2025
0.9.7-beta137 157 4/3/2025
0.9.7-beta136 153 4/2/2025
0.9.7-beta135 152 4/2/2025
0.9.7-beta134 151 4/2/2025
0.9.7-beta133 156 4/2/2025
0.9.7-beta132 156 4/2/2025
0.9.7-beta131 165 4/1/2025
0.9.7-beta130 155 4/1/2025
0.9.7-beta129 164 3/31/2025
0.9.7-beta128 160 3/31/2025
0.9.7-beta127 159 3/30/2025
0.9.7-beta126 156 3/30/2025
0.9.7-beta125 470 3/26/2025
0.9.7-beta124 484 3/26/2025
0.9.7-beta123 471 3/26/2025
0.9.7-beta122 474 3/25/2025
0.9.7-beta121 482 3/25/2025
0.9.7-beta120 472 3/25/2025
0.9.7-beta119 490 3/25/2025
0.9.7-beta118 481 3/25/2025
0.9.7-beta117 495 3/25/2025
0.9.7-beta116 494 3/24/2025
0.9.7-beta115 407 3/24/2025
0.9.7-beta114 268 3/23/2025
0.9.7-beta113 89 3/21/2025
0.9.7-beta112 117 3/21/2025
0.9.7-beta111 151 3/19/2025
0.9.7-beta110 147 3/19/2025
0.9.7-beta109 149 3/18/2025
0.9.7-beta108 147 3/17/2025
0.9.7-beta107 146 3/17/2025
0.9.7-beta106 159 3/17/2025
0.9.7-beta105 153 3/13/2025
0.9.7-beta104 157 3/12/2025
0.9.7-beta103 162 3/11/2025
0.9.7-beta102 165 3/9/2025
0.9.7-beta101 218 3/7/2025
0.9.7-beta100 213 3/5/2025
0.9.6 217 3/3/2025
0.9.6-rc100 102 2/28/2025
0.9.5 122 2/26/2025
0.9.5-rc102 101 2/25/2025
0.9.5-rc101 93 2/24/2025
0.9.5-rc100 115 2/23/2025
0.9.4 118 2/21/2025
0.9.3 124 2/17/2025
0.9.3-rc018 106 2/17/2025
0.9.3-rc017 120 2/12/2025
0.9.3-rc016 117 2/12/2025
0.9.3-rc015 111 2/7/2025
0.9.3-rc014 106 2/6/2025
0.9.3-rc013 111 2/5/2025
0.9.3-rc012 121 2/5/2025
0.9.3-rc011 107 2/5/2025
0.9.3-rc010 110 2/5/2025
0.9.3-rc009 118 2/4/2025
0.9.3-rc008 109 2/4/2025
0.9.3-rc007 107 2/4/2025
0.9.3-rc006 100 2/3/2025
0.9.3-rc005 106 2/3/2025
0.9.3-rc004 104 1/31/2025
0.9.3-rc003 107 1/30/2025
0.9.3-rc002 103 1/29/2025
0.9.3-rc001 102 1/29/2025
0.9.2 119 1/24/2025
0.9.2-rc007 98 1/24/2025
0.9.2-rc006 106 1/23/2025
0.9.2-rc005 109 1/23/2025
0.9.2-rc004 109 1/23/2025
0.9.2-rc003 102 1/23/2025
0.9.2-rc002 104 1/23/2025
0.9.2-rc001 103 1/22/2025
0.9.2-a001 107 1/21/2025
0.9.1 116 1/21/2025
0.9.1-rc131 101 1/19/2025
0.9.1-rc130 98 1/19/2025
0.9.1-rc129 88 1/19/2025
0.9.1-rc128 99 1/18/2025
0.9.1-rc127 105 1/18/2025
0.9.1-rc126 109 1/17/2025
0.9.1-rc125 104 1/17/2025
0.9.1-rc124 97 1/16/2025
0.9.1-rc123 98 1/15/2025
0.9.1-rc122 102 1/14/2025
0.9.1-rc121 93 1/14/2025
0.9.1-rc120 98 1/14/2025
0.9.1-rc118 101 1/13/2025
0.9.1-rc117 97 1/13/2025
0.9.1-rc116 101 1/8/2025
0.9.1-rc115 119 1/2/2025
0.9.1-rc114 101 12/24/2024
0.9.1-rc113 106 12/23/2024
0.9.1-rc112 111 12/22/2024
0.9.1-rc111 111 12/22/2024
0.9.1-rc110 99 12/21/2024
0.9.1-rc109 109 12/21/2024
0.9.1-rc108 104 12/21/2024
0.9.1-rc107 111 12/20/2024
0.9.1-rc106 111 12/20/2024
0.9.1-rc105 103 12/19/2024
0.9.1-rc104 111 12/19/2024
0.9.1-rc100 109 12/16/2024
0.9.1-alpha4 123 12/15/2024
0.9.1-alpha3 104 12/15/2024
0.9.0-rc3 98 12/9/2024
0.9.0-rc2 104 12/9/2024
0.9.0-alpha5 104 11/28/2024
0.9.0-alpha1 104 11/27/2024
0.8.4 129 11/20/2024
0.8.3 141 9/18/2024
0.8.2 154 9/3/2024
0.8.2-alpha2 125 9/23/2024
0.8.1 157 8/23/2024
0.8.1-alpha2 122 9/18/2024