FoundationaLLM.Client.Management 0.9.7-rc116

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