Breaking: #109783 - Deprecated functionality removed 

See forge#109783

Description 

The following PHP classes that have previously been marked as deprecated with v14 have been removed:

The following PHP methods have been set to private and can no longer be called from outside the class:

The following PHP interfaces that have previously been marked as deprecated with v14 have been removed:

The following PHP class aliases that have previously been marked as deprecated with v14 have been removed:

The following PSR-14 events that have previously been marked as deprecated with v14 have been removed:

The following PHP class methods that have previously been marked as deprecated with v14 have been removed:

The following PHP static class methods that have previously been marked as deprecated for v14 have been removed:

The following methods changed signature according to previous deprecations in v14:

  • \TYPO3\CMS\Core\Page\PageRenderer->render() - argument $request is now mandatory (Deprecation entry)
  • \TYPO3\CMS\Core\Page\PageRenderer->renderResponse() - argument $request is now mandatory and the first argument. The transitional ServerRequestInterface|int $requestOrCode union has been removed (Deprecation entry)
  • \TYPO3\CMS\Core\Page\PageRenderer->setDocType() - argument $request is now mandatory (Deprecation entry)
  • \TYPO3\CMS\Core\Page\PageRenderer->setLanguage() - argument $request is now mandatory (Deprecation entry)
  • \TYPO3\CMS\Core\Utility\GeneralUtility::isOnCurrentHost() - argument $request is now mandatory (Deprecation entry)
  • \TYPO3\CMS\Core\Utility\GeneralUtility::locationHeaderUrl() - argument $request is now mandatory (Deprecation entry)
  • \TYPO3\CMS\Core\Utility\GeneralUtility::sanitizeLocalUrl() - argument $request is now mandatory (Deprecation entry)
  • \TYPO3\CMS\Extbase\Attribute\ORM\Cascade->__construct() - argument $value is now a ?string (Deprecation entry)
  • \TYPO3\CMS\Extbase\Attribute\IgnoreValidation->__construct() - accepts no arguments any more (Deprecation entry)
  • \TYPO3\CMS\Extbase\Attribute\Validate->__construct() - argument $validator is not a string, argument $param has been removed (Deprecation entry)
  • \TYPO3\CMS\Filelist\FileList->start() - argument $sortDirection no longer accepts a bool, a \TYPO3\CMS\Filelist\Type\SortDirection enum is now required (Deprecation entry)

The following public class properties have been dropped:

The following protected class properties have been dropped:

  • \TYPO3\CMS\Frontend\Typolink\AbstractTypolinkBuilder->contentObjectRenderer (Deprecation entry)
  • \TYPO3\CMS\Backend\ElementBrowser\AbstractElementBrowser->bparams. The legacy pipe-delimited bparams element browser request parameter is no longer evaluated. FormEngine now passes the individual fieldReference, allowedTypes and further parameters, which are handled by the typed \TYPO3\CMS\Backend\ElementBrowser\ElementBrowserParameters . Its fromBparams() and toBparams() conversion methods have been removed as well.

The following class constants have been dropped:

The following TypoScript options have been dropped or adapted:

The following user TSconfig options have been removed:

The following form yaml configurations that have previously been marked as deprecated for v14 have been removed:

The following global option handling have been dropped and are ignored:

  • $GLOBALS['TYPO3_CONF_VARS']['SYS']['fluid']['namespaces'] (Deprecation entry)
  • $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][/*...*/]['tableoptions'] (Deprecation entry)
  • $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][/*...*/]['defaultTableOptions']['collate'] (Deprecation entry)
  • $GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['fallbackToLegacyHash'] ; the transitional fallback to the legacy md5-based cHash validation has been removed, only the HMAC-SHA3 cHash is accepted (Breaking entry)
  • $GLOBALS['TYPO3_USER_SETTINGS']; backend user profile settings are now configured via TCA (the be_users user_settings column) using ExtensionManagementUtility::addUserSetting() (Deprecation entry)
  • $GLOBALS['TYPO3_CONF_VARS']['FE']['addAllowedPaths'] ; additional public folders are now exposed via resource definitions instead (Deprecation entry)

The following extension file loading has been removed:

  • ext_tables.php files in extensions are no longer considered during bootstrap (Deprecation entry)
  • ext_emconf.php files in extensions are no longer evaluated for package metadata. In TYPO3 classic (non-Composer) mode the composer.json must declare the extension version and the providesPackages definition in the extra/typo3/cms section. These two fields are now mandatory, also for extensions that no longer ship an ext_emconf.php, otherwise loading the extension throws an exception. (Deprecation entry)

The following TCA options are not evaluated anymore:

  • passwordRules option of the passwordGenerator field control; use passwordPolicy instead (Deprecation entry)

The following extbase attribute usages have been removed:

