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: #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
- Feature: #9070 - Allow translation of index configuration titles
- 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