-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Description
RFC Start Date
2026-01-27
Target Plan Accepted Date
2026-02-11
Target Transition Unblocked Date
2026-01-27 - V3 APIs have already been merged.
Earliest Breaking Changes Unblocked Date
2026-02-11
Earliest Open edX Named Release with Breaking Changes
Verawood - 2026-04
Rationale
The v2/configurations/ API endpoint and its supporting services (NotificationTypeManager and NotificationAppManager) represent an older approach to managing notification preferences. These components have been superseded by the v3 API (v3/configurations/), which provides improved functionality and a cleaner architecture. Maintaining both versions increases code complexity, testing burden, and potential for inconsistencies in notification preference handling. The v2 API is no longer actively developed and should be removed to streamline the codebase.
Removal
The following components will be removed:
API Endpoint
v2/configurations/ - openedx/core/djangoapps/notifications/urls.py (lines 18-22)
URL path:
path('v2/configurations/', NotificationPreferencesView.as_view(), name='notification-preferences-aggregated-v2')
Views
- NotificationPreferencesView - The view class serving the v2 endpoint (imported in
urls.py) - Service Classes in
openedx/core/djangoapps/notifications/base_notification.py NotificationTypeManager(lines 279-332) - Manager class for notification types used by v2 APINotificationAppManager(lines 335-365) - Manager class for notification app preferences used by v2 API
Related Functions
get_default_values_of_preference- Function utilizing the deprecated managers- Any serializers, tests, and utilities exclusively supporting the v2 API
Replacement
The v2 API is replaced by:
v3/configurations/ - openedx/core/djangoapps/notifications/urls.py(lines 23-27)- URL path:
path('v3/configurations/', NotificationPreferencesViewV3.as_view(), name='notification-preferences-aggregated-v3') - View:
NotificationPreferencesViewV3
Deprecation
No response
Additional Info
No response
Transition Unblocked Tasks
No response
Feature Removal Tasks
- Communication with stakeholders.
- Remove all code related to v2 API.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status