13.0 Changes
Table of contents
Breaking Changes
- Breaking: #97330 - FormEngine element classes must create label or legend
 - Breaking: #97664 - FormPersistenceManagerInterface modified
 - Breaking: #99323 - Removed hook for modifying records after fetching content
 - Breaking: #99807 - Relocated ModifyUrlForCanonicalTagEvent
 - Breaking: #99898 - Continuous array keys from GeneralUtility::intExplode
 - Breaking: #99937 - Utilize BIGINT database column type for datetime TCA
 - Breaking: #100224 - MfaViewType migrated to backed enum
 - Breaking: #100229 - Convert JSConfirmation to a BitSet
 - Breaking: #100963 - Deprecated functionality removed
 - Breaking: #100966 - Remove jquery-ui
 - Breaking: #101129 - Convert Action to native backed enum
 - Breaking: #101131 - Convert LoginType to native backed enum
 - Breaking: #101133 - IconFactory->getIcon() signature change
 - Breaking: #101133 - Icon->state changed type
 - Breaking: #101137 - Page Doktype "Recycler" removed
 - Breaking: #101143 - Strict typing in LinktypeInterface
 - Breaking: #101149 - Mark PageTsBackendLayoutDataProvider as final
 - Breaking: #101175 - Convert VersionState to native backed enum
 - Breaking: #101186 - Strict typing in UnableToLinkException
 - Breaking: #101192 - Remove fallback for CKEditor removePlugins
 - Breaking: #101266 - Remove RequireJS
 - Breaking: #101281 - Introduce type declarations in ResourceInterface
 - Breaking: #101291 - Introduce capabilities bit set
 - Breaking: #101294 - Introduce type declarations in FileInterface
 - Breaking: #101305 - Introduce type declarations for some methods in GeneralUtility
 - Breaking: #101309 - Introduce type declarations in DriverInterface
 - Breaking: #101311 - Make the parameter for GeneralUtility::sanitizeLocalUrl required
 - Breaking: #101327 - Harden FileInterface::getSize()
 - Breaking: #101398 - Remove leftover $fetchAllFields in RelationHandler
 - Breaking: #101469 - Introduce type declarations in FolderInterface
 - Breaking: #101471 - Introduce type declarations in AbstractDriver
 - Breaking: #101519 - Remove immediate flag in DebounceEvent
 - Breaking: #101603 - Removed hook for overriding icon overlay identifier
 - Breaking: #101612 - LinkParameterProviderInterface changed
 - Breaking: #101647 - Unused graphical assets removed from EXT:backend
 - Breaking: #101671 - Disable external linktypes by default in EXT:linkvalidator
 - Breaking: #101820 - Remove bootstrap jQuery interface and window.jQuery
 - Breaking: #101822 - Change callback interruption in @typo3/backend/document-save-actions
 - Breaking: #101933 - Dispatch AfterUserLoggedInEvent for frontend user login
 - Breaking: #101941 - Various GFX-related legacy options removed
 - Breaking: #101948 - File-based AbstractRepository class removed
 - Breaking: #101950 - Removed legacy setting 'GFX/processor_allowTemporaryMasksAsPng'
 - Breaking: #101955 - Removed public methods related to Image Generation
 - Breaking: #102009 - imagesizes cache removed
 - Breaking: #102020 - Removed legacy setting 'GFX/gdlib_png'
 - Breaking: #102023 - Remove security.usePasswordPolicyForFrontendUsers
 - Breaking: #102108 - TCA [types][bitmask_*] settings
 - Breaking: #102113 - Removed legacy setting 'GFX/gdlib'
 - Breaking: #102146 - Removed legacy setting 'BE/flexformForceCDATA'
 - Breaking: #102151 - XML prologue always added in flexArray2Xml()
 - Breaking: #102165 - File Abstraction Layer: Processing APIs and interface changed
 - Breaking: #102181 - Removed CLI options using bin/typo3 cleanup:flexforms
 - Breaking: #102224 - TemplaVoila related FlexForm dataStructure lookups
 - Breaking: #102229 - Removed FlexFormTools->traverseFlexFormXMLData()
 - Breaking: #102260 - Removed TCA ['softref'] = 'notify'
 - Breaking: #102440 - EXT:t3editor merged into EXT:backend
 - Breaking: #102499 - User TSconfig setting "overridePageModule" removed
 - Breaking: #102518 - Database engine version requirements
 - Breaking: #102581 - Removed hook for manipulating ContentObjectRenderer
 - Breaking: #102583 - Removed context aspect typoscript
 - Breaking: #102590 - TSFE->generatePage_preProcessing() removed
 - Breaking: #102600 - TSFE->applicationData removed
 - Breaking: #102605 - TSFE->fe_user removed
 - Breaking: #102614 - Removed Hook for manipulating GetData result
 - Breaking: #102621 - Most TSFE members marked internal or read-only
 - Breaking: #102624 - PSR-14 Event for modifying image source collection
 - Breaking: #102627 - Removed special properties of page arrays in PageRepository
 - Breaking: #102632 - Use strict types in Extbase
 - Breaking: #102645 - More strict Context handling
 - Breaking: #102715 - Frontend "determineId()" related events changed
 - Breaking: #102731 - Removed TypoScript setting showForgotPasswordLink in ext:felogin
 - Breaking: #102745 - Removed ContentObject stdWrap hook
 - Breaking: #102755 - Improved getImageResource functionality
 - Breaking: #102763 - Extbase HashService usage replaced with Core HashService
 - Breaking: #102763 - Frontend user password recovery hashes invalidated
 - Breaking: #102775 - PageRepository methods with native PHP types
 - Breaking: #102779 - TYPO3 v13 System Requirements
 - Breaking: #102793 - PageRepository->enableFields hook removed
 - Breaking: #102806 - Hooks in PageRepository removed
 - Breaking: #102834 - Remove items from New Content Element Wizard
 - Breaking: #102835 - Strict typing in final TypoLinkCodecService
 - Breaking: #102849 - Removed ContentObject stdWrap cacheStore hook
 - Breaking: #102855 - Removed LinkService resolveByStringRepresentation hook
 - Breaking: #102875 - Changed Connection method signatures and behaviour
 - Breaking: #102875 - ExpressionBuilder changes
 - Breaking: #102875 - QueryBuilder changes
 - Breaking: #102895 - PackageInterface modified
 - Breaking: #102900 - Metaphone search removed from indexed_search
 - Breaking: #102902 - Search rules removed from Indexed Search
 - Breaking: #102907 - Indexed Search TypoScript settings removed
 - Breaking: #102921 - Remove several outdated indexed search features
 - Breaking: #102924 - Single Table Inheritance from fe_groups removed
 - Breaking: #102925 - Template changes in Indexed Search
 - Breaking: #102931 - Removed hook in GifBuilder
 - Breaking: #102932 - Removed TypoScriptFrontendController hooks
 - Breaking: #102935 - Overhauled extension installation in Extension Manager
 - Breaking: #102937 - pi1_hooks hook removed from Indexed Search
 - Breaking: #102945 - Pagination of Indexed Search replaced
 - Breaking: #102968 - FormEngine itemFormElID removed
 - Breaking: #102970 - No database relations in FlexForm container sections
 - Breaking: #102971 - Most classes of EXT:workspaces declared internal
 - Breaking: #102975 - Use full md5 hashes in indexed_search
 - Breaking: #102976 - TimeTracker read API internal
 - Breaking: #102980 - getAllPageNumbers() in PaginationInterface
 - Breaking: #102985 - Declare Indexed Search as Content Type
 
