RFC Start Date
N/A -- Already Accepted
Target Plan Accepted Date
N/A -- Already Accepted
Target Transition Unblocked Date
Immediately -- Transition Already Unblocked
Earliest Breaking Changes Unblocked Date
2026-08-19
Rationale
The LMS setting ENABLE_MFE_CONFIG_API (default False) gates two read-only APIs used by frontends: GET /api/mfe_config/v1 and GET /api/frontend_site_config/v1/. There's no reason to keep them off — they return only non-sensitive frontend config and are empty unless an operator populates them. Remove the toggle and make both endpoints unconditional.
This is an additive change rather than a breaking one: removing the toggle simply makes two existing endpoints available by default, so no operator loses functionality. There is maintainer consensus to do this, hence the fast-track.
Description
Removing: the ENABLE_MFE_CONFIG_API toggle. Both endpoints become always-on. No replacement — the data settings MFE_CONFIG, MFE_CONFIG_OVERRIDES, and FRONTEND_SITE_CONFIG are unchanged and remain how operators control the responses.
Transition:
- If you set the toggle
True, drop the line (this is now the default).
- If you populated the config settings but kept the toggle
False, that content will now be served — review/clear it within the transition window if you don't want it public.
The toggle is LMS-only (defined in lms/envs/common.py); there is no CMS equivalent. tutor-mfe (external) sets this toggle via a patch; once upstream ignores it the patch is harmless, so no lockstep change is required.
Task List
RFC Start Date
N/A -- Already Accepted
Target Plan Accepted Date
N/A -- Already Accepted
Target Transition Unblocked Date
Immediately -- Transition Already Unblocked
Earliest Breaking Changes Unblocked Date
2026-08-19
Rationale
The LMS setting
ENABLE_MFE_CONFIG_API(defaultFalse) gates two read-only APIs used by frontends:GET /api/mfe_config/v1andGET /api/frontend_site_config/v1/. There's no reason to keep them off — they return only non-sensitive frontend config and are empty unless an operator populates them. Remove the toggle and make both endpoints unconditional.This is an additive change rather than a breaking one: removing the toggle simply makes two existing endpoints available by default, so no operator loses functionality. There is maintainer consensus to do this, hence the fast-track.
Description
Removing: the
ENABLE_MFE_CONFIG_APItoggle. Both endpoints become always-on. No replacement — the data settingsMFE_CONFIG,MFE_CONFIG_OVERRIDES, andFRONTEND_SITE_CONFIGare unchanged and remain how operators control the responses.Transition:
True, drop the line (this is now the default).False, that content will now be served — review/clear it within the transition window if you don't want it public.The toggle is LMS-only (defined in
lms/envs/common.py); there is no CMS equivalent.tutor-mfe(external) sets this toggle via a patch; once upstream ignores it the patch is harmless, so no lockstep change is required.Task List
ENABLE_MFE_CONFIG_APItoggle definition + annotation inlms/envs/common.py.if not settings.ENABLE_MFE_CONFIG_APIguards inlms/djangoapps/mfe_config_api/views.pyso both endpoints respond unconditionally.ENABLE_MFE_CONFIG_APIoverrides inlms/envs/test.pyandlms/envs/mock.yml, and update the "returns 404 when disabled" tests.lms/djangoapps/mfe_config_api/docs/decisions/0001-mfe-config-api.rstand update as needed.