chore(deps): update dependency microsoft.featuremanagement to 4.0.0 #283
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.0.0-preview
->4.0.0
Release Notes
microsoft/FeatureManagement-Dotnet (Microsoft.FeatureManagement)
v4.0.0
Compare Source
4.0.0 - November 1, 2024
Microsoft.FeatureManagement Updates
The packages associated with this release are
Microsoft.FeatureManagement
Enhancements
Variant Feature Flags
A variant feature flag is an enhanced feature flag that supports multiple states or variations. While it can still be toggled on or off, it also allows for different configurations, ranging from simple primitives to complex JSON objects. Variant feature flags are particularly useful for feature rollouts, configuration rollouts, and feature experimentation (also known as A/B testing).
The new
IVariantFeatureManager
has been introduced as the successor to the existingIFeatureManager
. It retains all the functionalities ofIFeatureManager
while adding newGetVariantAsync
methods and supportingCancellationToken
for all methods.Note: If reading variant flags from App Configuration, version
8.0.0
or above for theMicrosoft.Extensions.Configuration.AzureAppConfiguration
orMicrosoft.Azure.AppConfiguration.AspNetCore
package is required.For more details on Variants, see here.
Variant Service Provider
Variant feature flags can be used in conjunction with dependency injection to surface different implementations of a service for different users. This is accomplished by using the Variant Service Provider.
For more details on Variant Service Provider, see here
Telemetry
Telemetry provides observability into flag evaluations, offering insights into which users received specific flag results. This enables more powerful metric analysis, such as experimentation.
For more details on Telemetry, see here.
Microsoft Feature Management Schema
Added support for variant feature flags defined using Microsoft Feature Management schema. Variants and telemetry can be declared using Microsoft Feature Flag schema v2. Here is a Sample.
Performance Optimizations
The performance of the feature flag state evaluation has been improved by up to 20%, with a memory reduction of up to 30% for .NET 8 applications compared to the version 3.5.0 release.
Microsoft.FeatureManagement.AspNetCore
Enhancements
Adjusted the
.WithTargeting()
builder method to automatically addHttpContextAccessor
if it's not already added.Added
TargetingHttpContextMiddleware
which persists targeting context in the current activity. This is used when setting up Telemetry.Added support for variants in
FeatureTagHelper
. This allows MVC views to use the<feature>
tag to conditionally render content based on whether a specific variant of a feature is assigned.For more details on ASP.NET views and variants, see here.
Updated
Microsoft.FeatureManagement
reference to4.0.0
. See the release notes for more information on the changes.Added support for .NET 9 as a target framework.
Breaking Change
FeatureTagHelper
constructor now requires anIVariantFeatureManager
to support new variant functionality. While this class is typically not instantiated directly, any direct instantiation will need to be updated.Microsoft.FeatureManagement.Telemetry.ApplicationInsights
Enhancements
Added support for Application Insights telemetry. To publish feature flag evaluation data and tag outgoing events with targeting information, register the Application Insights telemetry publisher as shown below.
For more details on Application Insights Publishing, see here
v4.0.0-preview5
Compare Source
4.0.0-preview5 - Oct 24, 2024
Microsoft.FeatureManagement Updates
The packages associated with this release are
Microsoft.FeatureManagement
Enhancements
DefaultWhenEnabled
reflects what the DefaultWhenEnabled variant on the flag is.VariantAssignmentPercentage
shows what percentage of users will be allocated the given Variant for the given Reason.Microsoft.FeatureManagement.AspNetCore
Microsoft.FeatureManagement
reference to4.0.0-preview5
.Microsoft.FeatureManagement.Telemetry.ApplicationInsights
Microsoft.FeatureManagement
reference to4.0.0-preview5
.v4.0.0-preview4
Compare Source
Microsoft.FeatureManagement Updates
The packages associated with this release are
Microsoft.FeatureManagement
Enhancements
Acitivity
instrumentation. Feature manager now has anAcitvitySource
called "Microsoft.FeatureManagement". If telemetry is enabled for a feature flag, whenever the feature flag is evaluated, feature manager will start anActivity
and add anActivityEvent
with tags containing feature evaluation information. #455Breaking Changes
If you were using earlier preview versions of this package and configuration files to define variant feature flags, they are no longer supported in the .NET Feature Management schema. Instead, please use the Microsoft Feature Management schema to define variant feature flags. #421.
AddTelemetryPublisher
API andITelemetryPublisher
interface were removed. The feature flag telemetry pipeline is now integrated with .NETAcitivity
instrumentation. #455Microsoft.FeatureManagement.AspNetCore
Microsoft.FeatureManagement
reference to4.0.0-preview4
.Microsoft.FeatureManagement.Telemetry.ApplicationInsights
Microsoft.FeatureManagement
reference to4.0.0-preview4
.Enhancements
Introduced a new API
AddApplicationInsightsTelemetryPublisher
to register a feature flag telemetry publisher for Application Insights. #455Breaking Changes
The
TargetingTelemetryInitializer
type has been moved to this package from the now-deprecatedMicrosoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore
package. This change simplifies the utilization of feature flag telemetry.The type
ApplicationInsightsTelemetryPublisher
has been removed as its functionality has been replaced with the new APIAddApplicationInsightsTelemetryPublisher
for publishing feature flag telemetry to Application Insights. #455v4.0.0-preview3
Compare Source
Microsoft.FeatureManagement Updates
The packages associated with this release are
Microsoft.FeatureManagement
Enhancements
Microsoft.FeatureManagement.AspNetCore
Microsoft.FeatureManagement
reference to4.0.0-preview3
.Microsoft.FeatureManagement.Telemetry.ApplicationInsights
Breaking Changes
Updated the namespace for
ApplicationInsightsTelemetryPublisher
toMicrosoft.FeatureManagement.Telemetry
. In the future, developers using any of our offered telemetry publishers will no longer need to specify the service specific namespaces likeusing Microsoft.FeatureManagement.Telemetry.ApplicationInsights
.Updated the namespace for
TrackEvent
extension method ofTelemetryClient
toMicrosoft.ApplicationInsights
. The previous directiveusing Microsoft.FeatureManagement.Telemetry.ApplicationInsights
is no longer required when calling theTrackEvent
method.Microsoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore
Microsoft.FeatureManagement
reference to4.0.0-preview3
.v4.0.0-preview2
Compare Source
Microsoft.FeatureManagement Updates
The packages associated with this release are
Microsoft.FeatureManagement
Enhancements
TargetingContext
property to theEvaluationEvent
. This allows feature evaluation events to accurately represent what the targeting context was at the time of feature evaluation. (#409)Microsoft.FeatureManagement.AspNetCore
Enhancements
TargetingHttpContextMiddleware
. It makes targeting information available fromHttpContext
on each request. (#409)Microsoft.FeatureManagement.Telemetry.ApplicationInsights
Enhancements
TargetingId
property to the feature evaluation events sent to Application Insights. TheTargetingId
is the identifier of a targeted user during feature evaluation. This new property allows you to correlate feature evaluation events with other telemetry data your application sends to Application Insights, as long as they share the sameTargetingId
. (#409)Microsoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore
Enhancements
TargetingTelemetryInitializer
. It automatically adds targeting information to telemetry data your application sends to Application Insights. This can be used to correlate your telemetry data with feature evaluation events based on the targeting information during your telemetry analysis. (#409)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.