ChangeLog v10
Every change to the TYPO3 Core which might affect your site is documented here.
- 
    10.4.x Changes
        
- Feature: #90728 - Add FluidEmail option to EXT:form EmailFinisher
 - Feature: #91132 - Introduce User Settings JavaScript Modules Event
 - Important: #73227 - TSconfig option altIcons restored
 - Important: #88824 - Add cache for error page handling
 - Important: #91070 - SMTP transport option 'transport_smtp_encrypt' changed to boolean
 - Important: #91117 - Use GlobalEventHandler and ActionDispatcher instead of inline JS
 - Important: #91132 - Avoid JavaScript in User Settings Configuration options
 - Important: #92020 - New API entry point available at https://get.typo3.org/api/
 - Important: #92100 - YAML imports follow declaration order
 - Important: #92336 - Discarding records in workspace module hard deletes them
 - Important: #92356 - DataHandler performance improvements
 - Important: #92655 - Make request timeout configurable for linkvalidator
 - Important: #92659 - Change TCA configuration of imagewidth & imageheight
 - Important: #93331 - Description of SelectCheckBox items
 - Important: #93854 - Add disabled option for allowed aspect ratios
 - Important: #93931 - Validation of Extensions' composer.json files
 - Important: #94951 - Restrict export functionality to allowed users
 - Important: #95297 - Strict cHash validation feature flag
 
 - 
    10.4 Changes
        
- Breaking: #90660 - Registration of dashboard widgets changed
 - Breaking: #91066 - Move interfaces of Dashboard
 - Breaking: #91066 - Removed ButtonUtility
 - Feature: #83128 - Content Element Filter
 - Feature: #87776 - Limit Restriction to table/s in QueryBuilder
 - Feature: #89513 - Password Reset Functionality For Backend Users
 - Feature: #89573 - Allow flexible base url for slug fields in FormEngine
 - Feature: #90613 - Add language argument to page-related LinkViewHelpers and UriViewHelpers in Fluid
 - Feature: #90826 - Compare backend usergroups
 - Feature: #90899 - Introduce AssetRenderer pre-rendering events
 - Feature: #90945 - PSR-14 event for LocalizationController when reading records/columns to be translated
 - Feature: #91008 - Item grouping for TCA select items
 - Feature: #91008 - Item sorting for TCA select items
 - Feature: #91080 - Site settings as TypoScript constants and in TSconfig
 - Feature: #91122 - Introduce DocumentService as JQuery.ready substitute
 - Deprecation: #88740 - ext:felogin pibase plugin related hooks
 - Deprecation: #90147 - Unified File Name Validator
 - Deprecation: #90377 - Param types $ref of method callUserFunction
 - Deprecation: #90625 - Extbase SignalSlot Dispatcher
 - Deprecation: #90686 - Model FileMount
 - Deprecation: #90692 - FileCollection models
 - Deprecation: #90800 - GeneralUtility::isRunningOnCgiServerApi
 - Deprecation: #90803 - ObjectManager::get in Extbase context
 - Deprecation: #90856 - Widget AutoComplete ViewHelper
 - Deprecation: #90861 - Image-related methods within ContentObjectRenderer
 - Deprecation: #90937 - Various hooks in ContentObjectRenderer
 - Deprecation: #90956 - Alternative fetch methods and reports for GeneralUtility::getUrl()
 - Deprecation: #90964 - LanguageService functionality and internal properties
 - Deprecation: #91001 - Various methods within GeneralUtility
 - Deprecation: #91012 - Various hooks related to TypoScriptFrontendController
 - Deprecation: #91030 - Runtime-Activated Packages
 - Important: #18079 - pages.doktype restriction for frontend queries refined
 - Important: #77715 - No more password trimming for third-party authentication services
 - Important: #86343 - Replace jQuery.datatables with tablesort
 - Important: #89555 - Workspace-related database records contain the proper Page ID.
 - Important: #90285 - Fresh installs without constraint for typo3fluid/fluid will get version 3.0+
 - Important: #90897 - Remove bootstrap-slider
 - Important: #91079 - Various TypoScriptFrontendRenderer functionality is now internal
 - Important: #91095 - Various methods and properties of Backend-related Core APIs now internal
 - Important: #91099 - Flag identifier changed for SiteLanguage England
 
 - 
    10.3 Changes
        
