| ⇢ | A | GroupResolver added | |
| ⇢ | A | AfterGroupsResolvedEvent added |
| ⇢ | A | GroupResolver::fetchGroupsRecursive() added | |
| ⇢ | A | GroupResolver::fetchRowsFromDatabase() added | |
| ⇢ | A | AfterGroupsResolvedEvent::getGroups() added | |
| ⇢ | A | GroupResolver::resolveGroupsForUser() added | |
| ⇢ | A | GroupResolver::__construct() added | |
| ⇢ | A | AfterGroupsResolvedEvent::getUserData() added | |
| ⇢ | A | AfterGroupsResolvedEvent::getOriginalGroupIds() added | |
| ⇢ | A | AfterGroupsResolvedEvent::getSourceDatabaseTable() added | |
| ⇢ | A | AfterGroupsResolvedEvent::setGroups() added | |
| ⇢ | A | AfterGroupsResolvedEvent::__construct() added | |
| C | ↛ | BackendUserAuthentication::fetchGroups() removed |