Giter Site home page Giter Site logo

typo3-rector's Introduction

Latest Stable Version Total Downloads Monthly Downloads Donate

Rector for TYPO3

This project lets you apply instant upgrades and refactoring to your TYPO3 Website and extension code, making it easier to migrate between TYPO3 releases and keeping your code free from deprecation.

It extends the Rector project, which aims to provide instant upgrades and refactoring for any PHP code (5.3+).

Warning

โ— Never run this tool on production! Always run it on development environment where code is under version control (e.g. git). Review and test changes before releasing to production. Code migrations could potentionally break your website!

URL
Repository: https://github.com/sabbelasichon/typo3-rector
Documentation: https://github.com/sabbelasichon/typo3-rector/tree/main/docs
Packagist: https://packagist.org/packages/ssch/typo3-rector
Website: https://www.typo3-rector.com

Installation

TYPO3 Rector requires at least PHP 7.4 but is also compatible with PHP 8. You can find more details about the installation in our installation documentation.

You can install the package via composer:

composer require --dev ssch/typo3-rector

You can create the rector config file with:

vendor/bin/typo3-init

Usage

To see the code migrations that Rector will do, run:

vendor/bin/rector process --dry-run

and when you want to execute the migrations run:

vendor/bin/rector process

Contributing

Please see CONTRIBUTING for details.

Funding/Sponsoring

Help us out and sponsor our work! Visit our website typo3-rector.com for more info.

This makes it possible to invest more time to keep the project alive and create even more rules for automated migration.

Support

Please post questions in the TYPO3 Slack channel #ext-typo3-rector or feel free to open an issue or start a discussion on GitHub.

Credits

Many thanks to Tomas Votruba for maintaining Rector. Many thanks to All Contributors.

Follow us on X:

License

The MIT License (MIT). Please see License File for more information.

Known Drawbacks

How to Apply Coding Standards?

Rector uses nikic/php-parser, built on technology called an abstract syntax tree (AST). An AST doesn't know about spaces and when written to a file it produces poorly formatted code in both PHP and docblock annotations. That's why your project needs to have a coding standard tool and a set of formatting rules, so it can make Rector's output code nice and shiny again.

We're using ECS with this setup.

typo3-rector's People

Contributors

126016 avatar actions-user avatar ayacoo avatar danielsiepmann avatar dependabot[bot] avatar dev-rke avatar eliashaeussler avatar github-actions[bot] avatar helsner avatar kanti avatar kitzberger avatar linawolf avatar mabahe avatar maddy2101 avatar mk-42 avatar nhovratov avatar oliverklee avatar peterkraume avatar rintisch avatar robert-heinig avatar sabbelasichon avatar samsonasik avatar sandoba avatar simonschaufi avatar t3easy avatar tmotyl avatar tomasnorre avatar tomasvotruba avatar tuurlijk avatar utrotzek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

typo3-rector's Issues

Breaking: #60630 - Scheduler Module Template File Moved

Breaking: #60630 - Scheduler Module Template File Moved

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-60630-SchedulerModuleTemplateMoved.html

.. include:: ../../Includes.txt

=======================================================

Breaking: #60630 - Scheduler Module Template File Moved

=======================================================

See :issue:60630

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.

.. index:: ext:scheduler, Backend

Breaking: #61785 - getCompressedTCarray and includeTCA from TypoScriptFrontendController removed

Breaking: #61785 - getCompressedTCarray and includeTCA from TypoScriptFrontendController removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61785-FrontendTcaFunctionsRemoved.html

.. include:: ../../Includes.txt

================================================================================================

Breaking: #61785 - getCompressedTCarray and includeTCA from TypoScriptFrontendController removed

================================================================================================

See :issue:61785

Description

===========

Methods :code:getCompressedTCarray() and :code:includeTCA() from :code:\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController

have been removed.

Impact

======

Extensions that still use :code:\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getCompressedTCarray()

or :code:\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::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:\TYPO3\CMS\Frontend\Utility\EidUtility::initTCA() instead.

.. index:: PHP-API, Frontend

Deprecation: #62800 - Workspaces ToolbarItem via ExtDirect

Deprecation: #62800 - Workspaces ToolbarItem via ExtDirect

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Deprecation-62800-WorkspaceToolbarItem.html

