Skip to content

[Feature Management]: Colon character allowed inside Feature Flag name if created through SetConfigurationSettingAsync #1126

Description

Hello Everyone!

I've noted that, through the endpoint SetConfigurationSettingAsync, it's possible to create a Feature Flag with the character colon (:) inside it's Name. Instead, through the Azure Portal it's possible to create a Feature Flag with the character colon only inside it's Key.
Image

Is this behaviors intended? Or maybe it's a Bug?

Thanks.

Activity

  1. jimmyca15 commented on Jan 27, 2026

    @jimmyca15
    Member

    Hello Giacomo Savazzi (@Wonderjack996) This behavior is intended. There are languages that our library support that encounter issues when ':' is present in feature flag names. As such ':' was deemed an invalid character.

    The reason it works with SetConfigurationSettingAsync is a side-effect of the fact that we store feature flags inside of configuration settings, which themselves allow any character. The feature flag content inside is not validated at the server level. The validation you see here is purely in the Portal UI.

  2. Wonderjack996 commented on Jan 27, 2026

    @Wonderjack996
    Author

    Thank you so much Jimmy Campbell (@jimmyca15) 🙏

  3. jimmyca15 commented on Jan 29, 2026

    @jimmyca15
    Member

    After offline discussion we would like to track this as an improvement we can make going forward. Re-opening this issue for tracking purposes. No timeline established yet for this improvement.

  4. Wonderjack996 commented on Jan 29, 2026

    @Wonderjack996
    Author

    Jimmy Campbell (@jimmyca15) I imagine the idea is to ensure that, even via the SetConfigurationSettingAsync method, it is not possible to create feature flags that contain the ':' character in their correct name? Also because I noticed (as you can see here https://github.com/microsoft/FeatureManagement-Dotnet/blob/772484c68e91ec9a75a43eb1cb42d4e9890b1c64/src/Microsoft.FeatureManagement/ConfigurationFeatureDefinitionProvider.cs#L92) that the Microsoft.FeatureManagement.FeatureManager class raises an exception if you call the IsEnabledAsync method with a feature flag name containing the :.

  5. jimmyca15 commented on Jan 29, 2026

    @jimmyca15
    Member

    I imagine the idea is to ensure that, even via the SetConfigurationSettingAsync method, it is not possible to create feature flags that contain the ':' character in their correct name?

    The goal is to update feature management libraries in all languages to support ':', then validation to block ':' can be removed altogether.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions