Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

TYPO3.CMS/Releases/7.0/Breaking

From TYPO3Wiki
Jump to: navigation, search

Contents

Breaking: #19737 - Prefer root templates for pages

Description

The Core now gives templates having set the root-flag precedence over normal extension templates. This ignores the fact that normally the first template of the current page is chosen, following their sorting.

This improves user experience as the user expects the root template to be the one with highest priority.

Impact

Pages where multiple templates are present not having a root-template as the topmost template in the list will encounter different results when templates are evaluated.

Affected installations

Installations with pages where multiple templates are present not having a/the root-template as the topmost template.

Migration

Ensure the templates have correct flags set.

Breaking: #33805 - ClickMenu Rewrite

Description

The ClickMenu has seen some major changes under the hood. This implies some refactoring within JavaScript where existing functionality is replaced by a AMD Module based on jQuery. The following JS methods are now replaced by respective methods:

  • showClickmenu_raw()
  • Clickmenu.show()
  • Clickmenu.populateData()

The new functionality is available via a global JavaScript object called TYPO3.ClickMenu which has equal functions.

Additionally the ClickMenu is now used via AJAX completely, all non-AJAX calls are not supported anymore.

Impact

All third-party extensions using alt_clickmenu.php directly in the backend, or using the above JavaScript calls directly.

Affected installations

Any installation using extensions having Backend modules using JavaScript functions for the ClickMenu inline and installations using extensions using alt_clickmenu.php directly.

Migration

Any use of "Clickmenu.show()" etc should be avoided and channelled through the according DocumentTemplate methods.

  • DocumentTemplate->wrapClickMenuOnIcon()
  • DocumentTemplate->getContextMenuCode()

If a backend module without a DocumentTemplate (with e.g. Extbase/Fluid) is used, this is done with a separate class and related data attribute:

<a href="#" class="t3-js-clickmenutrigger" data-table="be_users" data-uid="{record.uid}" data-listframe="1">
= Breaking: #42543 - Default TypoScript Removed =

Description

The default TypoScript :code:`styles.insertContent` was removed without substitution.

Impact

Frontend output may change.

Affected installations

A TYPO3 instance is affected if its TypoScript operates with :code:`styles.insertContent`. This is pretty unlikely since the styles segment was hidden in the TypoScript Object Browser.

Migration

Either remove usage of :code:`styles.insertContent` or add a snippet at an early point in TypoScript for backwards compatibility.

styles.insertContent = CONTENT
styles.insertContent {
  table = tt_content
  select {
    orderBy = sorting
    where = colPos=0
    languageField = sys_language_uid
  }
}
= Breaking: #62416 - Removal of deprecated code in sysext fluid =

Description

ContainerViewHelper

The following options have been removed from the ViewHelper:

  • enableJumpToUrl
  • addCssFile, use includeCssFiles instead
  • addJsFile, use includeJsFiles instead

AbstractBackendViewHelper

The usage of $GLOBALS['SOBE'] is removed for retrieving the DocumentTemplate instance. Use ->getDocInstance() instead.

TemplateView

The following methods have been removed:

  • getTemplateRootPath() is removed, use getTemplateRootPaths() instead
  • getPartialRootPath() is removed, use setPartialRootPaths() instead
  • getLayoutRootPath() is removed, use getLayoutRootPaths() instead

Impact

A call to any of the aforementioned methods by third party code will result in a fatal PHP error.

Affected installations

Any installation which contains third party code still using these deprecated methods.

Migration

Replace the calls with the suggestions outlined above.

Breaking: #53658 - option alternateBgColors removed

Description

The PageTSConfig option :code:`mod.web_list.alternateBgColors` is removed without substitution.

Impact

Extensions that extend the DatabaseRecordList and are using the property :code:`alternateBgColors`

The option in the TableListViewHelper has been deprecated and will be removed in TYPO3 CMS 8.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed property.

Migration

Remove the call to the removed property.

Breaking: #54409 - RTE "acronym" button was renamed "abbreviation"

Description

The "acronym" tag being deprecated, the RTE "acronym" button was renamed "abbreviation". Accordingly, the RTE Acronym plugin was renamed Abbreviation.

Impact

The "abbreviation" button may not appear in the RTE toolbar, if configured as "acronym" in Page TSconfig, TCA special configuration options and/or User TSconfig. Possible undefined PHP class errors. Possible Javascript or file not found errors.

Affected installations

An installation is affected if the "acronym" button was configured in Page TSconfig and/or User TSconfig. An installation is affected if a 3rd party extension refers to the "acronym" button in TCA special configuration options. An installation is affected if a 3rd party extension refers to class TYPO3CMSRtehtmlareaExtensionAcronym An installation is affected if a 3rd party extension loads the JavaScript file of the Acronym plugin: EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Acronym.js

Migration

There is no immediate impact on the RTE configuration in Page TSconfig and TCA special configuration options until the automatic conversion of existing references to "acronym" is removed in TYPO3 CMS 8.0. Intallations may run the upgrade wizard of the Install tool to migrate the contents of Page TSconfig, replacing "acronym" by "abbreviation". Note that this string replacement will apply to all contents of PageTSconfig. The migration of PageTSconfig may also be done manually.

User TSconfig must be modified to refer to "abbreviation" instead of "acronym".

Any affected 3rd party extension must be modified to refer to the "abbreviation" button rather than "acronym" in TCA special configuration options. Any affected 3rd party extension must be modified to refer to class TYPO3CMSRtehtmlareaExtensionAbbreviation rather than TYPO3CMSRtehtmlareaExtensionAcronym Any affected 3rd party extension must be modified to load EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Abbreviation.js rather than EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Acronym.js

Breaking: #57382 - Remove old flash message API

Description

The old flash message API is removed.

Impact

Extensions relying on the old (static) flash message queue API will not work anymore. Extbase removes the protected old flashMessageContainer.

Affected installations

Any installation that uses an extension relying on the old API.

Migration

Change the API calls to not be of static kind anymore. Extbase extensions have to use getFlashMessageQueue() of the controllerContext

Breaking: #57396 - Deprecated Extbase Property Mapper was removed

Description

A new Property Mapper that mapped request arguments to controller action arguments was introduced in Extbase 1.4 and the old one was deprecated at the same time. Along with the mapping, the validation API has also been changed. The rewritten property mapper is turned on by default since TYPO3 6.2

Now the old mapping and validation API is completely removed.

Impact