.. include:: ../../Includes.txt

==========================================================

Deprecation: #62800 - Workspaces ToolbarItem via ExtDirect

==========================================================

See :issue:62800

Description

===========

The PHP functionality for switching a workspace was done with the ExtDirect call :code:TYPO3.Ajax.ExtDirect.ToolbarMenu

until now. This has been replaced by a simple AJAX JSON call, based on jQuery and the refactored ToolbarItem Menu for

the workspaces module.

Impact

======

The core does not use this functionality anymore, and also removed the ExtDirect registration for this class.

Affected installations

======================

All installations which directly used the ExtDirect :code:TYPO3.Ajax.ExtDirect.ToolbarMenu to fetch the data.

Migration

=========

Use the new AjaxHandler :code:Workspaces::setWorkspace() directly instead.

.. index:: PHP-API, JavaScript, Backend, ext:workspaces

Deprecation: #62795 - DocumentTemplate->endPageJS()

Deprecation: #62795 - DocumentTemplate->endPageJS()

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Deprecation-62795-DocumentTemplateJavaScript.html

.. include:: ../../Includes.txt

===================================================

Deprecation: #62795 - DocumentTemplate->endPageJS()

===================================================

See :issue:62795

Description

===========

Method :code:TYPO3\CMS\Backend\Template\DocumentTemplate::endPageJS() and the according property :code:endJS have been marked as deprecated.

Impact

======

None, as it isn't in use anymore since TYPO3 CMS 4.5 and was responsible for notifying the browser that the session

is still active.

Affected installations

======================

Installations misusing top.busy until now for their own good will break.

.. index:: PHP-API, JavaScript, Backend

Breaking: #61863 - deprecated connectDB from EidUtility removed

Breaking: #61863 - deprecated connectDB from EidUtility removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61863-ConnectDbFunctionRemoved.html

.. include:: ../../Includes.txt

===============================================================

Breaking: #61863 - deprecated connectDB from EidUtility removed

===============================================================

See :issue:61863

Description

===========

Method :code:connectDB() from :code:\TYPO3\CMS\Frontend\Utility\EidUtility 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.

.. index:: PHP-API, Frontend

Breaking: #62039 - Removed TBE_STYLES[mainColors]

Breaking: #62039 - Removed TBE_STYLES[mainColors]

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62039-RemovedTBE_StylesMainColors.html

.. include:: ../../Includes.txt

=================================================

Breaking: #62039 - Removed TBE_STYLES[mainColors]

=================================================

See :issue:62039

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.

.. index:: PHP-API, Backend

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

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

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62339-MoveExtPermIntoExtBeuser.html

.. include:: ../../Includes.txt

====================================================================

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

====================================================================

See :issue:62339

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.

.. index:: PHP-API, Backend, ext:beuser

Breaking: #53658 - option alternateBgColors removed

Breaking: #53658 - option alternateBgColors removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-53658-RemoveAlternateBgColorsOption.html

.. include:: ../../Includes.txt

===================================================

Breaking: #53658 - option alternateBgColors removed

===================================================

See :issue:53658

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.

.. index:: TSConfig, Backend

Deprecation: #62363 - TSFE->JSeventFuncCalls disabled

Deprecation: #62363 - TSFE->JSeventFuncCalls disabled

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Deprecation-62363-TSFE-JSfuncCalls.html

.. include:: ../../Includes.txt

=====================================================

Deprecation: #62363 - TSFE->JSeventFuncCalls disabled

=====================================================

See :issue:62363

Description

===========

TYPO3 CMS provides a way to register direct JS calls to be added to the body tag of the frontend output

to allow several functions to register for e.g. "onload". Nowadays this is done via JS frameworks directly,

or via JS variables.

The functionality has been marked as deprecated.

Impact

======

The core does not use this functionality anymore. Installations with menus using "GMENU_LAYERS",

which has been removed from the core a while ago, but still use it via third-party extensions,

might not work anymore as expected.

Affected installations

======================

All installations which use the :code:$TSFE->JSeventFuncCalls option, e.g. like GMENU_LAYERS.

Migration

=========

Every call of a 3rd party extension to the mentioned method must be changed to use their own

JS function registration.

