FoundationaLLM.Client.Management 0.9.7-rc261

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-rc261
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.9.7-rc261
                    
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-rc261" />
                    
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-rc261" />
                    
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-rc261
                    
#r "nuget: FoundationaLLM.Client.Management, 0.9.7-rc261"
                    
#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-rc261
                    
#: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-rc261&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.9.7-rc261&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-rc428 147 10/1/2025
0.9.7-rc418 149 9/29/2025
0.9.7-rc408 121 9/26/2025
0.9.7-rc407 129 9/26/2025
0.9.7-rc406 170 9/25/2025
0.9.7-rc405 148 9/25/2025
0.9.7-rc404 148 9/25/2025
0.9.7-rc403 165 9/25/2025
0.9.7-rc402 156 9/24/2025
0.9.7-rc401 161 9/23/2025
0.9.7-rc400 147 9/23/2025
0.9.7-rc399 161 9/23/2025
0.9.7-rc398 162 9/23/2025
0.9.7-rc397 160 9/23/2025
0.9.7-rc396 157 9/23/2025
0.9.7-rc395 157 9/23/2025
0.9.7-rc394 162 9/23/2025
0.9.7-rc393 163 9/22/2025
0.9.7-rc392 161 9/22/2025
0.9.7-rc391 155 9/22/2025
0.9.7-rc390 163 9/22/2025
0.9.7-rc389 175 9/22/2025
0.9.7-rc388 172 9/22/2025
0.9.7-rc387 181 9/22/2025
0.9.7-rc386 169 9/22/2025
0.9.7-rc385 189 9/22/2025
0.9.7-rc384 207 9/22/2025
0.9.7-rc383 204 9/19/2025
0.9.7-rc382 266 9/17/2025
0.9.7-rc381 279 9/17/2025
0.9.7-rc380 289 9/16/2025
0.9.7-rc379 295 9/16/2025
0.9.7-rc378 280 9/16/2025
0.9.7-rc377 287 9/16/2025
0.9.7-rc376 281 9/16/2025
0.9.7-rc375 283 9/16/2025
0.9.7-rc374 265 9/16/2025
0.9.7-rc373 217 9/15/2025
0.9.7-rc372 104 9/12/2025
0.9.7-rc371 105 9/12/2025
0.9.7-rc370 106 9/12/2025
0.9.7-rc369 109 9/12/2025
0.9.7-rc368 154 9/11/2025
0.9.7-rc367 140 9/10/2025
0.9.7-rc366 149 9/10/2025
0.9.7-rc365 145 9/10/2025
0.9.7-rc364 151 9/9/2025
0.9.7-rc363 147 9/9/2025
0.9.7-rc362 151 9/9/2025
0.9.7-rc361 150 9/9/2025
0.9.7-rc360 150 9/9/2025
0.9.7-rc359 152 9/9/2025
0.9.7-rc358 148 9/9/2025
0.9.7-rc357 146 9/8/2025
0.9.7-rc356 112 9/5/2025
0.9.7-rc355 118 9/5/2025
0.9.7-rc354 137 9/5/2025
0.9.7-rc353 120 9/5/2025
0.9.7-rc352 134 9/5/2025
0.9.7-rc351 134 9/5/2025
0.9.7-rc350 162 9/5/2025
0.9.7-rc349 166 9/5/2025
0.9.7-rc348 162 9/4/2025
0.9.7-rc347 174 9/4/2025
0.9.7-rc346 168 9/4/2025
0.9.7-rc345 166 9/3/2025
0.9.7-rc344 158 9/3/2025
0.9.7-rc343 165 9/3/2025
0.9.7-rc342 163 9/3/2025
0.9.7-rc341 162 9/3/2025
0.9.7-rc340 160 9/3/2025
0.9.7-rc339 161 9/3/2025
0.9.7-rc338 171 9/3/2025
0.9.7-rc337 164 9/2/2025
0.9.7-rc336 158 9/2/2025
0.9.7-rc335 155 9/2/2025
0.9.7-rc334 146 9/2/2025
0.9.7-rc333 146 9/2/2025
0.9.7-rc332 146 9/2/2025
0.9.7-rc331 160 9/2/2025
0.9.7-rc330 153 9/1/2025
0.9.7-rc329 164 8/31/2025
0.9.7-rc328 150 8/31/2025
0.9.7-rc327 151 8/31/2025
0.9.7-rc326 152 8/31/2025
0.9.7-rc325 173 8/31/2025
0.9.7-rc324 182 8/29/2025
0.9.7-rc323 185 8/29/2025
0.9.7-rc322 205 8/29/2025
0.9.7-rc321 187 8/29/2025
0.9.7-rc320 195 8/29/2025
0.9.7-rc319 196 8/28/2025
0.9.7-rc318 197 8/28/2025
0.9.7-rc317 203 8/28/2025
0.9.7-rc316 201 8/26/2025
0.9.7-rc315 194 8/26/2025
0.9.7-rc314 200 8/26/2025
0.9.7-rc313 201 8/26/2025
0.9.7-rc312 200 8/26/2025
0.9.7-rc311 219 8/26/2025
0.9.7-rc310 218 8/26/2025
0.9.7-rc309 170 8/25/2025
0.9.7-rc308 171 8/25/2025
0.9.7-rc307 168 8/25/2025
0.9.7-rc306 171 8/25/2025
0.9.7-rc305 290 8/25/2025
0.9.7-rc304 288 8/25/2025
0.9.7-rc303 262 8/25/2025
0.9.7-rc302 263 8/25/2025
0.9.7-rc301 101 8/22/2025
0.9.7-rc300 91 8/22/2025
0.9.7-rc299 121 8/22/2025
0.9.7-rc298 119 8/22/2025
0.9.7-rc297 149 8/21/2025
0.9.7-rc296 145 8/21/2025
0.9.7-rc295 150 8/21/2025
0.9.7-rc293 133 8/21/2025
0.9.7-rc292 147 8/21/2025
0.9.7-rc291 145 8/21/2025
0.9.7-rc290 134 8/20/2025
0.9.7-rc289 150 8/19/2025
0.9.7-rc288 151 8/19/2025
0.9.7-rc287 136 8/19/2025
0.9.7-rc286 159 8/19/2025
0.9.7-rc285 139 8/18/2025
0.9.7-rc284 147 8/18/2025
0.9.7-rc283 136 8/18/2025
0.9.7-rc282 145 8/18/2025
0.9.7-rc281 144 8/18/2025
0.9.7-rc280 137 8/18/2025
0.9.7-rc279 147 8/18/2025
0.9.7-rc278 145 8/18/2025
0.9.7-rc277 147 8/18/2025
0.9.7-rc276 145 8/18/2025
0.9.7-rc275 145 8/18/2025
0.9.7-rc274 136 8/18/2025
0.9.7-rc273 150 8/17/2025
0.9.7-rc272 136 8/16/2025
0.9.7-rc271 148 8/10/2025
0.9.7-rc270 110 8/9/2025
0.9.7-rc269 122 8/9/2025
0.9.7-rc268 140 8/9/2025
0.9.7-rc267 137 8/9/2025
0.9.7-rc266 166 8/8/2025
0.9.7-rc265 159 8/8/2025
0.9.7-rc264 166 8/8/2025
0.9.7-rc263 191 8/8/2025
0.9.7-rc262 197 8/8/2025
0.9.7-rc261 199 8/8/2025
0.9.7-rc260 206 8/8/2025
0.9.7-rc259 227 8/7/2025
0.9.7-rc258 195 8/4/2025
0.9.7-rc257 177 8/4/2025
0.9.7-rc256 162 7/27/2025
0.9.7-rc255 505 7/24/2025
0.9.7-rc254 546 7/22/2025
0.9.7-rc253 539 7/22/2025
0.9.7-rc252 504 7/21/2025
0.9.7-rc251 433 7/21/2025
0.9.7-rc250 351 7/20/2025
0.9.7-rc249.1 300 7/20/2025
0.9.7-rc249 249 7/20/2025
0.9.7-rc248.1 161 8/29/2025
0.9.7-rc248 90 7/18/2025
0.9.7-rc247 93 7/18/2025
0.9.7-rc246 95 7/18/2025
0.9.7-rc245 104 7/18/2025
0.9.7-rc244 119 7/18/2025
0.9.7-rc243 123 7/18/2025
0.9.7-rc242 136 7/18/2025
0.9.7-rc241 163 7/17/2025
0.9.7-rc240 156 7/17/2025
0.9.7-rc239 155 7/17/2025
0.9.7-rc238 155 7/17/2025
0.9.7-rc237 156 7/17/2025
0.9.7-rc236 153 7/17/2025
0.9.7-rc235 166 7/17/2025
0.9.7-rc234 163 7/16/2025
0.9.7-rc233 156 7/16/2025
0.9.7-rc232 155 7/16/2025
0.9.7-rc231 167 7/16/2025
0.9.7-rc230 156 7/16/2025
0.9.7-rc229 158 7/16/2025
0.9.7-rc228 163 7/16/2025
0.9.7-rc227 148 7/16/2025
0.9.7-rc226 161 7/16/2025
0.9.7-rc225 152 7/15/2025
0.9.7-rc224 149 7/15/2025
0.9.7-rc223 162 7/15/2025
0.9.7-rc222 161 7/15/2025
0.9.7-rc220 177 7/10/2025
0.9.7-rc219 159 7/10/2025
0.9.7-rc218 162 7/10/2025
0.9.7-rc217 158 7/10/2025
0.9.7-rc216 149 7/10/2025
0.9.7-rc215 166 7/10/2025
0.9.7-rc214 159 7/9/2025
0.9.7-rc213 160 7/8/2025
0.9.7-rc212 156 7/8/2025
0.9.7-rc211 169 7/8/2025
0.9.7-rc208 166 7/8/2025
0.9.7-rc207 166 7/8/2025
0.9.7-rc206 164 7/8/2025
0.9.7-rc205 159 7/7/2025
0.9.7-rc204 160 7/7/2025
0.9.7-rc203 161 7/7/2025
0.9.7-rc202 167 7/7/2025
0.9.7-rc201 148 7/7/2025
0.9.7-rc200 145 7/3/2025
0.9.7-rc199 147 7/3/2025
0.9.7-rc198 156 7/3/2025
0.9.7-rc197 161 7/3/2025
0.9.7-rc196 162 7/2/2025
0.9.7-rc195 148 7/2/2025
0.9.7-rc194 174 7/1/2025
0.9.7-rc193 160 7/1/2025
0.9.7-rc192 155 7/1/2025
0.9.7-rc191 160 6/30/2025
0.9.7-rc190 149 6/30/2025
0.9.7-rc188 159 6/26/2025
0.9.7-rc187 155 6/26/2025
0.9.7-rc186 156 6/26/2025
0.9.7-rc185 149 6/26/2025
0.9.7-rc184 154 6/24/2025
0.9.7-rc181 184 6/23/2025
0.9.7-rc180 164 6/23/2025
0.9.7-rc179 164 6/23/2025
0.9.7-rc178 164 6/23/2025
0.9.7-rc177 123 6/20/2025
0.9.7-rc176 103 6/20/2025
0.9.7-rc175 98 6/20/2025
0.9.7-rc174 101 6/20/2025
0.9.7-rc173 102 6/20/2025
0.9.7-rc172 169 6/19/2025
0.9.7-rc171 169 6/19/2025
0.9.7-rc170 163 6/19/2025
0.9.7-rc169 169 6/19/2025
0.9.7-rc168 180 6/19/2025
0.9.7-rc167 153 6/19/2025
0.9.7-rc166 177 6/17/2025
0.9.7-rc165 161 6/17/2025
0.9.7-rc164 157 6/16/2025
0.9.7-rc163 166 6/16/2025
0.9.7-rc162 151 6/16/2025
0.9.7-rc161 172 6/15/2025
0.9.7-rc160 246 6/13/2025
0.9.7-rc159 250 6/13/2025
0.9.7-rc158 304 6/12/2025
0.9.7-rc157 310 6/11/2025
0.9.7-rc156 299 6/11/2025
0.9.7-rc155 330 6/10/2025
0.9.7-rc154 313 6/10/2025
0.9.7-rc153 309 6/10/2025
0.9.7-rc152 319 6/10/2025
0.9.7-rc151 306 6/10/2025
0.9.7-rc150.4 466 7/23/2025
0.9.7-rc150.3 119 6/23/2025
0.9.7-rc150.2 125 6/23/2025
0.9.7-rc150 310 6/10/2025
0.9.7-rc149 295 6/9/2025
0.9.7-rc148 286 6/9/2025
0.9.7-rc147 286 6/9/2025
0.9.7-rc146 286 6/9/2025
0.9.7-rc145 290 6/9/2025
0.9.7-rc144 261 6/9/2025
0.9.7-rc143 223 6/8/2025
0.9.7-rc142 223 6/8/2025
0.9.7-rc141 135 6/8/2025
0.9.7-rc140 138 6/7/2025
0.9.7-rc139 119 6/6/2025
0.9.7-rc138 130 6/6/2025
0.9.7-rc137 129 6/6/2025
0.9.7-rc136 161 6/5/2025
0.9.7-rc135 167 6/5/2025
0.9.7-rc134 168 6/5/2025
0.9.7-rc133 164 6/5/2025
0.9.7-rc132 153 6/5/2025
0.9.7-rc131 172 6/5/2025
0.9.7-rc130 169 6/5/2025
0.9.7-rc129 167 6/5/2025
0.9.7-rc128 160 6/4/2025
0.9.7-rc127 187 6/4/2025
0.9.7-rc126 141 6/4/2025
0.9.7-rc125 158 6/4/2025
0.9.7-rc124 169 6/3/2025
0.9.7-rc123 182 6/3/2025
0.9.7-rc122 166 6/3/2025
0.9.7-rc121 169 6/3/2025
0.9.7-rc120 170 6/3/2025
0.9.7-rc119 166 6/2/2025
0.9.7-rc118 162 6/2/2025
0.9.7-rc117 173 6/2/2025
0.9.7-rc116 122 5/30/2025
0.9.7-rc115 167 5/30/2025
0.9.7-rc114 157 5/29/2025
0.9.7-rc113 182 5/29/2025
0.9.7-rc112 169 5/29/2025
0.9.7-rc111 172 5/29/2025
0.9.7-rc110 163 5/29/2025
0.9.7-rc109 169 5/28/2025
0.9.7-rc108 154 5/28/2025
0.9.7-rc107 156 5/27/2025
0.9.7-rc106 191 5/27/2025
0.9.7-rc105 173 5/27/2025
0.9.7-rc104 172 5/26/2025
0.9.7-rc103 174 5/25/2025
0.9.7-rc102 191 5/25/2025
0.9.7-rc101 74 5/24/2025
0.9.7-rc100 117 5/23/2025
0.9.7-ex331 140 9/2/2025
0.9.7-beta159 172 5/20/2025
0.9.7-beta158 202 5/16/2025
0.9.7-beta157 246 5/13/2025
0.9.7-beta156 240 5/12/2025
0.9.7-beta155 178 5/6/2025
0.9.7-beta154 172 5/6/2025
0.9.7-beta153 172 5/5/2025
0.9.7-beta152 187 4/30/2025
0.9.7-beta151 179 4/21/2025
0.9.7-beta150 193 4/21/2025
0.9.7-beta149 173 4/20/2025
0.9.7-beta148 176 4/18/2025
0.9.7-beta147 218 4/17/2025
0.9.7-beta146 225 4/17/2025
0.9.7-beta145 128 4/11/2025
0.9.7-beta144 150 4/11/2025
0.9.7-beta143 185 4/11/2025
0.9.7-beta142 153 4/11/2025
0.9.7-beta141 163 4/11/2025
0.9.7-beta140 204 4/10/2025
0.9.7-beta139 194 4/10/2025
0.9.7-beta138 201 4/9/2025
0.9.7-beta137 189 4/3/2025
0.9.7-beta136 177 4/2/2025
0.9.7-beta135 185 4/2/2025
0.9.7-beta134 184 4/2/2025
0.9.7-beta133 182 4/2/2025
0.9.7-beta132 187 4/2/2025
0.9.7-beta131 197 4/1/2025
0.9.7-beta130 186 4/1/2025
0.9.7-beta129 196 3/31/2025
0.9.7-beta128 191 3/31/2025
0.9.7-beta127 191 3/30/2025
0.9.7-beta126 186 3/30/2025
0.9.7-beta125 506 3/26/2025
0.9.7-beta124 521 3/26/2025
0.9.7-beta123 507 3/26/2025
0.9.7-beta122 508 3/25/2025
0.9.7-beta121 527 3/25/2025
0.9.7-beta120 503 3/25/2025
0.9.7-beta119 521 3/25/2025
0.9.7-beta118 515 3/25/2025
0.9.7-beta117 533 3/25/2025
0.9.7-beta116 525 3/24/2025
0.9.7-beta115 437 3/24/2025
0.9.7-beta114 304 3/23/2025
0.9.7-beta113 120 3/21/2025
0.9.7-beta112 147 3/21/2025
0.9.7-beta111 183 3/19/2025
0.9.7-beta110 181 3/19/2025
0.9.7-beta109 179 3/18/2025
0.9.7-beta108 182 3/17/2025
0.9.7-beta107 178 3/17/2025
0.9.7-beta106 192 3/17/2025
0.9.7-beta105 189 3/13/2025
0.9.7-beta104 190 3/12/2025
0.9.7-beta103 198 3/11/2025
0.9.7-beta102 186 3/9/2025
0.9.7-beta101 240 3/7/2025
0.9.7-beta100 236 3/5/2025
0.9.6 281 3/3/2025
0.9.6-rc100 142 2/28/2025
0.9.5 154 2/26/2025
0.9.5-rc102 132 2/25/2025
0.9.5-rc101 133 2/24/2025
0.9.5-rc100 141 2/23/2025
0.9.4 151 2/21/2025
0.9.3 154 2/17/2025
0.9.3-rc018 137 2/17/2025
0.9.3-rc017 153 2/12/2025
0.9.3-rc016 166 2/12/2025
0.9.3-rc015 152 2/7/2025
0.9.3-rc014 135 2/6/2025
0.9.3-rc013 151 2/5/2025
0.9.3-rc012 171 2/5/2025
0.9.3-rc011 138 2/5/2025
0.9.3-rc010 140 2/5/2025
0.9.3-rc009 147 2/4/2025
0.9.3-rc008 140 2/4/2025
0.9.3-rc007 140 2/4/2025
0.9.3-rc006 129 2/3/2025
0.9.3-rc005 141 2/3/2025
0.9.3-rc004 134 1/31/2025
0.9.3-rc003 140 1/30/2025
0.9.3-rc002 133 1/29/2025
0.9.3-rc001 139 1/29/2025
0.9.2 152 1/24/2025
0.9.2-rc007 129 1/24/2025
0.9.2-rc006 140 1/23/2025
0.9.2-rc005 139 1/23/2025
0.9.2-rc004 144 1/23/2025
0.9.2-rc003 133 1/23/2025
0.9.2-rc002 134 1/23/2025
0.9.2-rc001 133 1/22/2025
0.9.2-a001 147 1/21/2025
0.9.1 164 1/21/2025
0.9.1-rc131 131 1/19/2025
0.9.1-rc130 130 1/19/2025
0.9.1-rc129 121 1/19/2025
0.9.1-rc128 130 1/18/2025
0.9.1-rc127 134 1/18/2025
0.9.1-rc126 130 1/17/2025
0.9.1-rc125 137 1/17/2025
0.9.1-rc124 129 1/16/2025
0.9.1-rc123 132 1/15/2025
0.9.1-rc122 139 1/14/2025
0.9.1-rc121 123 1/14/2025
0.9.1-rc120 128 1/14/2025
0.9.1-rc118 123 1/13/2025
0.9.1-rc117 122 1/13/2025
0.9.1-rc116 127 1/8/2025
0.9.1-rc115 151 1/2/2025
0.9.1-rc114 132 12/24/2024
0.9.1-rc113 137 12/23/2024
0.9.1-rc112 142 12/22/2024
0.9.1-rc111 134 12/22/2024
0.9.1-rc110 132 12/21/2024
0.9.1-rc109 140 12/21/2024
0.9.1-rc108 126 12/21/2024
0.9.1-rc107 143 12/20/2024
0.9.1-rc106 141 12/20/2024
0.9.1-rc105 133 12/19/2024
0.9.1-rc104 132 12/19/2024
0.9.1-rc100 141 12/16/2024
0.9.1-alpha4 166 12/15/2024
0.9.1-alpha3 124 12/15/2024
0.9.0-rc3 132 12/9/2024
0.9.0-rc2 135 12/9/2024
0.9.0-alpha5 138 11/28/2024
0.9.0-alpha1 137 11/27/2024
0.8.4 149 11/20/2024
0.8.3 161 9/18/2024
0.8.2 184 9/3/2024
0.8.2-alpha2 144 9/23/2024
0.8.1 189 8/23/2024
0.8.1-alpha2 153 9/18/2024