Extbase extensions that relied on the internal behaviour of the deprecated property mapper or make use of the old validation API will stop working or may not work as expected any more.

Affected installations

Extbase extensions that turned off the introduced feature switch with the TypoScript setting :code:`features.rewrittenPropertyMapper = 0` because they relied on internal behavior of the old property mapper will stop working.

Migration

Manual migration of extension code might be required, especially when own validators using the old validation API were used.

Breaking: #59659 - Removal of deprecated code in sysext backend

Description

Flexforms

Flexform xml that still contains the old "<tx_templavoila><title>" code has to be adapted. The "<tx_templavoila>" elements needs to be removed.

Wizard registration

Wizard registration in TCA must not contain the "script=some/path/script.php" definition anymore. The new API for registering wizards is to set "module[name]=module_name".

Removed PHP methods

  • FormEngine::dbFileCon() is removed without replacement. The functionality is not needed anymore.
  • AbstractRecordList::writeBottom() is removed without replacement. The functionality is not needed anymore.
  • SpriteGenerator::setOmmitSpriteNameInIconName() is removed in favor of setOmitSpriteNameInIconName()
  • DocumentTemplate::isCMlayers() is removed without replacement. The functionality is obsolete.
  • DocumentTemplate::getFileheader() is removed. Use getResourceHeader() instead.
  • BackendUtility::displayWarningMessages() is removed without replacement. The functionality was moved to ext:aboutmodules.
  • IconUtility::getIconImage() is removed without replacement. Use sprite icon API instead.
  • PageLayoutView::getSelectedBackendLayoutUid() is removed. Use BackendLayoutView::getSelectedCombinedIdentifier() instead.
  • ClickMenu::menuItemsForClickMenu() is removed without replacement. The functionality is obsolete.

Removed JS functions

  • showClickmenu_noajax() is removed. Use Clickmenu.ajax = false; showClickmenu_raw(); instead.
  • setLayerObj() is replaced with Clickmenu.populateData().
  • hideEmpty() is replaced with Clickmenu.hideAll().
  • hideSpecific() is replaced with Clickmenu.hide(). E.g. Clickmenu.hide('contentMenu1');
  • showHideSelectorBoxes() is replaced with toggleSelectorBoxes().

Impact

A call to any of the aforementioned methods by third party code will result in a fatal PHP error.

Affected installations

Any installation which contains third party code still using these deprecated methods.

Migration

Replace the calls with the suggestions outlined above.

Breaking: #59966 - Extension Configuration cache-flushing changed

Description

On saving the configuration of an extension, the system cache group has been flushed. This is inefficient as this includes also the classes cache, but most changes will never need this cache to be cleared. We optimize this for the common case and stop flushing caches after configuration changes completely.

Impact

Extensions which relied on cache-clearing after configuration changes may require a manual cache flush.

Affected installations

Any installation that uses extensions relying on automatic cache flush after extension configuration changes.

Migration

Extensions requiring a cache flush after configuration changes need to implement a slot for the afterExtensionConfigurationWrite signal which allows individual cache flush actions.

Breaking: #60063 - Felogin Plugin Removed

Description

File EXT:felogin/pi1/class.tx_felogin_pi1.php was removed.

Impact

  • A require in PHP of this file throws a fatal error.
  • An :code:`includeLibs` TypoScript setting to this file raises a warning.

Affected installations

A TYPO3 instance is affected if a 3rd party extension requires EXT:felogin/pi1/class.tx_felogin_pi1.php or if an includeLibs TypoScript setting to this file is set.

Migration

Remove the require line in PHP and includeLibs line in TypoScript, they are obsolete.

Breaking: #60135 - Recursive stdWrap is now only called once

Description

If recursive stdWrap configuration was used, the stdWrap method was called twice, although the content was only rendered once. This performance overhead is now removed.

Impact

If a recursive stdWrap configuration is used, which sets or acts on a global state like registers, the resulting rendering can now be different because the global state is now modified only once.

Affected installations

A TYPO3 instance is affected if there is TypoScript code like:

page.1 = TEXT
page.1 {
  value = Counter:
  append = TEXT
  append.data = register:Counter
  stdWrap.append = LOAD_REGISTER
  stdWrap.append {
    Counter.cObject = TEXT
    Counter.cObject.data = register:Counter
    Counter.cObject.wrap = |+1
    Counter.prioriCalc = 1
  }
}

This now correctly outputs `Counter:1` instead of `Counter:2`

Migration

The usage of recursive stdWrap TypoScript configuration needs to be checked and probably adapted to fit the fixed behavior.

Breaking: #60152 - GeneralUtility::formatSize is now locale aware

Description

The :code:`GeneralUtility::formatSize()` method now adheres to the currently set locale and selects the correct decimal separator symbol. This also applies to the TypoScript option :code:`stdWrap.bytes`, which uses the method internally, as well as the Filelist content element type.

Impact

All output generated for locales, where the decimal separator is not a dot, will change to use the correct symbol. e.g. comma for German.

Affected installations

Any installation that uses the :code:`formatSize()` method in one of the ways mentioned.

Migration

If you think you get the wrong decimal separator, ensure the locale is configured correctly and the locale really exists on the server.

TypoScript option: :code:`config.locale` Commandline: locale -a

Breaking: #60559 - Dropped Backend Login Options

Description

Handling of :code:`$GLOBALS['TBE_STYLES']['loginBoxImage_rotationFolder']` and :code:`$GLOBALS['TBE_STYLES']['loginBoxImage_author']` was dropped.

Impact

Setting those options has no effect anymore.

Affected installations

These options had no effect with standard core internal login screen based on t3skin for a long time already. Instances are only affected if a 3rd party extension is loaded that changes the backend login screen and operates with these settings.

Migration

Remove these options and their usage from the affected 3rd party extension or unload the extension.

Breaking: #60559 - T3skin Backend Login Javascript File Moved

Description

Javascript files of the backend login form moved from EXT:t3skin to EXT:backend.

Impact

Javascript or file not found errors.

Affected installations

An installation is affected if a 3rd party extension includes EXT:t3skin/Resources/Public/JavaScript/login.js

Migration

Include EXT:backend/Resources/Public/JavaScript/login.js instead or refactor the affected extension to free it from the dependency to this core internal file.

Breaking: #60559 - T3skin Backend Login Template File Moved

Description

The HTML template file for the backend login screen was moved from EXT:t3skin to EXT:backend.

Impact

Broken login screen.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses file EXT:t3skin/Resources/Private/Templates/login.html

Migration

Use file EXT:backend/Resources/Private/Templates/login.html instead or refactor the affected extension to free it from the dependency to this core internal file.

Breaking: #60561 - Default TypoScript Constants Removed

Description

These default TypoScript constants were dropped:

  •  :code:`{$_clear}`
  •  :code:`{$_blackBorderWrap}`
  •  :code:`{$_tableWrap}`
  •  :code:`{$_tableWrap_DEBUG}`
  •  :code:`{$_stdFrameParams}`
  •  :code:`{$_stdFramesetParams}`

Impact

Frontend output may change.

Affected installations

A TYPO3 instance is affected if own TypoScript uses the above mentioned TypoScript constants.

Migration

Either remove usage of the above constants or add a snippet at an early point in TypoScript for backwards compatibility.

_clear = <img src="clear.gif" width="1" height="1" alt="" />
_blackBorderWrap = <table border="0" bgcolor="black" cellspacing="0" cellpadding="1"><tr><td> | </td></tr></table>
_tableWrap = <table border="0" cellspacing="0" cellpadding="0"> | </table>
_tableWrap_DEBUG = <table border="1" cellspacing="0" cellpadding="0"> | </table>
_stdFrameParams = frameborder="no" marginheight="0" marginwidth="0" noresize="noresize"
_stdFramesetParams = 'border="0" framespacing="0" frameborder="no"
= Breaking: #60582 - Rsaauth Javascript Files Moved =

Description

Javascript files from EXT:rsaauth were moved from resources/ to Resources/Public/JavaScript.

Impact

Javascript or file not found errors.

Affected installations

An installation is affected if a 3rd party extension includes Javascript files from rsaauth.

Migration

Change affected extension to include Javascript files from resources/ to Resources/Public/JavaScript/.

Breaking: #60609 - Configuration Manager Signal Changed

Description

The extension for which the configuration was written was added to the signal emitted in the ConfigurationManager of the ExtensionManager as first parameter as the whole signal was unusable without this information.

Impact

The arguments for a method listening to this signal have changed.

Affected installations

A TYPO3 instance is affected if there is code using the signal "afterExtensionConfigurationWrite".

Migration

Rewrite the listening function to use the extension key as first parameter.

Breaking: #60630 - Scheduler Javascript File Moved

Description

Javascript files of the scheduler module moved from EXT:scheduler/res/tx_scheduler_be.js to EXT:scheduler/Resources/Public/JavaScript/Scheduler.js

Impact

Javascript or file not found errors.

Affected installations

An installation is affected if a 3rd party extension includes EXT:scheduler/res/tx_scheduler_be.js

Migration

Include EXT:scheduler/Resources/Public/JavaScript/Scheduler.js instead or refactor the affected extension to free it from the dependency to this scheduler internal file.

Breaking: #60630 - Scheduler Language Files Moved

Description

The language files of the scheduler extension are moved to EXT:scheduler/Resources/Private/Language/

Impact

Labels are not translated when being fetched from old file location.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses a language file from EXT:scheduler or if localization overrides of these files are registered. Those overridden labels may not work anymore.

Migration

Use new path to language file instead or create/copy the labels to an own language file and adapt existing overrides to the new file locations.

Breaking: #60630 - Scheduler Module Template File Moved

Description

The HTML template file for the scheduler module was moved from EXT:scheduler/mod1/mod_template.html to EXT:scheduler/Resources/Private/Templates/Module.html.

Impact

Broken module screen.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses file EXT:scheduler/mod1/mod_template.html

Migration

Use file EXT:scheduler/Resources/Private/Templates/Module.html instead or refactor the affected extension to free it from the dependency to this scheduler internal file.

Breaking: #61459 - Removal of tslib directory and constant

Description

The tslib/ directory and the constant PATH_tslib were removed.

Impact

Extensions that still use PATH_tslib constant, and reference typo/sysext/cms/tslib/index_ts.php directly won't work.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses index_ts.php directly, or if the main index.php is not replaced with the TYPO3 Update (used on certain install types). The index.php file must be replaced with the current version from the TYPO3 CMS Core.

Besides scripts are affected that access the time tracking (:code:`$TT`) or typoscript frontend controller (:code:`$TSFE`) objects instead of using :code:`$GLOBALS['TT']` respectively :code:`$GLOBALS['TSFE']`.

Migration

Remove the constant PATH_tslib from the 3rd party extension, use a current version of index.php and use :code:`$GLOBALS['TT']` and :code:`$GLOBALS['TSFE']` where necessary.

Breaking: #61471 - EXT:t3skin CSS files moved to less

Description

All CSS files in EXT:t3skin are moved to less files and handled by less CSS pre processor and merged to a single CSS file.

Impact

Single CSS files can not be included anymore. This may result in broken layouts.

Affected installations

A TYPO3 instance is affected if an extension loads single CSS files from EXT:t3skin. Backend modules of extensions usually get CSS core stuff loaded by default, which will not be a problem. An extension is only affected if single CSS files are explicitly referenced. This should be a rare case.

Migration

Most simple solution is to copy over the "old" CSS file from an older instance. Directly including those files from t3skin is discouraged. A better solution is to refactor the extension to use the full t3skin CSS file and to overlay it with required changes in an own file.

Breaking: #61781 - include_once array in ClickMenuController removed

Description

The include_once array of the ClickMenuController, which is filled with paths from the :code:`$GLOBALS['TBE_MODULES_EXT']['xMOD_alt_clickmenu']['extendCMclasses']['path']` setting, has been removed.

Impact

Extension classes relying on the :code:`$GLOBALS['TBE_MODULES_EXT']['xMOD_alt_clickmenu']['extendCMclasses']['path']` registration for autoloading will not be loaded anymore.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed class loading registration method.

Migration

All classes are autoloaded automatically by TYPO3 CMS Core.

Breaking: #61782 - deprecated DocumentTemplate classes removed

Description

The following deprecated classes have been removed:

code:`TYPO3CMSBackendTemplateMediumDocumentTemplate` :code:`TYPO3CMSBackendTemplateSmallDocumentTemplate` :code:`TYPO3CMSBackendTemplateStandardDocumentTemplate`

Impact

Extensions that still use one of the removed classes for their backend module won't work.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses one of the removed classes.

Migration

Use :code:`TYPO3CMSBackendTemplateDocumentTemplate` instead.

Breaking: #61783 - Removed deprecated mailing API

Description