.. index:: JavaScript, TypoScript, Frontend

Breaking: #60561 - Default TypoScript Constants Removed

Breaking: #60561 - Default TypoScript Constants Removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-60561-DefaultTypoScriptConstantsRemoved.html

.. include:: ../../Includes.txt

=======================================================

Breaking: #60561 - Default TypoScript Constants Removed

=======================================================

See :issue:60561

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.

.. code-block:: typoscript

  _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"

.. index:: TypoScript, Frontend

Breaking: #57396 - Deprecated Extbase Property Mapper was removed

Breaking: #57396 - Deprecated Extbase Property Mapper was removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-57396-ExtbaseDeprecatedPropertyMapperRemoved.html

.. include:: ../../Includes.txt

=================================================================

Breaking: #57396 - Deprecated Extbase Property Mapper was removed

=================================================================

See :issue:57396

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.

.. index:: TypoScript, PHP-API, ext:extbase

Breaking: #62819 - Remove php Localization Support

Breaking: #62819 - Remove php Localization Support

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62819-LocalizationWithPHPFiles.html

.. include:: ../../Includes.txt

==================================================

Breaking: #62819 - Remove php Localization Support

==================================================

See :issue:62819

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:

.. code-block:: 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';

.. index:: PHP-API, Backend, Frontend, LocalConfiguration

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

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

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-54409-RteAcronymButtonRenamedAbbreviation.html

.. include:: ../../Includes.txt

==================================================================

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

==================================================================

See :issue:54409

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 TYPO3\CMS\Rtehtmlarea\Extension\Acronym

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 TYPO3\CMS\Rtehtmlarea\Extension\Abbreviation rather than TYPO3\CMS\Rtehtmlarea\Extension\Acronym

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

.. index:: TSConfig, RTE, PHP-API, Backend

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

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

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-59659-DeprecatedCodeRemovalInBackendSysext.html

.. include:: ../../Includes.txt

===============================================================

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

===============================================================

See :issue:59659

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


  • 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.

.. index:: PHP-API, Backend

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

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

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61471-t3skinCssFilesMovedToLess.html

.. include:: ../../Includes.txt

=====================================================

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

=====================================================

See :issue:61471

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.

.. index:: PHP-API, Backend, ext:t3skin

Breaking: #61959 - Move flash message output to alerts

Breaking: #61959 - Move flash message output to alerts

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61959-FlashMessageClasses.html

.. include:: ../../Includes.txt

======================================================

Breaking: #61959 - Move flash message output to alerts

======================================================

See :issue:61959

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.

.. index:: Backend, Frontend

Breaking: #60559 - Dropped Backend Login Options

Breaking: #60559 - Dropped Backend Login Options

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-60559-DroppedBackendLoginOptions.html

.. include:: ../../Includes.txt

================================================

Breaking: #60559 - Dropped Backend Login Options

================================================

See :issue:60559

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.

.. index:: Backend, ext:t3skin

Breaking: #61859 - deprecated file type FILETYPE_SOFTWARE removed

Breaking: #61859 - deprecated file type FILETYPE_SOFTWARE removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61859-FileTypeSoftwareRemoved.html

.. include:: ../../Includes.txt

=================================================================

Breaking: #61859 - deprecated file type FILETYPE_SOFTWARE removed

=================================================================

See :issue:61859

Description

===========

The constant :code:\TYPO3\CMS\Core\Resource\AbstractFile::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:\TYPO3\CMS\Core\Resource\AbstractFile::FILETYPE_SOFTWARE.

Migration

=========

Use :code:\TYPO3\CMS\Core\Resource\AbstractFile::FILETYPE_APPLICATION instead, which matches the Iana standard.

.. index:: PHP-API, FAL

Breaking: #62291 - RTE wizard classes renamed

Breaking: #62291 - RTE wizard classes renamed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62731-RTEWizardClassesRenamed.html

.. include:: ../../Includes.txt

=============================================

Breaking: #62291 - RTE wizard classes renamed

=============================================

See :issue:62291

Description

===========

The following two RTE classes were renamed:

TYPO3\CMS\Rtehtmlarea\ContentParser renamed to TYPO3\CMS\Rtehtmlarea\Controller\ParseHtmlController

