isImpersonated was removed by the core impersonation refactor, core #8372)twofa.beforeCheck listener (Module::ignoreTwofaCheck()) — the event no longer exists since the twofa module moved to the core user gate system; token-authenticated API requests are not intercepted by the gate, so the REST API keeps working for users with 2FA enabled without any opt-outauthclient / authclient_id response fields on /user
with user_source to match the new core schema. Requests using the
authclient field are still accepted as an alias for user_source for one
release./user/get-by-authclient now looks up external identities via the
user_auth table only — the legacy user.auth_mode / user.authclient_id
columns were dropped in core 1.19.user/invite endpoint now sets the language correctlyPolymorphicRelation::getObjectModel() in LikeController::actionFindByObject so likes can be fetched for ContentAddon modelsUserPickerField version compatibilityauth/login endpoint when JWT is disabledimage and bannerPOST /user/{id}/auth-client to insert entries directly into the user_auth tableuser/get-by-authclient endpoint to support additional authentication clients.image_url and banner_urlresend and cancel endpoints for user invitecreated_at of contentshow_at_dashboard and can_cancel_membership on space membership creatingrequirements.phpmustChangePassword check for impersonated access tokensGET /user/invite for user pending invitesGET /user/invite endpointvisibility property in the "Update an existing user" endpointnext versionController::getAccessRules()user/get-by-authclientauthclient and authclient_id on user creating and updatingupdated_at in metadataInitial release