FoundationaLLM.Client.Management 0.9.7

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
                    
NuGet\Install-Package FoundationaLLM.Client.Management -Version 0.9.7
                    
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" />
                    
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" />
                    
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
                    
#r "nuget: FoundationaLLM.Client.Management, 0.9.7"
                    
#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
                    
#: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
                    
Install as a Cake Addin
#tool nuget:?package=FoundationaLLM.Client.Management&version=0.9.7
                    
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.8-beta107 401 12/8/2025
0.9.8-beta106 653 12/2/2025
0.9.8-beta105 647 12/1/2025
0.9.8-beta104 649 12/1/2025
0.9.8-beta101 122 11/28/2025
0.9.7 174 11/24/2025
0.9.7-rc488 290 11/21/2025
0.9.7-rc487 312 11/21/2025
0.9.7-rc485 382 11/19/2025
0.9.7-rc484 392 11/18/2025
0.9.7-rc483 384 11/18/2025
0.9.7-rc481 385 11/18/2025
0.9.7-rc480 384 11/17/2025
0.9.7-rc479 272 11/17/2025
0.9.7-rc474 262 11/16/2025
0.9.7-rc473 275 11/16/2025
0.9.7-rc471 247 11/10/2025
0.9.7-rc470 249 11/10/2025
0.9.7-rc467 244 11/10/2025
0.9.7-rc466 122 11/7/2025
0.9.7-rc461 179 11/4/2025
0.9.7-rc460 178 11/4/2025
0.9.7-rc452 173 10/28/2025
0.9.7-rc451 171 10/28/2025
0.9.7-rc440 159 10/21/2025
0.9.7-rc439 163 10/20/2025
0.9.7-rc428 159 10/1/2025
0.9.7-rc418 160 9/29/2025
0.9.7-rc408 132 9/26/2025
0.9.7-rc407 141 9/26/2025
0.9.7-rc406 185 9/25/2025
0.9.7-rc405 157 9/25/2025
0.9.7-rc404 163 9/25/2025
0.9.7-rc403 177 9/25/2025
0.9.7-rc402 165 9/24/2025
0.9.7-rc401 169 9/23/2025
0.9.7-rc400 155 9/23/2025
0.9.7-rc399 171 9/23/2025
0.9.7-rc398 171 9/23/2025
0.9.7-rc397 169 9/23/2025
0.9.7-rc396 169 9/23/2025
0.9.7-rc395 163 9/23/2025
0.9.7-rc394 170 9/23/2025
0.9.7-rc393 182 9/22/2025
0.9.7-rc392 182 9/22/2025
0.9.7-rc391 174 9/22/2025
0.9.7-rc390 182 9/22/2025
0.9.7-rc389 192 9/22/2025
0.9.7-rc388 195 9/22/2025
0.9.7-rc387 204 9/22/2025
0.9.7-rc386 189 9/22/2025
0.9.7-rc385 209 9/22/2025
0.9.7-rc384 227 9/22/2025
0.9.7-rc383 242 9/19/2025
0.9.7-rc382 293 9/17/2025
0.9.7-rc381 299 9/17/2025
0.9.7-rc380 306 9/16/2025
0.9.7-rc379 310 9/16/2025
0.9.7-rc378 308 9/16/2025
0.9.7-rc377 308 9/16/2025
0.9.7-rc376 300 9/16/2025
0.9.7-rc375 303 9/16/2025
0.9.7-rc374 303 9/16/2025
0.9.7-rc373 237 9/15/2025
0.9.7-rc372 123 9/12/2025
0.9.7-rc371 138 9/12/2025
0.9.7-rc370 140 9/12/2025
0.9.7-rc369 130 9/12/2025
0.9.7-rc368 175 9/11/2025
0.9.7-rc367 178 9/10/2025
0.9.7-rc366 173 9/10/2025
0.9.7-rc365 167 9/10/2025
0.9.7-rc364 174 9/9/2025
0.9.7-rc363 162 9/9/2025
0.9.7-rc362 169 9/9/2025
0.9.7-rc361 171 9/9/2025
0.9.7-rc360 168 9/9/2025
0.9.7-rc359 171 9/9/2025
0.9.7-rc358 166 9/9/2025
0.9.7-rc357 186 9/8/2025
0.9.7-rc356 130 9/5/2025
0.9.7-rc355 139 9/5/2025
0.9.7-rc354 157 9/5/2025
0.9.7-rc353 138 9/5/2025
0.9.7-rc352 153 9/5/2025
0.9.7-rc351 154 9/5/2025
0.9.7-rc350 180 9/5/2025
0.9.7-rc349 184 9/5/2025
0.9.7-rc348 179 9/4/2025
0.9.7-rc347 191 9/4/2025
0.9.7-rc346 186 9/4/2025
0.9.7-rc345 185 9/3/2025
0.9.7-rc344 181 9/3/2025
0.9.7-rc343 181 9/3/2025
0.9.7-rc342 184 9/3/2025
0.9.7-rc341 181 9/3/2025
0.9.7-rc340 179 9/3/2025
0.9.7-rc339 179 9/3/2025
0.9.7-rc338 189 9/3/2025
0.9.7-rc337 181 9/2/2025
0.9.7-rc336 179 9/2/2025
0.9.7-rc335 171 9/2/2025
0.9.7-rc334 166 9/2/2025
0.9.7-rc333 160 9/2/2025
0.9.7-rc332 162 9/2/2025
0.9.7-rc331 176 9/2/2025
0.9.7-rc330 171 9/1/2025
0.9.7-rc329 184 8/31/2025
0.9.7-rc328 168 8/31/2025
0.9.7-rc327 168 8/31/2025
0.9.7-rc326 170 8/31/2025
0.9.7-rc325 192 8/31/2025
0.9.7-rc324 200 8/29/2025
0.9.7-rc323 207 8/29/2025
0.9.7-rc322 220 8/29/2025
0.9.7-rc321 208 8/29/2025
0.9.7-rc320 212 8/29/2025
0.9.7-rc319 213 8/28/2025
0.9.7-rc318 217 8/28/2025
0.9.7-rc317 222 8/28/2025
0.9.7-rc316 219 8/26/2025
0.9.7-rc315 215 8/26/2025
0.9.7-rc314 217 8/26/2025
0.9.7-rc313 216 8/26/2025
0.9.7-rc312 221 8/26/2025
0.9.7-rc311 236 8/26/2025
0.9.7-rc310 234 8/26/2025
0.9.7-rc309 185 8/25/2025
0.9.7-rc308 188 8/25/2025
0.9.7-rc307 184 8/25/2025
0.9.7-rc306 191 8/25/2025
0.9.7-rc305 308 8/25/2025
0.9.7-rc304 307 8/25/2025
0.9.7-rc303 283 8/25/2025
0.9.7-rc302 282 8/25/2025
0.9.7-rc301 121 8/22/2025
0.9.7-rc300 108 8/22/2025
0.9.7-rc299 141 8/22/2025
0.9.7-rc298 139 8/22/2025
0.9.7-rc297 170 8/21/2025
0.9.7-rc296 168 8/21/2025
0.9.7-rc295 165 8/21/2025
0.9.7-rc293 162 8/21/2025
0.9.7-rc292 166 8/21/2025
0.9.7-rc291 167 8/21/2025
0.9.7-rc290 154 8/20/2025
0.9.7-rc289 170 8/19/2025
0.9.7-rc288 173 8/19/2025
0.9.7-rc287 168 8/19/2025
0.9.7-rc286 176 8/19/2025
0.9.7-rc285 181 8/18/2025
0.9.7-rc284 167 8/18/2025
0.9.7-rc283 166 8/18/2025
0.9.7-rc282 165 8/18/2025
0.9.7-rc281 173 8/18/2025
0.9.7-rc280 172 8/18/2025
0.9.7-rc279 167 8/18/2025
0.9.7-rc278 161 8/18/2025
0.9.7-rc277 166 8/18/2025
0.9.7-rc276 163 8/18/2025
0.9.7-rc275 164 8/18/2025
0.9.7-rc274 173 8/18/2025
0.9.7-rc273 168 8/17/2025
0.9.7-rc272 157 8/16/2025
0.9.7-rc271 166 8/10/2025
0.9.7-rc270 128 8/9/2025
0.9.7-rc269 150 8/9/2025
0.9.7-rc268 162 8/9/2025
0.9.7-rc267 168 8/9/2025
0.9.7-rc266 186 8/8/2025
0.9.7-rc265 179 8/8/2025
0.9.7-rc264 187 8/8/2025
0.9.7-rc263 208 8/8/2025
0.9.7-rc262 215 8/8/2025
0.9.7-rc261 218 8/8/2025
0.9.7-rc260 223 8/8/2025
0.9.7-rc259 242 8/7/2025
0.9.7-rc258 203 8/4/2025
0.9.7-rc257 188 8/4/2025
0.9.7-rc256 172 7/27/2025
0.9.7-rc255 515 7/24/2025
0.9.7-rc254 553 7/22/2025
0.9.7-rc253 547 7/22/2025
0.9.7-rc252 513 7/21/2025
0.9.7-rc251 446 7/21/2025
0.9.7-rc250 357 7/20/2025
0.9.7-rc249.1 311 7/20/2025
0.9.7-rc249 259 7/20/2025
0.9.7-rc248.1 169 8/29/2025
0.9.7-rc248 102 7/18/2025
0.9.7-rc247 100 7/18/2025
0.9.7-rc246 112 7/18/2025
0.9.7-rc245 112 7/18/2025
0.9.7-rc244 129 7/18/2025
0.9.7-rc243 131 7/18/2025
0.9.7-rc242 151 7/18/2025
0.9.7-rc241 168 7/17/2025
0.9.7-rc240 162 7/17/2025
0.9.7-rc239 165 7/17/2025
0.9.7-rc238 165 7/17/2025
0.9.7-rc237 164 7/17/2025
0.9.7-rc236 161 7/17/2025
0.9.7-rc235 175 7/17/2025
0.9.7-rc234 172 7/16/2025
0.9.7-rc233 164 7/16/2025
0.9.7-rc232 161 7/16/2025
0.9.7-rc231 176 7/16/2025
0.9.7-rc230 165 7/16/2025
0.9.7-rc229 166 7/16/2025
0.9.7-rc228 171 7/16/2025
0.9.7-rc227 157 7/16/2025
0.9.7-rc226 166 7/16/2025
0.9.7-rc225 157 7/15/2025
0.9.7-rc224 159 7/15/2025
0.9.7-rc223 171 7/15/2025
0.9.7-rc222 169 7/15/2025
0.9.7-rc220 184 7/10/2025
0.9.7-rc219 168 7/10/2025
0.9.7-rc218 170 7/10/2025
0.9.7-rc217 167 7/10/2025
0.9.7-rc216 176 7/10/2025
0.9.7-rc215 176 7/10/2025
0.9.7-rc214 169 7/9/2025
0.9.7-rc213 169 7/8/2025
0.9.7-rc212 166 7/8/2025
0.9.7-rc211 174 7/8/2025
0.9.7-rc208 174 7/8/2025
0.9.7-rc207 175 7/8/2025
0.9.7-rc206 185 7/8/2025
0.9.7-rc205 169 7/7/2025
0.9.7-rc204 166 7/7/2025
0.9.7-rc203 172 7/7/2025
0.9.7-rc202 174 7/7/2025
0.9.7-rc201 160 7/7/2025
0.9.7-rc200 155 7/3/2025
0.9.7-rc199 159 7/3/2025
0.9.7-rc198 162 7/3/2025
0.9.7-rc197 170 7/3/2025
0.9.7-rc196 172 7/2/2025
0.9.7-rc195 155 7/2/2025
0.9.7-rc194 182 7/1/2025
0.9.7-rc193 164 7/1/2025
0.9.7-rc192 165 7/1/2025
0.9.7-rc191 168 6/30/2025
0.9.7-rc190 160 6/30/2025
0.9.7-rc188 167 6/26/2025
0.9.7-rc187 165 6/26/2025
0.9.7-rc186 164 6/26/2025
0.9.7-rc185 157 6/26/2025
0.9.7-rc184 165 6/24/2025
0.9.7-rc181 196 6/23/2025
0.9.7-rc180 177 6/23/2025
0.9.7-rc179 175 6/23/2025
0.9.7-rc178 173 6/23/2025
0.9.7-rc177 134 6/20/2025
0.9.7-rc176 116 6/20/2025
0.9.7-rc175 110 6/20/2025
0.9.7-rc174 111 6/20/2025
0.9.7-rc173 112 6/20/2025
0.9.7-rc172 178 6/19/2025
0.9.7-rc171 181 6/19/2025
0.9.7-rc170 170 6/19/2025
0.9.7-rc169 177 6/19/2025
0.9.7-rc168 194 6/19/2025
0.9.7-rc167 161 6/19/2025
0.9.7-rc166 190 6/17/2025
0.9.7-rc165 169 6/17/2025
0.9.7-rc164 164 6/16/2025
0.9.7-rc163 176 6/16/2025
0.9.7-rc162 159 6/16/2025
0.9.7-rc161 179 6/15/2025
0.9.7-rc160 264 6/13/2025
0.9.7-rc159 279 6/13/2025
0.9.7-rc158 314 6/12/2025
0.9.7-rc157 323 6/11/2025
0.9.7-rc156 305 6/11/2025
0.9.7-rc155 341 6/10/2025
0.9.7-rc154 323 6/10/2025
0.9.7-rc153 315 6/10/2025
0.9.7-rc152 328 6/10/2025
0.9.7-rc151 314 6/10/2025
0.9.7-rc150.4 476 7/23/2025
0.9.7-rc150.3 126 6/23/2025
0.9.7-rc150.2 132 6/23/2025
0.9.7-rc150 320 6/10/2025
0.9.7-rc149 311 6/9/2025
0.9.7-rc148 295 6/9/2025
0.9.7-rc147 303 6/9/2025
0.9.7-rc146 295 6/9/2025
0.9.7-rc145 298 6/9/2025
0.9.7-rc144 267 6/9/2025
0.9.7-rc143 234 6/8/2025
0.9.7-rc142 231 6/8/2025
0.9.7-rc141 145 6/8/2025
0.9.7-rc140 145 6/7/2025
0.9.7-rc139 127 6/6/2025
0.9.7-rc138 136 6/6/2025
0.9.7-rc137 142 6/6/2025
0.9.7-rc136 168 6/5/2025
0.9.7-rc135 176 6/5/2025
0.9.7-rc134 186 6/5/2025
0.9.7-rc133 172 6/5/2025
0.9.7-rc132 163 6/5/2025
0.9.7-rc131 181 6/5/2025
0.9.7-rc130 176 6/5/2025
0.9.7-rc129 178 6/5/2025
0.9.7-rc128 166 6/4/2025
0.9.7-rc127 198 6/4/2025
0.9.7-rc126 152 6/4/2025
0.9.7-rc125 167 6/4/2025
0.9.7-rc124 179 6/3/2025
0.9.7-rc123 192 6/3/2025
0.9.7-rc122 173 6/3/2025
0.9.7-rc121 175 6/3/2025
0.9.7-rc120 178 6/3/2025
0.9.7-rc119 177 6/2/2025
0.9.7-rc118 168 6/2/2025
0.9.7-rc117 180 6/2/2025
0.9.7-rc116 130 5/30/2025
0.9.7-rc115 176 5/30/2025
0.9.7-rc114 165 5/29/2025
0.9.7-rc113 190 5/29/2025
0.9.7-rc112 180 5/29/2025
0.9.7-rc111 177 5/29/2025
0.9.7-rc110 167 5/29/2025
0.9.7-rc109 174 5/28/2025
0.9.7-rc108 160 5/28/2025
0.9.7-rc107 173 5/27/2025
0.9.7-rc106 202 5/27/2025
0.9.7-rc105 180 5/27/2025
0.9.7-rc104 180 5/26/2025
0.9.7-rc103 180 5/25/2025
0.9.7-rc102 199 5/25/2025
0.9.7-rc101 90 5/24/2025
0.9.7-rc100 135 5/23/2025
0.9.7-post3 405 12/8/2025
0.9.7-post1 646 12/1/2025
0.9.7-ex331 157 9/2/2025
0.9.7-beta159 180 5/20/2025
0.9.7-beta158 212 5/16/2025
0.9.7-beta157 250 5/13/2025
0.9.7-beta156 255 5/12/2025
0.9.7-beta155 189 5/6/2025
0.9.7-beta154 176 5/6/2025
0.9.7-beta153 179 5/5/2025
0.9.7-beta152 208 4/30/2025
0.9.7-beta151 183 4/21/2025
0.9.7-beta150 196 4/21/2025
0.9.7-beta149 191 4/20/2025
0.9.7-beta148 181 4/18/2025
0.9.7-beta147 236 4/17/2025
0.9.7-beta146 232 4/17/2025
0.9.7-beta145 135 4/11/2025
0.9.7-beta144 180 4/11/2025
0.9.7-beta143 196 4/11/2025
0.9.7-beta142 162 4/11/2025
0.9.7-beta141 172 4/11/2025
0.9.7-beta140 214 4/10/2025
0.9.7-beta139 201 4/10/2025
0.9.7-beta138 211 4/9/2025
0.9.7-beta137 194 4/3/2025
0.9.7-beta136 190 4/2/2025
0.9.7-beta135 189 4/2/2025
0.9.7-beta134 190 4/2/2025
0.9.7-beta133 186 4/2/2025
0.9.7-beta132 194 4/2/2025
0.9.7-beta131 207 4/1/2025
0.9.7-beta130 198 4/1/2025
0.9.7-beta129 204 3/31/2025
0.9.7-beta128 196 3/31/2025
0.9.7-beta127 200 3/30/2025
0.9.7-beta126 191 3/30/2025
0.9.7-beta125 514 3/26/2025
0.9.7-beta124 527 3/26/2025
0.9.7-beta123 512 3/26/2025
0.9.7-beta122 516 3/25/2025
0.9.7-beta121 538 3/25/2025
0.9.7-beta120 510 3/25/2025
0.9.7-beta119 527 3/25/2025
0.9.7-beta118 522 3/25/2025
0.9.7-beta117 539 3/25/2025
0.9.7-beta116 535 3/24/2025
0.9.7-beta115 444 3/24/2025
0.9.7-beta114 313 3/23/2025
0.9.7-beta113 132 3/21/2025
0.9.7-beta112 155 3/21/2025
0.9.7-beta111 191 3/19/2025
0.9.7-beta110 190 3/19/2025
0.9.7-beta109 190 3/18/2025
0.9.7-beta108 192 3/17/2025
0.9.7-beta107 188 3/17/2025
0.9.7-beta106 202 3/17/2025
0.9.7-beta105 198 3/13/2025
0.9.7-beta104 196 3/12/2025
0.9.7-beta103 221 3/11/2025
0.9.7-beta102 197 3/9/2025
0.9.7-beta101 249 3/7/2025
0.9.7-beta100 241 3/5/2025
0.9.6 300 3/3/2025
0.9.6-rc100 158 2/28/2025
0.9.5 175 2/26/2025
0.9.5-rc102 145 2/25/2025
0.9.5-rc101 143 2/24/2025
0.9.5-rc100 150 2/23/2025
0.9.4 158 2/21/2025
0.9.3 164 2/17/2025
0.9.3-rc018 144 2/17/2025
0.9.3-rc017 160 2/12/2025
0.9.3-rc016 180 2/12/2025
0.9.3-rc015 157 2/7/2025
0.9.3-rc014 158 2/6/2025
0.9.3-rc013 157 2/5/2025
0.9.3-rc012 187 2/5/2025
0.9.3-rc011 144 2/5/2025
0.9.3-rc010 151 2/5/2025
0.9.3-rc009 157 2/4/2025
0.9.3-rc008 145 2/4/2025
0.9.3-rc007 150 2/4/2025
0.9.3-rc006 135 2/3/2025
0.9.3-rc005 149 2/3/2025
0.9.3-rc004 140 1/31/2025
0.9.3-rc003 146 1/30/2025
0.9.3-rc002 140 1/29/2025
0.9.3-rc001 145 1/29/2025
0.9.2 159 1/24/2025
0.9.2-rc007 140 1/24/2025
0.9.2-rc006 148 1/23/2025
0.9.2-rc005 146 1/23/2025
0.9.2-rc004 152 1/23/2025
0.9.2-rc003 137 1/23/2025
0.9.2-rc002 144 1/23/2025
0.9.2-rc001 143 1/22/2025
0.9.2-a001 155 1/21/2025
0.9.1 177 1/21/2025
0.9.1-rc131 138 1/19/2025
0.9.1-rc130 137 1/19/2025
0.9.1-rc129 129 1/19/2025
0.9.1-rc128 137 1/18/2025
0.9.1-rc127 144 1/18/2025
0.9.1-rc126 136 1/17/2025
0.9.1-rc125 146 1/17/2025
0.9.1-rc124 136 1/16/2025
0.9.1-rc123 138 1/15/2025
0.9.1-rc122 149 1/14/2025
0.9.1-rc121 135 1/14/2025
0.9.1-rc120 134 1/14/2025
0.9.1-rc118 139 1/13/2025
0.9.1-rc117 141 1/13/2025
0.9.1-rc116 132 1/8/2025
0.9.1-rc115 157 1/2/2025
0.9.1-rc114 140 12/24/2024
0.9.1-rc113 147 12/23/2024
0.9.1-rc112 152 12/22/2024
0.9.1-rc111 141 12/22/2024
0.9.1-rc110 137 12/21/2024
0.9.1-rc109 148 12/21/2024
0.9.1-rc108 133 12/21/2024
0.9.1-rc107 156 12/20/2024
0.9.1-rc106 147 12/20/2024
0.9.1-rc105 139 12/19/2024
0.9.1-rc104 150 12/19/2024
0.9.1-rc100 148 12/16/2024
0.9.1-alpha4 183 12/15/2024
0.9.1-alpha3 151 12/15/2024
0.9.0-rc3 144 12/9/2024
0.9.0-rc2 145 12/9/2024
0.9.0-alpha5 147 11/28/2024
0.9.0-alpha1 147 11/27/2024
0.8.4 165 11/20/2024
0.8.3 178 9/18/2024
0.8.2 194 9/3/2024
0.8.2-alpha2 152 9/23/2024
0.8.1 196 8/23/2024
0.8.1-alpha2 163 9/18/2024