Previously, Action::requiresUnblock() was only called in Action::checkCanExecute() which was called by Action::show().
As of 478056 https://gerrit.wikimedia.org/r/c/mediawiki/core/+/478056, Action::requiresUnblock() is now called from Title::getUserPermissionsErrors() and Title::userCan().
This is being done to determine if a blocked user is blocked from performing an action or not.
This change is being made without deprecation, because it is not a large enough change in logic to justify deprecating the public methods on Title.
If you have a class that extends Action, or one of it’s subclasses (FormAction or FormlessAction) you should ensure that the requiresUnblock() method returns the proper value (the default is true).
Thalia Chan performed an audit of all of the classes that extend Action and all of them look correct (or have been fixed): https://phabricator.wikimedia.org/T211048#4795558
This issue has exposed a larger issue that is open for discussion: https://phabricator.wikimedia.org/T212341
Thank you!
wikitech-l@lists.wikimedia.org