Features
- Feature: #82855 - Update Metadata of online media assets
 - Feature: #87889 - Configurable TYPO3 backend URL
 - Feature: #88537 - WebP image format support for Image Processing
 - Feature: #88817 - Make autocomplete selectable in EXT:form backend
 - Feature: #94501 - FAL support for FlexFormProcessor
 - Feature: #95808 - Enable item groups from foreign tables
 - Feature: #97664 - Add search functionality to form manager
 - Feature: #99165 - Add "Edit Metadata" button to element information view
 - Feature: #99323 - PSR-14 event for modifying records after fetching content
 - Feature: #99485 - Show the redirect integrity status
 - Feature: #99807 - Improve ModifyUrlForCanonicalTagEvent
 - Feature: #100268 - Provide full userdata in password recovery email
 - Feature: #100926 - Introduce RotatingFileWriter for log rotation
 - Feature: #101113 - Show if redirects were checked in report
 - Feature: #101133 - Native enum IconState
 - Feature: #101151 - Native enum DuplicationBehavior
 - Feature: #101174 - Native enum InformationStatus
 - Feature: #101396 - Let Extbase handle native enums
 - Feature: #101475 - IconSizeEnum
 - Feature: #101507 - Hotkey API
 - Feature: #101544 - Introduce PHP attribute to autoconfigure event listeners
 - Feature: #101553 - Auto-create DB fields from TCA columns
 - Feature: #101603 - PSR-14 event for modifying record overlay icon identifier
 - Feature: #101612 - UriBuilder->buildUriFromRequest
 - Feature: #101700 - Use Symfony attribute to autoconfigure message handlers
 - Feature: #101807 - Automatic inclusion of user TSconfig of extensions
 - Feature: #101818 - BeforeLoadedPageTsConfigEvent
 - Feature: #101838 - BeforeLoadedUserTsConfigEvent
 - Feature: #101843 - Allow configuration of color palettes in FormEngine
 - Feature: #101933 - Dispatch AfterUserLoggedInEvent for frontend user login
 - Feature: #101970 - Ajax API accepts native URL and URLSearchParams objects as arguments
 - Feature: #102032 - Native enum FileType
 - Feature: #102067 - PSR-14 BeforeTcaOverridesEvent
 - Feature: #102072 - Allow redirect filtering by "protected" state
 - Feature: #102077 - Allow custom default value in getFormValue() conditions function
 - Feature: #102177 - WebP support for images generated by GIFBUILDER
 - Feature: #102496 - Introduce global Doctrine DBAL driver middlewares
 - Feature: #102581 - PSR-14 event for modifying ContentObjectRenderer
 - Feature: #102582 - Allow CLI command cleanup:localprocessedfiles to reset all records
 - Feature: #102586 - Introduce sortable Doctrine DBAL middleware registration
 - Feature: #102587 - Introduce driver middleware interface UsableForConnectionInterface
 - Feature: #102614 - PSR-14 event for modifying GetData result
 - Feature: #102624 - PSR-14 event for modifying image source collection
 - Feature: #102628 - Cache instruction middleware
 - Feature: #102631 - Introduce AsController attribute to autoconfigure backend controllers
 - Feature: #102715 - New frontend.page.information request attribute
 - Feature: #102745 - PSR-14 events for modifying ContentObject stdWrap functionality
 - Feature: #102755 - PSR-14 event for modifying getImageResource result
 - Feature: #102761 - Introduce class to generate/validate HMAC hashes
 - Feature: #102793 - PSR-14 event for modifying default constraints in PageRepository
 - Feature: #102806 - BeforePageIsRetrievedEvent in PageRepository
 - Feature: #102815 - Support ApplicationContext in TypoScript data
 - Feature: #102834 - Auto-registration of New Content Element Wizard via TCA
 - Feature: #102835 - Add PSR-14 events to manipulate TypoLinkCodecService
 - Feature: #102849 - PSR-14 event for manipulating store cache functionality of stdWrap
 - Feature: #102855 - PSR-14 event for modifying resolved link result data
 - Feature: #102865 - PSR-14 event for modifying loaded form definition
 - Feature: #102932 - New TypoScript-related frontend events
 - Feature: #102935 - PSR-14 event for package initialization functionality
 
