---
title: "3.0 Changes"
manual: "Academic Profiles Edit"
version: "main"
source: "Changelog/3.0/Index.rst"
rendered: "2026-09-30T20:17:10+00:00"
noindex: true
---

# 3.0 Changes {#3-0-changes}

**Table of contents**

-   [Breaking Changes](#breaking-changes)
-   [Features](#features)
-   [Deprecation](#deprecation)
-   [Important](#important)

## Breaking Changes {#breaking-changes}

-   [Breaking: Contract fields and contacts are configured as a unit](Breaking-ContractConfigurationAndAccessibleProfileEditing.html#breaking-contract-fields-and-contacts-are-configured-as-a-unit)
-   [Breaking: The contract form has no "Publish" switch](Breaking-ContractPublishSwitchRemoved.html#breaking-the-contract-form-has-no-publish-switch)
-   [Breaking: Extbase plugins require CType on TYPO3 v14](Breaking-PluginsRequireCTypeOnTYPO3V14.html#breaking-extbase-plugins-require-ctype-on-typo3-v14)
-   [Breaking: Profile image upload validation always applies](Breaking-ProfileImageUploadValidationAlwaysApplies.html#breaking-profile-image-upload-validation-always-applies-1)
-   [Breaking: Removed TYPO3 v12 support](Breaking-RemovedTYPO3V12Support.html#breaking-removed-typo3-v12-support-1)
-   [Breaking: Replaced the profile editing view](Breaking-ReplacedProfileEditingPlugin.html#breaking-replaced-the-profile-editing-view)

## Features {#features}

-   [Feature: A PSR-14 event before every write of the profile editor](Feature-BeforeProfileEditingWriteEvent.html#feature-a-psr-14-event-before-every-write-of-the-profile-editor)
-   [Feature: The editor locks the fields a synchronisation owns](Feature-EditorHonoursManagedFields.html#feature-the-editor-locks-the-fields-a-synchronisation-owns)
-   [Feature: Frontend profile edits synchronize translations](Feature-FrontendEditsSynchronizeTranslations.html#feature-frontend-profile-edits-synchronize-translations)
-   [Feature: Full form editing applies as one form](Feature-FullFormEditingAppliesAsOneForm.html#feature-full-form-editing-applies-as-one-form-1)
-   [Feature: Contracts and profile information rows can be hidden](Feature-HideDocumentRows.html#feature-contracts-and-profile-information-rows-can-be-hidden)
-   [Feature: The profile editing view rewritten](Feature-ProfileEditing.html#feature-the-profile-editing-view-rewritten)
-   [Feature: The profile editing icon set](Feature-ProfileEditingIconSet.html#feature-the-profile-editing-icon-set)
-   [Feature: Owners show or hide their profile](Feature-ProfileVisibilitySwitch.html#feature-owners-show-or-hide-their-profile)
-   [Feature: Project columns can be edited in the editor](Feature-ProjectProfileFields.html#feature-project-columns-can-be-edited-in-the-editor)

## Deprecation {#deprecation}

## Important {#important}

-   [Important: Label overrides of the profile editor read the paths of the editor](Important-EditorLabelOverridesReadTheEditorPaths.html#important-label-overrides-of-the-profile-editor-read-the-paths-of-the-editor)
-   [Important: Profile image upload uses native Extbase upload handling](Important-MigratedProfileImageUploadToNativeExtbaseFileUploadHandling.html#important-profile-image-upload-uses-native-extbase-upload-handling)
-   [Important: Repair wizard for profile image relations](Important-MultilingualProfileEditingImages.html#important-repair-wizard-for-profile-image-relations)
-   [Important: New dependencies cms-rte-ckeditor and html-sanitizer](Important-NewCkeditorAndSanitizerDependency.html#important-new-dependencies-cms-rte-ckeditor-and-html-sanitizer)
-   [Important: Plugins assign a record view variable](Important-PluginsAssignRecordViewVariable.html#important-plugins-assign-a-record-view-variable)
-   [Important: Opening an editor asks about the unsaved one](Important-ProfileEditingAsksAboutUnsavedChanges.html#important-opening-an-editor-asks-about-the-unsaved-one)
-   [Important: The profile editor is Fluid, driven by five custom elements](Important-ProfileEditingCustomElementsAndPrototypes.html#important-the-profile-editor-is-fluid-driven-by-five-custom-elements)
-   [Important: The profile editor draws its own focus ring](Important-ProfileEditingOwnsTheFocusRing.html#important-the-profile-editor-draws-its-own-focus-ring)
-   [Important: Profile editing is replaced in place](Important-ProfileEditingReplacedInPlace.html#important-profile-editing-is-replaced-in-place)
-   [Important: Translations follow backend saves and imports](Important-TranslationsFollowBackendSaves.html#important-translations-follow-backend-saves-and-imports)
-   [Important: An uploaded profile image carries its metadata](Important-UploadedProfileImageMetadata.html#important-an-uploaded-profile-image-carries-its-metadata)
-   [Important: Validator exceptions moved to EXT:academic_base](Important-ValidatorExceptionsMovedToAcademicBase.html#important-validator-exceptions-moved-to-ext-academic-base)