TYPO3\CMS\Rtehtmlarea\User renamed to TYPO3\CMS\Rtehtmlarea\Controller\UserElementsController

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.

.. index:: PHP-API, RTE, Backend

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

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

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62914-EarlyCheckPHP55InInstallTool.html

.. include:: ../../Includes.txt

==========================================================

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

==========================================================

See :issue:62914

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.

.. index:: PHP-API

Breaking: #62291 - RTE Deprecated JavaScript methods removed

Breaking: #62291 - RTE Deprecated JavaScript methods removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62291-RTEDeprecatedJavaScriptMethodsRemoved.html

.. include:: ../../Includes.txt

============================================================

Breaking: #62291 - RTE Deprecated JavaScript methods removed

============================================================

See :issue:62291

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.

.. index:: JavaScript, RTE, Backend

Breaking: #61785 - loadTCA function in GeneralUtility removed

Breaking: #61785 - loadTCA function in GeneralUtility removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61785-LoadTcaFunctionRemoved.html

.. include:: ../../Includes.txt

=============================================================

Breaking: #61785 - loadTCA function in GeneralUtility removed

=============================================================

See :issue:61785

Description

===========

Method :code:loadTCA() from :code:\TYPO3\CMS\Core\Utility\GeneralUtility is removed.

Impact

======

Extensions that still use :code:\TYPO3\CMS\Core\Utility\GeneralUtility::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.

.. index:: PHP-API

Breaking: #33805 - ClickMenu Rewrite

Breaking: #33805 - ClickMenu Rewrite

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-33805-ClickMenuRewrite.html

.. include:: ../../Includes.txt

====================================

Breaking: #33805 - ClickMenu Rewrite

====================================

See :issue:33805

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.

  • BackendUtility::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:

.. code-block:: html

<a href="#" class="t3-js-clickmenutrigger" data-table="be_users" data-uid="{record.uid}" data-listframe="1">

.. index:: PHP-API, Backend

Breaking: #62673 - Deprecated extbase code is removed

Breaking: #62673 - Deprecated extbase code is removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62673-ExtbaseDeprecatedCodeRemoved.html

.. include:: ../../Includes.txt

=====================================================

Breaking: #62673 - Deprecated extbase code is removed

=====================================================

See :issue:62673

Description

===========

Generic\Qom\Statement


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

  • Persistence\Generic\Backend::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.

.. index:: PHP-API, ext:extbase

Breaking: #57382 - Remove old flash message API

Breaking: #57382 - Remove old flash message API

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-57382-FlashMessageApi.html

.. include:: ../../Includes.txt

===============================================

Breaking: #57382 - Remove old flash message API

===============================================

See :issue:57382

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

.. index:: PHP-API

Breaking: #61459 - Removal of tslib directory and constant

Breaking: #61459 - Removal of tslib directory and constant

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61459-RemovalTslib.html

.. include:: ../../Includes.txt

==========================================================

Breaking: #61459 - Removal of tslib directory and constant

==========================================================

See :issue:61459

Description

===========

The tslib/ directory and the constant PATH_tslib were removed.

Impact

======

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

Affected installations

======================

A TYPO3 instance is affected if a 3rd party extension uses :file:index_ts.php directly, or if the main

:file: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.

.. index:: PHP-API, Frontend

Breaking: #62833 - Removed dividers2tabs functionality

Breaking: #62833 - Removed dividers2tabs functionality

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62833-Dividers2Tabs.html

.. include:: ../../Includes.txt

======================================================

Breaking: #62833 - Removed dividers2tabs functionality

======================================================

See :issue:62833

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.

.. index:: TCA, Backend

Breaking: #60630 - Scheduler Language Files Moved

Breaking: #60630 - Scheduler Language Files Moved

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-60630-SchedulerLanguageFilesMoved.html

.. include:: ../../Includes.txt

=================================================

Breaking: #60630 - Scheduler Language Files Moved

=================================================

See :issue:60630

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.

.. index:: Backend, ext:scheduler

Deprecation: #62893 - Flashmessage JavaScript object TYPO3.Flashmessages was moved

Deprecation: #62893 - Flashmessage JavaScript object TYPO3.Flashmessages was moved

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Deprecation-62893-FlashmessageJavaScriptObjectMoved.html

