Associate feature flags with release versions

XMLWordPrintableJSON

    • Fully Compatible
    • Security 2020-10-19
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Associate each feature flag with the release version for the feature. Enforce that features with default:false have no release version and features with default:true have a release version. version is required to be a string. For example:

      feature_flags:
          featureFlagToaster:
            description: "Make toast"
            cpp_varname: gToaster
            default: false
      
          featureFlagBlender:
            description: "Make smoothie"
            cpp_varname: gBlender
            default: true
            version: “4.7”
      

      Provide the helpers:

      feature_flags::gToaster.isEnabled(ServerGlobalParams::FeatureCompatibility::Version)
      feature_flags::gToaster.isEnabledAndIgnoreFCV()
      feature_flags::gToaster.getVersion() // throws if the feature is not enabled
      

      For an enabled feature with default:false, getVersion() will return ServerGlobalParams::FeatureCompatibility::kLatest.

              Assignee:
              Mark Benvenuto
              Reporter:
              Tess Avitabile (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: