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 412 12/8/2025
0.9.8-beta106 662 12/2/2025
0.9.8-beta105 658 12/1/2025
0.9.8-beta104 658 12/1/2025
0.9.8-beta101 128 11/28/2025
0.9.7 189 11/24/2025
0.9.7-rc488 296 11/21/2025
0.9.7-rc487 319 11/21/2025
0.9.7-rc485 394 11/19/2025
0.9.7-rc484 397 11/18/2025
0.9.7-rc483 394 11/18/2025
0.9.7-rc481 390 11/18/2025
0.9.7-rc480 390 11/17/2025
0.9.7-rc479 281 11/17/2025
0.9.7-rc474 266 11/16/2025
0.9.7-rc473 281 11/16/2025
0.9.7-rc471 254 11/10/2025
0.9.7-rc470 257 11/10/2025
0.9.7-rc467 252 11/10/2025
0.9.7-rc466 129 11/7/2025
0.9.7-rc461 188 11/4/2025
0.9.7-rc460 183 11/4/2025
0.9.7-rc452 181 10/28/2025
0.9.7-rc451 178 10/28/2025
0.9.7-rc440 171 10/21/2025
0.9.7-rc439 169 10/20/2025
0.9.7-rc428 170 10/1/2025
0.9.7-rc418 168 9/29/2025
0.9.7-rc408 142 9/26/2025
0.9.7-rc407 151 9/26/2025
0.9.7-rc406 189 9/25/2025
0.9.7-rc405 165 9/25/2025
0.9.7-rc404 171 9/25/2025
0.9.7-rc403 185 9/25/2025
0.9.7-rc402 176 9/24/2025
0.9.7-rc401 175 9/23/2025
0.9.7-rc400 164 9/23/2025
0.9.7-rc399 179 9/23/2025
0.9.7-rc398 180 9/23/2025
0.9.7-rc397 178 9/23/2025
0.9.7-rc396 175 9/23/2025
0.9.7-rc395 173 9/23/2025
0.9.7-rc394 180 9/23/2025
0.9.7-rc393 191 9/22/2025
0.9.7-rc392 188 9/22/2025
0.9.7-rc391 183 9/22/2025
0.9.7-rc390 193 9/22/2025
0.9.7-rc389 197 9/22/2025
0.9.7-rc388 200 9/22/2025
0.9.7-rc387 211 9/22/2025
0.9.7-rc386 197 9/22/2025
0.9.7-rc385 217 9/22/2025
0.9.7-rc384 234 9/22/2025
0.9.7-rc383 254 9/19/2025
0.9.7-rc382 302 9/17/2025
0.9.7-rc381 306 9/17/2025
0.9.7-rc380 316 9/16/2025
0.9.7-rc379 320 9/16/2025
0.9.7-rc378 320 9/16/2025
0.9.7-rc377 316 9/16/2025
0.9.7-rc376 308 9/16/2025
0.9.7-rc375 310 9/16/2025
0.9.7-rc374 308 9/16/2025
0.9.7-rc373 247 9/15/2025
0.9.7-rc372 131 9/12/2025
0.9.7-rc371 150 9/12/2025
0.9.7-rc370 146 9/12/2025
0.9.7-rc369 137 9/12/2025
0.9.7-rc368 184 9/11/2025
0.9.7-rc367 189 9/10/2025
0.9.7-rc366 179 9/10/2025
0.9.7-rc365 174 9/10/2025
0.9.7-rc364 180 9/9/2025
0.9.7-rc363 172 9/9/2025
0.9.7-rc362 178 9/9/2025
0.9.7-rc361 179 9/9/2025
0.9.7-rc360 178 9/9/2025
0.9.7-rc359 175 9/9/2025
0.9.7-rc358 174 9/9/2025
0.9.7-rc357 194 9/8/2025
0.9.7-rc356 136 9/5/2025
0.9.7-rc355 146 9/5/2025
0.9.7-rc354 166 9/5/2025
0.9.7-rc353 142 9/5/2025
0.9.7-rc352 161 9/5/2025
0.9.7-rc351 165 9/5/2025
0.9.7-rc350 189 9/5/2025
0.9.7-rc349 193 9/5/2025
0.9.7-rc348 184 9/4/2025
0.9.7-rc347 199 9/4/2025
0.9.7-rc346 192 9/4/2025
0.9.7-rc345 193 9/3/2025
0.9.7-rc344 191 9/3/2025
0.9.7-rc343 190 9/3/2025
0.9.7-rc342 187 9/3/2025
0.9.7-rc341 191 9/3/2025
0.9.7-rc340 184 9/3/2025
0.9.7-rc339 186 9/3/2025
0.9.7-rc338 198 9/3/2025
0.9.7-rc337 189 9/2/2025
0.9.7-rc336 188 9/2/2025
0.9.7-rc335 177 9/2/2025
0.9.7-rc334 171 9/2/2025
0.9.7-rc333 169 9/2/2025
0.9.7-rc332 166 9/2/2025
0.9.7-rc331 182 9/2/2025
0.9.7-rc330 179 9/1/2025
0.9.7-rc329 192 8/31/2025
0.9.7-rc328 172 8/31/2025
0.9.7-rc327 173 8/31/2025
0.9.7-rc326 174 8/31/2025
0.9.7-rc325 201 8/31/2025
0.9.7-rc324 206 8/29/2025
0.9.7-rc323 211 8/29/2025
0.9.7-rc322 228 8/29/2025
0.9.7-rc321 215 8/29/2025
0.9.7-rc320 218 8/29/2025
0.9.7-rc319 220 8/28/2025
0.9.7-rc318 221 8/28/2025
0.9.7-rc317 234 8/28/2025
0.9.7-rc316 229 8/26/2025
0.9.7-rc315 221 8/26/2025
0.9.7-rc314 222 8/26/2025
0.9.7-rc313 221 8/26/2025
0.9.7-rc312 225 8/26/2025
0.9.7-rc311 248 8/26/2025
0.9.7-rc310 241 8/26/2025
0.9.7-rc309 191 8/25/2025
0.9.7-rc308 195 8/25/2025
0.9.7-rc307 189 8/25/2025
0.9.7-rc306 197 8/25/2025
0.9.7-rc305 318 8/25/2025
0.9.7-rc304 313 8/25/2025
0.9.7-rc303 294 8/25/2025
0.9.7-rc302 296 8/25/2025
0.9.7-rc301 130 8/22/2025
0.9.7-rc300 115 8/22/2025
0.9.7-rc299 151 8/22/2025
0.9.7-rc298 150 8/22/2025
0.9.7-rc297 175 8/21/2025
0.9.7-rc296 175 8/21/2025
0.9.7-rc295 174 8/21/2025
0.9.7-rc293 170 8/21/2025
0.9.7-rc292 172 8/21/2025
0.9.7-rc291 172 8/21/2025
0.9.7-rc290 161 8/20/2025
0.9.7-rc289 174 8/19/2025
0.9.7-rc288 181 8/19/2025
0.9.7-rc287 178 8/19/2025
0.9.7-rc286 183 8/19/2025
0.9.7-rc285 193 8/18/2025
0.9.7-rc284 176 8/18/2025
0.9.7-rc283 171 8/18/2025
0.9.7-rc282 173 8/18/2025
0.9.7-rc281 180 8/18/2025
0.9.7-rc280 178 8/18/2025
0.9.7-rc279 174 8/18/2025
0.9.7-rc278 171 8/18/2025
0.9.7-rc277 171 8/18/2025
0.9.7-rc276 173 8/18/2025
0.9.7-rc275 169 8/18/2025
0.9.7-rc274 183 8/18/2025
0.9.7-rc273 176 8/17/2025
0.9.7-rc272 166 8/16/2025
0.9.7-rc271 173 8/10/2025
0.9.7-rc270 137 8/9/2025
0.9.7-rc269 158 8/9/2025
0.9.7-rc268 174 8/9/2025
0.9.7-rc267 178 8/9/2025
0.9.7-rc266 199 8/8/2025
0.9.7-rc265 185 8/8/2025
0.9.7-rc264 195 8/8/2025
0.9.7-rc263 216 8/8/2025
0.9.7-rc262 223 8/8/2025
0.9.7-rc261 224 8/8/2025
0.9.7-rc260 228 8/8/2025
0.9.7-rc259 250 8/7/2025
0.9.7-rc258 211 8/4/2025
0.9.7-rc257 195 8/4/2025
0.9.7-rc256 179 7/27/2025
0.9.7-rc255 523 7/24/2025
0.9.7-rc254 559 7/22/2025
0.9.7-rc253 555 7/22/2025
0.9.7-rc252 522 7/21/2025
0.9.7-rc251 449 7/21/2025
0.9.7-rc250 365 7/20/2025
0.9.7-rc249.1 319 7/20/2025
0.9.7-rc249 265 7/20/2025
0.9.7-rc248.1 175 8/29/2025
0.9.7-rc248 106 7/18/2025
0.9.7-rc247 109 7/18/2025
0.9.7-rc246 119 7/18/2025
0.9.7-rc245 119 7/18/2025
0.9.7-rc244 138 7/18/2025
0.9.7-rc243 139 7/18/2025
0.9.7-rc242 156 7/18/2025
0.9.7-rc241 175 7/17/2025
0.9.7-rc240 175 7/17/2025
0.9.7-rc239 173 7/17/2025
0.9.7-rc238 172 7/17/2025
0.9.7-rc237 175 7/17/2025
0.9.7-rc236 164 7/17/2025
0.9.7-rc235 183 7/17/2025
0.9.7-rc234 181 7/16/2025
0.9.7-rc233 172 7/16/2025
0.9.7-rc232 166 7/16/2025
0.9.7-rc231 186 7/16/2025
0.9.7-rc230 176 7/16/2025
0.9.7-rc229 172 7/16/2025
0.9.7-rc228 180 7/16/2025
0.9.7-rc227 167 7/16/2025
0.9.7-rc226 176 7/16/2025
0.9.7-rc225 162 7/15/2025
0.9.7-rc224 166 7/15/2025
0.9.7-rc223 176 7/15/2025
0.9.7-rc222 183 7/15/2025
0.9.7-rc220 191 7/10/2025
0.9.7-rc219 178 7/10/2025
0.9.7-rc218 180 7/10/2025
0.9.7-rc217 177 7/10/2025
0.9.7-rc216 182 7/10/2025
0.9.7-rc215 186 7/10/2025
0.9.7-rc214 176 7/9/2025
0.9.7-rc213 179 7/8/2025
0.9.7-rc212 174 7/8/2025
0.9.7-rc211 183 7/8/2025
0.9.7-rc208 183 7/8/2025
0.9.7-rc207 179 7/8/2025
0.9.7-rc206 192 7/8/2025
0.9.7-rc205 177 7/7/2025
0.9.7-rc204 172 7/7/2025
0.9.7-rc203 178 7/7/2025
0.9.7-rc202 181 7/7/2025
0.9.7-rc201 167 7/7/2025
0.9.7-rc200 160 7/3/2025
0.9.7-rc199 168 7/3/2025
0.9.7-rc198 168 7/3/2025
0.9.7-rc197 176 7/3/2025
0.9.7-rc196 178 7/2/2025
0.9.7-rc195 163 7/2/2025
0.9.7-rc194 185 7/1/2025
0.9.7-rc193 177 7/1/2025
0.9.7-rc192 175 7/1/2025
0.9.7-rc191 176 6/30/2025
0.9.7-rc190 166 6/30/2025
0.9.7-rc188 172 6/26/2025
0.9.7-rc187 177 6/26/2025
0.9.7-rc186 170 6/26/2025
0.9.7-rc185 166 6/26/2025
0.9.7-rc184 176 6/24/2025
0.9.7-rc181 201 6/23/2025
0.9.7-rc180 181 6/23/2025
0.9.7-rc179 178 6/23/2025
0.9.7-rc178 180 6/23/2025
0.9.7-rc177 141 6/20/2025
0.9.7-rc176 123 6/20/2025
0.9.7-rc175 120 6/20/2025
0.9.7-rc174 122 6/20/2025
0.9.7-rc173 119 6/20/2025
0.9.7-rc172 183 6/19/2025
0.9.7-rc171 190 6/19/2025
0.9.7-rc170 180 6/19/2025
0.9.7-rc169 185 6/19/2025
0.9.7-rc168 206 6/19/2025
0.9.7-rc167 166 6/19/2025
0.9.7-rc166 197 6/17/2025
0.9.7-rc165 175 6/17/2025
0.9.7-rc164 172 6/16/2025
0.9.7-rc163 185 6/16/2025
0.9.7-rc162 165 6/16/2025
0.9.7-rc161 186 6/15/2025
0.9.7-rc160 270 6/13/2025
0.9.7-rc159 287 6/13/2025
0.9.7-rc158 324 6/12/2025
0.9.7-rc157 328 6/11/2025
0.9.7-rc156 311 6/11/2025
0.9.7-rc155 348 6/10/2025
0.9.7-rc154 333 6/10/2025
0.9.7-rc153 320 6/10/2025
0.9.7-rc152 338 6/10/2025
0.9.7-rc151 321 6/10/2025
0.9.7-rc150.4 481 7/23/2025
0.9.7-rc150.3 135 6/23/2025
0.9.7-rc150.2 139 6/23/2025
0.9.7-rc150 327 6/10/2025
0.9.7-rc149 322 6/9/2025
0.9.7-rc148 303 6/9/2025
0.9.7-rc147 312 6/9/2025
0.9.7-rc146 301 6/9/2025
0.9.7-rc145 301 6/9/2025
0.9.7-rc144 274 6/9/2025
0.9.7-rc143 239 6/8/2025
0.9.7-rc142 242 6/8/2025
0.9.7-rc141 151 6/8/2025
0.9.7-rc140 150 6/7/2025
0.9.7-rc139 135 6/6/2025
0.9.7-rc138 146 6/6/2025
0.9.7-rc137 147 6/6/2025
0.9.7-rc136 181 6/5/2025
0.9.7-rc135 184 6/5/2025
0.9.7-rc134 196 6/5/2025
0.9.7-rc133 178 6/5/2025
0.9.7-rc132 170 6/5/2025
0.9.7-rc131 186 6/5/2025
0.9.7-rc130 182 6/5/2025
0.9.7-rc129 188 6/5/2025
0.9.7-rc128 175 6/4/2025
0.9.7-rc127 201 6/4/2025
0.9.7-rc126 160 6/4/2025
0.9.7-rc125 175 6/4/2025
0.9.7-rc124 186 6/3/2025
0.9.7-rc123 198 6/3/2025
0.9.7-rc122 181 6/3/2025
0.9.7-rc121 183 6/3/2025
0.9.7-rc120 186 6/3/2025
0.9.7-rc119 187 6/2/2025
0.9.7-rc118 177 6/2/2025
0.9.7-rc117 186 6/2/2025
0.9.7-rc116 136 5/30/2025
0.9.7-rc115 183 5/30/2025
0.9.7-rc114 175 5/29/2025
0.9.7-rc113 197 5/29/2025
0.9.7-rc112 186 5/29/2025
0.9.7-rc111 184 5/29/2025
0.9.7-rc110 176 5/29/2025
0.9.7-rc109 178 5/28/2025
0.9.7-rc108 168 5/28/2025
0.9.7-rc107 179 5/27/2025
0.9.7-rc106 211 5/27/2025
0.9.7-rc105 188 5/27/2025
0.9.7-rc104 192 5/26/2025
0.9.7-rc103 186 5/25/2025
0.9.7-rc102 206 5/25/2025
0.9.7-rc101 96 5/24/2025
0.9.7-rc100 143 5/23/2025
0.9.7-post9 162 12/22/2025
0.9.7-post3 415 12/8/2025
0.9.7-post1 654 12/1/2025
0.9.7-ex331 164 9/2/2025
0.9.7-beta159 186 5/20/2025
0.9.7-beta158 221 5/16/2025
0.9.7-beta157 257 5/13/2025
0.9.7-beta156 262 5/12/2025
0.9.7-beta155 199 5/6/2025
0.9.7-beta154 182 5/6/2025
0.9.7-beta153 189 5/5/2025
0.9.7-beta152 212 4/30/2025
0.9.7-beta151 190 4/21/2025
0.9.7-beta150 205 4/21/2025
0.9.7-beta149 202 4/20/2025
0.9.7-beta148 194 4/18/2025
0.9.7-beta147 243 4/17/2025
0.9.7-beta146 238 4/17/2025
0.9.7-beta145 142 4/11/2025
0.9.7-beta144 187 4/11/2025
0.9.7-beta143 205 4/11/2025
0.9.7-beta142 171 4/11/2025
0.9.7-beta141 180 4/11/2025
0.9.7-beta140 224 4/10/2025
0.9.7-beta139 207 4/10/2025
0.9.7-beta138 220 4/9/2025
0.9.7-beta137 200 4/3/2025
0.9.7-beta136 198 4/2/2025
0.9.7-beta135 197 4/2/2025
0.9.7-beta134 196 4/2/2025
0.9.7-beta133 194 4/2/2025
0.9.7-beta132 201 4/2/2025
0.9.7-beta131 213 4/1/2025
0.9.7-beta130 207 4/1/2025
0.9.7-beta129 211 3/31/2025
0.9.7-beta128 203 3/31/2025
0.9.7-beta127 209 3/30/2025
0.9.7-beta126 202 3/30/2025
0.9.7-beta125 522 3/26/2025
0.9.7-beta124 534 3/26/2025
0.9.7-beta123 520 3/26/2025
0.9.7-beta122 524 3/25/2025
0.9.7-beta121 544 3/25/2025
0.9.7-beta120 519 3/25/2025
0.9.7-beta119 539 3/25/2025
0.9.7-beta118 530 3/25/2025
0.9.7-beta117 545 3/25/2025
0.9.7-beta116 541 3/24/2025
0.9.7-beta115 450 3/24/2025
0.9.7-beta114 318 3/23/2025
0.9.7-beta113 139 3/21/2025
0.9.7-beta112 161 3/21/2025
0.9.7-beta111 199 3/19/2025
0.9.7-beta110 197 3/19/2025
0.9.7-beta109 195 3/18/2025
0.9.7-beta108 200 3/17/2025
0.9.7-beta107 196 3/17/2025
0.9.7-beta106 210 3/17/2025
0.9.7-beta105 207 3/13/2025
0.9.7-beta104 206 3/12/2025
0.9.7-beta103 233 3/11/2025
0.9.7-beta102 211 3/9/2025
0.9.7-beta101 255 3/7/2025
0.9.7-beta100 248 3/5/2025
0.9.6 309 3/3/2025
0.9.6-rc100 162 2/28/2025
0.9.5 186 2/26/2025
0.9.5-rc102 155 2/25/2025
0.9.5-rc101 149 2/24/2025
0.9.5-rc100 157 2/23/2025
0.9.4 163 2/21/2025
0.9.3 169 2/17/2025
0.9.3-rc018 151 2/17/2025
0.9.3-rc017 164 2/12/2025
0.9.3-rc016 187 2/12/2025
0.9.3-rc015 164 2/7/2025
0.9.3-rc014 162 2/6/2025
0.9.3-rc013 167 2/5/2025
0.9.3-rc012 194 2/5/2025
0.9.3-rc011 154 2/5/2025
0.9.3-rc010 158 2/5/2025
0.9.3-rc009 162 2/4/2025
0.9.3-rc008 148 2/4/2025
0.9.3-rc007 157 2/4/2025
0.9.3-rc006 139 2/3/2025
0.9.3-rc005 155 2/3/2025
0.9.3-rc004 149 1/31/2025
0.9.3-rc003 153 1/30/2025
0.9.3-rc002 148 1/29/2025
0.9.3-rc001 151 1/29/2025
0.9.2 168 1/24/2025
0.9.2-rc007 151 1/24/2025
0.9.2-rc006 156 1/23/2025
0.9.2-rc005 156 1/23/2025
0.9.2-rc004 157 1/23/2025
0.9.2-rc003 143 1/23/2025
0.9.2-rc002 147 1/23/2025
0.9.2-rc001 153 1/22/2025
0.9.2-a001 161 1/21/2025
0.9.1 191 1/21/2025
0.9.1-rc131 150 1/19/2025
0.9.1-rc130 144 1/19/2025
0.9.1-rc129 134 1/19/2025
0.9.1-rc128 142 1/18/2025
0.9.1-rc127 153 1/18/2025
0.9.1-rc126 145 1/17/2025
0.9.1-rc125 153 1/17/2025
0.9.1-rc124 150 1/16/2025
0.9.1-rc123 148 1/15/2025
0.9.1-rc122 157 1/14/2025
0.9.1-rc121 146 1/14/2025
0.9.1-rc120 141 1/14/2025
0.9.1-rc118 147 1/13/2025
0.9.1-rc117 147 1/13/2025
0.9.1-rc116 137 1/8/2025
0.9.1-rc115 163 1/2/2025
0.9.1-rc114 148 12/24/2024
0.9.1-rc113 154 12/23/2024
0.9.1-rc112 156 12/22/2024
0.9.1-rc111 150 12/22/2024
0.9.1-rc110 142 12/21/2024
0.9.1-rc109 157 12/21/2024
0.9.1-rc108 139 12/21/2024
0.9.1-rc107 163 12/20/2024
0.9.1-rc106 158 12/20/2024
0.9.1-rc105 146 12/19/2024
0.9.1-rc104 162 12/19/2024
0.9.1-rc100 158 12/16/2024
0.9.1-alpha4 188 12/15/2024
0.9.1-alpha3 157 12/15/2024
0.9.0-rc3 148 12/9/2024
0.9.0-rc2 157 12/9/2024
0.9.0-alpha5 157 11/28/2024
0.9.0-alpha1 157 11/27/2024
0.8.4 171 11/20/2024
0.8.3 192 9/18/2024
0.8.2 205 9/3/2024
0.8.2-alpha2 162 9/23/2024
0.8.1 208 8/23/2024
0.8.1-alpha2 170 9/18/2024