The deprecated methods to send email are removed. This includes the :code:`MailUtility::mail()` method, the mail delivery substitution API and the :code:`plainMailEncoded()` methods.

Impact

Any call to :code:`MailUtility::mail()` or :code:`GeneralUtility::plainMailEncoded()` will result in a fatal error. The option :code:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/utility/class.t3lib_utility_mail.php']['substituteMailDelivery']` does not have any effect.

Affected installations

Any installation using an extension still using the deprecated API will fail.

Migration

Use the :code:`TYPO3CMSCoreMailMailer` API for sending email.

Breaking: #61785 - getCompressedTCarray and includeTCA from TypoScriptFrontendController removed

Description

Methods :code:`getCompressedTCarray()` and :code:`includeTCA()` from :code:`TYPO3CMSFrontendControllerTypoScriptFrontendController` have been removed.

Impact

Extensions that still use :code:`TYPO3CMSFrontendControllerTypoScriptFrontendController::getCompressedTCarray()` or :code:`TYPO3CMSFrontendControllerTypoScriptFrontendController::includeTCA()` will trigger a fatal error.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses one of the removed functions.

Migration

Full TCA is always loaded during bootstrap in FE, the methods are obsolete. If an eid script calls this method to load TCA, use :code:`TYPO3CMSFrontendUtilityEidUtility::initTCA()` instead.

Breaking: #61785 - loadTCA function in GeneralUtility removed

Description

Method :code:`loadTCA()` from :code:`TYPO3CMSCoreUtilityGeneralUtility` is removed.

Impact

Extensions that still use :code:`TYPO3CMSCoreUtilityGeneralUtility::loadTCA()` will trigger a fatal error.

Affected installations

A TYPO3 instance is affected if a 3rd party extension still calls :code:`loadTCA`.

Migration

The method is obsolete, full TCA is always loaded in all context except eID. It is safe to remove the method call.

Breaking: #61786 - remove deprecated TypeHandlingService in extbase

Description

The TypeHandlingService class is removed from the extbase extension.

Impact

Extensions that still use :code:`TYPO3CMSExtbaseServiceTypeHandlingService` won't work.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed class :code:`TYPO3CMSExtbaseServiceTypeHandlingService`.

Migration

Replace all calls to :code:`TYPO3CMSExtbaseServiceTypeHandlingService` functions to their new static functions in :code:`TYPO3CMSExtbaseUtilityTypeHandlingUtility`

Breaking: #61802 - deprecated isLocalconfWritable function removed

Description

The function :code:`isLocalconfWritable()` :code:`from TYPO3CMSCoreUtilityExtensionManagementUtility` has been removed. The boostrap now just checks for the existence of the file and redirects to the install tool if it doesn't exist.

Impact

Extensions that still use the function :code:`isLocalconfWritable()` won't work.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed function.

Migration

Remove the call to this function. The bootstrap takes care to check the existence of the file.

Breaking: #61820 - deprecated PhpOptionsUtility functions removed

Description

The :code:`TYPO3CMSCoreUtilityPhpOptionsUtility` functions isSafeModeEnabled and isMagicQuotesGpcEnabled are removed.

Impact

Extensions that still use one of the removed functions won't work.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses one of the removed functions.

Migration

Remove the call to :code:`TYPO3CMSCoreUtilityPhpOptionsUtility::isSafeModeEnabled()` or :code:`TYPO3CMSCoreUtilityPhpOptionsUtility::isMagicQuotesGpcEnabled()` functions. The Install Tool takes care of the removed checks now.

Breaking: #61821 - classFile option in makeInstanceService removed

Description

The option "classFile" in :code:`TYPO3CMSCoreUtilityGeneralUtilitymakeInstanceService()` is removed. This should now be done by the respective ext_autoload.php of each extension.

Impact

Extension classes relying on the "classFile" registration for autoloading will not be loaded anymore.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed class loading registration method.

Migration

Use the ext_autoload.php file to autoload the class.

Breaking: #61822 - deprecated function getUniqueFields() removed

Description

The function :code:`getUniqueFields()` from :code:`TYPO3CMSCoreDataHandlingDataHandler` has been removed. The function is available in :code:`TYPO3CMSVersionHookDataHandlerHook`.

Impact

Extensions that still use the function :code:`getUniqueFields()` won't work.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed function.

Migration

Replace all calls to :code:`TYPO3CMSCoreDataHandlingDataHandler::getUniqueFields()` with calls to :code:`TYPO3CMSVersionHookDataHandlerHook::getUniqueFields()`

Breaking: #61823 - Remove magic setter for $fromTC

Description

The magic setter for :code:`$fromTC` in TYPO3CMSCoreDatabaseRelationHandler is removed.

Impact

Directly setting the protected property :code:`$fromTC` will trigger a PHP warning.

Affected installations

Any installation using an extension that sets :code:`$fromTC` property directly.

Migration

Use :code:`TYPO3CMSCoreDatabaseRelationHandler::setFetchAllFields()` instead.

Breaking: #61828 - deprecated isDisplayCondition function from FormEngine removed

Description

Method :code:`isDisplayCondition()` from :code:`TYPO3CMSBackendFormFormEngine` has been removed.

Impact

Extensions that still use the function :code:`isDisplayCondition()` will trigger a fatal PHP error when records are edited in the backend.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed function.

Migration

Use :code:`TYPO3CMSBackendFormElementConditionMatcher` instead.

/** @var $elementConditionMatcher \TYPO3\CMS\Backend\Form\ElementConditionMatcher */
$elementConditionMatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Form\ElementConditionMatcher::class);
$elementConditionMatcher->match($displayCond, $row, $ffValueKey);
= Breaking: #61859 - deprecated file type FILETYPE_SOFTWARE removed =

Description

The constant :code:`TYPO3CMSCoreResourceAbstractFile::FILETYPE_SOFTWARE` has been removed.

Impact

Using the removed constant will result in a fatal error.

Affected installations

Any installation using an extension that uses the constant :code:`TYPO3CMSCoreResourceAbstractFile::FILETYPE_SOFTWARE`.

Migration

Use :code:`TYPO3CMSCoreResourceAbstractFile::FILETYPE_APPLICATION` instead, which matches the Iana standard.

Breaking: #61860 - deprecated function int_from_ver removed

Description

Function :code:`int_from_ver()` from :code:`TYPO3CMSCoreUtilityGeneralUtility` has been removed.

Impact

Extensions that still use the function :code:`int_from_ver()` won't work.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed function.

