FoundationaLLM.Client.Management 0.9.7-rc125

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-rc125
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.9.7-rc125
                    
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-rc125" />
                    
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-rc125" />
                    
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-rc125
                    
#r "nuget: FoundationaLLM.Client.Management, 0.9.7-rc125"
                    
#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-rc125
                    
#: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-rc125&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.9.7-rc125&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-rc401 19 9/23/2025
0.9.7-rc400 15 9/23/2025
0.9.7-rc399 19 9/23/2025
0.9.7-rc398 26 9/23/2025
0.9.7-rc397 27 9/23/2025
0.9.7-rc396 22 9/23/2025
0.9.7-rc395 25 9/23/2025
0.9.7-rc394 30 9/23/2025
0.9.7-rc393 45 9/22/2025
0.9.7-rc392 52 9/22/2025
0.9.7-rc391 53 9/22/2025
0.9.7-rc390 49 9/22/2025
0.9.7-rc389 64 9/22/2025
0.9.7-rc388 50 9/22/2025
0.9.7-rc387 53 9/22/2025
0.9.7-rc386 53 9/22/2025
0.9.7-rc385 53 9/22/2025
0.9.7-rc384 57 9/22/2025
0.9.7-rc383 178 9/19/2025
0.9.7-rc382 250 9/17/2025
0.9.7-rc381 265 9/17/2025
0.9.7-rc380 272 9/16/2025
0.9.7-rc379 282 9/16/2025
0.9.7-rc378 264 9/16/2025
0.9.7-rc377 267 9/16/2025
0.9.7-rc376 267 9/16/2025
0.9.7-rc375 270 9/16/2025
0.9.7-rc374 262 9/16/2025
0.9.7-rc373 213 9/15/2025
0.9.7-rc372 90 9/12/2025
0.9.7-rc371 90 9/12/2025
0.9.7-rc370 92 9/12/2025
0.9.7-rc369 105 9/12/2025
0.9.7-rc368 139 9/11/2025
0.9.7-rc367 127 9/10/2025
0.9.7-rc366 136 9/10/2025
0.9.7-rc365 142 9/10/2025
0.9.7-rc364 139 9/9/2025
0.9.7-rc363 135 9/9/2025
0.9.7-rc362 139 9/9/2025
0.9.7-rc361 138 9/9/2025
0.9.7-rc360 138 9/9/2025
0.9.7-rc359 140 9/9/2025
0.9.7-rc358 136 9/9/2025
0.9.7-rc357 134 9/8/2025
0.9.7-rc356 95 9/5/2025
0.9.7-rc355 104 9/5/2025
0.9.7-rc354 114 9/5/2025
0.9.7-rc353 107 9/5/2025
0.9.7-rc352 110 9/5/2025
0.9.7-rc351 118 9/5/2025
0.9.7-rc350 149 9/5/2025
0.9.7-rc349 153 9/5/2025
0.9.7-rc348 149 9/4/2025
0.9.7-rc347 148 9/4/2025
0.9.7-rc346 155 9/4/2025
0.9.7-rc345 153 9/3/2025
0.9.7-rc344 145 9/3/2025
0.9.7-rc343 152 9/3/2025
0.9.7-rc342 150 9/3/2025
0.9.7-rc341 148 9/3/2025
0.9.7-rc340 147 9/3/2025
0.9.7-rc339 149 9/3/2025
0.9.7-rc338 149 9/3/2025
0.9.7-rc337 151 9/2/2025
0.9.7-rc336 146 9/2/2025
0.9.7-rc335 143 9/2/2025
0.9.7-rc334 133 9/2/2025
0.9.7-rc333 133 9/2/2025
0.9.7-rc332 134 9/2/2025
0.9.7-rc331 142 9/2/2025
0.9.7-rc330 140 9/1/2025
0.9.7-rc329 142 8/31/2025
0.9.7-rc328 136 8/31/2025
0.9.7-rc327 137 8/31/2025
0.9.7-rc326 138 8/31/2025
0.9.7-rc325 160 8/31/2025
0.9.7-rc324 169 8/29/2025
0.9.7-rc323 172 8/29/2025
0.9.7-rc322 183 8/29/2025
0.9.7-rc321 173 8/29/2025
0.9.7-rc320 182 8/29/2025
0.9.7-rc319 183 8/28/2025
0.9.7-rc318 184 8/28/2025
0.9.7-rc317 187 8/28/2025
0.9.7-rc316 188 8/26/2025
0.9.7-rc315 182 8/26/2025
0.9.7-rc314 187 8/26/2025
0.9.7-rc313 185 8/26/2025
0.9.7-rc312 186 8/26/2025
0.9.7-rc311 205 8/26/2025
0.9.7-rc310 205 8/26/2025
0.9.7-rc309 157 8/25/2025
0.9.7-rc308 156 8/25/2025
0.9.7-rc307 154 8/25/2025
0.9.7-rc306 157 8/25/2025
0.9.7-rc305 276 8/25/2025
0.9.7-rc304 275 8/25/2025
0.9.7-rc303 247 8/25/2025
0.9.7-rc302 250 8/25/2025
0.9.7-rc301 89 8/22/2025
0.9.7-rc300 78 8/22/2025
0.9.7-rc299 109 8/22/2025
0.9.7-rc298 102 8/22/2025
0.9.7-rc297 137 8/21/2025
0.9.7-rc296 133 8/21/2025
0.9.7-rc295 137 8/21/2025
0.9.7-rc293 120 8/21/2025
0.9.7-rc292 132 8/21/2025
0.9.7-rc291 133 8/21/2025
0.9.7-rc290 132 8/20/2025
0.9.7-rc289 138 8/19/2025
0.9.7-rc288 138 8/19/2025
0.9.7-rc287 124 8/19/2025
0.9.7-rc286 138 8/19/2025
0.9.7-rc285 126 8/18/2025
0.9.7-rc284 135 8/18/2025
0.9.7-rc283 124 8/18/2025
0.9.7-rc282 131 8/18/2025
0.9.7-rc281 123 8/18/2025
0.9.7-rc280 125 8/18/2025
0.9.7-rc279 134 8/18/2025
0.9.7-rc278 133 8/18/2025
0.9.7-rc277 135 8/18/2025
0.9.7-rc276 133 8/18/2025
0.9.7-rc275 133 8/18/2025
0.9.7-rc274 124 8/18/2025
0.9.7-rc273 138 8/17/2025
0.9.7-rc272 114 8/16/2025
0.9.7-rc271 136 8/10/2025
0.9.7-rc270 98 8/9/2025
0.9.7-rc269 111 8/9/2025
0.9.7-rc268 128 8/9/2025
0.9.7-rc267 124 8/9/2025
0.9.7-rc266 153 8/8/2025
0.9.7-rc265 146 8/8/2025
0.9.7-rc264 154 8/8/2025
0.9.7-rc263 179 8/8/2025
0.9.7-rc262 185 8/8/2025
0.9.7-rc261 184 8/8/2025
0.9.7-rc260 194 8/8/2025
0.9.7-rc259 214 8/7/2025
0.9.7-rc258 183 8/4/2025
0.9.7-rc257 165 8/4/2025
0.9.7-rc256 111 7/27/2025
0.9.7-rc255 474 7/24/2025
0.9.7-rc254 515 7/22/2025
0.9.7-rc253 509 7/22/2025
0.9.7-rc252 481 7/21/2025
0.9.7-rc251 420 7/21/2025
0.9.7-rc250 337 7/20/2025
0.9.7-rc249.1 298 7/20/2025
0.9.7-rc249 237 7/20/2025
0.9.7-rc248.1 154 8/29/2025
0.9.7-rc248 79 7/18/2025
0.9.7-rc247 79 7/18/2025
0.9.7-rc246 84 7/18/2025
0.9.7-rc245 93 7/18/2025
0.9.7-rc244 107 7/18/2025
0.9.7-rc243 112 7/18/2025
0.9.7-rc242 124 7/18/2025
0.9.7-rc241 149 7/17/2025
0.9.7-rc240 144 7/17/2025
0.9.7-rc239 144 7/17/2025
0.9.7-rc238 144 7/17/2025
0.9.7-rc237 144 7/17/2025
0.9.7-rc236 151 7/17/2025
0.9.7-rc235 155 7/17/2025
0.9.7-rc234 147 7/16/2025
0.9.7-rc233 144 7/16/2025
0.9.7-rc232 143 7/16/2025
0.9.7-rc231 155 7/16/2025
0.9.7-rc230 145 7/16/2025
0.9.7-rc229 146 7/16/2025
0.9.7-rc228 152 7/16/2025
0.9.7-rc227 146 7/16/2025
0.9.7-rc226 149 7/16/2025
0.9.7-rc225 151 7/15/2025
0.9.7-rc224 138 7/15/2025
0.9.7-rc223 151 7/15/2025
0.9.7-rc222 150 7/15/2025
0.9.7-rc220 157 7/10/2025
0.9.7-rc219 147 7/10/2025
0.9.7-rc218 151 7/10/2025
0.9.7-rc217 147 7/10/2025
0.9.7-rc216 138 7/10/2025
0.9.7-rc215 155 7/10/2025
0.9.7-rc214 147 7/9/2025
0.9.7-rc213 148 7/8/2025
0.9.7-rc212 145 7/8/2025
0.9.7-rc211 155 7/8/2025
0.9.7-rc208 155 7/8/2025
0.9.7-rc207 152 7/8/2025
0.9.7-rc206 152 7/8/2025
0.9.7-rc205 148 7/7/2025
0.9.7-rc204 151 7/7/2025
0.9.7-rc203 150 7/7/2025
0.9.7-rc202 154 7/7/2025
0.9.7-rc201 147 7/7/2025
0.9.7-rc200 143 7/3/2025
0.9.7-rc199 145 7/3/2025
0.9.7-rc198 155 7/3/2025
0.9.7-rc197 150 7/3/2025
0.9.7-rc196 151 7/2/2025
0.9.7-rc195 147 7/2/2025
0.9.7-rc194 156 7/1/2025
0.9.7-rc193 146 7/1/2025
0.9.7-rc192 152 7/1/2025
0.9.7-rc191 147 6/30/2025
0.9.7-rc190 147 6/30/2025
0.9.7-rc188 148 6/26/2025
0.9.7-rc187 149 6/26/2025
0.9.7-rc186 146 6/26/2025
0.9.7-rc185 148 6/26/2025
0.9.7-rc184 153 6/24/2025
0.9.7-rc181 162 6/23/2025
0.9.7-rc180 148 6/23/2025
0.9.7-rc179 149 6/23/2025
0.9.7-rc178 152 6/23/2025
0.9.7-rc177 102 6/20/2025
0.9.7-rc176 92 6/20/2025
0.9.7-rc175 87 6/20/2025
0.9.7-rc174 90 6/20/2025
0.9.7-rc173 90 6/20/2025
0.9.7-rc172 153 6/19/2025
0.9.7-rc171 158 6/19/2025
0.9.7-rc170 152 6/19/2025
0.9.7-rc169 156 6/19/2025
0.9.7-rc168 162 6/19/2025
0.9.7-rc167 152 6/19/2025
0.9.7-rc166 159 6/17/2025
0.9.7-rc165 150 6/17/2025
0.9.7-rc164 147 6/16/2025
0.9.7-rc163 154 6/16/2025
0.9.7-rc162 149 6/16/2025
0.9.7-rc161 160 6/15/2025
0.9.7-rc160 222 6/13/2025
0.9.7-rc159 234 6/13/2025
0.9.7-rc158 293 6/12/2025
0.9.7-rc157 308 6/11/2025
0.9.7-rc156 298 6/11/2025
0.9.7-rc155 303 6/10/2025
0.9.7-rc154 312 6/10/2025
0.9.7-rc153 298 6/10/2025
0.9.7-rc152 308 6/10/2025
0.9.7-rc151 295 6/10/2025
0.9.7-rc150.4 463 7/23/2025
0.9.7-rc150.3 118 6/23/2025
0.9.7-rc150.2 124 6/23/2025
0.9.7-rc150 299 6/10/2025
0.9.7-rc149 284 6/9/2025
0.9.7-rc148 275 6/9/2025
0.9.7-rc147 274 6/9/2025
0.9.7-rc146 275 6/9/2025
0.9.7-rc145 278 6/9/2025
0.9.7-rc144 250 6/9/2025
0.9.7-rc143 212 6/8/2025
0.9.7-rc142 212 6/8/2025
0.9.7-rc141 134 6/8/2025
0.9.7-rc140 127 6/7/2025
0.9.7-rc139 118 6/6/2025
0.9.7-rc138 118 6/6/2025
0.9.7-rc137 117 6/6/2025
0.9.7-rc136 150 6/5/2025
0.9.7-rc135 155 6/5/2025
0.9.7-rc134 163 6/5/2025
0.9.7-rc133 155 6/5/2025
0.9.7-rc132 152 6/5/2025
0.9.7-rc131 158 6/5/2025
0.9.7-rc130 157 6/5/2025
0.9.7-rc129 156 6/5/2025
0.9.7-rc128 159 6/4/2025
0.9.7-rc127 167 6/4/2025
0.9.7-rc126 140 6/4/2025
0.9.7-rc125 157 6/4/2025
0.9.7-rc124 157 6/3/2025
0.9.7-rc123 168 6/3/2025
0.9.7-rc122 153 6/3/2025
0.9.7-rc121 150 6/3/2025
0.9.7-rc120 159 6/3/2025
0.9.7-rc119 155 6/2/2025
0.9.7-rc118 150 6/2/2025
0.9.7-rc117 156 6/2/2025
0.9.7-rc116 120 5/30/2025
0.9.7-rc115 155 5/30/2025
0.9.7-rc114 156 5/29/2025
0.9.7-rc113 163 5/29/2025
0.9.7-rc112 158 5/29/2025
0.9.7-rc111 161 5/29/2025
0.9.7-rc110 162 5/29/2025
0.9.7-rc109 157 5/28/2025
0.9.7-rc108 153 5/28/2025
0.9.7-rc107 155 5/27/2025
0.9.7-rc106 171 5/27/2025
0.9.7-rc105 161 5/27/2025
0.9.7-rc104 161 5/26/2025
0.9.7-rc103 163 5/25/2025
0.9.7-rc102 172 5/25/2025
0.9.7-rc101 73 5/24/2025
0.9.7-rc100 106 5/23/2025
0.9.7-ex331 135 9/2/2025
0.9.7-beta159 160 5/20/2025
0.9.7-beta158 190 5/16/2025
0.9.7-beta157 245 5/13/2025
0.9.7-beta156 229 5/12/2025
0.9.7-beta155 165 5/6/2025
0.9.7-beta154 160 5/6/2025
0.9.7-beta153 160 5/5/2025
0.9.7-beta152 175 4/30/2025
0.9.7-beta151 178 4/21/2025
0.9.7-beta150 181 4/21/2025
0.9.7-beta149 172 4/20/2025
0.9.7-beta148 164 4/18/2025
0.9.7-beta147 207 4/17/2025
0.9.7-beta146 210 4/17/2025
0.9.7-beta145 127 4/11/2025
0.9.7-beta144 138 4/11/2025
0.9.7-beta143 156 4/11/2025
0.9.7-beta142 152 4/11/2025
0.9.7-beta141 147 4/11/2025
0.9.7-beta140 192 4/10/2025
0.9.7-beta139 183 4/10/2025
0.9.7-beta138 190 4/9/2025
0.9.7-beta137 168 4/3/2025
0.9.7-beta136 169 4/2/2025
0.9.7-beta135 173 4/2/2025
0.9.7-beta134 172 4/2/2025
0.9.7-beta133 178 4/2/2025
0.9.7-beta132 175 4/2/2025
0.9.7-beta131 184 4/1/2025
0.9.7-beta130 175 4/1/2025
0.9.7-beta129 184 3/31/2025
0.9.7-beta128 178 3/31/2025
0.9.7-beta127 184 3/30/2025
0.9.7-beta126 175 3/30/2025
0.9.7-beta125 494 3/26/2025
0.9.7-beta124 503 3/26/2025
0.9.7-beta123 492 3/26/2025
0.9.7-beta122 497 3/25/2025
0.9.7-beta121 511 3/25/2025
0.9.7-beta120 491 3/25/2025
0.9.7-beta119 509 3/25/2025
0.9.7-beta118 496 3/25/2025
0.9.7-beta117 515 3/25/2025
0.9.7-beta116 514 3/24/2025
0.9.7-beta115 426 3/24/2025
0.9.7-beta114 291 3/23/2025
0.9.7-beta113 108 3/21/2025
0.9.7-beta112 138 3/21/2025
0.9.7-beta111 172 3/19/2025
0.9.7-beta110 169 3/19/2025
0.9.7-beta109 171 3/18/2025
0.9.7-beta108 170 3/17/2025
0.9.7-beta107 167 3/17/2025
0.9.7-beta106 180 3/17/2025
0.9.7-beta105 177 3/13/2025
0.9.7-beta104 179 3/12/2025
0.9.7-beta103 181 3/11/2025
0.9.7-beta102 185 3/9/2025
0.9.7-beta101 239 3/7/2025
0.9.7-beta100 235 3/5/2025
0.9.6 259 3/3/2025
0.9.6-rc100 131 2/28/2025
0.9.5 143 2/26/2025
0.9.5-rc102 121 2/25/2025
0.9.5-rc101 113 2/24/2025
0.9.5-rc100 136 2/23/2025
0.9.4 139 2/21/2025
0.9.3 143 2/17/2025
0.9.3-rc018 125 2/17/2025
0.9.3-rc017 139 2/12/2025
0.9.3-rc016 149 2/12/2025
0.9.3-rc015 131 2/7/2025
0.9.3-rc014 119 2/6/2025
0.9.3-rc013 130 2/5/2025
0.9.3-rc012 152 2/5/2025
0.9.3-rc011 126 2/5/2025
0.9.3-rc010 129 2/5/2025
0.9.3-rc009 136 2/4/2025
0.9.3-rc008 127 2/4/2025
0.9.3-rc007 125 2/4/2025
0.9.3-rc006 111 2/3/2025
0.9.3-rc005 124 2/3/2025
0.9.3-rc004 123 1/31/2025
0.9.3-rc003 126 1/30/2025
0.9.3-rc002 121 1/29/2025
0.9.3-rc001 122 1/29/2025
0.9.2 140 1/24/2025
0.9.2-rc007 118 1/24/2025
0.9.2-rc006 128 1/23/2025
0.9.2-rc005 128 1/23/2025
0.9.2-rc004 129 1/23/2025
0.9.2-rc003 122 1/23/2025
0.9.2-rc002 123 1/23/2025
0.9.2-rc001 122 1/22/2025
0.9.2-a001 128 1/21/2025
0.9.1 147 1/21/2025
0.9.1-rc131 120 1/19/2025
0.9.1-rc130 118 1/19/2025
0.9.1-rc129 109 1/19/2025
0.9.1-rc128 119 1/18/2025
0.9.1-rc127 123 1/18/2025
0.9.1-rc126 128 1/17/2025
0.9.1-rc125 125 1/17/2025
0.9.1-rc124 117 1/16/2025
0.9.1-rc123 116 1/15/2025
0.9.1-rc122 120 1/14/2025
0.9.1-rc121 112 1/14/2025
0.9.1-rc120 117 1/14/2025
0.9.1-rc118 110 1/13/2025
0.9.1-rc117 106 1/13/2025
0.9.1-rc116 114 1/8/2025
0.9.1-rc115 135 1/2/2025
0.9.1-rc114 117 12/24/2024
0.9.1-rc113 126 12/23/2024
0.9.1-rc112 131 12/22/2024
0.9.1-rc111 132 12/22/2024
0.9.1-rc110 120 12/21/2024
0.9.1-rc109 128 12/21/2024
0.9.1-rc108 124 12/21/2024
0.9.1-rc107 132 12/20/2024
0.9.1-rc106 129 12/20/2024
0.9.1-rc105 122 12/19/2024
0.9.1-rc104 121 12/19/2024
0.9.1-rc100 127 12/16/2024
0.9.1-alpha4 148 12/15/2024
0.9.1-alpha3 113 12/15/2024
0.9.0-rc3 120 12/9/2024
0.9.0-rc2 124 12/9/2024
0.9.0-alpha5 125 11/28/2024
0.9.0-alpha1 125 11/27/2024
0.8.4 138 11/20/2024
0.8.3 150 9/18/2024
0.8.2 173 9/3/2024
0.8.2-alpha2 143 9/23/2024
0.8.1 177 8/23/2024
0.8.1-alpha2 142 9/18/2024