Skip to content

- Release v5.2.0 - #18

Merged
NinjaRocks merged 4 commits into
masterfrom
release/v5.2.0
Mar 19, 2026
Merged

- Release v5.2.0#18
NinjaRocks merged 4 commits into
masterfrom
release/v5.2.0

Conversation

@NinjaRocks

Copy link
Copy Markdown
Member

feature-flag FeatureOne — Release Notes v5.2.0

Release Date: March 19, 2026
Release Type: Minor
Packages:FeatureOne · FeatureOne.SQL · FeatureOne.File


What's New

RelationalCondition

A new built-in toggle condition — RelationalCondition — has been added to the core library. It enables claim-based feature gating using standard relational operators, making it possible to target users by tier, role, numeric level, or any string-comparable claim value.

Supported operators (RelationalOperator enum):

OperatorDescription
EqualsClaim value equals the configured value
NotEqualsClaim value does not equal the configured value
GreaterThanClaim value is lexicographically greater than the configured value
GreaterThanOrEqualClaim value is lexicographically greater than or equal to the configured value
LessThanOrEqualClaim value is lexicographically less than or equal to the configured value

Both the claim value and the configured value are trimmed of whitespace before comparison.

JSON toggle definition:

{
"tier_feature": {
"toggle": {
"conditions": [{
"type": "Relational",
"claim": "tier",
"operator": "GreaterThanOrEqual",
"value": "gold"
}]
}
}
}

C# toggle definition:

newFeature("tier_feature",newToggle(Operator.Any,new[]{newRelationalCondition{Claim="tier",Operator=RelationalOperator.GreaterThanOrEqual,Value="gold"}}))

Framework and Package Updates

ChangeDetail
Added target frameworknet10.0
Removed target frameworksnetstandard2.0, net8.0
Supported target frameworksnetstandard2.1, net9.0, net10.0
Microsoft package upgradesAll Microsoft packages upgraded to 10.0.5

Packages upgraded:

PackageVersion
Microsoft.Extensions.DependencyInjection.Abstractions10.0.5
Microsoft.Extensions.Logging.Abstractions10.0.5
System.Runtime.Caching10.0.5
System.Text.Json10.0.5

Test Coverage

MetricCoverage
Line coverage98%+
Branch coverage84%+
Total tests174+

New tests added:

  • RelationalConditionTests — 20 unit tests covering all operators, null guards, whitespace trimming, and edge cases
  • RelationalConditionSQLTests — SQL storage pipeline tests for RelationalCondition deserialization and evaluation
  • E2E tests for RelationalCondition via the File storage backend

Breaking Changes

None. This release is fully backward compatible — all existing toggles, conditions, and storage providers continue to work without modification.


Upgrade Guide

Update the package version in your project:

NuGet\Install-Package FeatureOne -Version 5.2.0
NuGet\Install-Package FeatureOne.SQL -Version 5.2.0
NuGet\Install-Package FeatureOne.File -Version 5.2.0

If you are targeting net8.0 or netstandard2.0, upgrade to net9.0, net10.0, or netstandard2.1.


Full Changelog

#ChangeTypePackage(s)
1Added RelationalCondition with Equals, NotEquals, GreaterThan, GreaterThanOrEqual, LessThanOrEqual operatorsFeatureFeatureOne
2Registered RelationalCondition in ConditionDeserializer safe type registryFeatureFeatureOne
3Added net10.0 target frameworkEnhancementAll
4Removed netstandard2.0 and net8.0 target frameworksCleanupAll
5Upgraded all Microsoft packages to 10.0.5DependencyAll
6Added RelationalConditionTests (20 unit tests)TestFeatureOne
7Added RelationalConditionSQLTests (4 unit tests)TestFeatureOne.SQL
8Added E2E test TestForTierFeatureToBeEnabledForGoldAndAboveTestFeatureOne.File
9Updated DeveloperGuide.md with Relational Condition sectionDocsAll
10Updated NuGet package icon to feature-flag.pngPackagingAll

Signed-off-by: CØDE N!NJΔ <najaf.shaikh@gmail.com>
@NinjaRocks
NinjaRocks merged commit 2e08400 into masterMar 19, 2026
6 of 7 checks passed
@NinjaRocks
NinjaRocks deleted the release/v5.2.0 branch March 19, 2026 00:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@NinjaRocks@Nshai