Migration

Replace the usage of the removed function with :code:`TYPO3CMSCoreUtilityVersionNumberUtility::convertVersionNumberToInteger()`

Breaking: #61863 - deprecated connectDB from EidUtility removed

Description

Method :code:`connectDB()` from :code:`TYPO3CMSFrontendUtilityEidUtility` has been removed.

Impact

Extensions that still use the function :code:`connectDB()` will trigger a fatal PHP error when an eID script is called.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed function.

Migration

The function can be removed safely. The database will connect itself if needed.

Breaking: #61890 - TBE Styling removed from FormEngine and TCA

Description

The styling functionality of FormEngine was based on a mixture of loose variables within :code:`$GLOBALS['TBE_STYLES']` overridden by hardcoded values in various Backend PHP classes. This setup, additionally mixed with CSS classes that followed a very complicated syntax to render certain fields differently, has been removed in order to allow Backend styling for FormEngine completely based on CSS/LESS.

Impact

Using the following CSS classes within FormEngine don't have any effect anymore:

  • class-main
  • class-main1
  • class-main2
  • class-main3
  • class-main4
  • class-main5
  • class-main11
  • class-main12
  • class-main13
  • class-main14
  • class-main15
  • class-main21
  • class-main22
  • class-main23
  • class-main24
  • class-main25
  • class-main31
  • class-main32
  • class-main33
  • class-main34
  • class-main35
  • class-main41
  • class-main42
  • class-main43
  • class-main44
  • class-main45
  • class-main51
  • class-main52
  • class-main53
  • class-main54
  • class-main55
  • wrapperTable
  • wrapperTable1
  • wrapperTable2
  • wrapperTable3
  • wrapperTable4
  • wrapperTable5
  • formField
  • formField1
  • formField2
  • formField3
  • formField4
  • formField5

Additionally, the following keys of $TBE_STYLES have no effect anymore:

  • $TBE_STYLES['colorschemes']
  • $TBE_STYLES['styleschemes']
  • $TBE_STYLES['borderschemes']

They can safely removed from any third party extension.

The 5th parameter defining custom styleschemes in any field defined in $TCA[mytable][types][mytype][showitem] or $TCA[mytable][palettes][mypalette][showitem] has no effect anymore and can be removed from any third party extension (e.g. myfield;mylabel;usedpalette;extraDefinition;stylescheme).

Any styling is now done solely via LESS.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the CSS classes for styling or dynamic HTML via JavaScript.

Migration

Use the available CSS classes for custom styling and modifying FormEngine. Clean up any custom TCA definitions with a stylescheme in 3rd party extensions, where the fifth parameter of a field definition in $TCA[mytable][types][mytype][showitem] or $TCA[mytable][palettes][mypalette][showitem] is used.

Breaking: #61959 - Move flash message output to alerts

Description

Flash messages are now styled by using the native CSS classes of Twitter Bootstrap. The changed classes are:

  • "typo3-message message-notice" => "alert alert-notice"
  • "typo3-message message-information" => "alert alert-info"
  • "typo3-message message-ok" => "alert alert-success"
  • "typo3-message message-warning" => "alert alert-warning"
  • "typo3-message message-error" => "alert alert-danger"

Impact

Extensions which use the old classes like "typo3-message message-information" rely on deprecated CSS classes which might lead to non styled output.

Affected installations

Any installation that uses the HTML of flash messages without calling the API.

Migration

Change the used CSS classes to the new ones.

Breaking: #62038 - Deprecated DocumentTemplate functionality

Description

The Backend/DocumentTemplate class contains various options that have no effect in the core anymore:

