Breaking Changes
2025.01.10
The breaking change of 2019.01.13 is reverted. Since commit d10e1bc the shorthand notation for validators got deprecated and will be removed in 14.0. So now you need to use the fully qualified classname again.
Required validator:
"Evoweb.SfRegister:Required"
Evoweb\SfRegister\Validation\Validator\RequiredValidator
2024.10.24
Replace TypoScript condition and plugin.
value
with \Evoweb\
.
Environments are matched with Expression Languages and allow values like:
- Development
- Testing
- Production
- Production/*
- Production/Staging
By this one TypoScript condition less gets used, which improves cacheability of pages.
2024.10.23
The new content element wizards are now not auto registered. If you use one of the two provided SiteSets, the wizards are available in the related tree.
If you use a page tree without a SiteSet, the wizards can be included in the the root page with the page field "Page TSconfig" by selecting the "[Frontend user registration] New content element wizards".
2024.10.22
Since TYPO3 13.x list_type is deprecated. A upgrade task is provided to convert the plugins from list_type to CType rendering.
2024.10.18
- Rename password meter with ID sfrpassword to sfrPassword
- Fallback for password element <meter> is not supported anymore.
2024.08.31
- Extract the modification of the validators to ModifyValidator service. It's still configured the same (via TypoScript) but is handled via service outside of the controller.
- Replace $controller->controller with $controller->getControllerName()
- Move change usergroup to FrontendUserGroup service
- Without injecting FrontenUserGroup into other controller, changing usergroup is only supported in FeuserCreateController.
- Move getLoggedInUserId, getLoggedInUser, determineFrontendUser, userIsLoggedIn, autoLogin and redirectToPage to FrontendUser service
- Remove access on context in controller and move it to FrontendUser service
2024.08.26
Replace SelectStaticCountriesViewHelper with f:form.countrySelect to decouple from EXT:static_info_tables if you only relay on selecting countries.
2024.05.13
The registration of fields for the field selection in the content elements was moved from ext_localconf.php to user.tsconfig. The consequence is, that extending/overriding fields requires to order the loading of extensions. To achieve this, you need to require sf_register in your composer.json and ext_emconf.php
2022.01.01
Interface EvowebSfRegisterInterfaceFrontendUserInterface is renamed to EvowebSfRegisterDomainModelFrontendUserInterface
2021.12.31
Validator configuration is changed. As long as your custom validator has no injected classes like repository or likewise, you do not need to change anything.
If you need something in your validator, you need to use to constructor injection, add an implements of InjectableInterface, make the validator a public service via Services.yaml and need have a way to get the options set. Options can be set by your own method or by using the AbstractValidator of sf_register.
So if you need a class in your validator in code this changes are needed:
Add your validator to Services.yaml:
Add implements Injectable
to your validator
Use `\Evoweb\SfRegister\Validation\Validator\AbstractValidator` as validator base
Add the repository in constructor
Evoweb\SfRegister\Validation\Validator\UniqueValidator:
public: true
use Evoweb\SfRegister\Validation\Validator\AbstractValidator;
use Evoweb\SfRegister\Validation\Validator\InjectableInterface;
class UniqueValidator extends AbstractValidator implements InjectableInterface, ...
public function __construct(FrontendUserRepository $userRepository)
{
$this->userRepository = $userRepository;
}
2020.04.29
The hole extension was refactored to make best usage of TYPO3 10 changes. Namely
- constructor DI
- exchange Signal/Slot dispatcher with PSR-14 events, have a look in extendability at PSR-14 events
- refactor to fully match the PSR-12 standard
- rename TypoScript setting processInitializeActionSignal to processInitializeActionEvent
- rename TypoScript setting redirectSignal. to redirectEvent.
- reorganize TypoScript setting createDefaultSelected etc to defaultSelected.create etc
- reorganize TypoScript notifyUser and notifyAdmin setup and constants to notifyUser. and notifyAdmin.
- modify Mail service to have better controller and action assignment
- replace switchableControllerActions with individual plugin per controller check what elements with list_type sfregister_form are present in table tt_content and replace them with their corresponding new plugin
- change how TS names, templates, mail subject and PSR-14 event name are build based on controller and action name in combination with notifyAdmin and notifyUser TS name is build notifyAdmin.{ControllerName}{ActionName} notifyAdmin.createSave Template name is build NotifyAdmin{ControllerName}{ActionName} NotifyAdminCreateSave Mail subject is build subjectNotifyAdmin{ControllerName}{ActionName} subjectNotifyAdminCreateSave Event name is build NotifyAdmin{ControllerName}{ActionName}Event NotifyAdminCreateSaveEvent PostCreateSave replaced with CreateSave PostCreateConfirm replaced with CreateConfirm PostCreateRefuse replaced with CreateRefuse PostCreateAccept replaced with CreateAccept PostCreateDecline replaced with CreateDecline PostDeleteSave replaced with DeleteSave PostDeleteConfirm replaced with DeleteConfirm PostEditSave replaced with EditSave PostEditConfirm replaced with EditConfirm PostEditAccept replaced with EditAccept SendInvitation replaced with InviteInvite PostResendMail replaced with ResendMail
2019.02.03
Drop custom form styles in favor for Bootstrap 4.2 styles. Be aware, to get the styles.css from older releases if you depend on it. If you use the Bootstrap 4.2 form styles you are good to go.
2019.02.02
The password strength meter got replaced with the <meter> element. If you still need the old iframe variant for old browser or for the looks, please override the file EXT:sf_register/Resources/Private/Partials/Form/Password.html in your sitepackage and replace
<iframe id="bargraph" frameborder="none" scrolling="no"
src="/typo3conf/ext/sf_register/Resources/Public/Images/progressbar.svg"></iframe>
<meter min="0" low="20" optimum="30" high="40" max="50" id="bargraph"></meter>
2019.01.17
The core changed away from saltedpasswords towards integrated passwordHashing in EXT:Core (see Deprecation: #85804 - Salted password hash class deprecations)
By this its always possible to properly hash passwords.
Due to this shift the support for md5 and sha1 configuration is dropped in EqualCurrentPasswordValidator::isValid and FeuserController::encryptPassword.
2015.11.15
- Method
change
got pulled up from FeuserCreateController to FeuserController. If a controller extends FeuserCreateController the change in changeUsergroup needs to be copied.Usergroup - Method
change
got the parameterUsergroup $usergroup
removed. This is because all known usergroups previously set get removed now. So only theId To Be Removed $user
and$usergroup
need to be provided. All usage of this method needs to be changed accordingly.Id To Add - Drop mailhash, setMailhash() and getMailhash() from frontend user model as it was deprecated since 2014.