---
title: "ChangeLog v2"
manual: "Academic Profiles"
version: "main"
source: "Changelog/Changelog-2.rst"
rendered: "2026-10-02T20:47:49+00:00"
---

# ChangeLog v2 {#changelog-v2}

Every change to the Academic Persons extension is documented here.

-   [2.4 Changes](2.4/Index.html#2-4-changes)
    -   [Breaking: Profile synchronization now includes hidden profiles and users](2.4/Breaking-ProfileSynchronizationIncludesHiddenProfiles.html#breaking-profile-synchronization-now-includes-hidden-profiles-and-users)
    -   [Breaking: Renamed itemsProcFunc handler classes to FormEngine namespace](2.4/Breaking-RenamedItemsProcFuncClassesToFormEngineNamespace.html#breaking-renamed-itemsprocfunc-handler-classes-to-formengine-namespace)
    -   [Breaking: Site sets and static templates have been restructured](2.4/Breaking-SiteSetsAndStaticTemplatesRestructured.html#breaking-site-sets-and-static-templates-have-been-restructured)
    -   [Feature: Configurable frontend user phone number types](2.4/Feature-ConfigurableFrontendUserPhoneNumberTypes.html#feature-configurable-frontend-user-phone-number-types-1)
    -   [Feature: Dispatch ModifyTcaSelectFieldItemsEvent in itemsProcFunc handlers](2.4/Feature-DispatchModifyTcaSelectFieldItemsEventInItemsProcFunc.html#feature-dispatch-modifytcaselectfielditemsevent-in-itemsprocfunc-handlers)
    -   [Feature: A validator flag that locks the frontend editor only](2.4/Feature-FrontendReadOnlyValidationFlag.html#feature-a-validator-flag-that-locks-the-frontend-editor-only)
    -   [Feature: "Show hidden records" plugin option for the person plugins](2.4/Feature-ShowHiddenRecordsPluginOption.html#feature-show-hidden-records-plugin-option-for-the-person-plugins)
    -   [Feature: Synchronize hidden profiles](2.4/Feature-SynchronizeHiddenProfiles.html#feature-synchronize-hidden-profiles)
    -   [Feature: Visibility (hidden) support for contact record models](2.4/Feature-VisibilitySupportForContactRecordModels.html#feature-visibility-hidden-support-for-contact-record-models)
    -   [Important: The development branch installs as 2.4.x-dev](2.4/Important-BranchAliasKey.html#important-the-development-branch-installs-as-2-4-x-dev)
    -   [Important: Extended ProfileDemand, findByUids() and demand handling](2.4/Important-ExtendedProfileDemandAndRepositorySignatures.html#important-extended-profiledemand-findbyuids-and-demand-handling)
    -   [Important: Imported telephone records use a stable identifier](2.4/Important-ImportedTelephoneRecordsUseAStableIdentifier.html#important-imported-telephone-records-use-a-stable-identifier-1)
    -   [Important: Label overrides are read from the documented path](2.4/Important-LabelOverridesUseTheDocumentedPath.html#important-label-overrides-are-read-from-the-documented-path)
    -   [Important: New required dependency fgtclb/environment-state-manager](2.4/Important-NewEnvironmentStateManagerDependency.html#important-new-required-dependency-fgtclb-environment-state-manager)
-   [2.3 Changes](2.3/Index.html#2-3-changes)
    -   [Feature: Add demand DTO to ModifyListProfilesEvent](2.3/Feature-AddDemandDtoToModifyListProfilesEvent.html#feature-add-demand-dto-to-modifylistprofilesevent)
-   [2.2 Changes](2.2/Index.html#2-2-changes)
    -   [Feature: Add academic:updateprofiles command](2.2/Feature-AddProfileUpdateCommand.html#feature-add-academic-updateprofiles-command)
-   [2.1 Changes](2.1/Index.html#2-1-changes)
    -   [Breaking: ProfilesController::selectedProfilesAction() no longer dispatches ModifyListProfilesEvent](2.1/Breaking-ProfilesControllerselectedProfilesActionNoLongerDispatchesModifyListProfilesEvent.html#breaking-profilescontroller-selectedprofilesaction-no-longer-dispatches-modifylistprofilesevent)
    -   [Breaking: Removed partials](2.1/Breaking-RemovedPartials.html#breaking-removed-partials)
    -   [Breaking: Replace constructor DI with inject-methods in AbstractProfileFactory](2.1/Breaking-ReplaceConstructorDIWithInject-methodsInAbstractProfileFactory.html#breaking-replace-constructor-di-with-inject-methods-in-abstractprofilefactory)
    -   [Feature: Add academic:createprofiles options --include-pids and --exclude-pids](2.1/Feature-AddAcademiccreateprofilesOptions--Include-pidsAnd--Exclude-pids.html#feature-add-academic-createprofiles-options-include-pids-and-exclude-pids)
    -   [Feature: Allow modifying default and settings pageTitleFormat for detail view](2.1/Feature-AllowModifyingDefaultAndSettingsPageTitleFormatForDetailView.html#feature-allow-modifying-default-and-settings-pagetitleformat-for-detail-view)
    -   [Feature: Dispatch PSR-14 event ModifySelectedContractsEvent in ProfilesController::selectedContractsAction()](2.1/Feature-DispatchPSR-14EventModifySelectedContractsEventInProfilesControllerselectedContractsAction.html#feature-dispatch-psr-14-event-modifyselectedcontractsevent-in-profilescontroller-selectedcontractsaction)
    -   [Feature: Dispatch PSR-14 event ModifySelectedProfilesEvent in ProfilesController::selectedProfilesAction()](2.1/Feature-DispatchPSR-14EventModifySelectedProfilesEventInProfilesControllerselectedProfilesAction.html#feature-dispatch-psr-14-event-modifyselectedprofilesevent-in-profilescontroller-selectedprofilesaction)
    -   [Feature: Introduce localized pageTitleFormat placeholder (LLL:EXT:)](2.1/Feature-IntroduceLocalizedPageTitleFormatPlaceholderLLLEXT.html#feature-introduce-localized-pagetitleformat-placeholder-lll-ext)
    -   [Feature: Introduce PluginControllerActionContext suitable](2.1/Feature-IntroducePluginControllerActionContextSuitable.html#feature-introduce-plugincontrolleractioncontext-suitable)
    -   [Feature: Introduce PSR-14 ModifyProfileTitlePlaceholderReplacementEvent in ProfileTitleProvider](2.1/Feature-IntroducePSR-14ModifyProfileTitlePlaceholderReplacementEventInProfileTitleProvider.html#feature-introduce-psr-14-modifyprofiletitleplaceholderreplacementevent-in-profiletitleprovider)
    -   [Feature: pageTitleFormat FlexForm option for person detail view](2.1/Feature-PageTitleFormatFlexFormOptionForPersonDetailView.html#feature-pagetitleformat-flexform-option-for-person-detail-view)
    -   [Important: Basic bootstrap styling](2.1/Important-BasicBootstrapStyling.html#important-basic-bootstrap-styling)
-   [2.0 Changes](2.0/Index.html#2-0-changes)
    -   [Breaking: Migrated extbase plugins from list_type to CType](2.0/Breaking-MigratedExtbasePluginsFromList_typeToCType.html#breaking-migrated-extbase-plugins-from-list-type-to-ctype)

## Also available {#also-available}

-   [2.x Changes by type](Changelog-2-combined.html#2-x-changes-by-type)