code:`$doc->JScodeLibArray` :code:`$doc->docType` (as rendering is always as HTML5 by default) :code:`$doc->inDocStyles` (use inDocStylesArray) :code:`$doc->inDocStyles_TBEstyle` (now used as inDocStylesArray[tbeStyle] :code:`$doc->charset` (always utf-8)

The methods :code:`$doc->formatTime()` and :code:`$doc->menuTable()` have also been deprecated as they are not used anymore.

Impact

Extensions that still use the properties of DocumentTemplate will not see any changes in the output of the code anymore.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the unused variables.

Migration

The variables can be removed safely, any modifications is possible via hooks in DocumentTemplate.

Breaking: #62039 - Removed TBE_STYLES[mainColors]

Description

The values within :code:`$TBE_STYLES[mainColors]` are redundant and can be completely defined via CSS nowadays. The corresponding PHP leftovers are removed from the core and have no effect anymore.

Impact

Setting the variables within :code:`$TBE_STYLES[mainColors]` and using the :code:`$doc->bgColor*` and :code:`$doc->hoverColor` properties of DocumentTemplate have no effect anymore.

Affected installations

Any installation using an extension that is overriding skin info via :code:`$TBE_STYLES[mainColors]`.

Migration

Use CSS directly to modify the appearance of the Backend.

Breaking: #62291 - RTE Deprecated JavaScript methods removed

Description

The following RTE JavaScript methods, deprecated since TYPO3 4.7, have been removed:

HTMLArea.Editor.forceRedraw: use HTMLArea.Framework.doLayout instead

HTMLArea.Editor.convertNode: use HTMLArea.DOM.convertNode instead HTMLArea.Editor.getBlockAncestors: use HTMLArea.DOM.getBlockAncestors instead HTMLArea.getInnerText: use HTMLArea.DOM.getInnerText instead HTMLArea.hasAllowedAttributes: use HTMLArea.DOM.hasAllowedAttributes instead HTMLArea.isBlockElement: use HTMLArea.DOM.isBlockElement instead HTMLArea.needsClosingTag: use HTMLArea.DOM.needsClosingTag instead HTMLArea.Editor.rangeIntersectsNode: use HTMLArea.DOM.rangeIntersectsNode instead HTMLArea.removeFromParent: use HTMLArea.DOM.removeFromParent instead

HTMLArea.Editor.cleanAppleStyleSpans: use HTMLArea.DOM.Node.cleanAppleStyleSpans instead HTMLArea.Editor.removeMarkup: use HTMLArea.DOM.Node.removeMarkup instead HTMLArea.Editor.wrapWithInlineElement: use HTMLArea.DOM.Node.wrapWithInlineElement instead

HTMLArea.Editor.addRangeToSelection: use HTMLArea.DOM.Selection.addRange instead HTMLArea.Editor._createRange: use HTMLArea.DOM.Selection.createRange instead HTMLArea.Editor.emptySelection: use HTMLArea.DOM.Selection.empty instead HTMLArea.Editor.endPointsInSameBlock: use HTMLArea.DOM.Selection.endPointsInSameBlock instead HTMLArea.Editor.execCommand: use HTMLArea.DOM.Selection.execCommand instead HTMLArea.Editor._getSelection: use HTMLArea.DOM.Selection.get instead HTMLArea.Editor.getAllAncestors: use HTMLArea.DOM.Selection.getAllAncestors instead HTMLArea.Editor.getSelectedElement: use HTMLArea.DOM.Selection.getElement instead HTMLArea.Editor.getEndBlocks: use HTMLArea.DOM.Selection.getEndBlocks instead HTMLArea.Editor._getFirstAncestor: use HTMLArea.DOM.Selection.getFirstAncestorOfType instead HTMLArea.Editor.getFullySelectedNode: use HTMLArea.DOM.Selection.getFullySelectedNode instead HTMLArea.Editor.getSelectedHTML: use HTMLArea.DOM.Selection.getHtml instead HTMLArea.Editor.getSelectedHTMLContents: use HTMLArea.DOM.Selection.getHtml instead HTMLArea.Editor.getParentElement: use HTMLArea.DOM.Selection.getParentElement instead HTMLArea.Editor.getSelectionRanges: use HTMLArea.DOM.Selection.getRanges instead HTMLArea.Editor.getSelectionType: use HTMLArea.DOM.Selection.getType instead HTMLArea.Editor.insertHTML: use HTMLArea.DOM.Selection.insertHtml instead HTMLArea.Editor.insertNodeAtSelection: use HTMLArea.DOM.Selection.insertNode instead HTMLArea.Editor._selectionEmpty: use HTMLArea.DOM.Selection.isEmpty instead HTMLArea.Editor.hasSelectedText: use !HTMLArea.DOM.Selection.isEmpty instead HTMLArea.Editor.selectNode: use HTMLArea.DOM.Selection.selectNode instead HTMLArea.Editor.selectNodeContents: use HTMLArea.DOM.Selection.selectNodeContents instead HTMLArea.Editor.selectRange: use HTMLArea.DOM.Selection.selectRange instead HTMLArea.Editor.setSelectionRanges: use HTMLArea.DOM.Selection.setRanges instead HTMLArea.Editor.surroundHTML: use HTMLArea.DOM.Selection.surroundHtml instead

HTMLArea.Editor.getBookmark: use HTMLArea.DOM.BookMark.get instead HTMLArea.Editor.getBookmarkNode: use HTMLArea.DOM.BookMark.getEndPoint instead HTMLArea.Editor.moveToBookmark: use HTMLArea.DOM.BookMark.moveTo instead

HTMLArea.htmlDecode: use HTMLArea.util.htmlDecode instead HTMLArea.htmlEncode: use HTMLArea.util.htmlEncode instead

Impact

3rd party extensions adding plugins to the RTE and using the removed methods will fail.

Affected installations

A TYPO3 instance is affected if a 3rd party extension of the RTE refers to the removed methods.

Migration

The affected 3rd party extensions must be modified to use the replacement methods.

Breaking: #62339 - Move EXT:perm into EXT:beuser and remove EXT:perm

Description

The extension EXT:perm is removed from core, the perms module is moved into EXT:beuser. The BE module moved from "Web Access" to "System Access"

Impact

Extensions that use EXT:perm or maybe depends on it will cause problems

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses parts the removed extension.

Migration

The logic is moved into EXT:beuser. No special migration is necessary.

Breaking: #62416 - Removal of deprecated code in sysext core

Description

DataHandler

code:`DataHandler::clear_cache()` has been removed. Use :code:`->clear_cacheCmd()` instead. Alternatively you can call :code:`->registerPageCacheClearing()` from a hook to not immediately clear the cache but register clearing after DataHandler operation finishes.
code:`DataHandler::internal_clearPageCache()` has been removed, please use the cache manager directly.

The hook ['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables'] has been removed, use the caching framework with database backend instead.

DatabaseConnection

All connection parameters (host, username, password, db) for methods sql_connect(), sql_select_db() and connectDB() have been removed.

PackageManager

The globally defined REQUIRED_EXTENSIONS constant has been removed.

ExtensionManagementUtility

Parameter classPath of insertModuleFunction() is now unused. Leverage autoloading instead.

Removed PHP classes

  • TYPO3CMSCoreResourceServiceIndexerService has been removed without replacement. Indexing is done internally.
  • TYPO3CMSCoreCompatibilityGlobalObjectDeprecationDecorator has been removed without replacement. Do not use $GLOBALS['typo3CacheManager'] and $GLOBALS['typo3CacheFactory'] anymore, use GeneralUtility::makeInstance() instead.

Removed PHP class members

  • AbstractUserAuthentication::$cookieId has been removed. Use isCookieSet() instead.

Removed PHP methods

  • GeneralUtility::array_merge_recursive_overrule() has been removed. Use ArrayUtility::mergeRecursiveWithOverrule() instead. WARNING: The new method changed its signature and does not return the first parameter anymore.
  • GeneralUtility::htmlspecialchars_decode() has been removed in favor of the native PHP htmlspecialchars_decode() function.
  • CategoryRegistry::get() has been removed. Use isRegistered() instead.
  • CategoryRegistry::applyTca() has been removed. The functionality is obsolete.
  • DataHandler::clear_cache() has been removed. Use ->clear_cacheCmd instead. Alternatively you can call ->registerPageCacheClearing() from a hook to not immediately clear the cache but register clearing after DataHandler operation finishes.
  • DataHandler::internal_clearPageCache() has been removed, use the cache manager directly.
  • FileRepository::findByUid() has been removed without replacement.
  • FileRepository::addToIndex() has been removed without replacement. Indexing is done transparently.
  • FileRepository::getFileIndexRecordsForFolder() has been removed. Use FileIndexRepository::findByFolder() instead.
  • FileRepository::getFileIndexRecord() has been removed. Use FileIndexRepository::findOneByFileObject() instead.
  • FileRepository::findBySha1Hash() has been removed. Use FileIndexRepository::findByContentHash() instead.
  • FileRepository::update() has been removed. Use FileIndexRepository::update() instead.
  • ResourceStorage::getFolderByIdentifier() is replaced by getFolder().
  • ResourceStorage::getFileByIdentifier() is replaced by getFileInfoByIdentifier().
  • ResourceStorage::getFileList() is replaced by getFilesInFolder().
  • ResourceStorage::getFolderList() has been removed. Use getFoldersInFolder() instead.
  • ResourceStorage::fetchFolderListFromDriver() has been removed. Use getFoldersInFolder() instead.
  • BasicFileUtility::getTotalFileInfo() has been removed. Use ResourceStorage instead via $GLOBALS['BE_USER']->getFileStorages()
  • BasicFileUtility::checkFileNameLen() has been removed. Use ResourceStorage instead via $GLOBALS['BE_USER']->getFileStorages()
  • BasicFileUtility::isPathValid() has been removed in favor of GeneralUtility::validPathStr().
  • BasicFileUtility::blindPath() has been removed without replacement.
  • BasicFileUtility::findTempFolder() has been removed without replacement.
  • BasicFileUtility::rmDoubleSlash() has been removed without replacement.
  • BasicFileUtility::cleanDirectoryName() has been removed. Use PathUtility::getCanonicalPath() instead.
  • ExtendedFileUtility::init_actionPerms() is replaced with setActionPermissions().
  • ExtendedFileUtility::printLogErrorMessages() is replaced with pushErrorMessagesToFlashMessageQueue().
  • ExtendedFileUtility::findRecycler() has been removed. Use ResourceStorage instead.
  • RteHtmlParser::rteImageStorageDir() and SelectImage::getRTEImageStorageDir() are removed. Use $fileFactory->getFolderObjectFromCombinedIdentifier($GLOBALS['TYPO3_CONF_VARS']['BE']['RTE_imageStorageDir']); instead.
  • Locales::getTerLocales() has been removed without replacement.
  • Locales::getTerLocaleDependencies() has been removed without replacement.
  • ExtensionManagementUtility::getRequiredExtensionListArray() has been removed without replacement.
  • ExtensionManagementUtility::writeNewExtensionList() has been removed without replacement.
  • PhpOptionsUtility::isSqlSafeModeEnabled() has been removed without replacement.
  • ClassLoader::getAliasForClassName() is replaced with getAliasesForClassName().

Impact

A call to any of the aforementioned methods by third party code will result in a fatal PHP error.

Affected installations

Any installation which contains third party code still using these deprecated methods.

Migration

Replace the calls with the suggestions outlined above.

Breaking: #62595 - Remove SU change-to mode

Description

The permanent user switch has been removed from backend user list for a better UX.

Impact

The parameter "emulate" in the view helper "SwitchUser" is dropped. Using the argument causes an error "Argument "emulate" was not registered".

Affected installations

Any installation using an extension that uses the view helper "SwitchUser" with "emulate" argument.

Migration

Drop the "emulate" argument in the view helper call.

Breaking: #62670 - Removal of deprecated code in multiple sysexts

Description

DBAL DatabaseConnection

All connection parameters (host, username, password, db) for methods :code:`sql_connect()` and :code:`sql_select_db()` are removed.

CSS Styled Content

The old frontend plugin file pi1/class.tx_cssstyledcontent_pi1.php is removed. Refer to Classes/Controller/CssStyledContentController.php instead.

Install Tool

The check for PHP's magic_quotes_gpc settings is removed, as the feature is disabled since PHP 5.4.

Removed files

  • lang/lang.php is removed. You don't need to include this file anymore, just use :code:`TYPO3CMSLangLanguageService` directly.
  • rtehtmlarea/htmlarea/plugins/DynamicCSS/dynamiccss.css is removed. The file was not used.

Removed PHP classes

  • TYPO3CMSSchedulerTaskFileIndexingTask is removed without replacement.

Removed PHP class members

  • TypoScriptFrontendController::$absRefPrefix_force is removed without replacement.

Removed PHP methods

  • LanguageService::JScharCode is removed, use GeneralUtility::quoteJSvalue instead.
  • ContentObjectRenderer::joinTSarrays is removed without replacement.
  • TypoScriptFrontendController::tidyHTML is removed without replacement. You may use the tidy extension from TER.
  • ElementBrowser::isWebFolder is removed without replacement.
  • ElementBrowser::checkFolder is removed without replacement.
  • AbstractDatabaseRecordList::getTreeObject is removed without replacement.
  • FileList::dirData is removed without replacement.
  • FilesContentObject::stdWrapValue is removed, use ContentObjectRenderer::stdWrapValue instead.
  • ImportExportController::userTempFolder is removed, use getDefaultImportExportFolder instead.
  • ImportExportController::userSaveFolder is removed, use getDefaultImportExportFolder instead.
  • CrawlerHook::loadIndexerClass is removed without replacement.
  • DatabaseIntegrityView::func_filesearch is removed without replacement.
  • DatabaseIntegrityView::findFile is removed without replacement.
  • RteHtmlAreaBase::buildStyleSheet is removed without replacement.
  • RteHtmlAreaBase::loremIpsumInsert is removed without replacement.
  • StagesService::checkCustomStagingForWS is removed without replacement.

Removed JS functions

  • tx_rsaauth_encrypt is removed without replacement.
  • tx_rsaauth_feencrypt is removed without replacement.

Impact

A call to any of the aforementioned methods by third party code will result in a fatal PHP error.

Affected installations

Any installation which contains third party code still using these deprecated methods.

Migration

Replace the calls with the suggestions outlined above.

Breaking: #62673 - Deprecated extbase code is removed

Description

GenericQomStatement

You may no longer use bound variables without using a prepared statement.

ActionController

Support for old view configuration options templateRootPath, layoutRootPath and partialRootPath is dropped. Use the new options with fallback mechanism.

Removed PHP classes

  • QueryObjectModelConstantsInterface
  • QueryObjectModelFactoryInterface

Removed PHP class members

  • ActionController::$viewObjectNamePattern is removed without replacement
  • Repository::$backend is removed, use persistence manager instead

Removed PHP methods

  • ObjectManager::create() is removed, use ObjectManager::get() instead
  • ObjectManagerInterface::create() is removed
  • PersistenceGenericBackend::replaceObject() is removed without replacement
  • QuerySettingsInterface::setReturnRawQueryResult() is removed without replacement
  • QuerySettingsInterface::getReturnRawQueryResult() is removed, use the parameter on $query->execute() directly
  • Typo3QuerySettings::setSysLanguageUid() is removed, use setLanguageUid() instead
  • Typo3QuerySettings::getSysLanguageUid() is removed, use getLanguageUid() instead

Impact

A call to any of the aforementioned methods by third party code will result in a fatal PHP error.

Affected installations

Any installation which contains third party code still using these deprecated methods.

Migration

Replace the calls with the suggestions outlined above.

Breaking: #62291 - RTE wizard classes renamed

Description

The following two RTE classes were renamed:

TYPO3CMSRtehtmlareaContentParser renamed to TYPO3CMSRtehtmlareaControllerParseHtmlController TYPO3CMSRtehtmlareaUser renamed to TYPO3CMSRtehtmlareaControllerUserElementsController

Impact

3rd party extensions referring to an old class name will fail.

Affected installations

A TYPO3 instance is affected if a 3rd party extension refers to a renamed class by its old name.

Migration

The affected 3rd party extensions must be modified to use the new names of these classes.

Breaking: #62733 - RTE Javascript Files Moved

Description

Javascript files of the rtehtmlarea extension were moved from EXT:rtehtmlarea/htmlarea/ to EXT:rtehtmlarea/Resources/Public/JavaScript/

Impact

Javascript or file not found errors.

Affected installations

An installation is affected if a 3rd party extension loads any JavaScript file from EXT:rtehtmlarea/htmlarea/

Migration

Any affected 3rd party extension must be modified to load any JavaScript file from EXT:rtehtmlarea/Resources/Public/JavaScript/ instead.

Breaking: #62793 - TypoScript config.notification_* removed

Description

The following TypoScript options were removed:

code:`config.notification_email_charset` :code:`config.notification_email_encoding` :code:`config.notification_email_urlmode`

Impact

Using those options have no effect anymore.

Affected installations

Instances that set these options in FE TypoScript.

Migration

Those options can be safely removed. They were used with old mail handling and are substituted with a different engine that rendered those useless.

Breaking: #62804 - RTE JavaScript method HTMLArea.Editor::getNodeByPosition was moved

Description

RTE JavaScript method :code:`getNodeByPosition()` was moved from HTMLArea.Editor to HTMLArea.DOM.Node where it belongs.

Impact

3rd party extensions referring to :code:`HTMLArea.Editor::getNodeByPosition()` will fail.

Affected installations

A TYPO3 instance is affected if a 3rd party extension refers to the method :code:`HTMLArea.Editor::getNodeByPosition()`.

Migration

The affected 3rd party extensions must be modified to use method :code:`HTMLArea.DOM.Node::getNodeByPosition()` instead.

Breaking: #62819 - Remove php Localization Support

Description

The support for php files in localization, e.g. locallang.php files was deprecated with TYPO3 CMS 4.6. All translations are done with XLF in the core, XML files are still supported.

The parsing of PHP localization files is now disabled by default, the parsing class is now deprecated.

Impact

Extensions using locallang.php files for translation will not show labels anymore.

Affected installations

All installations with third-party extensions using locallang.php translation files.

Migration

Third-party extensions should migrate their translation files to the XLIFF format (XLF file extension). The extension development extension (Extension Key "extdeveval") can be used to transform locallang.php files to according XLF files.

Until this is done, it is possible to enable this option again by adding the following lines to typo3conf/AdditionalConfiguration.php:

$GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['format']['priority'] = 'xlf,xml,php';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['format']['parser']['php'] = 'TYPO3\\CMS\\Core\\Localization\\Parser\\LocallangArrayParser';
= Breaking: #62833 - Removed dividers2tabs functionality =

Description

The "dividers2tabs" option in the ctrl section of TCA allows to show tabs in FormEngine while editing records, instead of showing all fields in one long column. This behaviour is the default since some TYPO3 versions.

This option has no effect anymore, as "dividers2tabs" is removed for TYPO3 CMS Core. The option can also be safely removed from any extension that adds TCA data.

Impact

A third-party extension that overrides the dividers2tabs option for an existing table or that adds a TCA table with this option disabled will have a record editing with tabs from now on.

Affected installations

Installations with 3rd-party extensions with TCA tables that have "dividers2tabs" disabled.

Breaking: #62859 - Removal of doc:link.action view helper

Description

The view helper :code:`TYPO3CMSDocumentationViewHelpersLinkAction` has been removed.

Impact

Extensions that rely on existence of :code:`TYPO3CMSDocumentationViewHelpersLinkAction` won't work.

Affected installations

A TYPO3 instance is affected if a 3rd party extension uses the removed view helper.

Migration

Either use f:be.buttons.icon or any of f:uri.* view helpers.

Breaking: #62888 - Remove config.uniqueLinkVars

Description

The setting :code:`config.uniqueLinkVars` has been removed as the behaviour is now always used.

Migration

Remove the setting :code:`config.uniqueLinkVars` from the TypoScript.

Breaking: #62914 - Early check for PHP 5.5 in Install Tool

Description

PHP 5.5 or above is a requirement for TYPO3 CMS7. As code is using specific PHP 5.5 features, an early check is required in Install Tool.

Impact

Install Tool will throw an exception if PHP 5.5 or above is not detected.

Affected installations

Any installation without at least PHP 5.5.0.

Migration

Upgrade to PHP 5.5 or above.

Breaking: #62987 - Remove CSH Glossary

Description

Early TYPO3 versions featured a glossary functionality, served by an extension, with built in switches in the core. Those switches are now removed.

Impact

The functionality is no longer available.

Affected installations

Any installation using the CSH Glossary functionality.

Breaking: #63056 - Remove Template Selection Hack

Description

There has been an ancient hack for the former "freesite" extension, which enabled selection of the template via GET variable. This technique is outdated and has been removed.

Impact

Any extension using this hack will not be able to select the template this way anymore.

Affected installations

Installations with third party extensions using the hack.

Migration

No migration path intended.

Breaking: #63069 - Removed compatibility layer for submodules of func and info modules

Description

The web_info and web_func modules use the module dispatcher now and do not have their own index scripts. Therefore any submodule for those modules need to adjust links accordingly.

Impact

Any third party code creating links to either web_info or web_func module using the old entry scripts, will not work anymore.

Migration

Use :code:`BackendUtility::getModuleUrl()` instead to get the correct target for your links.

Breaking: #63110 - alt_doc_nodoc.php removed

Description

Script entry point typo3/alt_doc_nodoc.php and NoDocumentsOpenController class are removed without substitution.

Impact

A script pointing to this file resource will trigger a 404 server response and a script instantiating the class will cause a fatal error.

Affected installations

An extension needs to be adapted in the unlikely case that it uses this code.

Migration

Redirecting to typo3/dummy.php instead.