Deprecation
- Deprecation: #87889 - TYPO3 backend entry point script deprecated
 - Deprecation: #101133 - IconState class
 - Deprecation: #101151 - DuplicationBehavior class
 - Deprecation: #101163 - Abstract class Enumeration
 - Deprecation: #101174 - InformationStatus class
 - Deprecation: #101175 - Methods in VersionState
 - Deprecation: #101475 - Icon::SIZE_* string constants
 - Deprecation: #101554 - Obsolete TCA MM_hasUidField
 - Deprecation: #101793 - DataHandler checkStoredRecords properties
 - Deprecation: #101799 - ExtensionManagementUtility::addPageTSConfig()
 - Deprecation: #101807 - ExtensionManagementUtility::addUserTSConfig()
 - Deprecation: #101912 - Passing jQuery objects to FormEngine validation
 - Deprecation: #102032 - AbstractFile::FILETYPE_* constants
 - Deprecation: #102440 - EXT:t3editor merged into EXT:backend
 - Deprecation: #102581 - Unused Interface for ContentObjectRenderer hook
 - Deprecation: #102586 - Deprecate simple string connection driver middleware registration
 - Deprecation: #102614 - Unused Interface for GetData Hook
 - Deprecation: #102624 - Unused Interface for getImageSourceCollection Hook
 - Deprecation: #102631 - Deprecated Controller attribute for auto configuring backend controllers
 - Deprecation: #102745 - Unused interface for stdWrap hook
 - Deprecation: #102755 - Unused interface for getImageResource hook
 - Deprecation: #102763 - Extbase HashService
 - Deprecation: #102793 - PageRepository->enableFields
 - Deprecation: #102806 - Interfaces for PageRepository hooks
 - Deprecation: #102895 - ExtensionManagementUtility::getExtensionIcon
 - Deprecation: #102908 - Indexed Search content parsers returning arrays
 - Deprecation: #102943 - AbstractDownloadExtensionUpdate moved to ext:extensionmanager
 
Important
- Important: #102130 - Optimizing T3D Import/Export module
 - Important: #102402 - Extended Doctrine DBAL Platform classes
 - Important: #102551 - FlexForm section _TOGGLE control removed
 - Important: #102786 - Updated dependency: Symfony 7
 - Important: #102875 - Updated Dependency: Doctrine DBAL 4
 - Important: #102960 - TCA and system tables on one DB connection