WIP: Make `Feature#enabled/disabled?` use `default_enabled: :yaml` as default argument
What does this MR do?
Related to #30228 (closed)
In this MR we are changing the default value of default_enabled: false
to default_enabled: :yaml
when using Feature.enabled?
or Feature.disabled?
. When not specified, we read the Feature Flag's status from its YAML definition.
For existing feature flag checks that don't use explicitly default_enabled
we should already have validations in place that ensure the default_enabled
from code matches the default_enabled
in the YAML definition (when default_enabled
is not :yaml
). This means we don't need to update the existing Feature Flag checks in the code to explicitly pass false
where it was implicit before.
Screenshots (strongly suggested)
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team