.. include:: ../../Includes.txt

==================================================================================

Deprecation: #62893 - Flashmessage JavaScript object TYPO3.Flashmessages was moved

==================================================================================

See :issue:62893

Description

===========

Flashmessages JavaScript object has been moved from TYPO3.Flashmessages to top.TYPO3.Flashmessages.

The severity constant values has been changed to correspond to the same values (-2,-1,0,1,2) of the constants as in PHP.

The constants TYPO3.Severity.information have been marked as deprecated.

3rd party extensions referring to TYPO3.Severity.information will work until CMS 9.

A compatibility file was introduced to map TYPO3.Flashmessages to top.TYPO3.Flashmessages, will also work until CMS 9.

Impact

======

If a 3rd party extension calls the mentioned methods directly, a deprecation log will be written to the browser console.

Affected installations

======================

A TYPO3 instance is affected if a 3rd party extension refers to the method TYPO3.Flashmessages.display() or uses TYPO3.Severity.information constants.

Migration

=========

The affected 3rd party extensions must be modified to use top.TYPO3.Flashmessages instead of TYPO3.Flashmessages.

Example:

.. code-block:: javascript

// Old and deprecated:

TYPO3.Flashmessages.display(TYPO3.Severity.notice)



// New and the only correct way:

top.TYPO3.Flashmessages.display(top.TYPO3.Severity.notice)

The TYPO3.Severity object has been moved to top.TYPO3.Severity. Use top.TYPO3.Severity.* instead.

.. index:: JavaScript, Backend

Deprecation: #62854 - Abstractplugin->pi_list_searchBox()

Deprecation: #62854 - Abstractplugin->pi_list_searchBox()

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Deprecation-62854-Deprecate-pi_list_searchBox.html

.. include:: ../../Includes.txt

=========================================================

Deprecation: #62854 - Abstractplugin->pi_list_searchBox()

=========================================================

See :issue:62854

Description

===========

Method :code:pi_list_searchBox() of AbstractPlugin (aka pibase) was used with very old

search solutions and is hopelessly outdated. It is now discouraged to be used

and will be removed with next major version.

Impact

======

Extensions still using :code:pi_list_searchBox() will throw a deprecation warning.

Affected installations

======================

Any extension still using this method needs to be adapted.

.. index:: PHP-API, Frontend

Breaking: #63056 - Remove Template Selection Hack

Breaking: #63056 - Remove Template Selection Hack

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-63056-TemplateSelectionHack.html

.. include:: ../../Includes.txt

=================================================

Breaking: #63056 - Remove Template Selection Hack

=================================================

See :issue:63056

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.

.. index:: PHP-API, Frontend

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

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

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-60135-RecursiveStdWrapChange.html

.. include:: ../../Includes.txt

============================================================

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

============================================================

See :issue:60135

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.

.. index:: TypoScript, Frontend

Breaking: #62888 - Remove config.uniqueLinkVars

Breaking: #62888 - Remove config.uniqueLinkVars

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62888-RemoveUniqueLinkVars.html

.. include:: ../../Includes.txt

===============================================

Breaking: #62888 - Remove config.uniqueLinkVars

===============================================

See :issue:62888

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.

.. index:: TypoScript, Frontend

Breaking: #61782 - deprecated DocumentTemplate classes removed

Breaking: #61782 - deprecated DocumentTemplate classes removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61782-DeprecatedDocumentTemplateClassesRemoved.html

.. include:: ../../Includes.txt

==============================================================

Breaking: #61782 - deprecated DocumentTemplate classes removed

==============================================================

See :issue:61782

Description

===========

The following deprecated classes have been removed:

:code:\TYPO3\CMS\Backend\Template\MediumDocumentTemplate

:code:\TYPO3\CMS\Backend\Template\SmallDocumentTemplate

:code:\TYPO3\CMS\Backend\Template\StandardDocumentTemplate

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:\TYPO3\CMS\Backend\Template\DocumentTemplate instead.

.. index:: PHP-API, Backend

Breaking: #61823 - Remove magic setter for $fromTC

Breaking: #61823 - Remove magic setter for $fromTC

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61823-RemoveMagicSettterForFromTC.html