- Feature: #78347 - Add StdWrap properties to FilesProcessor
 - Feature: #78450 - Introduce PreviewRenderer pattern
 - Feature: #79310 - Add options and clipboard to filelist search
 - Feature: #82062 - Progress for Reference Index update on CLI
 - Feature: #83847 - Remove repaired links from Linkvalidator list after editing
 - Feature: #84214 - Add check if fields are editable for Linkvalidator
 - Feature: #86614 - Add PSR-14 event to control hreflang tags to be rendered
 - Feature: #87072 - Added Configuration Options for Locking
 - Feature: #87451 - scheduler:run command accepts multiple task options
 - Feature: #88147 - Add possibility to configure the path to sitemap xslFile
 - Feature: #88818 - Introduce events to modify CKEditor configuration
 - Feature: #88901 - Render all fields in ElementInformationController
 - Feature: #88921 - New PSR-14 events in the PageLayoutView class
 - Feature: #88962 - Re-implement old PIDupinRootline TypoScript condition
 - Feature: #89032 - Render fieldControl for SelectSingleElement
 - Feature: #89139 - Add dependency injection support for console commands
 - Feature: #89551 - Add fluidAdditionalAttributes to the form element
 - Feature: #89644 - Add optional argument "fields" to editRecord ViewHelpers
 - Feature: #89650 - Allow line breaks in TCA descriptions
 - Feature: #89738 - API for AJAX Requests
 - Feature: #89870 - New PSR-14 Events for Extbase-related signals
 - Feature: #89894 - Separate system extensions from 3rd-party extensions visually
 - Feature: #89929 - Galician flag
 - Feature: #89978 - Introduce Status Report for insecure exception handler settings
 - Feature: #90026 - Expose internal typoLinkParts in TypolinkViewHelper
 - Feature: #90042 - Customize special page icons by doktype
 - Feature: #90052 - Form YAML configuration available in configuration module
 - Feature: #90068 - Implement better FileDumpController
 - Feature: #90114 - Make translation of filelist optional
 - Feature: #90136 - Show application context in the Environment module
 - Feature: #90168 - Introduce Modal Actions
 - Feature: #90203 - Make workspace available in TypoScript conditions
 - Feature: #90213 - Support 'bit and' in TypoScript stdWrap_if
 - Feature: #90234 - Introduce CacheHashConfiguration and matching indicators
 - Feature: #90249 - New PSR-14 events for existing package-related Signal Slots
 - Feature: #90262 - Add Argon2id to password hash algorithms
 - Feature: #90265 - Show dispatched Events in Admin Panel
 - Feature: #90266 - Fluid-based email templating
 - Feature: #90267 - Custom placeholder processing in site config
 - Feature: #90298 - Improve user info in BE User module
 - Feature: #90333 - Dashboard
 - Feature: #90348 - Fluid-based replacement for PageLayoutView
 - Feature: #90370 - Use EguliasEmailValidator for email validation
 - Feature: #90411 - HTML-based workspace notification emails on stage change
 - Feature: #90416 - Specific target file extension in image-related ViewHelpers
 - Feature: #90425 - Add SEO fields to info module
 - Feature: #90426 - Browser-native lazy loading for images
 - Feature: #90461 - Quick-Create Content Elements via NewContentElementWizard
 - Feature: #90471 - JavaScript Event API
 - Feature: #90522 - Introduce AssetCollector
 - Deprecation: #89139 - Console Commands configuration format Commands.php
 - Deprecation: #89463 - Switchable Controller Actions
 - Deprecation: #89673 - Extbase's WebRequest and WebResponse
 - Deprecation: #89866 - Global TYPO3-information related constants
 - Deprecation: #89868 - Remove reqCHash functionality for plugins
 - Deprecation: #89870 - New PSR-14 Events for Extbase-related signals
 - Deprecation: #90007 - Global constants TYPO3_version and TYPO3_branch
 - Deprecation: #90019 - Page permission logic by DataHandler
 - Deprecation: #90249 - Package related Signal Slots migrated to PSR-14 events
 - Deprecation: #90258 - Simplified RTE Parser API
 - Deprecation: #90260 - ResourceFactory::getInstance pseudo-factory
 - Deprecation: #90348 - PageLayoutView class
 - Deprecation: #90390 - BrokenLinkRepository::getNumberOfBrokenLinks() in linkvalidator
 - Deprecation: #90421 - DocumentTemplate
 - Deprecation: #90522 - TSFE properties regarding images
 - Important: #89672 - transOrigPointerField is not longer allowed to be excluded
 - Important: #89720 - Only TypoScript files loaded on directory import
 - Important: #89869 - Change lockIP default to disabled for both frontend and backend
 - Important: #89992 - Use new Translation Server
 - Important: #90020 - Legacy BasicFileUtility and ExtendedFileUtility classes marked as internal
 - Important: #90236 - Respect extension state 'excludeFromUpdates' during language updates
 - Important: #90371 - TypoScript option config.content_from_pid_allowOutsideDomain removed
 
 - 
    10.2 Changes
        
