Important: Validation primitives moved to EXT:academic_base 

Description 

The value objects and the ViewHelper behind Configuration/AcademicPersons/Settings.yaml moved to EXT:academic_base, together with the loading, the flag normalisation and the TCA merge that AcademicPersonsSettingsFactory and AcademicPersonsSettings carried inline:

Before Now
\FGTCLB\AcademicPersons\Settings\Validation \FGTCLB\AcademicBase\Settings\Validation
\FGTCLB\AcademicPersons\Settings\ValidationSet \FGTCLB\AcademicBase\Settings\ValidationSet
\FGTCLB\AcademicPersons\ViewHelpers\ValidationEnsureViewHelper \FGTCLB\AcademicBase\ViewHelpers\ValidationEnsureViewHelper
AcademicPersonsSettings::getValidationTcaTableConfig() FGTCLB\AcademicBase\Settings\TcaValidationMerger::merge() , applied by five of the six TCA files of this extension; the profile information table merges a types fragment built from the same value objects instead

All of them are @internal . No class aliases are registered for the old names: the classes never were public API, and no extension of this set referenced them from outside EXT:academic_persons and EXT:academic_persons_edit, both of which are adapted.

Nothing changes for the YAML file itself - its location, its sets, its flags, and the package walk and top-level merge of an installation's override are all as before.

The normalised result is still cached in the core cache, but under the new identifier AcademicPersons_Settings_v3 instead of AcademicPersons_Settings. The cache entry is a PHP statement naming the classes of the settings graph, so an entry written by an earlier version references the removed \FGTCLB\AcademicPersons\Settings\ValidationSet and would fail to load before any check could reject it. The new identifier leaves such an entry untouched and unused; it disappears with the next cache flush.

Impact 

Code that type hints or instantiates the old classes fails with a class not found error and has to import the EXT:academic_base names.

A project that declares the ViewHelper namespace in a template of its own has to point it at the new location, or the template no longer renders:

xmlns:p="http://typo3.org/ns/FGTCLB/AcademicBase/ViewHelpers"
Copied!

The p:validationEnsure calls in the template stay as they are.

A project that overrides one of the frontend editing form partials of EXT:academic_persons_edit has nothing to repoint and nothing to keep: the Extbase form flow those partials belonged to is replaced in 3.0, the Partials/Profile/Forms/ directory is gone with it, and no template of either extension declares the namespace any more. Delete the override and start from what the new editing view renders - the changelog entry Breaking: Replaced the profile editing view of EXT:academic_persons_edit lists the removed templates and the partials that took their place.

No cache flush is required for the settings themselves - see the cache identifier above - but flushing all caches after the update is harmless and removes the orphaned entry.