.. include:: ../../Includes.txt

==================================================

Breaking: #61823 - Remove magic setter for $fromTC

==================================================

See :issue:61823

Description

===========

The magic setter for :code:$fromTC in \TYPO3\CMS\Core\Database\RelationHandler 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:\TYPO3\CMS\Core\Database\RelationHandler::setFetchAllFields() instead.

.. index:: PHP-API, Backend

Breaking: #62733 - RTE Javascript Files Moved

Breaking: #62733 - RTE Javascript Files Moved

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62733-RTEJavaScriptFilesMoved.html

.. include:: ../../Includes.txt

=============================================

Breaking: #62733 - RTE Javascript Files Moved

=============================================

See :issue:62733

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.

.. index:: JavaScript, RTE, Backend

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

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

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62859-RemovalDocumentationLinkActionViewHelper.html

.. include:: ../../Includes.txt

=========================================================

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

=========================================================

See :issue:62859

Description

===========

The view helper :code:\TYPO3\CMS\Documentation\ViewHelpers\Link\Action has been removed.

Impact

======

Extensions that rely on existence of :code:\TYPO3\CMS\Documentation\ViewHelpers\Link\Action 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.

.. index:: Fluid, Backend, ext:documentation

Breaking: #53542 - Removal of deprecated code in sysext fluid

Breaking: #53542 - Removal of deprecated code in sysext fluid

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-53542-DeprecatedCodeRemovalInFluid.html

.. include:: ../../Includes.txt

=============================================================

Breaking: #53542 - Removal of deprecated code in sysext fluid

=============================================================

See :issue:53542

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.

.. index:: PHP-API, Fluid

Deprecation: #60574 - Client Related Conditions

Deprecation: #60574 - Client Related Conditions

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Deprecation-60574-ClientRelatedConditions.html

.. include:: ../../Includes.txt

===============================================

Deprecation: #60574 - Client Related Conditions

===============================================

See :issue:60574

Description

===========

Conditions that depend on client details are unlovely for a number

of reasons:

  • Per condition or permutation of conditions that matches, the frontend

    creates a different cache entry. This can lead to a very high number

    of cache entrys per page

  • Conditions based on browser or clients on server side are bad practice.

  • The device information in the core is outdated (for example it is possible to match "AMIGA")

  • Setups like reverse proxies give additional headaches with these types of conditions

  • All client related condition types are deprecated with this patch.

Impact

======

Usage of client related TypoScript conditions will result in a deprecation log message. Client related conditions

are browser, version, system and useragent.

Affected installations

======================

Installations using TypoScript conditions for browser, version, system or useragent.

Migration

=========

  • Most usual conditions for specific browsers can nowadays be turned into conditional CSS includes

  • Use libraries such as modernizr for browser support

  • If conditions for specific clients or devices are still needed, they

    should be done with a userFunc condition and a project like WURFL

    that keep the device information more recent than the current core

    code like matching AMIGA

.. index:: TypoScript, Frontend

Breaking: #62595 - Remove SU change-to mode

Breaking: #62595 - Remove SU change-to mode

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62595-RemovedChangeToSwitchModeFromBeUser.html

.. include:: ../../Includes.txt

===========================================

Breaking: #62595 - Remove SU change-to mode

===========================================

See :issue:62595

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.

.. index:: Fluid, Backend

Breaking: #62987 - Remove CSH Glossary

Breaking: #62987 - Remove CSH Glossary

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62987-RemoveCSHGlossary.html

.. include:: ../../Includes.txt

======================================

Breaking: #62987 - Remove CSH Glossary

======================================

See :issue:62987

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.

.. index:: PHP-API, Backend

Breaking: #61820 - deprecated PhpOptionsUtility functions removed

Breaking: #61820 - deprecated PhpOptionsUtility functions removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61820-PhpOptionsUtilityDeprecatedFunctionsRemoved.html

.. include:: ../../Includes.txt

=================================================================

Breaking: #61820 - deprecated PhpOptionsUtility functions removed

=================================================================

See :issue:61820

Description

===========

The :code:\TYPO3\CMS\Core\Utility\PhpOptionsUtility 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:\TYPO3\CMS\Core\Utility\PhpOptionsUtility::isSafeModeEnabled()