- Feature: #79445 - Add Multistep Wizard
 - Feature: #79445 - Improve form creation wizard
 - Feature: #82706 - Render fieldset labels in form templates
 - Feature: #84203 - Unify form setup YAML loading
 - Feature: #84713 - Access single values in form templates
 - Feature: #84990 - Add event for checking external links in RTE
 - Feature: #84990 - Mark broken file links in RTE
 - Feature: #85592 - Add site title configuration to sites module
 - Feature: #86759 - Support nomodule attribute for JavaScript includes
 - Feature: #86818 - Reintroduce keyboard accessible version of the pagetree
 - Feature: #86918 - Add additional configuration for external link types in Linkvalidator
 - Feature: #86967 - Allow fetching uid of a LazyLoadingProxy without loading the object first
 - Feature: #87798 - Provide a way to sort form lists in ext:form
 - Feature: #88102 - Frontend Login Form Via Fluid And Extbase
 - Feature: #88110 - Felogin extbase password recovery
 - Feature: #88238 - FeatureToggle: form.legacyUploadMimeTypes
 - Feature: #88902 - Feature Switch: Redirect and Base Redirect Middlewares can be reordered
 - Feature: #88950 - Add "storeSession" argument to Widget ViewHelpers
 - Feature: #89171 - Added possibility to have multiple sitemaps
 - Feature: #89398 - Support for environment variables in imports in site configurations
 - Feature: #89458 - Show link to online docs in extension manager
 - Feature: #89526 - FeatureFlag: betaTranslationServer
 - Feature: #89577 - New PSR-14 based events for File Abstraction Layer
 - Feature: #89603 - Introduce native pagination for lists
 - Feature: #89718 - Unified PHP API for loading PageTSconfig
 - Feature: #89733 - New PSR-14 events for existing Signal Slots in Core Extension
 - Feature: #89746 - Custom icon for record browser button in forms
 - Feature: #89747 - Custom tables with record browser in forms
 - Deprecation: #85592 - Deprecated site title configuration
 - Deprecation: #88238 - Allowed MIME types of FileUpload and ImageUpload
 - Deprecation: #89331 - FormEngine legacy functions
 - Deprecation: #89468 - Deprecate injection of EnvironmentService in Web Request
 - Deprecation: #89554 - Deprecate \TYPO3\CMS\Extbase\Mvc\Controller\AbstractController
 - Deprecation: #89577 - FAL SignalSlot handling migrated to PSR-14 events
 - Deprecation: #89579 - ServiceChains require an array for excluded Service keys
 - Deprecation: #89631 - Use Environment API to fetch application context
 - Deprecation: #89718 - Legacy PageTSconfig parsing lowlevel API
 - Deprecation: #89722 - GMENU_LAYERS related property TSFE->divSection
 - Deprecation: #89733 - Signal Slots in Core Extension migrated to PSR-14 events
 - Deprecation: #89742 - Form mixins
 - Deprecation: #89756 - BackendUtility::TYPO3_copyRightNotice
 - Important: #84221 - Restructuring of form setup
 - Important: #87518 - Use prepared statements for pdo_mysql per default
 - Important: #88655 - Changed loading order of RTE Configuration
 - Important: #89645 - Removed systemLog options
 - Important: #89764 - Incompatible environment related dependency injection services have been removed
 
 - 
    10.1 Changes
        