The following fallbacks have been removed:

  • \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->getRequest() no longer falls back to $GLOBALS['TYPO3_REQUEST']; code must call setRequest() after instantiation (Deprecation entry)
  • Page layout content area columns without an identifier no longer fall back to a generated hash based on the page layout identifier and colPos; a missing identifier now throws a \RuntimeException (Feature introduction)
  • Manually creating and adding a \TYPO3\CMS\Backend\Template\Components\Buttons\Action\ShortcutButton to the button bar is no longer detected and no longer suppresses the automatic shortcut button; controllers must use \TYPO3\CMS\Backend\Template\Components\DocHeaderComponent->setShortcutContext() instead (Deprecation entry)
  • A legacy typo3conf/LocalConfiguration.php and typo3conf/AdditionalConfiguration.php are no longer automatically migrated to config/system/settings.php and config/system/additional.php on first request. The configuration files have to reside at their final location. (Breaking entry)
  • The redis cache backend no longer accepts an array for the password option as a workaround to configure a username and password at once. Use the separate username and password options instead. (Deprecation entry)
  • The redis session backend no longer accepts an array for the password option as a workaround to configure a username and password at once. Use the separate username and password options instead. (Deprecation entry)
  • Flex form pageTsConfig ( TCEFORM) and exclude-field addressing no longer resolves comma-separated dataStructureKey values (the legacy list_type,CType form); the data structure key is used as-is (Breaking entry)

The following upgrade wizards have been removed:

  • \TYPO3\CMS\Core\Upgrades\SysFileMimeTypeMigration (identifier sysFileMimeTypeMigration)
  • \TYPO3\CMS\Core\Upgrades\PagesRecyclerDoktypeMigration (identifier pagesRecyclerDoktypeMigration)
  • \TYPO3\CMS\Core\Upgrades\NullToDefaultUpdateWizard (identifier nullToDefaultUpdateWizard)
  • \TYPO3\CMS\Frontend\Upgrades\SynchronizeColPosAndCTypeWithDefaultLanguage (identifier synchronizeColPosAndCTypeWithDefaultLanguage)
  • \TYPO3\CMS\IndexedSearch\Upgrades\IndexedSearchCTypeMigration (identifier indexedSearchCTypeMigration)

The following JavaScript modules have been removed:

  • The legacy CKEditor5 alias modules @typo3/ckeditor5-bundle.js and @typo3/ckeditor5-inspector.js have been removed. Use the @ckeditor/ckeditor5-* modules directly. The inspector is available as @ckeditor/ckeditor5-inspector. (Deprecation entry)

The following JavaScript method behaviours have changed:

  • @typo3/backend/form-engine no longer adds the doSave hidden field to the form on save actions. Third-party code must no longer rely on the doSave POST parameter. (Deprecation entry)
  • @typo3/backend/tab no longer dispatches the legacy show.bs.tab and shown.bs.tab events on tab switches. Listen for typo3:tab:show ( TabShowEvent) and typo3:tab:shown ( TabShownEvent) instead. (Deprecation entry)

The following JavaScript methods have been removed:

  • createAbstractViewFormElementToolbar(), wireAbstractViewFormElementToolbarEventListeners(), eachTemplateProperty(), renderCheckboxTemplate(), renderSimpleTemplate(), renderSimpleTemplateWithValidators(), renderSelectTemplates(), renderFileUploadTemplates() of @typo3/form/backend/form-editor/stage-component (Deprecation entry)
  • markFieldAsChanged() of @typo3/backend/form-engine-validation. Call markFieldAsChanged() of @typo3/backend/form-engine instead. (Deprecation entry)

The following localization XLIFF files/labels have been removed:

  • Several deprecated files (see commit) have been removed and are too many to list. These can be identified in TYPO3 v14 source files by searching for the XML attribute x-unused-since. (Deprecation entry)

The following template files have been removed:

  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/SimpleTemplate.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/SelectTemplate.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/FileUploadTemplate.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/ContentElement.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/Fieldset.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/StaticText.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/Page.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/SummaryPage.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/_ElementToolbar.fluid.html (Deprecation entry)
  • EXT:form/Resources/Private/Backend/Partials/FormEditor/Stage/_UnknownElement.fluid.html (Deprecation entry)

The following CSS classes have been removed:

  • .table-sorting-button and .table-sorting-icon. These backend table sorting helper classes were not used by the core.

The following Fluid rendering mechanisms have been removed:

  • HeaderAssets and FooterAssets Fluid template sections are no longer auto-rendered (Deprecation entry)

The following asset ViewHelper arguments and options have been removed:

  • The useNonce argument of the f:asset.script and f:asset.css ViewHelpers has been removed. Use the csp argument instead. (Deprecation entry)
  • The useNonce option key for JavaScript and stylesheet assets added via \TYPO3\CMS\Core\Page\AssetCollector has been removed. Use the csp option instead. (Deprecation entry)

The following FormEngine result array keys have been removed:

  • additionalHiddenFields, hidden fields are now added to the html key directly (Deprecation entry)

The following cache action array keys have been removed:

  • href in cache actions registered via \TYPO3\CMS\Backend\Backend\Event\ModifyClearCacheActionsEvent ; use endpoint instead (Deprecation entry)

The following features are now always enabled:

  • extbase.consistentDateTimeHandling - Extbase DateTime persistence is aligned with FormEngine and DataHandler, the feature flag has been dropped (Feature introduction)

Impact 

Using above removed functionality will most likely raise PHP fatal level errors, may change website output or crashes browser JavaScript.