or :code:\TYPO3\CMS\Core\Utility\PhpOptionsUtility::isMagicQuotesGpcEnabled() functions.

The Install Tool takes care of the removed checks now.

.. index:: PHP-API

Breaking: #60559 - T3skin Backend Login Javascript File Moved

Breaking: #60559 - T3skin Backend Login Javascript File Moved

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-60559-T3skinBackendLoginJavascriptFileMoved.html

.. include:: ../../Includes.txt

=============================================================

Breaking: #60559 - T3skin Backend Login Javascript File Moved

=============================================================

See :issue:60559

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.

.. index:: JavaScript, ext:t3skin, Backend

Breaking: #61860 - deprecated function int_from_ver removed

Breaking: #61860 - deprecated function int_from_ver removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61860-RemoveIntFromVerFunction.html

.. include:: ../../Includes.txt

===========================================================

Breaking: #61860 - deprecated function int_from_ver removed

===========================================================

See :issue:61860

Description

===========

Function :code:int_from_ver() from :code:\TYPO3\CMS\Core\Utility\GeneralUtility 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:\TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger()

.. index:: PHP-API

Breaking: #63110 - alt_doc_nodoc.php removed

Breaking: #63110 - alt_doc_nodoc.php removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-63110-AltDocNoDoc-Removed.html

.. include:: ../../Includes.txt

============================================

Breaking: #63110 - alt_doc_nodoc.php removed

============================================

See :issue:63110

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.

.. index:: PHP-API, Backend

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

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

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-62804-RTEJavaScriptMethodMoved.html

.. include:: ../../Includes.txt

=====================================================================================

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

=====================================================================================

See :issue:62804

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.

.. index:: RTE, JavaScript, Backend

Breaking: #61786 - remove deprecated TypeHandlingService in extbase

Breaking: #61786 - remove deprecated TypeHandlingService in extbase

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-61786-ExtbaseDeprecatedTypeHandlingServiceRemoved.html

.. include:: ../../Includes.txt

===================================================================

Breaking: #61786 - remove deprecated TypeHandlingService in extbase

===================================================================

See :issue:61786

Description

===========

The TypeHandlingService class is removed from the extbase extension.

Impact

======

Extensions that still use :code:\TYPO3\CMS\Extbase\Service\TypeHandlingService won't work.

Affected installations

======================

A TYPO3 instance is affected if a 3rd party extension uses the removed class :code:\TYPO3\CMS\Extbase\Service\TypeHandlingService.

Migration

=========

Replace all calls to :code:\TYPO3\CMS\Extbase\Service\TypeHandlingService functions to their new static functions

in :code:\TYPO3\CMS\Extbase\Utility\TypeHandlingUtility

.. index:: PHP-API, ext:extbase

Breaking: #75942 - BigDocumentTemplate class removed

Breaking: #75942 - BigDocumentTemplate class removed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-75942-BigDocumentTemplateClassRemoved.html

.. include:: ../../Includes.txt

====================================================

Breaking: #75942 - BigDocumentTemplate class removed

====================================================

See :issue:75942

Description

===========

The following class has been removed:

:code:\TYPO3\CMS\Backend\Template\BigDocumentTemplate

Impact

======

Extensions that still use the removed class for their backend module won't work.

Affected installations

======================

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

Migration

=========

Use :code:\TYPO3\CMS\Backend\Template\DocumentTemplate instead.

.. index:: PHP-API, Backend

Breaking: #60630 - Scheduler Javascript File Moved

Breaking: #60630 - Scheduler Javascript File Moved

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-60630-SchedulerJavascriptFileMoved.html

.. include:: ../../Includes.txt

==================================================

Breaking: #60630 - Scheduler Javascript File Moved

==================================================

See :issue:60630

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.

.. index:: JavaScript, Backend, ext:scheduler

Breaking: #60609 - Configuration Manager Signal Changed

Breaking: #60609 - Configuration Manager Signal Changed

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.0/Breaking-60609-ConfigurationManagerSignalChange.html

.. include:: ../../Includes.txt

=======================================================

Breaking: #60609 - Configuration Manager Signal Changed

=======================================================

See :issue:60609

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.

.. index:: PHP-API, Backend, ext:extensionmanager

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.