- Feature: #9070 - Allow translation of index configuration titles
 - Feature: #78488 - Add rel="noreferrer" to external links
 - Feature: #84250 - Separately enable / disable "Add media by URL" and "Select & upload files"
 - Feature: #85918 - Hide in menu / Show in menu entry for pages in context menu
 - Feature: #86670 - Make default action in DragUploader adjustable
 - Feature: #87525 - Add api=1 option in VimeoRenderer
 - Feature: #88318 - Display Application Context in CLI
 - Feature: #88441 - Show configuration of USER_INT objects in adminpanel
 - Feature: #88602 - Allow registering additional file processors
 - Feature: #88742 - Import Yaml files relative to the current yaml file
 - Feature: #88805 - Add type to \TYPO3\CMS\Core\Database\Query\QueryBuilder::set
 - Feature: #88871 - Handle middleware handler in RequestFactory
 - Feature: #88907 - Always enable filter in SelectMultipleSideBySide fields
 - Feature: #89010 - Introduce Site Configuration for Distribution Packages
 - Feature: #89018 - Provide implementation for PSR-17 HTTP Message Factories
 - Feature: #89054 - Provide core cache frontends via dependency injection
 - Feature: #89061 - Introduce Notification Actions
 - Feature: #89090 - Reports for conflicting redirects
 - Feature: #89115 - Auto slug update and redirect creation on slug change
 - Feature: #89142 - Create site configuration if page is created on root level
 - Feature: #89143 - Allow rollback for a set of record history entries
 - Feature: #89150 - Add events before and after rollback of record history entries
 - Feature: #89216 - PSR-18 HTTP Client Implementation
 - Feature: #89227 - Ask for email address while installing TYPO3
 - Feature: #89229 - Cache Preset for Settings in Maintenance Area
 - Feature: #89244 - Broadcast Channels and Messaging
 - Feature: #89292 - Add support for RecordHistory correlationId's to DataHandler
 - Deprecation: #88787 - BackendUtility::editOnClick
 - Deprecation: #88839 - CLI lowlevel request handlers
 - Deprecation: #88850 - ContentObjectRenderer::sendNotifyEmail
 - Deprecation: #88854 - jumpExt() of RecordListController
 - Deprecation: #88854 - T3_THIS_LOCATION
 - Deprecation: #88862 - T3_RETURN_URL
 - Deprecation: #88995 - Calling registerPlugin with vendor name
 - Deprecation: #89001 - Internal public TSFE properties
 - Deprecation: #89033 - jumpToUrl
 - Deprecation: #89037 - Deprecated LocallangXmlParser
 - Deprecation: #89127 - Cleanup RecordHistory handling
 - Deprecation: #89215 - jQuery.clearable
 - Important: #89001 - TSFE->createHashBase
 - Important: #89122 - Unified evaluation of versioned records in workspaces
 
 - 
    10.0 Changes
        
