PiBox.Plugins.Management.Unleash 1.3.2

dotnet add package PiBox.Plugins.Management.Unleash --version 1.3.2
                    
NuGet\Install-Package PiBox.Plugins.Management.Unleash -Version 1.3.2
                    
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="PiBox.Plugins.Management.Unleash" Version="1.3.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PiBox.Plugins.Management.Unleash" Version="1.3.2" />
                    
Directory.Packages.props
<PackageReference Include="PiBox.Plugins.Management.Unleash" />
                    
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 PiBox.Plugins.Management.Unleash --version 1.3.2
                    
#r "nuget: PiBox.Plugins.Management.Unleash, 1.3.2"
                    
#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 PiBox.Plugins.Management.Unleash@1.3.2
                    
#: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=PiBox.Plugins.Management.Unleash&version=1.3.2
                    
Install as a Cake Addin
#tool nuget:?package=PiBox.Plugins.Management.Unleash&version=1.3.2
                    
Install as a Cake Tool

PiBox.Plugins.Management.Unleash

PiBox framework

PiBox.Plugins.Management.Unleash is a plugin that allows to use feature flags to enable CI/CD with control when and how are features enabled .

Installation

To install the nuget package follow these steps:

dotnet add package PiBox.Plugins.Management.Unleash

or add as package reference to your .csproj

<PackageReference Include="PiBox.Plugins.Management.Unleash" Version="" />

This plugin uses

Configuration

unleash:
  appName: "my-fancy-app"
  apiUri: "http://localhost:4242/api/"
  apiToken: "[create-in-local-instance-web-ui]"
  projectId: "default" //in free/opensource mode there is just one project, always the same
  instanceTag: "my-fancy-backup2"
  environment: "development"

Usage

Feature flag checks


public class ExampleService
{
    private readonly IFeatureManager _featureManager;

    public ExampleService(IFeatureManager featureManager)
    {
        _featureManager = featureManager;
    }

    public void CheckFeatureFlag()
    {
         var isEnabled= await featureManager.IsEnabledAsync("myFeatureFlag");
    }

    public void CheckFeatureFlagWithActivatedContextualUserIdFilter()
    {
          var isEnabled = await featureManager.IsEnabledAsync("hello", new UserIdContext(){UserId = "id1"});
    }
}

see also https://learn.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core?tabs=core6x#feature-flag-checks

Controller & Actions

    [ApiController, Route("test")]
    [FeatureGate("my-feature-flag-for-a-whole-controller")]
    public class TestController : ControllerBase
    {
        [HttpGet]
        [FeatureGate("my-feature-flag-for-get-action")]
        public IActionResult Index()
        {
            return View();
        }

        [HttpPost]
        [FeatureGate("my-feature-flag-for-post-action")]
        public IActionResult Create()
        {
            return View();
        }
    }

see also https://learn.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core?tabs=core6x#controller-actions

MVC Views

@addTagHelper *, Microsoft.FeatureManagement.AspNetCore
<feature name="FeatureA">
    <p>This can only be seen if 'FeatureA' is enabled.</p>
</feature>

see also https://learn.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core?tabs=core6x#controller-actions

MVC Filters

using Microsoft.FeatureManagement.FeatureFilters;

IConfiguration Configuration { get; set;}

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc(options => {
        options.Filters.AddForFeature<ThirdPartyActionFilter>(MyFeatureFlags.FeatureA);
    });
}

see also https://learn.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core?tabs=core6x#controller-actions

Middleware

app.UseMiddlewareForFeature<ThirdPartyMiddleware>(MyFeatureFlags.FeatureA);

see also https://learn.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core?tabs=core6x#middleware

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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.3.2 148 4/4/2025
1.2.2 488 3/26/2025
1.1.8 114 2/3/2025
1.1.6 113 2/3/2025
1.0.91 103 1/24/2025
1.0.85 107 1/15/2025
1.0.79 119 12/20/2024
1.0.73 112 10/22/2024
1.0.66 117 10/15/2024
1.0.64 120 10/14/2024
1.0.61 117 10/1/2024
1.0.60 128 9/27/2024
1.0.54 157 4/30/2024
1.0.51 164 2/27/2024
1.0.49 143 2/27/2024
1.0.47 160 2/21/2024
1.0.45 152 2/20/2024
1.0.43 137 2/13/2024
1.0.41 142 2/13/2024
1.0.39 146 2/8/2024
1.0.38 125 2/8/2024
1.0.37 138 2/8/2024
1.0.35 136 2/2/2024
1.0.32 140 1/30/2024
1.0.25 208 12/27/2023
1.0.23 168 12/19/2023
1.0.22 136 12/19/2023
1.0.21 138 12/19/2023
1.0.19 142 12/11/2023
1.0.17 178 11/23/2023
1.0.7 133 11/23/2023
1.0.5 150 11/23/2023
1.0.3 136 11/23/2023
1.0.0 124 11/21/2023
0.9.9 130 11/21/2023
0.9.7 136 11/21/2023