FeatureOne — Release Notes v5.2.0
Release Date: March 18, 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):
| Operator | Description |
|---|---|
Equals |
Claim value equals the configured value |
NotEquals |
Claim value does not equal the configured value |
GreaterThan |
Claim value is lexicographically greater than the configured value |
GreaterThanOrEqual |
Claim value is lexicographically greater than or equal to the configured value |
LessThanOrEqual |
Claim 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:
new Feature(
"tier_feature",
new Toggle(Operator.Any, new[]
{
new RelationalCondition
{
Claim = "tier",
Operator = RelationalOperator.GreaterThanOrEqual,
Value = "gold"
}
})
)Framework and Package Updates
| Change | Detail |
|---|---|
| Added target framework | net10.0 |
| Removed target frameworks | netstandard2.0, net8.0 |
| Supported target frameworks | netstandard2.1, net9.0, net10.0 |
| Microsoft package upgrades | All Microsoft packages upgraded to 10.0.5 |
Packages upgraded:
| Package | Version |
|---|---|
Microsoft.Extensions.DependencyInjection.Abstractions |
10.0.5 |
Microsoft.Extensions.Logging.Abstractions |
10.0.5 |
System.Runtime.Caching |
10.0.5 |
System.Text.Json |
10.0.5 |
Test Coverage
| Metric | Coverage |
|---|---|
| Line coverage | 98%+ |
| Branch coverage | 84%+ |
| Total tests | 174+ |
New tests added:
RelationalConditionTests— 20 unit tests covering all operators, null guards, whitespace trimming, and edge casesRelationalConditionSQLTests— SQL storage pipeline tests forRelationalConditiondeserialization and evaluation- E2E tests for
RelationalConditionvia 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
| # | Change | Type | Package(s) |
|---|---|---|---|
| 1 | Added RelationalCondition with Equals, NotEquals, GreaterThan, GreaterThanOrEqual, LessThanOrEqual operators |
Feature | FeatureOne |
| 2 | Registered RelationalCondition in ConditionDeserializer safe type registry |
Feature | FeatureOne |
| 3 | Added net10.0 target framework |
Enhancement | All |
| 4 | Removed netstandard2.0 and net8.0 target frameworks |
Cleanup | All |
| 5 | Upgraded all Microsoft packages to 10.0.5 |
Dependency | All |
| 6 | Added RelationalConditionTests (20 unit tests) |
Test | FeatureOne |
| 7 | Added RelationalConditionSQLTests (4 unit tests) |
Test | FeatureOne.SQL |
| 8 | Added E2E test TestForTierFeatureToBeEnabledForGoldAndAbove |
Test | FeatureOne.File |
| 9 | Updated DeveloperGuide.md with Relational Condition section |
Docs | All |
| 10 | Updated NuGet package icon to feature-flag.png |
Packaging | All |