FoundationaLLM.Client.Management 0.9.7-rc295

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