Baserow uses basic feature flags currently to allow unfinished features to be merged and/or released.
Add/remove features flags to the list below:
ai-providers — instance-wide AI provider management in the admin area.button-field: enables the button field type
(#1722).ai-providers featureBefore enabling ai-providers on an instance that already uses AI provider
environment variables, preview the import:
just b manage migrate_ai_provider_settings
Review the reported providers, then apply it atomically:
just b manage migrate_ai_provider_settings --apply
The command does not print credentials and preserves provider types already configured in the database. It is safe to run again because only missing provider types are imported.
To enable specific feature flags set the environment variable
FEATURE_FLAGS=feature1,feature2,feature3. Using just this would look like:
FEATURE_FLAGS=feature1,feature2,feature3 just dc-dev up -d
You could also add the variable to your .env.docker-dev file (for Docker development)
or .env.local file (for local development).
Use the * feature flag to enable every single feature flag without having to specify
each one.
FEATURE_FLAGS=* just dc-dev up -d
Feature flags should be:
# Add variable with feature flag to baserow.core.feature_flag in format
# FF_<FEATURE_NAME> = "feature_name"
# i.e.
FF_FEATURE1 = "feature1"
# In your feature file import flag you need and feature flag function
from baserow.core.feature_flag import FF_FEATURE1, feature_flag_is_enabled
# Use to check if feature is enabled
if feature_flag_is_enabled(FF_FEATURE1):
# do the feature
# or if you want to raise exception if the feature is not enabled
feature_flag_is_enabled(FF_FEATURE1, raise_if_disabled=True)
// add feature flag variable in @core/plugins/featureFlags.js in format
// FF_<FEATURE_NAME> = "feature_name"
// i.e.
export const FF_FEATURE1 = "feature1";
methods: {
someComponentMethod()
{
if (this.$featureFlagIsEnabled(FF_FEATURE1)){
// do the feature
}
}
}