- Breaking: #21638 - AbstractUserAuthentication::lockIP property removed
 - Breaking: #81950 - Remove leftover workspaces unpublishing functionality
 - Breaking: #86862 - Default Layout of ext:fluid_styled_content does not use spaceless viewHelper anymore
 - Breaking: #87009 - Use multiple translation files by default in EXT:form
 - Breaking: #87193 - Deprecated functionality removed
 - Breaking: #87305 - Use constructor injection in DataMapper
 - Breaking: #87511 - Remove $namespacesViewObjectNamePattern property
 - Breaking: #87511 - Remove $viewFormatToObjectNameMap property
 - Breaking: #87558 - Consolidate extbase caches
 - Breaking: #87567 - Global variable $TBE_TEMPLATE removed
 - Breaking: #87583 - Remove obsolete APC Cache Backend implementation
 - Breaking: #87594 - Harden extbase
 - Breaking: #87623 - Replace config.persistence.classes typoscript configuration
 - Breaking: #87627 - Remove Property extensionName of AbstractController
 - Breaking: #87936 - TCA for sys_history removed
 - Breaking: #87937 - TCA option "selicon_field_path" removed
 - Breaking: #87957 - Validators are not registered automatically in Extbase anymore
 - Breaking: #87989 - TCA option setToDefaultOnCopy removed
 - Breaking: #88129 - Renamed felogin flexform fields
 - Breaking: #88143 - Version-related database field "t3ver_id" removed
 - Breaking: #88182 - jsfunc.inline.js has been dropped
 - Breaking: #88366 - Removed prefix of cache tables
 - Breaking: #88376 - Removed obsolete "pageNotFound_handling" settings
 - Breaking: #88411 - TBE_EDITOR.typo3form removed
 - Breaking: #88427 - jsfunc.evalfield.js has been removed
 - Breaking: #88458 - Removed Frontend Track User "ftu" functionality
 - Breaking: #88496 - Method getSwitchableControllerActions has been removed
 - Breaking: #88498 - Global data for TimeTracker statistics removed
 - Breaking: #88500 - RTE image handling functionality dropped
 - Breaking: #88525 - Remove "createDirs" directive of extension installation / em_conf.php
 - Breaking: #88527 - Overriding custom values in User Authentication derivatives
 - Breaking: #88540 - Changed Request Workflow for Frontend Requests
 - Breaking: #88564 - PageTSconfig setting "TSFE.constants" removed
 - Breaking: #88574 - 4th parameter of PageRepository->enableFields removed
 - Breaking: #88583 - Database field sys_language.static_lang_isocode removed
 - Breaking: #88638 - Streamlined SoftRefParser reference lookup
 - Breaking: #88640 - Database field "sys_template.nextLevel" and TypoScript sublevel - inheritance removed
 - Breaking: #88643 - Removed swiftmailer/swiftmailer dependency
 - Breaking: #88646 - Removed inheritance of AbstractService from AbstractAuthenticationService
 - Breaking: #88657 - Popup configuration in FormEngine dropped
 - Breaking: #88660 - $GLOBALS[T3_VAR] removed
 - Breaking: #88667 - Removed additionalJavaScriptSubmit from FormEngine
 - Breaking: #88669 - FormEngine FormDataProvider "parentPageTca" removed
 - Breaking: #88681 - Import of PHP files in Import/Export files removed
 - Breaking: #88687 - Configure extbase request handlers via PHP
 - Breaking: #88706 - Streamline felogin locallang keys
 - Breaking: #88724 - Remove superfluous methods of localizationRedirect
 - Breaking: #88741 - cHash calculation in indexed search removed
 - Breaking: #88744 - Database fields related to CSS Styled Content removed
 - Breaking: #88755 - Remove POST option from typolink.addQueryString.method
 - Breaking: #88758 - Selective Concatenation of CSS files in ResourceCompressor removed
 - Breaking: #88772 - JavaScript script tags omit type=text/javascript in HTML5
 - Breaking: #88779 - RecordList: Remove unused code
 - Breaking: #88799 - Introduced PSR-3 compatible Logging API
 - Feature: #21638 - Introduced IP locking for IPv6
 - Feature: #56213 - Allow sorting file list by file meta data "title"
 - Feature: #78432 - Add log message for "Switch User action"
 - Feature: #80420 - Allow multiple recipients in email finisher
 - Feature: #83734 - Add support for current page in config.cache
 - Feature: #84112 - Symfony dependency injection for core and extbase
 - Feature: #84757 - Double click in structure tree changes label
 - Feature: #85569 - Show scheduler information in the system information toolbar
 - Feature: #85607 - New ThumbnailViewHelper to render thumbnails deferred
 - Feature: #86629 - Implement LinkHandler for telephone numbers
 - Feature: #86964 - Allow getting class property default value
 - Feature: #87200 - Send plaintext and HTML mails in EmailFinisher
 - Feature: #87433 - Add changefreq and priority for XML sitemap
 - Feature: #87457 - Use symfony/property-info to gather doc block information
 - Feature: #87665 - Introduce BitSet class
 - Feature: #87726 - Extend FrontendLoginController Hook to validate password
 - Feature: #88643 - New Mail API based on symfony/mailer and symfony/mime
 - Feature: #88648 - Set Twitter Card Type in page properties
 - Feature: #88770 - PSR-14 based EventDispatcher
 - Feature: #88791 - Introduce PreviewAspect in Context
 - Feature: #88792 - Add TypoScriptAspect to handle TypoScript Rendering Context settings
 - Feature: #88799 - Introduced PSR-3 compatible Logging API
 - Feature: #88807 - AdminPanel RequestEnricherInterface has been introduced
 - Deprecation: #80420 - EmailFinisher single address options
 - Deprecation: #82669 - Streamline Backend route path inconsistencies
 - Deprecation: #85895 - Deprecate File::_getMetaData()
 - Deprecation: #87200 - EmailFinisher FORMAT_* constants
 - Deprecation: #87200 - EmailFinisher "format" option
 - Deprecation: #87305 - Use constructor injection in DataMapper
 - Deprecation: #87332 - Avoid runtime reflection calls in ObjectAccess
 - Deprecation: #87550 - Use controller classes when registering plugins/modules
 - Deprecation: #87613 - Deprecate \TYPO3\CMS\Extbase\Utility\TypeHandlingUtility::hex2bin
 - Deprecation: #87882 - File related controllers moved to EXT:filelist
 - Deprecation: #87894 - GeneralUtility::idnaEncode
 - Deprecation: #88366 - Default caching framework cache names changed
 - Deprecation: #88406 - setCacheHash/noCacheHash options in ViewHelpers and UriBuilder
 - Deprecation: #88428 - top.rawurlencode and top.str_replace
 - Deprecation: #88432 - Replaced md5.js with an AMD module
 - Deprecation: #88433 - Deprecate top.openUrlInWindow
 - Deprecation: #88473 - TypoScriptFrontendController->settingLocale
 - Deprecation: #88499 - BackendUtility::getViewDomain
 - Deprecation: #88554 - Deprecated methods in VersionNumberUtility
 - Deprecation: #88559 - $TSFE->sys_language_isocode
 - Deprecation: #88567 - $GLOBALS['LOCAL_LANG']
 - Deprecation: #88569 - Locales::initialize() in favor of regular singleton instance
 - Deprecation: #88651 - Replace TYPO3/CMS/Backend/SplitButtons with TYPO3/CMS/Backend/DocumentSaveActions
 - Deprecation: #88662 - Deprecated backend route xMOD_tximpexp
 - Deprecation: #88746 - PageRepository PHP class moved from Frontend to Core Extension
 - Deprecation: #88792 - forceTemplateParsing in TSFE and TemplateService
 - Deprecation: #88807 - AdminPanel InitializableInterface has been deprecated
 - Important: #87427 - ClassSchema constants marked as private
 - Important: #87516 - Remove core HTTP RequestHandlerInterface
 - Important: #87594 - Classes use strict mode and scalar type hints
 - Important: #87894 - Removed PHP dependency algo26-matthias/idna-convert
 - Important: #88043 - TypeScript sources moved into Build directory