TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-37180:
|
||||
|
||||
===============================================================
|
||||
Breaking: #37180 - ExtDirectDebug and $GLOBALS['error'] removed
|
||||
===============================================================
|
||||
|
||||
See :issue:`37180`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The class :php:`TYPO3\CMS\Core\ExtDirect\ExtDirectDebug` has been removed and within the change, also the usage of the
|
||||
global variable :php:`$GLOBALS['error']` has been removed.
|
||||
|
||||
The following global methods are removed as well:
|
||||
|
||||
- :php:`debugBegin()`
|
||||
- :php:`debugEnd()`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Accessing the class :php:`TYPO3\CMS\Core\ExtDirect\ExtDirectDebug`, the global variable :php:`$GLOBALS['error']` or the
|
||||
global methods :php:`debugBegin()` and :php:`debugEnd()` will lead to an exception.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All instances, that use the mentioned class, global methods or access the global variable.
|
||||
The extension scanner of the install tool will find affected extensions.
|
||||
|
||||
.. index:: PHP-API, Backend, FullyScanned
|
||||
@@ -0,0 +1,31 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-52694:
|
||||
|
||||
==============================================================
|
||||
Breaking: #52694 - GeneralUtility::devLog() not called anymore
|
||||
==============================================================
|
||||
|
||||
See :issue:`52694`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
:php:`TYPO3\CMS\Core\Utility\GeneralUtility::devLog()` is deprecated. Therefore the Core does not call this function
|
||||
anymore. Instead the Logging API is used to write log data.
|
||||
|
||||
The option to write the deprecation log to the devLog has been removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Log data can be filtered through the writer configuration for the Logging API.
|
||||
Registered devLog extensions are not triggered anymore by the Core.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Add a custom writer configuration to retrieve devLog entries. These are mostly of level Info and Notice.
|
||||
|
||||
.. index:: PHP-API, NotScanned
|
||||
@@ -0,0 +1,101 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-55298:
|
||||
|
||||
======================================================
|
||||
Breaking: #55298 - Decoupled sys_history functionality
|
||||
======================================================
|
||||
|
||||
See :issue:`55298`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Tracking of record changes within the TYPO3 Backend is now handled via the database table `sys_history` only,
|
||||
the connection towards `sys_log` has been removed - at the same time, the backend view for showing the history
|
||||
of a database record has been updated.
|
||||
|
||||
|
||||
Database-related changes
|
||||
------------------------
|
||||
Changes of database records within DataHandler are now always tracked regardless of enabled logging within DataHandler.
|
||||
It is not possible to disable this functionality by design (e.g. for bulk-inserts), otherwise the history of a database
|
||||
record would not be complete.
|
||||
|
||||
DataHandler now tracks inserts/deletes/undelete entries into `sys_history` as well. Previously this was only
|
||||
stored within `sys_log` (where it is still logged, if logging is enabled).
|
||||
|
||||
Instead of having sys_history database entries that are referenced into sys_log contain all necessary data, all data
|
||||
is now stored within sys_history. All additional payload data is stored as JSON and not as serialized array.
|
||||
|
||||
A PHP new class :php:`RecordHistory` store has been introduced to act as API layer for storing any activity (including
|
||||
moving records).
|
||||
|
||||
BE-log module
|
||||
-------------
|
||||
Referencing history entries within the BE-Log module is now done reverse (sys_log has a reference to an existing
|
||||
sys_history record, and not vice-versa), speeding up the module rendering. The following related PHP classes
|
||||
have been removed which were previously needed for rendering within the BE-Log backend module:
|
||||
|
||||
* :php:`\TYPO3\CMS\Belog\Domain\Model\HistoryEntry`
|
||||
* :php:`\TYPO3\CMS\Belog\Domain\Repository\HistoryEntryRepository`
|
||||
* :php:`\TYPO3\CMS\Belog\ViewHelpers\HistoryEntryViewHelper`
|
||||
|
||||
History view
|
||||
------------
|
||||
The "highlight" functionality for selecting a specific change within the history module of the TYPO3 Backend
|
||||
has been removed.
|
||||
|
||||
A clear separation of concerns has been introduced between :php:`ElementHistoryController`, which is the entry-point
|
||||
for viewing changes of a record, and :php:`RecordHistory`. The latter is now the place for fetching the history
|
||||
data and doing rollbacks, where the Controller class is responsible for evaluating display-related settings inside the
|
||||
module, and for preparing and rendering the Fluid-based output.
|
||||
|
||||
The following public PHP methods have now been removed or made protected.
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->maxSteps` (see the added setMaxSteps() method)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->showDiff`
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->showSubElements` (see the added setShowSubElements() method)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->showInsertDelete` (moved into controller)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->element`
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->lastSyslogId`
|
||||
* [not scanned] :php:`TYPO3\CMS\Backend\History\RecordHistory->returnUrl`
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->showMarked`
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->main()` (logic moved into controller)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->toggleHighlight()`
|
||||
* Method parameter of :php:`TYPO3\CMS\Backend\History\RecordHistory->performRollback()`
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->displaySettings()` (logic moved into controller)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->displayHistory()` (logic moved into controller)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->displayMultipleDiff()` (logic moved into controller)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->renderDiff()` (logic moved into controller)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->generateTitle()` (logic moved into controller)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->linkPage()` (logic moved into view)
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->removeFilefields()`
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->resolveElement()`
|
||||
* :php:`TYPO3\CMS\Backend\History\RecordHistory->resolveShUid()`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\ContentElement\ElementHistoryController->content`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\ContentElement\ElementHistoryController->doc`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\ContentElement\ElementHistoryController->main()`
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling any of the PHP methods will result in a fatal PHP error. Getting or setting any of the PHP properties
|
||||
will trigger a PHP warning.
|
||||
|
||||
Using the affected database tables directly will produce unexpected results than before.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using the record history, or extensions extending sys_history.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
An upgrade wizard to separate existing history data from `sys_log` can be found within the Install Tool.
|
||||
|
||||
The install tool also checks for existing extensions making use of the dropped and changed PHP code.
|
||||
|
||||
.. index:: Database, PHP-API, Backend, PartiallyScanned
|
||||
@@ -0,0 +1,66 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-57594:
|
||||
|
||||
============================================================
|
||||
Breaking: #57594 - Optimize ReflectionService Cache handling
|
||||
============================================================
|
||||
|
||||
See :issue:`57594`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The `extbase_object` cache has been removed completely and all necessary information about objects,
|
||||
mainly @inject information, is now fetched from the ReflectionService as well.
|
||||
|
||||
The ReflectionService does still create `ClassSchema` instances but these were improved a lot. All
|
||||
necessary information is now gathered during the instantiation of `ClassSchema` instances. That means
|
||||
that all necessary data is fetched once and then it can be used everywhere making any further
|
||||
reflection superfluous.
|
||||
|
||||
As runtime reflection has been removed completely, along with it several reflection classes, that
|
||||
analyzed doc blocks, have been removed as well. These are no longer necessary.
|
||||
|
||||
The `extbase_reflection` cache is no longer plugin based and will no longer be stored in the database
|
||||
in the first place. Serialized ClassSchema instances will be stored in `typo3temp/var/cache` or `var/cache` for
|
||||
composer-based installations.
|
||||
|
||||
The following classes for internal use only and have been removed:
|
||||
|
||||
* :php:`ClassInfo`
|
||||
* :php:`ClassInfoCache`
|
||||
* :php:`ClassInfoFactory`
|
||||
* :php:`ClassReflection`
|
||||
* :php:`MethodReflection`
|
||||
* :php:`ParameterReflection`
|
||||
* :php:`PropertyReflection`
|
||||
|
||||
The following methods of the PHP class :php:`ReflectionService` have been removed:
|
||||
|
||||
* :php:`injectConfigurationManager`
|
||||
* :php:`setDataCache`
|
||||
* :php:`initialize`
|
||||
* :php:`isInitialized`
|
||||
* :php:`shutdown`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Installations using the above classes or methods will throw a fatal error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations using one of the mentioned classes or methods instead of the ReflectionService API.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the class :php:`ReflectionService` as API which will be automatically initialized on
|
||||
instantiation.
|
||||
|
||||
.. index:: PHP-API, FullyScanned, ext:extbase
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-71306:
|
||||
|
||||
=================================================================================
|
||||
Breaking: #71306 - Dropped "Protocol" field from page type "Link to external URL"
|
||||
=================================================================================
|
||||
|
||||
See :issue:`71306`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
When selecting the page type "External Url" the option to select the protocol / URL scheme for the
|
||||
external target has been dropped, and is now added directly to the external target field.
|
||||
|
||||
Previously it was possible to select between "http://", "https://", "ftp://" and "mailto:" or no
|
||||
prefix. As this sets confusion for editors and also makes it more complicated when pasting an
|
||||
external URL directly, the field is removed.
|
||||
|
||||
The according PHP functionality has been removed:
|
||||
|
||||
* The TCA definition for "pages.urltype" and "pages_language_overlay.urltype" has been removed.
|
||||
* The according database fields is not populated anymore, and will be removed when using the Database
|
||||
Scheme Migrations in the install tool. For new installations the fields are not created anymore.
|
||||
* The public PHP class property :php:`PageRepository->urltypes` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Editing a page record or page translation record of type "External URL" in the TYPO3 Backend will
|
||||
not include the "Protocol" field is anymore. Instead, the "URL" field will contain the full target
|
||||
including the scheme part of a URL.
|
||||
|
||||
Accessing the public property will throw a PHP-internal warning message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
TYPO3 extensions making use of the "urltype" fields or TCA values for custom targets or evaluating
|
||||
the urltype field in a separate functionality like "custom external redirects".
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The existing data is migrated via an Install Tool wizard to have all external URLs behave the same
|
||||
as before.
|
||||
|
||||
The "pages.url" field will now contain the full URL target with scheme.
|
||||
|
||||
.. index:: Backend, Database, Frontend, PHP-API, TCA, PartiallyScanned
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-74533:
|
||||
|
||||
==================================================================
|
||||
Breaking: #74533 - Throw exception if user function does not exist
|
||||
==================================================================
|
||||
|
||||
See :issue:`74533`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
:php:`GeneralUtility::callUserFunction()` does now always throw an exception if the passed
|
||||
user function does not exist or is not callable. The parameter `$errorMode` has been removed,
|
||||
exceptions are now always thrown. The method should not be called with more than three arguments.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling a not existing or uncallable user function leads to an exception, breaking the page output.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All TYPO3 installations are affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove or fix invalid `userFunc` calls registered in TypoScript and/or `ext_localconf.php`. Catch exceptions properly
|
||||
with try/catch.
|
||||
|
||||
.. index:: PHP-API, PartiallyScanned
|
||||
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-79777:
|
||||
|
||||
=================================================================
|
||||
Breaking: #79777 - EXT:scheduler - Deleted column for tasks added
|
||||
=================================================================
|
||||
|
||||
See :issue:`79777`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Instead of deleting the record directly in the database, a "deleted" column was added for ``tx_scheduler_task``
|
||||
in a way to have developers / admins revive a task later-on.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
It is not possible to remove a task completely using the delete button in the scheduler module.
|
||||
|
||||
Instead the "deleted" column will be set to 1 and the task won't show up in the backend module, and cannot
|
||||
be called via CLI anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
If an extension is accessing the database table ``tx_scheduler_task`` directly, an additional `deleted=0` check
|
||||
needs to be added.
|
||||
|
||||
|
||||
.. index:: Backend, CLI, NotScanned, ext:scheduler
|
||||
@@ -0,0 +1,426 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-80700:
|
||||
|
||||
===================================================
|
||||
Breaking: #80700 - Deprecated functionality removed
|
||||
===================================================
|
||||
|
||||
See :issue:`80700`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following PHP classes that have been previously deprecated for v8 have been removed:
|
||||
|
||||
* :php:`RemoveXSS`
|
||||
* :php:`TYPO3\CMS\Backend\Console\Application`
|
||||
* :php:`TYPO3\CMS\Backend\Console\CliRequestHandler`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\Wizard\ColorpickerController`
|
||||
* :php:`TYPO3\CMS\Backend\Form\Container\SoloFieldContainer`
|
||||
* :php:`TYPO3\CMS\Backend\Form\Wizard\SuggestWizard`
|
||||
* :php:`TYPO3\CMS\Backend\Form\Wizard\ValueSliderWizard`
|
||||
* :php:`TYPO3\CMS\Core\Cache\CacheFactory`
|
||||
* :php:`TYPO3\CMS\Core\Controller\CommandLineController`
|
||||
* :php:`TYPO3\CMS\Core\Http\AjaxRequestHandler`
|
||||
* :php:`TYPO3\CMS\Core\Messaging\AbstractStandaloneMessage`
|
||||
* :php:`TYPO3\CMS\Core\Messaging\ErrorpageMessage`
|
||||
* :php:`TYPO3\CMS\Core\TimeTracker\NullTimeTracker`
|
||||
* :php:`TYPO3\CMS\Extbase\Utility\ArrayUtility`
|
||||
* :php:`TYPO3\CMS\Fluid\ViewHelpers\CaseViewHelper`
|
||||
* :php:`TYPO3\CMS\Fluid\ViewHelpers\SwitchViewHelper`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\FormElements\AdvancedPassword`
|
||||
* :php:`TYPO3\CMS\Form\ViewHelpers\Form\CheckboxViewHelper`
|
||||
* :php:`TYPO3\CMS\Form\ViewHelpers\Form\PlainTextMailViewHelper`
|
||||
* :php:`TYPO3\CMS\Frontend\Page\FramesetRenderer`
|
||||
* :php:`TYPO3\CMS\Lowlevel\CleanerCommand`
|
||||
|
||||
The following PHP interfaces have been dropped:
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\Form\DatabaseFileIconsHookInterface`
|
||||
|
||||
The following PHP interface signatures have been changed:
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\QueryInterface->like()` - Third argument dropped
|
||||
|
||||
The following PHP static class methods that have been previously deprecated for v8 have been removed:
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getAjaxUrl()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getFlexFormDS()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getInlineLocalizationMode()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getListViewLink()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getRecordRaw()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getRecordsByField()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getSpecConfParametersFromArray()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getSpecConfParts()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getSQLselectableList()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::titleAltAttrib()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::makeConfigForm()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::processParams()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::replaceL10nModeFields()`
|
||||
* :php:`TYPO3\CMS\Backend\Utility\BackendUtility::RTEsetup()`
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler::rmComma()`
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler::destPathFromUploadFolder()`
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler::noRecordsFromUnallowedTables()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\ArrayUtility::inArray()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\ClientUtility::getDeviceType()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addExtJSModule()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\ExtensionManagementUtility::appendToTypoConfVars()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerExtDirectComponent()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::pushErrorMessagesToFlashMessageQueue()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::array2xml_cs()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::compat_version()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::convertMicrotime()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::csvValues()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::deHSCentities()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::flushOutputBuffers()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::freetypeDpiComp()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::generateRandomBytes()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::getMaximumPathLength()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::getRandomHexString()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::imageMagickCommand()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::lcfirst()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::rawUrlEncodeFP()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::rawUrlEncodeJS()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::removeXSS()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::requireFile()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::requireOnce()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::resolveAllSheetsInDS()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::resolveSheetDefInDS()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::slashJS()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::strtolower()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::strtoupper()`
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::xmlGetHeaderAttribs()`
|
||||
* :php:`TYPO3\CMS\Frontend\Page\PageGenerator::pagegenInit()`
|
||||
* :php:`TYPO3\CMS\Frontend\Page\PageRepository::getHash()`
|
||||
* :php:`TYPO3\CMS\Frontend\Page\PageRepository::storeHash()`
|
||||
|
||||
The following PHP class methods that have been previously deprecated for v8 have been removed:
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\Clipboard\Clipboard->confirmMsg()`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\BackendController->addCssFile()`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\BackendController->addJavascript()`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\BackendController->addJavascriptFile()`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\BackendController->includeLegacyBackendItems()`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\Page\LocalizationController->getRecordUidsToCopy()`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\Page\PageLayoutController->printContent()`
|
||||
* :php:`TYPO3\CMS\Backend\Domain\Repository\Localization\LocalizationRepository->getAllowedLanguagesForBackendUser()`
|
||||
* :php:`TYPO3\CMS\Backend\Domain\Repository\Localization\LocalizationRepository->getExcludeQueryPart()`
|
||||
* :php:`TYPO3\CMS\Backend\Domain\Repository\Localization\LocalizationRepository->getPreviousLocalizedRecordUid()`
|
||||
* :php:`TYPO3\CMS\Backend\Domain\Repository\Localization\LocalizationRepository->getRecordLocalization()`
|
||||
* :php:`TYPO3\CMS\Backend\Form\FormDataProvider\AbstractItemProvider->sanitizeMaxItems()`
|
||||
* :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule->getBackPath()`
|
||||
* :php:`[NotScanned] TYPO3\CMS\Backend\Module\AbstractFunctionModule->getDatabaseConnection()`
|
||||
* :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule->incLocalLang()`
|
||||
* :php:`[NotScanned] TYPO3\CMS\Backend\Module\BaseScriptClass->getDatabaseConnection()`
|
||||
* :php:`TYPO3\CMS\Backend\Form\AbstractFormElement->isWizardsDisabled()`
|
||||
* :php:`TYPO3\CMS\Backend\Form\AbstractFormElement->renderWizards()`
|
||||
* :php:`TYPO3\CMS\Backend\Form\AbstractNode->getValidationDataAsDataAttribute()`
|
||||
* :php:`TYPO3\CMS\Backend\Form\FormResultCompiler->JStop()`
|
||||
* :php:`TYPO3\CMS\Backend\Routing\UriBuilder->buildUriFromAjaxId()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->divider()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->funcMenu()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->getContextMenuCode()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->getDragDropCode()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->getHeader()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->getResourceHeader()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->getTabMenu()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->getTabMenuRaw()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->header()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->icons()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->loadJavascriptLib()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->section()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->sectionBegin()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->sectionEnd()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->sectionHeader()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->t3Button()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->getVersionSelector()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->viewPageIcon()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->wrapInCData()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->wrapScriptTags()`
|
||||
* :php:`TYPO3\CMS\Backend\Template\ModuleTemplate->getVersionSelector()`
|
||||
* :php:`TYPO3\CMS\Backend\View\PageLayoutView->pages_getTree()`
|
||||
* :php:`TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->veriCode()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->convCapitalize()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->conv_case()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->euc_char2byte_pos()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->euc_strlen()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->euc_strtrunc()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->euc_substr()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->getPreferredClientLanguage()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->strlen()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->strtrunc()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->substr()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_byte2char_pos()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_strlen()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_strpos()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_strrpos()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_strtrunc()`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_substr()`
|
||||
* :php:`TYPO3\CMS\Core\Core\Bootstrap->ensureClassLoadingInformationExists()`
|
||||
* :php:`TYPO3\CMS\Core\Core\Bootstrap->loadExtensionTables()`
|
||||
* :php:`TYPO3\CMS\Core\Database\RelationHandler->readyForInterface()`
|
||||
* :php:`TYPO3\CMS\Core\Database\QueryView->tableWrap()`
|
||||
* :php:`TYPO3\CMS\Core\Imaging\GraphicalFunctions->createTempSubDir()`
|
||||
* :php:`TYPO3\CMS\Core\Imaging\GraphicalFunctions->prependAbsolutePath()`
|
||||
* :php:`TYPO3\CMS\Core\Imaging\IconRegistry->getDeprecationSettings()`
|
||||
* :php:`[NotScanned] TYPO3\CMS\Core\Messaging\FlashMessage->getClass()`
|
||||
* :php:`TYPO3\CMS\Core\Messaging\FlashMessage->getIconName()`
|
||||
* :php:`TYPO3\CMS\Core\TypoScript\TemplateService->splitConfArray()`
|
||||
* :php:`TYPO3\CMS\Core\TypoScript\TemplateService->fileContent()`
|
||||
* :php:`TYPO3\CMS\Core\TypoScript\TemplateService->removeQueryString()`
|
||||
* :php:`TYPO3\CMS\Core\TypoScript\TemplateService->sortedKeyList()`
|
||||
* :php:`[NotScanned] TYPO3\CMS\Extbase\Domain\Model\Category->getIcon()`
|
||||
* :php:`[NotScanned] TYPO3\CMS\Extbase\Domain\Model\Category->setIcon()`
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison->getParameterIdentifier()`
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison->setParameterIdentifier()`
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings->getUsePreparedStatement()`
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings->getUseQueryCache()`
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings->usePreparedStatement()`
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings->useQueryCache()`
|
||||
* :php:`TYPO3\CMS\Fluid\Core\Rendering\RenderingContext->getObjectManager()`
|
||||
* :php:`TYPO3\CMS\Fluid\Core\Rendering\RenderingContext->getTemplateVariableContainer()`
|
||||
* :php:`TYPO3\CMS\Fluid\Core\Rendering\RenderingContext->injectObjectManager()`
|
||||
* :php:`TYPO3\CMS\Fluid\Core\Rendering\RenderingContext->setLegacyMode()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\FormElements\AbstractFormElement->onSubmit()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\FormElements\AbstractSection->onSubmit()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload->onBuildingFinished()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\FormElements\FormElementInterface->onSubmit()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\FormElements\UnknownFormElement->onSubmit()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable->beforeRendering()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable->onBuildingFinished()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\Renderable\RenderableInterface->onBuildingFinished()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Model\Renderable\RootRenderableInterface->beforeRendering()`
|
||||
* :php:`TYPO3\CMS\Form\Domain\Runtime\FormRuntime->beforeRendering()`
|
||||
* :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication->record_registration()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\AbstractContentObject->getContentObject()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->URLqMark()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->clearTSProperties()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->fileResource()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->fillInMarkerArray()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->getClosestMPvalueForPage()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->getSubpart()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->getWhere()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->gifBuilderTextBox()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->includeLibs()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->linebreaks()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->processParams()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->removeBadHTML()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->stdWrap_fontTag()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->stdWrap_removeBadHTML()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->substituteMarker()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->substituteMarkerAndSubpartArrayRecursive()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->substituteMarkerArray()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->substituteMarkerArrayCached()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->substituteMarkerInObject()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->substituteSubpart()`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->substituteSubpartArray()`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->beLoginLinkIPList()`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->csConv()`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->encryptCharcode()`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->encryptEmail()`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->generatePage_whichScript()`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->includeLibraries()`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->setParseTime()`
|
||||
* :php:`TYPO3\CMS\Frontend\Page\PageRepository->getPathFromRootline()`
|
||||
* :php:`TYPO3\CMS\IndexedSearch\Indexer->includeCrawlerClass()`
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->addModuleLabels()`
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->getParserFactory()`
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->makeEntities()`
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->overrideLL()`
|
||||
* :php:`TYPO3\CMS\Lowlevel\Utility\ArrayBrowser->wrapValue()`
|
||||
* :php:`TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRecordList->makeQueryArray()`
|
||||
* :php:`TYPO3\CMS\Taskcenter\Controller\TaskModuleController->printContent()`
|
||||
|
||||
The following methods changed signature according to previous deprecations in v8 at the end of the argument list:
|
||||
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->euc_char_mapping()` - Third and fourth argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->sb_char_mapping()` - Third and fourth argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_char_mapping()` - Second and third argument dropped
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->extFileFunctions()` - Fourth argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Localization\LanguageStore->setConfiguration()` - Third argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Localization\Parser\AbstractXmlParser->getParsedData()` - Third argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Localization\Parser\LocalizationParserInterface->getParsedData()` - Third argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Localization\Parser\LocallangXmlParser->getParsedData()` - Third argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Page\PageRenderer->addInlineLanguageLabelFile()` - Fourth argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Page\PageRenderer->includeLanguageFileForInline()` - Fourth argument dropped
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Query->like()` - Third argument dropped
|
||||
* :php:`TYPO3\CMS\Frontend\Plugin\AbstractPlugin->pi_getLL()` - Third argument dropped
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->getLL()` - Second argument dropped
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->getLLL()` - Third argument dropped
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->sL()` - Second argument dropped
|
||||
|
||||
The following static methods changed signature according to previous deprecations in v8 at the end of the argument list:
|
||||
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName()` - Second and third argument dropped
|
||||
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::wrapJS()` - Second argument dropped
|
||||
* :php:`TYPO3\CMS\Recycler\Utility\RecyclerUtility::getRecordPath()` - Second, third and fourth argument dropped
|
||||
|
||||
The following methods changed signature according to previous deprecations in v8 which should be
|
||||
given as null if further arguments are added after the unused ones:
|
||||
|
||||
* :php:`TYPO3\CMS\Core\Html\RteHtmlParser->RTE_transform()` - Second argument unused
|
||||
* :php:`TYPO3\CMS\Core\Localization\LocalizationFactory->getParsedData()` - Third and fourth argument unused
|
||||
* :php:`TYPO3\CMS\Core\TypoScript\TemplateService->linkData()` - Fourth argument unused
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->whichWorkspace()` - First argument removed
|
||||
|
||||
The following constructor arguments are unused and should be given as null if additional arguments are
|
||||
given after the unused one:
|
||||
|
||||
* [NotScanned] :php:`TYPO3\CMS\Frontend\Plugin\AbstractPlugin->__constructor()` - First argument unused
|
||||
|
||||
The following methods changed single argument details:
|
||||
|
||||
* [NotScanned] :php:`TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule` - Fifth argument ignores [labels][tabs_images][tab]
|
||||
* [NotScanned] :php:`TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction()` - Persistent or file prefix in first argument removed
|
||||
* [NotScanned] :php:`TYPO3\CMS\Extbase\Persistence\Generic\Qom\Statement` - support for \TYPO3\CMS\Core\Database\PreparedStatement as argument dropped
|
||||
* [NotScanned] :php:`TYPO3\CMS\Core\Utility\GeneralUtility::getUserObj()` - File reference prefix in first argument removed
|
||||
* [NotScanned] :php:`TYPO3\CMS\Extbase\Mvc\Cli\ConsoleOutput->askAndValidate()` - support for boolean as fourth argument removed
|
||||
* [NotScanned] :php:`TYPO3\CMS\Extbase\Mvc\Cli\ConsoleOutput->select()` - support for boolean as fifth argument removed
|
||||
|
||||
The following methods have additional arguments:
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->searchWhere()` - Third parameter is now mandatory
|
||||
|
||||
The following public class properties have been dropped:
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\Controller\EditDocumentController->localizationMode`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\PageLayoutController->edit_record`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\PageLayoutController->new_unique_uid`
|
||||
* :php:`TYPO3\CMS\Backend\Controller\PageLayoutController->externalTables`
|
||||
* :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule->thisPath`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->extJScode`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate->form_largeComp`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->charSetArray`
|
||||
* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->fourByteSets`
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->checkWorkspaceCache`
|
||||
* :php:`TYPO3\CMS\Core\Imaging\GraphicalFunctions->tempPath`
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->parentMenuArr`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->compensateFieldWidth`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->dtdAllowsFrames`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->excludeCHashVars`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->scriptParseTime`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->csConvObj`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->defaultCharSet`
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->renderCharset`
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->charSet`
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->csConvObj`
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->moduleLabels`
|
||||
* :php:`TYPO3\CMS\Lang\LanguageService->parserFactory`
|
||||
|
||||
The following class properties have changed visibility:
|
||||
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->recUpdateAccessCache` changed from public to protected
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->recInsertAccessCache` changed from public to protected
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->isRecordInWebMount_Cache` changed from public to protected
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->isInWebMount_Cache` changed from public to protected
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->cachedTSconfig` changed from public to protected
|
||||
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->pageCache` changed from public to protected
|
||||
|
||||
The following public class constants have been dropped:
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate::STATUS_ICON_ERROR`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate::STATUS_ICON_WARNING`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate::STATUS_ICON_NOTIFICATION`
|
||||
* :php:`TYPO3\CMS\Backend\Template\DocumentTemplate::STATUS_ICON_OK`
|
||||
|
||||
The following configuration options are not evaluated anymore:
|
||||
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL][cliKeys']`
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['noPHPscriptInclude']`
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['maxSessionDataSize']`
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS_extensionAdded']`
|
||||
|
||||
The following hooks have been removed:
|
||||
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['getFlexFormDSClass']`
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/div/class.t3lib_utility_client.php']['getDeviceType']`
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/class.db_list.inc']['makeQueryArray']`
|
||||
|
||||
The following entry points have been removed:
|
||||
|
||||
* [NotScanned] :php:`typo3/cli_dispatch.phpsh`
|
||||
|
||||
The following functionality has been removed:
|
||||
|
||||
* [NotScanned] Support for legacy prepared statements within Extbase Persistence within Qom\Statement
|
||||
|
||||
The following TypoScript options have been removed:
|
||||
|
||||
* :typoscript:`stdWrap.fontTag`
|
||||
* :typoscript:`stdWrap.removeBadHTML`
|
||||
* :typoscript:`config.mainScript`
|
||||
* :typoscript:`config.frameReloadIfNotInFrameset`
|
||||
* :typoscript:`config.noScaleUp`
|
||||
* :typoscript:`config.setJS_mouseOver`
|
||||
* :typoscript:`config.setJS_openPic`
|
||||
* :typoscript:`config.doctype = xhtml_frames`
|
||||
* :typoscript:`config.xhtmlDoctype = xhtml_frames`
|
||||
* :typoscript:`config.pageGenScript`
|
||||
* :typoscript:`config.beLoginLinkIPList`
|
||||
* :typoscript:`config.beLoginLinkIPList_login`
|
||||
* :typoscript:`config.beLoginLinkIPList_logout`
|
||||
* :typoscript:`page.frameSet`
|
||||
* :typoscript:`page.insertClassesFromRTE`
|
||||
* single slashes are no longer interpreted as comment
|
||||
|
||||
The following TCA properties have been removed:
|
||||
|
||||
* :code:`type=select` selectedListStyle
|
||||
* :code:`type=select` itemListStyle
|
||||
* :code:`type=inline` behaviour['localizationMode']
|
||||
|
||||
The following PageTsConfig properties have been removed:
|
||||
|
||||
* :typoscript:`TCEFORM.[table].[field].addItems.icon` - with icons not registered in IconRegistry
|
||||
* :typoscript:`TCEFORM.[table].[flexFormField].PAGE_TSCONFIG_ID`
|
||||
* :typoscript:`TCEFORM.[table].[flexFormField].PAGE_TSCONFIG_IDLIST`
|
||||
* :typoscript:`TCEFORM.[table].[flexFormField].PAGE_TSCONFIG_STR`
|
||||
|
||||
The following icon identifiers have been removed:
|
||||
|
||||
* :code:`actions-document-close`
|
||||
* :code:`actions-edit-add`
|
||||
|
||||
The following Fluid ViewHelper arguments have been removed:
|
||||
|
||||
* :php:`f:be.container->enableClickMenu`
|
||||
* :php:`f:be.container->loadExtJs`
|
||||
* :php:`f:be.container->loadExtJsTheme`
|
||||
* :php:`f:be.container->enableExtJsDebug`
|
||||
* :php:`f:be.container->loadJQuery`
|
||||
* :php:`f:be.container->jQueryNamespace`
|
||||
* :php:`f:be.pageRenderer->loadExtJs`
|
||||
* :php:`f:be.pageRenderer->loadExtJsTheme`
|
||||
* :php:`f:be.pageRenderer->enableExtJsDebug`
|
||||
* :php:`f:be.pageRenderer->loadJQuery`
|
||||
* :php:`f:be.pageRenderer->jQueryNamespace`
|
||||
* :php:`f:case->default (use f:defaultCase instead)`
|
||||
|
||||
The following requireJS modules have been removed:
|
||||
|
||||
* :php:`TYPO3/CMS/Core/QueryGenerator`
|
||||
|
||||
Further removal notes:
|
||||
|
||||
* FormEngine result array ignores key `extJSCODE`
|
||||
* RTE transformation 'ts_css' dropped
|
||||
* Invalid flex form data structure wildcard matching `secondFieldValue,*` dropped
|
||||
|
||||
The following JavaScript methods and options have been removed:
|
||||
|
||||
* :js:`backend/Resources/Public/JavaScript/jsfunc.inline.js escapeSelectorObjectId`
|
||||
* :js:`TYPO3/CMS/Backend/Modal.getSeverityClass()`
|
||||
* :js:`TYPO3/CMS/Backend/Severity.information`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Instantiating or requiring the PHP classes, will result in PHP fatal errors.
|
||||
|
||||
Calling the entry points via CLI will result in a file not found error.
|
||||
|
||||
.. index:: Backend, CLI, FlexForm, Fluid, Frontend, JavaScript, LocalConfiguration, PHP-API, TCA, TSConfig, TypoScript, PartiallyScanned
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-80876:
|
||||
|
||||
=============================================================
|
||||
Breaking: #80876 - Remove system extension css_styled_content
|
||||
=============================================================
|
||||
|
||||
See :issue:`80876`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The long-time used system extension CSS Styled Content has been removed from the TYPO3 Core.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Rendering sites with TypoScript based on CSS Styled Content or referencing any TypoScript, resources or
|
||||
PHP classes from this extension may result in fatal PHP errors or empty frontend output.
|
||||
|
||||
Extensions depending on the frontend rendering based on CSS Styled Content directly will work
|
||||
unpredictably.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations that run their frontend based on CSS Styled Content as TypoScript, and extensions
|
||||
depending on CSS Styled Content rendering instead of default rendering.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The system extension "Fluid Styled Content" (EXT:fluid_styled_content) which was introduced in TYPO3 v7,
|
||||
acts as a drop-in replacement for CSS Styled Content since TYPO3 v8.
|
||||
|
||||
Install fluid styled content (if not happened yet) and prepare the Fluid templates to show the frontend
|
||||
rendering accordingly to the previous output.
|
||||
|
||||
For managing content in the TYPO3 Backend and can be used transparently when migrating from CSS Styled
|
||||
Content to Fluid Styled Content.
|
||||
|
||||
.. index:: Fluid, Frontend, PHP-API, TypoScript, NotScanned, ext:css_styled_content
|
||||
@@ -0,0 +1,46 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-80929:
|
||||
|
||||
==============================================
|
||||
Breaking: #80929 - TYPO3_DB moved to extension
|
||||
==============================================
|
||||
|
||||
See :issue:`80929`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The legacy class :php:`DatabaseConnection` better known as :php:`$GLOBALS['TYPO3_DB']` has been moved
|
||||
to the new system extension ext:typo3db_legacy.
|
||||
|
||||
The following classes have been moved and renamed, including an alias to the original class name:
|
||||
|
||||
* :php:`TYPO3\CMS\Core\Database\DatabaseConnection` to :php:`TYPO3\CMS\Typo3DbLegacy\Database\DatabaseConnection`
|
||||
* :php:`TYPO3\CMS\Core\Database\PreparedStatement` to :php:`TYPO3\CMS\Typo3DbLegacy\Database\PreparedStatement`
|
||||
* :php:`TYPO3\CMS\Core\Database\PostProcessQueryHookInterface` to :php:`TYPO3\CMS\Typo3DbLegacy\Database\PostProcessQueryHookInterface`
|
||||
* :php:`TYPO3\CMS\Core\Database\PreProcessQueryHookInterface` to :php:`TYPO3\CMS\Typo3DbLegacy\Database\PreProcessQueryHookInterface`
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
:php:`$GLOBALS['TYPO3_DB']` is no longer initialized by the core bootstrap. Third party extensions
|
||||
that rely on :php:`$GLOBALS['TYPO3_DB']` will trigger a fatal error if :code:`ext:typo3db_legacy`
|
||||
is not loaded.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with extensions which did not migrate to doctrine yet and need :php:`$GLOBALS['TYPO3_DB']`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
`Migrate affected extensions to doctrine <https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Database/Migration/Index.html>`_
|
||||
or load extension `typo3db_legacy` as backwards compatible layer to :php:`$GLOBALS['TYPO3_DB']`
|
||||
(the extension is available via TER and may be installed from there or directly
|
||||
via the upgrade wizard `typo3DbLegacyExtension`).
|
||||
|
||||
.. index:: Database, PHP-API, FullyScanned
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81171:
|
||||
|
||||
================================================================================
|
||||
Breaking: #81171 - Edit ability of TypoScript template in EXT:tstemplate removed
|
||||
================================================================================
|
||||
|
||||
See :issue:`81171`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Editing "Constants" and "Setup" of templates in the backend template module has been
|
||||
refactored to use FormEngine field rendering instead of an own solution.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Rendering the edit form for the fields "Constants" and "Setup" is now done by FormEngine, triggered
|
||||
by EditDocumentController. The following code has been removed without substitution:
|
||||
|
||||
* Public method :php:`TypoScriptTemplateInformationModuleFunctionController->processTemplateRowAfterLoading()`
|
||||
* Public method :php:`TypoScriptTemplateInformationModuleFunctionController->processTemplateRowBeforeSaving()`
|
||||
* Hook :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postTCEProcessingHook']`
|
||||
* Hook :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postOutputProcessingHook']`
|
||||
* Public property :php:`TypoScriptTemplateModuleController::$e`
|
||||
* Hook class :php:`\TYPO3\CMS\T3editor\Hook\TypoScriptTemplateInfoHook`
|
||||
|
||||
Due to code removal the following features were removed without substitution:
|
||||
|
||||
* "Include TypoScript file content" functionality
|
||||
* Saving the form via CTRL/CMD+S keystroke
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations are affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
As the hooks `postTCEProcessingHook` and `postOutputProcessingHook` were removed without
|
||||
substitution, any functionality has to be migrated to custom FormEngine render types.
|
||||
|
||||
.. index:: Backend, FullyScanned, PHP-API
|
||||
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81225:
|
||||
|
||||
=========================================================
|
||||
Breaking: #81225 - Merged EXT:context_help to EXT:backend
|
||||
=========================================================
|
||||
|
||||
See :issue:`81225`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension `context_help` has been merged into the extension backend.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The extension backend can't be deactivated.
|
||||
Any check if `context_help` is installed will return false.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with extensions with checks for extension `context_help` being installed.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the checks.
|
||||
|
||||
.. index:: Backend, NotScanned
|
||||
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81460:
|
||||
|
||||
==========================================================
|
||||
Breaking: #81460 - Deprecate getByTag() on cache frontends
|
||||
==========================================================
|
||||
|
||||
See :issue:`81460`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following public method and property have been removed without any substitute
|
||||
since it invoked or was used in combination with Cache\FrontendInterface::getByTag
|
||||
method which has been deprecated and removed from the interface declaration.
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::extGetNumberOfCachedPages`
|
||||
* :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::$extPageInTreeInfo`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::extGetNumberOfCachedPages` will
|
||||
result in a PHP fatal error. Using the property :php:`FrontendUserAuthentication::$extPageInTreeInfo` will
|
||||
return an implicit `null` instead of an `array`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All that make use of :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::extGetNumberOfCachedPages`
|
||||
or property :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::$extPageInTreeInfo`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove invocation of :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::extGetNumberOfCachedPages`
|
||||
and property :php:`TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::$extPageInTreeInfo`.
|
||||
|
||||
.. index:: PHP-API, FullyScanned
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81534:
|
||||
|
||||
=================================================================
|
||||
Breaking: #81534 - Database field be_groups:hide_in_lists dropped
|
||||
=================================================================
|
||||
|
||||
See :issue:`81534`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The database field hide_in_lists of table be_groups has been dropped without substitution.
|
||||
|
||||
* The property has been dropped from PHP class :php:`TYPO3\CMS\Extbase\Domain\Model\BackendUserGroup` along with
|
||||
the getter and setter methods :php:`->setHideInList` and :php:`->getHideInList`
|
||||
* The TCA column :php:`hide_in_lists` has been dropped, the field is no longer configured and shown in the backend.
|
||||
* The database field definition for :php:`hide_in_lists` has been dropped.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The special group configuration hide_in_lists has been removed.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
An instance may break in the unlikely case that an extension relies on field existence or uses
|
||||
the extbase model getter or setter.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The field usage should be dropped. If that is not possible and a special functionality has been bound to that
|
||||
field it should be mimicked by extending TCA, declaring the database field in an extension and maybe extending
|
||||
the extbase model.
|
||||
|
||||
.. index:: Database, TCA, PartiallyScanned
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _changelog-MoveOfServicesListReportFromSvToReports:
|
||||
|
||||
=============================================================
|
||||
Breaking: #81536 - Move ServicesListReport From Sv to Reports
|
||||
=============================================================
|
||||
|
||||
See :issue:`81536`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The service list report has been moved from `EXT:sv` to `EXT:reports`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Because of the new location the namespace of the class :php:`ServicesListReport` has been
|
||||
changed from :php:`TYPO3\CMS\Sv\Report` to :php:`TYPO3\CMS\Reports\Report`. Additionally the
|
||||
relevant language file has been moved from :file:`EXT:sv/Resources/Private/Language/locallang.xlf`
|
||||
to :file:`EXT:reports/Resources/Private/Language/serviceReport.xlf`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations or 3rd party extensions which directly access the used files of the report:
|
||||
|
||||
- :php:`TYPO3\CMS\Sv\Report\ServicesListReport`
|
||||
- :file:`EXT:sv/Resources/Private/Language/locallang.xlf`
|
||||
- :file:`EXT:sv/Resources/Private/Templates/ServicesListReport.html`
|
||||
- :file:`EXT:sv/Resources/Public/Images/service-reports.png`
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new namespace :php:`TYPO3\CMS\Reports\Report\ServicesListReport` and the location of the files:
|
||||
|
||||
- :file:`EXT:reports/Resources/Private/Language/serviceReport.xlf`
|
||||
- :file:`EXT:reports/Resources/Private/Templates/ServicesListReport.html`
|
||||
- :file:`EXT:reports/Resources/Public/Images/service-reports.png`
|
||||
|
||||
Related
|
||||
=======
|
||||
|
||||
- :ref:`changelog-Breaking-81735-GetRidOfSysextsv`
|
||||
|
||||
More Information
|
||||
================
|
||||
|
||||
- :ref:`t3coreapi:services-developer-service-api` in "TYPO3 Explained"
|
||||
|
||||
|
||||
.. index:: Backend, PartiallyScanned, ext:sv, ext:reports
|
||||
@@ -0,0 +1,46 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _changelog-Breaking-81735-GetRidOfSysextsv:
|
||||
|
||||
=======================================
|
||||
Breaking: #81735 - Get rid of sysext:sv
|
||||
=======================================
|
||||
|
||||
See :issue:`81735`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The AuthenticationService has been moved into system extension `core`. Class aliases are in place and
|
||||
will be removed with TYPO3 v10.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The namespace of the classes :php:`AbstractAuthenticationService` and :php:`AuthenticationService` changed
|
||||
from :php:`\TYPO3\CMS\Sv` to :php:`\TYPO3\CMS\Core\Authentication`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All instances, that use or extend the mentioned classes.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new namespaces as mentioned above.
|
||||
|
||||
Related
|
||||
=======
|
||||
|
||||
- :ref:`changelog-MoveOfServicesListReportFromSvToReports`
|
||||
|
||||
More Information
|
||||
================
|
||||
|
||||
- :ref:`t3coreapi:services-developer-service-api` in "TYPO3 Explained"
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned, ext:sv
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81763:
|
||||
|
||||
================================================================================================
|
||||
Breaking: #81763 - Hook parameters of ['typo3/file_edit.php']['preOutputProcessingHook'] changed
|
||||
================================================================================================
|
||||
|
||||
See :issue:`81763`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The hook parameters passed into :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/file_edit.php']['preOutputProcessingHook']`
|
||||
have been changed due to rewriting the edit file form to use FormEngine.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any information added to modify the output may have no effect anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Every installation using an extension that hooks into :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/file_edit.php']['preOutputProcessingHook']`
|
||||
to modify the form's output is affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
As the form is based on FormEngine now, you may want to adjust the newly introduced hook parameter :php:`$dataColumnDefinition`,
|
||||
representing the definition of the `data` field which contains the file content. An example can be found in EXT:t3editor.
|
||||
|
||||
.. index:: Backend, PHP-API, NotScanned
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81775:
|
||||
|
||||
======================================================================
|
||||
Breaking: #81775 - suffix form identifier with the content element uid
|
||||
======================================================================
|
||||
|
||||
See :issue:`81775`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
If a form is rendered through the "form" content element, the identifier
|
||||
of the form is modified with a suffix.
|
||||
The form identifier will be suffixed with "-$contentElementUid" (e.g. "myForm-65").
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
All form element names within the frontend will change from e.g.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<textarea name="tx_form_formframework[myForm][message]"></textarea>
|
||||
|
||||
to
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<textarea name="tx_form_formframework[myForm-65][message]"></textarea>
|
||||
|
||||
if the form is rendered through the "form" content element.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All instances, that render forms through the "form" content element.
|
||||
|
||||
.. index:: Frontend, ext:form, NotScanned
|
||||
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81787:
|
||||
|
||||
================================
|
||||
Breaking: #81787 - Drop EXT:func
|
||||
================================
|
||||
|
||||
See :issue:`81787`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension :php:`func` that added the "Web->Functions" backend module
|
||||
has been dropped from core.
|
||||
|
||||
The extension is available in the TER and an install tool upgrade wizard
|
||||
is in place to download and load the extension as compatibility layer for
|
||||
other extensions that still rely on it by adding own sub modules to the module.
|
||||
|
||||
Extensions that need :php:`func` should already have a dependency in ext_emconf.php
|
||||
similar to this:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
'constraints' => [
|
||||
...
|
||||
'depends' => [
|
||||
'func' => 9.0.0-9.0.99',
|
||||
],
|
||||
],
|
||||
|
||||
The version constraint depends on which core version the extension supports,
|
||||
the func extension did not change much between core v8 and its extraction to TER
|
||||
in v9.
|
||||
|
||||
.. index:: Backend, PHP-API, NotScanned, ext:func
|
||||
@@ -0,0 +1,52 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81847:
|
||||
|
||||
================================
|
||||
Breaking: #81847 - Remove JSMENU
|
||||
================================
|
||||
|
||||
See :issue:`81847`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The content objects :typoscript:`JSMENU` and :typoscript:`JSMENUITEM` to create a jump menu have been removed.
|
||||
The used JavaScript is totally outdated and has not really been touched since its creation more than 10 years ago.
|
||||
|
||||
If this kind of menu is needed it can be easily achieved with a TMENU as well:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
lib.menu = HMENU
|
||||
lib.menu {
|
||||
1 = TMENU
|
||||
1 {
|
||||
wrap = <select onchange="window.location=this.options[this.selectedIndex].value">|</select>
|
||||
|
||||
NO {
|
||||
doNotLinkIt = 1
|
||||
stdWrap.cObject = COA
|
||||
stdWrap.cObject {
|
||||
10 = TEXT
|
||||
10 {
|
||||
wrap = <option value="{getIndpEnv:TYPO3_SITE_URL}|">
|
||||
insertData = 1
|
||||
typolink {
|
||||
parameter.field = uid
|
||||
returnLast = url
|
||||
htmlSpecialChars = 1
|
||||
}
|
||||
}
|
||||
20 = TEXT
|
||||
20 {
|
||||
field = subtitle//title
|
||||
htmlSpecialChars = 1
|
||||
wrap = |</option>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.. index:: Frontend, TypoScript, NotScanned
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81901:
|
||||
|
||||
=================================================================
|
||||
Breaking: #81901 - Changed behavior of auto-completion appearance
|
||||
=================================================================
|
||||
|
||||
See :issue:`81901`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Due to streamlining t3editor's JavaScript code to CodeMirror's architecture, the behavior of the TS auto-completion
|
||||
has changed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
After pressing the dot character (.), the auto-completion does not appear automatically. A user has to press the
|
||||
keystroke Ctrl+Space now.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations are affected.
|
||||
|
||||
.. index:: Backend, NotScanned, ext:t3editor
|
||||
@@ -0,0 +1,28 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81901-1668719172:
|
||||
|
||||
============================================================
|
||||
Breaking: #81901 - Removed explanation of TypoScript options
|
||||
============================================================
|
||||
|
||||
See :issue:`81901`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The explanation of TypoScript options displayed with autocompletion has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the autocompletion will not render the description of the TypoScript Reference anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations are affected.
|
||||
|
||||
.. index:: Backend, NotScanned, ext:t3editor
|
||||
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82433:
|
||||
|
||||
===================================================
|
||||
Breaking: #82433 - Install Tool entry point removed
|
||||
===================================================
|
||||
|
||||
See :issue:`82433`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The canonical entry point for accessing the install tool now is `typo3/install.php`. The previous entrypoint
|
||||
located in `typo3/sysext/install/Start/Install.php` has been removed. The deprecated entrypoint located under
|
||||
`typo3/install/index.php` still exists, but `typo3/install.php` is the new way to access the install tool,
|
||||
available since TYPO3 8 LTS.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Accessing `typo3/sysext/install/Start/Install.php` will trigger a Server-based "Page Not Found" error message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Every TYPO3 installation using the old entry point is affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Change bookmarks or scripts from the old entry point to the new one.
|
||||
|
||||
.. index:: Backend, NotScanned
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-81973:
|
||||
|
||||
========================================================================
|
||||
Breaking: #81973 - FormEngineValidation.parseDate remove fixed year 2038
|
||||
========================================================================
|
||||
|
||||
See :issue:`81973`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The limitation to be only able to set dates up to the year 2038 in datetime fields
|
||||
has been removed. The date by default is always set to the current date.
|
||||
|
||||
Additionally it is now also possible to enter dates in years below the year 100 as
|
||||
those years are no longer automatically converted to either 19xx or 20xx.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The magic in calculating date values, e.g. entering 12 will result in 2012, is now removed.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
This affects only the behavior in backend record editing forms. Values of 0 to 100 will not be changed anymore.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
No migration, this behavior was wrong and there is no migration possible.
|
||||
|
||||
.. index:: Backend, FlexForm, JavaScript, NotScanned
|
||||
@@ -0,0 +1,40 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82148:
|
||||
|
||||
==================================================
|
||||
Breaking: #82148 - Download SQL dump dropped in EM
|
||||
==================================================
|
||||
|
||||
See :issue:`82148`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The "Download SQL Dump" feature in extension manager list view has been dropped,
|
||||
it is no longer possible to download the dump file this button created.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The button in the extension manager is gone along with various classes
|
||||
and methods that took care of the functionality:
|
||||
|
||||
* Dropped class :php:`TYPO3\CMS\Extensionmanager\Utility\DatabaseUtility`
|
||||
* Dropped class :php:`TYPO3\CMS\Extensionmanager\ViewHelpers\DownloadExtensionDataViewHelper`
|
||||
* Dropped class :php:`TYPO3\CMS\Install\Service\SqlExpectedSchemaService`
|
||||
* Dropped class :php:`TYPO3\CMS\Install\Service\SqlSchemaMigrationService`
|
||||
* Dropped method :php:`TYPO3\CMS\Extensionmanager\Utility\FileHandlingUtility->sendSqlDumpFileToBrowserAndDelete()`
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The core provides the "Import / Export" extension to manage database data,
|
||||
furthermore the "List" module has an CSV export feature.
|
||||
|
||||
For true database backups we recommend the CLI tools of the database engine
|
||||
or dedicated GUI applications for this task.
|
||||
|
||||
.. index:: Backend, Database, PHP-API, FullyScanned
|
||||
@@ -0,0 +1,47 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82162:
|
||||
|
||||
=================================================
|
||||
Breaking: #82162 - Global error constants removed
|
||||
=================================================
|
||||
|
||||
See :issue:`82162`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Three error and logging related constants are no longer defined during TYPO3 core bootstrap:
|
||||
|
||||
* :php:`TYPO3_DLOG`
|
||||
* :php:`TYPO3_ERROR_DLOG`
|
||||
* :php:`TYPO3_EXCEPTION_DLOG`
|
||||
|
||||
Two error and logging related keys have been removed from :php:`TYPO3_CONF_VARS`:
|
||||
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['enable_errorDLOG']`
|
||||
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['enable_exceptionDLOG']`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Accessing one of the constants in PHP will return the constants name as value
|
||||
which is different to the former value and most likely breaks code depending on it.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
The extension scanner of the install tool finds extensions affected by this change.
|
||||
The install tool will automatically remove the :php:`LocalConfiguration.php` settings
|
||||
:php:`TYPO3_CONF_VARS` if used.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Refactor code to not depend on these constants and :php:`TYPO3_CONF_VARS` any longer,
|
||||
there shouldn't be many use cases where extensions used these.
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API, FullyScanned
|
||||
@@ -0,0 +1,48 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82210:
|
||||
|
||||
============================================================================
|
||||
Breaking: #82210 - EXT:form - translation for "options" properties as string
|
||||
============================================================================
|
||||
|
||||
See :issue:`82210`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The templates for RadioButton and MultiCheckbox form elements have been changed. This was necessary
|
||||
to allow dots and special chars within labels and values for the "options" property of the
|
||||
aforementioned elements.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If a user utilizes his own templates for MultiCheckbox and/ or RadioButton form elements and
|
||||
translates the "options" property in the following way, the label will not be shown anymore.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
{formvh:translateElementProperty(element: element, property: 'options.{value}')}
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation which uses ext:form and own templates for MultiCheckbox and RadioButton form
|
||||
elements.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
{formvh:translateElementProperty(element: element, property: '{0: \'options\', 1: value}')}
|
||||
|
||||
to translate the "options" property within MultiCheckbox and RadioButton form element templates.
|
||||
|
||||
.. index:: Frontend, ext:form, NotScanned
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82252:
|
||||
|
||||
=========================================================================================
|
||||
Breaking: #82252 - Override TypoScript configuration formDefinitionOverrides by FlexForms
|
||||
=========================================================================================
|
||||
|
||||
See :issue:`82252`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Override TypoScript configuration :typoscript:`formDefinitionOverrides` by FlexForms configuration.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Before this, FlexForm configuration of form was overridden by TypoScript :typoscript:`formDefinitionOverrides`,
|
||||
which is not the intended behaviour. Now the FlexForm configuration overrides the
|
||||
TypoScript configuration of the :typoscript:`formDefinitionOverrides`. This means, having a configuration of
|
||||
form in FlexForms and TypoScript, the form will change its behavior and start using the configuration
|
||||
defined in your FlexForm.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations using the form framework and TypoScript/ FlexForm overrides are affected.
|
||||
|
||||
.. index:: ext:form, FlexForm, TypoScript, NotScanned
|
||||
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82296:
|
||||
|
||||
====================================================
|
||||
Breaking: #82296 - Removed constant TYPO3_user_agent
|
||||
====================================================
|
||||
|
||||
See :issue:`82296`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The unused PHP constant :php:`TYPO3_user_agent` containing information of the User Agent string sent
|
||||
for requests by TYPO3, has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the constant will result in a PHP fatal error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
TYPO3 installations with third-party extensions that make use of the PHP constant.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The extension scanner checks if the constant is used.
|
||||
|
||||
Any extension authors are encouraged to use php:`$GLOBALS['TYPO3_CONF_VARS']['HTTP']['headers']['User-Agent']`
|
||||
instead.
|
||||
|
||||
.. index:: PHP-API, FullyScanned
|
||||
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82334:
|
||||
|
||||
=====================================
|
||||
Breaking: #82334 - AbstractRecordList
|
||||
=====================================
|
||||
|
||||
See :issue:`82334`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The PHP classes :php:`AbstractRecordList` and :php:`AbstractDatabaseRecordList` have been marked as deprecated.
|
||||
|
||||
Some classes changed inheritances, which can be breaking for instance in hooks if they type hint or otherwise
|
||||
check instance types of these classes:
|
||||
|
||||
* :php:`PageLayoutView` no longer extends :php:`AbstractDatabaseRecordList`
|
||||
* :php:`FileList` no longer extends :php:`AbstractRecordList`
|
||||
* :php:`DatabaseRecordList` no longer extends :php:`AbstractDatabaseRecordList`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the constructor in these classes triggers a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation with an extension accessing or extending the deprecated classes.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The extension scanner checks if the classes are used.
|
||||
|
||||
All extension authors are encouraged to copy the content of these Classes into their child classes.
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82368:
|
||||
|
||||
====================================================================
|
||||
Breaking: #82368 - Signal 'afterExtensionConfigurationWrite' removed
|
||||
====================================================================
|
||||
|
||||
See :issue:`82368`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension manager no longer emits signal :php:`afterExtensionConfigurationWrite`.
|
||||
The code has been moved to the install tool which does not load signal / slot
|
||||
information at this point.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Slots of this signal are no longer executed.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Extensions that use signal :php:`afterExtensionConfigurationWrite`. This is a rather seldom
|
||||
used signal, relevant mostly only for distributions.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
In many cases it should be possible to use signal :php:`afterExtensionInstall` of class
|
||||
:php:`\TYPO3\CMS\Extensionmanager\Utility\InstallUtility` instead which is fired after an extension
|
||||
has been installed.
|
||||
|
||||
.. index:: Backend, LocalConfiguration, PHP-API, NotScanned, ext:extensionmanager
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82377:
|
||||
|
||||
======================================================================
|
||||
Breaking: #82377 - Option to allow uploading system extensions removed
|
||||
======================================================================
|
||||
|
||||
See :issue:`82377`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The option to allow uploading additional extensions as system extensions in TYPO3 has been removed
|
||||
without substitution.
|
||||
|
||||
Disclaimer: It is highly discouraged by the TYPO3 Core to modify anything within `typo3/sysext/`,
|
||||
especially adding extensions, as typo3conf/ is the folder to add or override extensions.
|
||||
|
||||
If an administrator needs to do changes within `typo3/sysext/` it's at his/her own risk,
|
||||
and should not be encouraged to be possible from TYPO3 itself.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The possibility to upload an extension into `typo3/sysext/` via the Extension Manager / TYPO3 Backend
|
||||
interface is removed. System extensions can only be added or modified via the file system now.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
TYPO3 instances having the option `$GLOBALS['TYPO3_CONF_VARS']['EXT']['allowSystemInstall']` enabled and do not
|
||||
run in TYPO3's Composer Mode.
|
||||
|
||||
As this option was disabled by default for over 10 years, it is highly unlikely this change will
|
||||
affect a regular instance.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The mentioned option, if set, is automatically removed when accessing the Install Tool through
|
||||
the :php:`SilentMigrationService`.
|
||||
|
||||
.. index:: LocalConfiguration, FullyScanned
|
||||
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82378:
|
||||
|
||||
===========================================
|
||||
Breaking: #82378 - Remove namespaced jQuery
|
||||
===========================================
|
||||
|
||||
See :issue:`82378`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The possibility to jail jQuery into a namespace has been removed. This affects custom namespaces and
|
||||
:js:`TYPO3.jQuery` as well.
|
||||
|
||||
The class constants :php:`TYPO3\CMS\Core\Page\PageRenderer::JQUERY_NAMESPACE_DEFAULT` and
|
||||
:php:`TYPO3\CMS\Core\Page\PageRenderer::JQUERY_NAMESPACE_DEFAULT_NOCONFLICT` have been removed without
|
||||
substitution, any usage will be detected by the Extension Scanner.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Namespaces will be ignored and automatically fall back to noConflict behavior.
|
||||
|
||||
Calling :js:`TYPO3.jQuery.*` will result in a TypeError.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations using a custom namespace, :php:`PageRenderer::JQUERY_NAMESPACE_DEFAULT`
|
||||
:php:`PageRenderer::JQUERY_NAMESPACE_DEFAULT` or relying on :js:`TYPO3.jQuery` are affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove :php:`$namespace` argument in :php:`PageRenderer->loadJquery()` and either use :js:`window.$` or migrate
|
||||
to RequireJS.
|
||||
|
||||
.. index:: Backend, Frontend, JavaScript, PartiallyScanned
|
||||
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82398:
|
||||
|
||||
=============================================================
|
||||
Breaking: #82398 - Remove special constant "TSConstantEditor"
|
||||
=============================================================
|
||||
|
||||
See :issue:`82398`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The special functionality on the top level constant name :typoscript:`TSConstantEditor`
|
||||
has been dropped. This rarely used feature makes this constant name a casual
|
||||
constant without further added features.
|
||||
|
||||
A series of PHP class methods and properties has been dropped together with that removal:
|
||||
|
||||
* Method :php:`TYPO3\CMS\Core\TypoScript\ConfigurationForm->ext_makeHelpInformationForCategory()`
|
||||
* Method :php:`TYPO3\CMS\Core\TypoScript\ConfigurationForm->ext_displayExample()`
|
||||
* Method :php:`TYPO3\CMS\Core\TypoScript\ExtendedTemplateService->ext_getTSCE_config()`
|
||||
* Property :php:`TYPO3\CMS\Core\TypoScript\ExtendedTemplateService->helpConfig`
|
||||
* Method :php:`TYPO3\CMS\Extensionmanager\Domain\Model\ConfigurationCategory->setHighlightText()`
|
||||
* Method :php:`TYPO3\CMS\Extensionmanager\Domain\Model\ConfigurationCategory->getHighlightText()`
|
||||
* Method :php:`TYPO3\CMS\Extensionmanager\Domain\Model\ConfigurationItem->setHighlight()`
|
||||
* Method :php:`TYPO3\CMS\Extensionmanager\Domain\Model\ConfigurationItem->getHighlight()`
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The constants editor does not show any extending information (like bulletpoints) for a constant
|
||||
anymore configured via the :typoscript:`TSConstantEditor` object.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations which have configured the special constant :typoscript:`TSConstantEditor`. Since this has
|
||||
been a widely unknown feature, most instances should not be affected. On PHP side, the extension
|
||||
scanner will find consuming extensions of the dropped API, but that is highly unlikely, too.
|
||||
|
||||
.. index:: Backend, TypoScript, FullyScanned
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82406:
|
||||
|
||||
==========================================================================
|
||||
Breaking: #82406 - Routing: Backend Modules run through regular dispatcher
|
||||
==========================================================================
|
||||
|
||||
See :issue:`82406`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Calling Backend modules was previously handled via a special `BackendModuleRequestHandler` which has
|
||||
been removed.
|
||||
|
||||
When registering a Backend module, a route with the name of the module is automatically added to the
|
||||
Backend Router.
|
||||
|
||||
When generating URLs for modules, the module is not added via the GET Parameter `&M=moduleName`
|
||||
anymore, but built like any other Backend Route (currently with the "route" and "token" parameters)
|
||||
|
||||
All request handling functionality is now done by the regular Backend RequestHandler,
|
||||
which checks if the Route to be targeted is a module, and does extra module permission checks.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Handling with the "&M" GET parameter in backend modules won't deliver the correct result anymore.
|
||||
|
||||
Instantiating `BackendModuleRequestHandler` will result in a fatal PHP error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with custom extensions including backend modules which work directly with the GET
|
||||
parameter "M".
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If extensions use API methods like ``BackendUtility::getModuleUrl()`` are used, nothing needs to be
|
||||
modified.
|
||||
|
||||
If a backend module is using the GET parameter "M" currently, the code needs to be adjusted to the
|
||||
GET "route" or use the UriBuilder directly.
|
||||
|
||||
.. index:: Backend, PHP-API, PartiallyScanned
|
||||
@@ -0,0 +1,63 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82414:
|
||||
|
||||
======================================================
|
||||
Breaking: #82414 - CMS ViewHelper base classes removed
|
||||
======================================================
|
||||
|
||||
See :issue:`82414`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following ViewHelper base classes have been removed:
|
||||
|
||||
- :php:`TYPO3\CMS\Fluid\Core\ViewHelper\AbstractConditionViewHelper`
|
||||
- :php:`TYPO3\CMS\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper`
|
||||
- :php:`TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper`
|
||||
- :php:`TYPO3\CMS\Fluid\Core\ViewHelper\ArgumentDefinition`
|
||||
|
||||
Aliases are in place, but the following key differences may break your code:
|
||||
|
||||
- Render method arguments are no longer possible at all
|
||||
- The property :php:`$this->controllerContext` is no longer defined
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Render method arguments have been deprecated for a long time and should already have been migrated
|
||||
in your code. If you still have ViewHelpers using render method arguments, these will break
|
||||
after this change.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All instances which use a ViewHelper that either contains render method arguments, extends from one
|
||||
of the base classes above, or or accesses :php:`$this->controllerContext`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Migrate to use `renderStatic` methods (see examples in TYPO3 Core, EXT:fluid) to not use
|
||||
render method arguments.
|
||||
|
||||
ViewHelpers which access :php:`$this->controllerContext` can instead access
|
||||
:php:`$this->renderingContext->getControllerContext()`.
|
||||
|
||||
Instead of using the (now removed) abstract classes from ext:fluid, use the classes
|
||||
supplied in :file:`vendor/typo3fluid/fluid`:
|
||||
|
||||
* :php:`TYPO3Fluid\Fluid\Core\ViewHelper\AbstractConditionViewHelper`
|
||||
* :php:`TYPO3Fluid\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper`
|
||||
* :php:`TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper`
|
||||
* :php:`TYPO3Fluid\Fluid\Core\ViewHelper\ArgumentDefinition`
|
||||
|
||||
and change your code accordingly.
|
||||
|
||||
Migrating this can be done with search-and-replace for all common use cases.
|
||||
|
||||
.. index:: Fluid, NotScanned
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82421:
|
||||
|
||||
===============================================================
|
||||
Breaking: #82421 - Dropped old DB related configuration options
|
||||
===============================================================
|
||||
|
||||
See :issue:`82421`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Some configuration options related to pre-doctrine era have been removed
|
||||
from :php:`$GLOBALS['TYPO3_CONF_VARS']`:
|
||||
|
||||
* `SYS/sqlDebug` - Obsolete since core version 8, no substitution
|
||||
* `SYS/setDBinit` - Obsolete since core version 8 and migrated automatically
|
||||
* `SYS/no_pconnect` - Obsolete since core version 8 and migrated automatically
|
||||
* `SYS/dbClientCompress` - Obsolete since core version 8 and migrated automatically
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extension code usually shouldn't rely on these settings.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Instances with extension code using these array entries in :php:`$GLOBALS['TYPO3_CONF_VARS']`
|
||||
are found by the install tool extension scanner.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Extension code should not rely on these core framework internal settings.
|
||||
|
||||
.. index:: Database, LocalConfiguration, PHP-API, FullyScanned
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82425:
|
||||
|
||||
==================================================================================================
|
||||
Breaking: #82425 - Remove old typoscript constants editor option "###MOD_TS:EDITABLE_CONSTANTS###"
|
||||
==================================================================================================
|
||||
|
||||
See :issue:`82425`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The special functionality on the constant comment `###MOD_TS:EDITABLE_CONSTANTS###`
|
||||
has been dropped. This rarely used feature makes this comment a casual
|
||||
comment without further added features.
|
||||
|
||||
A public property of PHP class has been dropped together with that removal:
|
||||
|
||||
* Property :php:`TYPO3\CMS\Core\TypoScript\ExtendedTemplateService->edit_divider`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The constants editor does not show constants before the comment `###MOD_TS:EDITABLE_CONSTANTS###` anymore as default constants.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations which have configured the constants comment `###MOD_TS:EDITABLE_CONSTANTS###`. Since this has been a widely
|
||||
unknown feature, most instances should not be affected.
|
||||
|
||||
.. index:: Backend, TypoScript, PartiallyScanned
|
||||
@@ -0,0 +1,74 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82426:
|
||||
|
||||
==============================================
|
||||
Breaking: #82426 - ExtJS and ExtDirect removal
|
||||
==============================================
|
||||
|
||||
See :issue:`82426`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
ExtJS and ExtDirect support has been removed from the core (TYPO3 Backend).
|
||||
ExtJS Javascript is not loaded now in TYPO3 Backend.
|
||||
ExtDirect classes were removed without substitution.
|
||||
|
||||
|
||||
Removed classes:
|
||||
----------------
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\Tree\ExtDirectNode`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\Commands`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\DataProvider`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\ExtdirectTreeCommands`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\ExtdirectTreeDataProvider`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Renderer\ExtJsJsonTreeRenderer`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\PagetreeNode`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\PagetreeNodeCollection`
|
||||
* :php:`TYPO3\CMS\Core\ExtDirect\ExtDirectApi`
|
||||
* :php:`TYPO3\CMS\Core\ExtDirect\ExtDirectRouter`
|
||||
* :php:`TYPO3\CMS\Workspaces\Hooks\PagetreeCollectionsProcessor`
|
||||
|
||||
|
||||
Removed methods:
|
||||
----------------
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\ExtdirectTreeDataProvider->getNodeTypes()`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\ExtdirectTreeDataProvider->loadResources()`
|
||||
* :php:`TYPO3\CMS\Core\Page\PageRenderer->setExtJsPath()`
|
||||
* :php:`TYPO3\CMS\Core\Page\PageRenderer->getExtJsPath()`
|
||||
* :php:`TYPO3\CMS\Core\Page\PageRenderer->addExtOnReadyCode()`
|
||||
* :php:`TYPO3\CMS\Core\Page\PageRenderer->addExtDirectCode()`
|
||||
* :php:`TYPO3\CMS\Core\Page\PageRenderer->loadExtJS()`
|
||||
* :php:`TYPO3\CMS\Core\Page\PageRenderer->enableExtJsDebug()`
|
||||
|
||||
|
||||
Removed interfaces:
|
||||
-------------------
|
||||
|
||||
* :php:`TYPO3\CMS\Backend\Tree\Pagetree\CollectionProcessorInterface`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\EditableNodeLabelInterface`
|
||||
* :php:`TYPO3\CMS\Backend\Tree\DraggableAndDropableNodeInterface`
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
JS code relying on ExtJS will stop working.
|
||||
PHP code relying on ExtDirect classes being available will now throw a fatal error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations having extensions relying on ExtJS being loaded or using ExtDirect API.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
JS code relying on ExtJS has to be reworked to not use ExtJS or to load ExtJS from custom extension.
|
||||
PHP code related to ExtDirect should be changed to regular Backend AJAX routing.
|
||||
|
||||
.. index:: Backend, JavaScript, PHP-API, PartiallyScanned
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82430:
|
||||
|
||||
===================================================================
|
||||
Breaking: #82430 - Replaced GeneralUtility::sysLog with Logging API
|
||||
===================================================================
|
||||
|
||||
See :issue:`82430`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The original sysLog() logging API has been superseded by the Logging API.
|
||||
|
||||
Therefore, :php:`GeneralUtility::sysLog` and :php:`GeneralUtility::initSysLog` have been deprecated.
|
||||
|
||||
The configuration :php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['systemLog']` has been changed to a boolean value.
|
||||
The option :php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['syslogErrorReporting']` has been removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The Logging API needs custom writer configuration to send the log entries of your choice to the
|
||||
PHP error log, the syslog facility or a file.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any instance having a configuration set for :php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['systemLog']`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Add a custom log writer configuration to send log entries to the destination of your choice.
|
||||
|
||||
The Logging API provides these writers as replacements for the original configuration options:
|
||||
|
||||
- :php:`\TYPO3\CMS\Core\Log\Writer\SyslogWriter`
|
||||
- :php:`\TYPO3\CMS\Core\Log\Writer\PhpErrorLogWriter`
|
||||
- :php:`\TYPO3\CMS\Core\Log\Writer\FileWriter`
|
||||
|
||||
More details on the configuration of log writers can be found in the Core API Reference
|
||||
at `<https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Logging/Writers/Index.html>`__.
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API, NotScanned
|
||||
@@ -0,0 +1,63 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82445:
|
||||
|
||||
==============================================
|
||||
Breaking: #82445 - Pages and page translations
|
||||
==============================================
|
||||
|
||||
See :issue:`82445`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The database table `pages_language_overlay` has been obsoleted in the core and is
|
||||
not used and updated anymore. Page translation records are now handled in the "pages"
|
||||
table directly.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
This change has a huge impact on page and page translation handling, especially
|
||||
on database record level:
|
||||
|
||||
* Table "pages_language_overlay" is no longer read by core code
|
||||
* Records in "pages_language_overlay" are no longer updated by core code
|
||||
* Records in "pages_language_overlay" are no longer shown in the backend
|
||||
* Table and TCA definition for "pages_language_overlay" will be dropped in v10
|
||||
* Queries to table "pages" should now observe the "sys_language_uid" field to
|
||||
fetch default language records only. A casual case for this are tree traversal
|
||||
queries for children or rootline fetching. If additional restrictions are not
|
||||
added, the query result may return page translations along the default language row.
|
||||
* Existing inline relations with "foreign_table" and "foreign_field" and "foreign_table_field"
|
||||
on a "pages_language_overlay" TCA are migrated to "pages". This works well for
|
||||
typical FAL relations like the default "media" field.
|
||||
* Complex TCA relations with "inline" "group" that use an "MM" table in TCA
|
||||
not automatically get their relation record rows migrated. Configurations
|
||||
like these are seldom and need manual migration steps depending on their
|
||||
TCA configuration when upgrading.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Single language instances are not affected. For sites with translations and
|
||||
non-empty "pages_language_overlay" table, the main data merging is done with
|
||||
upgrade wizards, but it may happen that TypoScript and extensions may need
|
||||
adaptions, for instance if they write and read data from "pages" or
|
||||
"pages_language_overlay" directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The following backwards-compatibility are met until TYPO3 v10.0:
|
||||
|
||||
* The TCA definition for "pages_language_overlay" is kept as part of handling extensions supporting v8 and v9
|
||||
* The database table "pages_language_overlay" is kept as is, but not updated anymore by core
|
||||
* A database field within "pages" is keeping the old pages_language_overlay record UID
|
||||
* An upgrade wizard merges records from "pages_language_overlay" into "pages"
|
||||
* An upgrade wizard adapts "be_groups" access restrictions for "pages_language_overlay" towards "pages"
|
||||
|
||||
.. index:: Backend, Database, PHP-API, TCA, NotScanned
|
||||
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82505:
|
||||
|
||||
===========================================================
|
||||
Breaking: #82505 - Merged EXT:info_pagetsconfig to EXT:info
|
||||
===========================================================
|
||||
|
||||
See :issue:`82505`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension `info_pagetsconfig` has been merged into the extension `info`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The extension `info` now contains the `PageTSconfig` analysis as well, without the possibility to disable this submodule
|
||||
function on a per-system functionality.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with extensions with checks for extension `info_pagetsconfig` being installed.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Change the extensions to check for `info` instead of `info_pagetsconfig`.
|
||||
|
||||
.. index:: Backend, NotScanned, ext:info
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82506:
|
||||
|
||||
===========================================================================
|
||||
Breaking: #82506 - Remove BackendUserRepository injection in NoteController
|
||||
===========================================================================
|
||||
|
||||
See :issue:`82506`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
To improve the performance of showing sys_note records the injection of the :php:`BackendUserRepository` has been
|
||||
removed in :php:`\TYPO3\CMS\SysNote\Controller\NoteController`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The method :php:`\TYPO3\CMS\SysNote\Domain\Repository\SysNoteRepository::findByPidsAndAuthor` has been removed.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using third-party extension that use the method
|
||||
:php:`\TYPO3\CMS\SysNote\Domain\Repository\SysNoteRepository::findByPidsAndAuthor`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the method :php:`\TYPO3\CMS\SysNote\Domain\Repository\SysNoteRepository::findByPidsAndAuthorId`, and use the
|
||||
user id as 2nd argument instead of a `BackendUser` object.
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned, ext:sys_note
|
||||
@@ -0,0 +1,66 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82572:
|
||||
|
||||
=============================================
|
||||
Breaking: #82572 - RDCT functionality removed
|
||||
=============================================
|
||||
|
||||
See :issue:`82572`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The short-link / redirect functionality based on the GET parameter `RDCT` of TYPO3 Frontend requests
|
||||
has been removed from TYPO3.
|
||||
|
||||
Along, all functionality related to evaluating `RDCT` is not evaluated anymore.
|
||||
|
||||
The following PHP methods have been removed:
|
||||
|
||||
* TypoScriptFrontendController->sendRedirect()
|
||||
* TypoScriptFrontendController->updateMD5paramsRecord()
|
||||
* GeneralUtility::makeRedirectUrl()
|
||||
|
||||
The eighth property of the constructor of TypoScriptFrontendController is not evaluated anymore,
|
||||
also the public property `TSFE->RDCT` is removed as it is not set anymore.
|
||||
|
||||
The corresponding database table `cache_md5params` has been dropped.
|
||||
|
||||
Substitution logic can be found in the TER extension `rdct`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
When calling TYPO3 Frontend via `index.php&RDCT=myhash` the RDCT GET parameter is not evaluated
|
||||
anymore.
|
||||
|
||||
Calling :php:`$TSFE->sendRedirect()`, :php:`$TSFE->updateMD5paramsRecord()` and
|
||||
:php:`GeneralUtility::makeRedirectUrl()` will result in a fatal PHP error.
|
||||
|
||||
Accessing the now non-existent property :php:`$TSFE->RDCT` will trigger a PHP notice, as well
|
||||
as setting up a new instance of `TypoScriptFrontendController` with an eighth parameter.
|
||||
|
||||
Accessing the database table `cache_md5params` will also lead to unexpected results as this table
|
||||
does not exist in new installations anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instance handling data via the `cache_md5params` database table or creating short links
|
||||
via `&RDCT` hashes.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The TER extension `rdct` contains all previous functionality handled via a simple hook. An upgrade
|
||||
wizard within the Install Tool will check if the database table is filled and downloads the extension
|
||||
from TER.
|
||||
|
||||
It is recommended to use a third-party short-url or redirect extension which provides a richer feature
|
||||
set.
|
||||
|
||||
.. index:: Frontend, PHP-API, PartiallyScanned
|
||||
@@ -0,0 +1,48 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82629:
|
||||
|
||||
===========================================================
|
||||
Breaking: #82629 - Removed tce_db options "prErr" and "uPT"
|
||||
===========================================================
|
||||
|
||||
See :issue:`82629`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The two options `prErr` ("print errors") and `uPT` ("update page tree"), usually set via GET/POST
|
||||
when calling TYPO3's Backend endpoint `tce_db` (DataHandler actions within the TYPO3 Backend),
|
||||
have been removed, and are now automatically evaluated when the endpoint is called.
|
||||
|
||||
The option `prErr` added possible errors to the Message Queue. The option `uPT` triggered an update
|
||||
of the pagetree after a page-related action was made.
|
||||
|
||||
Both options are dropped as the functionality is enabled by default.
|
||||
|
||||
The corresponding methods have been adjusted:
|
||||
|
||||
* `TYPO3\CMS\Core\DataHandling\DataHandler->printLogErrorMessages()` does not need a method argument anymore.
|
||||
* The public property `TYPO3\CMS\Backend\Controller\SimpleDataHandlerController->prErr` is removed
|
||||
* The public property `TYPO3\CMS\Backend\Controller\SimpleDataHandlerController->uPT` is removed
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `tce_db` with any of the two options has no effect anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with third-party extensions accessing the entrypoint `tce_db` or calling
|
||||
`DataHandler->printLogErrorMessages()` via PHP.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove any of the parameters in the PHP code and everything will continue to work as before.
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82639:
|
||||
|
||||
===========================================================================
|
||||
Breaking: #82639 - Logging activated for authentication and Service classes
|
||||
===========================================================================
|
||||
|
||||
See :issue:`82639`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Due to the introduction of TYPO3's Logging API in several places, it is now common to use the logging
|
||||
API without further options.
|
||||
|
||||
Therefore the following configuration options have been removed:
|
||||
|
||||
- :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['writeDevLog']`
|
||||
- :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['writeDevLogBE']`
|
||||
- :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['writeDevLogFE']`
|
||||
- :php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['enable_DLOG']`
|
||||
|
||||
The following public properties have no effect anymore and have been removed:
|
||||
|
||||
- :php:`AbstractUserAuthentication->writeDevLog`
|
||||
- :php:`AbstractService->writeDevLog`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting any of the options does not have any effect anymore on logging.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations running with `EXT:devlog` or further extensions setting any of the options above.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Instead of using the mentioned options, TYPO3's Logging API can be configured as stated in the
|
||||
official documentation to write the logging messages to various places.
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API, FullyScanned
|
||||
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82640:
|
||||
|
||||
======================================================
|
||||
Breaking: #82640 - Re-arranging global debug functions
|
||||
======================================================
|
||||
|
||||
See :issue:`82640`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The global function :php:`xdebug()` has been dropped in favor of using :php:`debug()`.
|
||||
|
||||
The global function :php:`debug()` now only takes a maximum of three function arguments.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `xdebug()` globally will throw in a PHP fatal error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation in a development environment using the global functions in an old-fashioned way.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Instead of `xdebug()` simply use `debug()` as an alias. Ensure that when calling `debug()` that a
|
||||
maximum of three arguments are handed over to the function.
|
||||
|
||||
.. index:: PHP-API, FullyScanned
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82680:
|
||||
|
||||
=======================================================================
|
||||
Breaking: #82680 - Removed option to generate PNGs limited to 64 colors
|
||||
=======================================================================
|
||||
|
||||
See :issue:`82680`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The option to generate PNGs with only 64 colors called :php:`$TYPO3_CONF_VARS[GFX][png_truecolor]` has been removed.
|
||||
|
||||
The public PHP property `GraphicalFunctions->png_truecolor` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting the option has no effect anymore, as resized PNG images are always truecolor.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation having this option disabled.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Accessing the Install Tool removes the option. If necessary, the option can be set via TypoScript GIFBUILDER `reduceColors`.
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API, NotScanned
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82689:
|
||||
|
||||
==============================================================================
|
||||
Breaking: #82689 - Backend AbstractWizardController not extends AbstractModule
|
||||
==============================================================================
|
||||
|
||||
See :issue:`82689`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The PHP class :php:`TYPO3\CMS\Backend\Controller\Wizard\AbstractWizardController` no
|
||||
longer extends class :php:`TYPO3\CMS\Backend\Module\AbstractModule`. This can be breaking
|
||||
if wizard classes of extensions depend on method :php:`processRequest()` or the initialized
|
||||
property :php:`moduleTemplate`.
|
||||
|
||||
PHP class :php:`TYPO3\CMS\Backend\Module\AbstractModule` has been deprecated and should not be used any longer.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
* Using class :php:`AbstractModule` will throw a deprecation warning
|
||||
* Extensions with wizards extending class :php:`AbstractWizardController`
|
||||
may fatal if they use property :php:`moduleTemplate`
|
||||
* Extensions with wizards extending class :php:`AbstractWizardController`
|
||||
may fatal if they use they registered routes to method :php:`processRequest`
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with extensions with one of the above described patterns.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Extensions that extend :php:`AbstractModule` should initialize :php:`moduleTemplate`
|
||||
at an appropriate place instead. Instead of :php:`processRequest()`, routes should be
|
||||
registered in an extensions :file:`Configuration/Backend/Routes.php` and
|
||||
:file:`Configuration/Backend/AjaxRoutes.php`.
|
||||
|
||||
.. index:: Backend, PHP-API, PartiallyScanned
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82701:
|
||||
|
||||
======================================================================
|
||||
Breaking: #82701 - Always consider publishing references in workspaces
|
||||
======================================================================
|
||||
|
||||
See :issue:`82701`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TSconfig option :typoscript:`options.workspaces.considerReferences` to disable references when publishing
|
||||
records from a workspace has been removed.
|
||||
|
||||
The according method :php:`TYPO3\CMS\Version\DataHandler\CommandMap::setWorkspacesConsiderReferences()`
|
||||
has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Disabling this setting will have no effect anymore, thus publishing records will always
|
||||
publish relations e.g. in IRRE relations as well.
|
||||
|
||||
Calling the removed PHP method will throw a PHP fatal error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with workspaces enabled, having the TSconfig option explicitly disabled.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove any calls to the method, as it has no effect anymore.
|
||||
|
||||
.. index:: TSConfig, PartiallyScanned, ext:workspaces
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82709:
|
||||
|
||||
============================================================================
|
||||
Breaking: #82709 - TCA option "localizeChildrenAtParentLocalization" removed
|
||||
============================================================================
|
||||
|
||||
See :issue:`82709`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TCA option :php:`$TCA[$tableName]['columns'][$columnName]['config']['behaviour']['localizeChildrenAtParentLocalization']`
|
||||
has been removed, as this is the default behaviour for any kind of inline translation (IRRE).
|
||||
|
||||
The behaviour to disable this functionality in TYPO3 v8 was not compatible anymore with any
|
||||
localization mode setting and the newly introduced `allowLanguageSynchronization`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Explicitly disabling this option has no effect anymore, setting this option in TCA will
|
||||
trigger a deprecation message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation with custom TCA definitions of Inline Relational Record Editing which have this
|
||||
setting set.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the TCA option in the extensions' TCA definition.
|
||||
|
||||
.. index:: TCA, Backend, NotScanned
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82768:
|
||||
|
||||
=======================================================================
|
||||
Breaking: #82768 - Configuration Options for Image Manipulation PHP API
|
||||
=======================================================================
|
||||
|
||||
See :issue:`82768`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The main PHP class :php:`GraphicalFunctions` for rendering images based on ImageMagick/GraphicsMagick
|
||||
and/or GDlib has been cleaned up in order to optimize various places within the code itself,
|
||||
making more use of the proper "init()" function setting all relevant options.
|
||||
|
||||
The following previously public properties are therefore either set to "protected"
|
||||
or removed/renamed as part of the streaming process, removing the possibility to
|
||||
override any of the settings other than via the :php:`init()` method within
|
||||
GraphicalFunctions:
|
||||
|
||||
* :php:`GraphicalFunctions->gdlibExtensions`
|
||||
* :php:`GraphicalFunctions->imageFileExt`
|
||||
* :php:`GraphicalFunctions->webImageExt`
|
||||
* :php:`GraphicalFunctions->NO_IM_EFFECTS`
|
||||
* :php:`GraphicalFunctions->NO_IMAGE_MAGICK`
|
||||
* :php:`GraphicalFunctions->mayScaleUp`
|
||||
* :php:`GraphicalFunctions->dontCompress`
|
||||
* :php:`GraphicalFunctions->dontUnlinkTempFiles`
|
||||
* :php:`GraphicalFunctions->absPrefix`
|
||||
* :php:`GraphicalFunctions->im5fx_blurSteps`
|
||||
* :php:`GraphicalFunctions->im5fx_sharpenSteps`
|
||||
* :php:`GraphicalFunctions->pixelLimitGif`
|
||||
* :php:`GraphicalFunctions->colMap`
|
||||
* :php:`GraphicalFunctions->csConvObj`
|
||||
* :php:`GraphicalFunctions->jpegQuality`
|
||||
* :php:`GraphicalFunctions->OFFSET`
|
||||
|
||||
Additionally, the option to disable the deletion of tempFiles have been removed.
|
||||
|
||||
The global configuration option :php:`$TYPO3_CONF_VARS[GFX][processor_effects]`
|
||||
is a boolean option now.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting any of the PHP properties above will have no effect anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation with an extension accessing directly GraphicalFunctions or GifBuilder API
|
||||
via PHP and using any of the properties above.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Ensure all options are properly set when calling :php:`GraphicalFunctions->init()` and remove
|
||||
all calls to get or set values from the previously public properties.
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API, NotScanned
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82803:
|
||||
|
||||
=========================================================================
|
||||
Breaking: #82803 - Global configuration option "content_doktypes" removed
|
||||
=========================================================================
|
||||
|
||||
See :issue:`82803`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The configuration option :php:`$TYPO3_CONF_VARS['FE']['content_doktypes']` which declared
|
||||
what pages.doktypes values could contain content elements, was removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this option in custom code will lead to unexpected behaviour.
|
||||
|
||||
Changing this option has no effect on TYPO3 Core anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations having this option explicitly set.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove all usages working with this option.
|
||||
|
||||
.. index:: LocalConfiguration, NotScanned
|
||||
@@ -0,0 +1,40 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82832:
|
||||
|
||||
=======================================================
|
||||
Breaking: #82832 - Use at daemon dropped from scheduler
|
||||
=======================================================
|
||||
|
||||
See :issue:`82832`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The functionality to execute tasks via the unix "at daemon" (atd)
|
||||
has been dropped.
|
||||
|
||||
The following method has been dropped:
|
||||
|
||||
* :php:`TYPO3\CMS\Scheduler\Scheduler->scheduleNextSchedulerRunUsingAtDaemon()`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If this feature has been used, existing tasks may not be executed anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
The feature "useAtdaemon" had to be explicitly enabled in scheduler
|
||||
extension configuration. In general it was very sparsely used.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Switch to cron execution instead.
|
||||
|
||||
.. index:: Backend, CLI, PHP-API, PartiallyScanned, ext:scheduler
|
||||
@@ -0,0 +1,39 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82852:
|
||||
|
||||
=========================================================
|
||||
Breaking: #82852 - Exception is thrown on invalid charset
|
||||
=========================================================
|
||||
|
||||
See :issue:`82852`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method :php:`\TYPO3\CMS\Core\Charset\CharsetConverter::initCharset()` and
|
||||
consequently all methods in this class calling that method now throw
|
||||
an :php:`\TYPO3\CMS\Core\Charset\UnknownCharsetException` if an unknown
|
||||
charset was provided.
|
||||
|
||||
The :php:`TypoScriptFrontendController` aka TSFE uses this to throw
|
||||
a :php:`\RuntimeException` in case of an invalid :typoscript:`config.metaCharset`.
|
||||
Before this resulted in a blank page instead.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Third party code directly using the :php:`CharsetConverter` class need to be aware of the new exception in case of an invalid charset.
|
||||
|
||||
Sites with an invalid :typoscript:`config.metaCharset` will now see a clear error message.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Catch the :php:`UnknownCharsetException` of the :php:`CharsetConverter` if necessary.
|
||||
|
||||
Ensure that :typoscript:`config.metaCharset` is set to a known charset.
|
||||
|
||||
.. index:: Frontend, PHP-API, NotScanned
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82878:
|
||||
|
||||
=====================================================================
|
||||
Breaking: #82878 - Removed field "no_cache" in database table "pages"
|
||||
=====================================================================
|
||||
|
||||
See :issue:`82878`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The database field :sql:`pages.no_cache` has been removed from TYPO3 Core. This option allowed editors
|
||||
to completely disable all frontend caching functionality of a specific page.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Having this option previously set on a specific page will now use caching when rendering this page.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Existing installations having this option set in their database.
|
||||
|
||||
This can easily be checked via a SQL query: :sql:`SELECT uid, pid, title FROM pages WHERE deleted=0
|
||||
AND pid>=0 AND no_cache=1;`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The "no cache" option which should be avoided or otherwise used carefully by integrators via
|
||||
TypoScript through :typoscript:`config.no_cache = 1` in conjunction with a condition on a per-page basis.
|
||||
|
||||
However, it is better to set a very low cache timeout, or investigate why caching is configured
|
||||
wrongly in an extension or plugin.
|
||||
|
||||
Also, use the following SQL query to quickly check if your installation is even using this option at all.
|
||||
If not, it is not necessary to migrate anything:
|
||||
|
||||
.. code-block:: sql
|
||||
|
||||
SELECT uid,title FROM pages WHERE no_cache = 1
|
||||
|
||||
|
||||
.. index:: Database, Frontend, NotScanned
|
||||
@@ -0,0 +1,36 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82893:
|
||||
|
||||
=========================================================
|
||||
Breaking: #82893 - Remove global variable PARSETIME_START
|
||||
=========================================================
|
||||
|
||||
See :issue:`82893`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The global variable :php:`$GLOBALS['PARSETIME_START']` can be removed, as it has been superseded by
|
||||
:php:`$GLOBALS['TYPO3_MISC']['microtime_start']` for a long time already.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The variable is not available any more. If it is used it must be replaced (see Migration).
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations that use the global variable :php:`$GLOBALS['PARSETIME_START']`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :php:`round($GLOBALS['TYPO3_MISC']['microtime_start'] * 1000)` if you need the same value as
|
||||
:php:`$GLOBALS['PARSETIME_START']` previously contained.
|
||||
|
||||
.. index:: Frontend, PHP-API, FullyScanned
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82896:
|
||||
|
||||
========================================================================
|
||||
Breaking: #82896 - System extension "version" migrated into "workspaces"
|
||||
========================================================================
|
||||
|
||||
See :issue:`82896`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The basic functionality of versioning records, previously located within the "version" system
|
||||
extension was moved into the "workspaces" extension, which not only enhances the versioning with
|
||||
workflows and workflow stages, but also adds a Backend module to configure and to publish versioned
|
||||
records within a workspace.
|
||||
|
||||
The extensions' deeply coupled logic is now moved into one system extension, providing the same
|
||||
functionality still.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the versioning functionality of TYPO3 is now coupled with the workspace and workflow logic,
|
||||
and cannot be used separately for custom versioning strategies not supported by TYPO3 Core.
|
||||
|
||||
Additionally, third-party extensions checking for the previously available "version" extensions
|
||||
will trigger a deprecation warning.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation solely providing versioning functionality based on the "version" extension,
|
||||
but not using "workspaces".
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Adapt your changes to check for "workspaces" instead of the "version" extension.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
# old
|
||||
if (ExtensionManagementUtility::isLoaded('version')) { ... }
|
||||
|
||||
# new
|
||||
if (ExtensionManagementUtility::isLoaded('workspaces')) { ... }
|
||||
|
||||
If you built custom functionality built on "version" without "workspaces", ensure to adapt
|
||||
your settings and old class names to use the workspace PHP namespaces.
|
||||
|
||||
.. index:: PHP-API, NotScanned, ext:workspaces
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82899:
|
||||
|
||||
========================================================================================
|
||||
Breaking: #82899 - More restricting checks for API methods in ExtensionManagementUtility
|
||||
========================================================================================
|
||||
|
||||
See :issue:`82899`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following methods within :php:`ExtensionManagementUtility`, the primary API class for
|
||||
extensions registering additional components like plugins, modules or extending TCA functionality
|
||||
now throw Exceptions with invalid calls:
|
||||
|
||||
1. :php:`addLLrefForTCAdescr()` requires a non-empty string as first argument
|
||||
2. :php:`addNavigationComponent()` requires the third argument ($extensionKey)
|
||||
3. :php:`addService()` requires the second argument to be non-empty, and the fourth argument as array
|
||||
4. :php:`addPlugin()` requires the third argument ($extensionKey) to be set
|
||||
5. :php:`addStaticFile()` requires the second and third argument to be non-empty
|
||||
6. :php:`addTypoScript()` requires the second argument to be either `setup` or `constants`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling any of the methods mentioned will trigger a `InvalidArgumentException`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation with an extension calling any of the methods above with missing
|
||||
information.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Add the required parameters to the API calls in your extension registration files, typically
|
||||
located within :file:`ext_localconf.php`, :file:`ext_tables.php` or :file:`Configuration/TCA/*` of an extension.
|
||||
|
||||
.. index:: PHP-API, PartiallyScanned
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82914:
|
||||
|
||||
===============================================================
|
||||
Breaking: #82914 - Remove TypoScript option page.bodyTagMargins
|
||||
===============================================================
|
||||
|
||||
See :issue:`82914`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript option :typoscript:`page.bodyTagMargins` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting this option will have no effect anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation using this option.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Move the configuration into your used CSS files.
|
||||
|
||||
.. index:: TypoScript, Frontend, NotScanned
|
||||
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82915:
|
||||
|
||||
===========================================================
|
||||
Breaking: #82915 - Remove TypoScript option page.stylesheet
|
||||
===========================================================
|
||||
|
||||
See :issue:`82915`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript option :typoscript:`page.stylesheet` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting this option will have no effect anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation using this option.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use a configuration like :typoscript:`page.includeCSS.aFile = fileadmin/styles.css`
|
||||
|
||||
.. index:: Frontend, TypoScript, NotScanned
|
||||
@@ -0,0 +1,33 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82919:
|
||||
|
||||
=============================================================
|
||||
Breaking: #82919 - Removed pagetree-related TSconfig settings
|
||||
=============================================================
|
||||
|
||||
See :issue:`82919`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following edge-case TSconfig options have been removed:
|
||||
|
||||
- :typoscript:`options.pageTree.disableIconLinkToContextmenu` (Icons are always linked)
|
||||
- :typoscript:`options.pageTree.searchInAlias` (the pages.alias DB field is now always respected when filtering)
|
||||
- :typoscript:`options.pageTree.excludeDoktypes` (there is no restriction to doctypes in the filter anymore)
|
||||
- :typoscript:`options.pageTree.hideFilter` (filter is now always visible)
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting these options in UserTSconfig will have no effect anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations having one of these options set.
|
||||
|
||||
.. index:: Backend, TSConfig, NotScanned
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82926:
|
||||
|
||||
===========================================================
|
||||
Breaking: #82926 - Removed database field sys_domain.forced
|
||||
===========================================================
|
||||
|
||||
See :issue:`82926`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The database field "sys_domain.forced" (Checkbox "Always prepend this domain in links" in Domain Records)
|
||||
and its functionality has been removed.
|
||||
|
||||
Previously, setting the checkbox allowed to prepend a specific domain to TypoLink-generated links, but only
|
||||
if the visiting HTTP_HOST did not match any of other domain records on the same page (without redirect).
|
||||
|
||||
It was however, only partially useful, as - depending on which HTTP_HOST the site was accessed the first time,
|
||||
and thus, the links were generated and written to cache - resulting in ambiguous cache entries.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Custom links having multiple domains in one pagetree without redirects and the forced flag will
|
||||
not force a certain domain anymore via TypoLink.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations using this flag (can be checked with a simple SQL query :sql:`SELECT uid, pid, domainName
|
||||
FROM sys_domain WHERE forced=1`) and using that on purpose with a lot of non-redirect domains
|
||||
for the same page tree.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If a site has a special use-case, hooks for page link generation can be used to prepend specific domains to links.
|
||||
|
||||
Also, if queries are made against sys_domain in third-party extensions, ensure this field is not selected or
|
||||
evaluated anymore, in order to avoid SQL errors.
|
||||
|
||||
.. index:: Database, PHP-API, NotScanned
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-82991:
|
||||
|
||||
====================================================================
|
||||
Breaking: #82991 - Record list "Localization View" is always enabled
|
||||
====================================================================
|
||||
|
||||
See :issue:`82991`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The option / checkbox "Localization View" in TYPO3's List module was removed, as the functionality is now
|
||||
always enabled.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The PageTSconfig option :typoscript:`mod.web_list.enableLocalizationView` has no effect anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any multi-language installation using the TSconfig option above to e.g. disable the localization view.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the TSconfig option.
|
||||
|
||||
.. index:: TSConfig, Backend, NotScanned
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83081:
|
||||
|
||||
==========================================================================
|
||||
Breaking: #83081 - Removed configuration option BE/fileExtensions/webspace
|
||||
==========================================================================
|
||||
|
||||
See :issue:`83081`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The file extensions which are allowed to be uploaded, which were previously available under
|
||||
:php:`$TYPO3_CONF_VARS[BE][fileExtensions][webspace]` called `allow` and `deny` have been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
* Using the old configuration option names will result in a PHP notice.
|
||||
* In Import/Export when uploading files :php:`fileDenyPattern` is used instead of `allow` and `deny`
|
||||
* When using :php:`BasicFileUtility` directly, only :php:`fileDenyPattern` is used
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
TYPO3 installations which have set this option in :file:`LocalConfiguration.php` previously, or extensions which
|
||||
still use the old configuration option names.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :php:`fileDenyPattern` which is used consistently throughout the core to deny specific file extensions.
|
||||
|
||||
.. index:: LocalConfiguration, PartiallyScanned
|
||||
@@ -0,0 +1,40 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83122:
|
||||
|
||||
=======================================================
|
||||
Breaking: #83122 - Removed stdWrap option TCAselectItem
|
||||
=======================================================
|
||||
|
||||
See :issue:`83122`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The option `TCAselectItem` is rarely used and also does not cover all possibilities of the core like manipulating
|
||||
entries with TSconfig and the mentioned support of database relations.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The stdWrap option :typoscript:`TCAselectItem` will not work anymore.
|
||||
|
||||
Calling :php:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::stdWrap_TCAselectItem` and
|
||||
:php:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::TCAlookup` will trigger an error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any instance using the stdWrap option :typoscript:`TCAselectItem` or calls to
|
||||
:php:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::stdWrap_TCAselectItem` and
|
||||
:php:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::TCAlookup`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use a custom userFunc to rebuild the functionality.
|
||||
|
||||
.. index:: Frontend, TypoScript, PartiallyScanned
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83124:
|
||||
|
||||
========================================================================
|
||||
Breaking: #83124 - Remove stdWrap options space, spaceBefore, spaceAfter
|
||||
========================================================================
|
||||
|
||||
See :issue:`83124`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The stdWrap options :typoscript:`space`, :typoscript:`spaceBefore`, :typoscript:`spaceAfter` are rarely used and should be better done completely by CSS.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The stdWrap options :typoscript:`space`, :typoscript:`spaceBefore`, :typoscript:`spaceAfter` do not work anymore. The following calls to :php:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer` will trigger an error:
|
||||
|
||||
- :php:`stdWrap_spaceBefore`
|
||||
- :php:`stdWrap_spaceAfter`
|
||||
- :php:`stdWrap_space`
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any instance using the stdWrap option :typoscript:`space`, :typoscript:`spaceBefore`, :typoscript:`spaceAfter` or calls to :php:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer` :
|
||||
|
||||
- :php:`stdWrap_spaceBefore`
|
||||
- :php:`stdWrap_spaceAfter`
|
||||
- :php:`stdWrap_space`
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use CSS or a wrap option of stdWrap.
|
||||
|
||||
.. index:: Frontend, TypoScript, PartiallyScanned
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83153:
|
||||
|
||||
======================================================
|
||||
Breaking: #83153 - Migrated backend_layout.icon to FAL
|
||||
======================================================
|
||||
|
||||
See :issue:`83153`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The existing database field "icon" for Backend Layouts put into the database, was previously a file upload field,
|
||||
putting all icons under `uploads/media`. The field is migrated to the File Abstraction Layer (FAL), having
|
||||
proper file relations like all other parts of TYPO3 core.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
When working with the TCA for the backend_layout.icon field, sys_file_reference relations are now expected.
|
||||
When querying the database table directly, icon only contains the number of references of this backend layout.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with custom backend layout icons and, more specifically extensions dealing with the database
|
||||
table directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
An upgrade wizard in the TYPO3 install tool moves all existing icons of backend_layouts from `uploads/media` to
|
||||
`fileadmin/_migrated/backend_layouts/`.
|
||||
|
||||
For extensions directly working on the database table, the database access needs to be modified.
|
||||
|
||||
.. index:: Database, FAL, Backend, NotScanned
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83160:
|
||||
|
||||
===========================================================================
|
||||
Breaking: #83160 - Removed 'sorting' column from table 'sys_file_reference'
|
||||
===========================================================================
|
||||
|
||||
See :issue:`83160`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The column :php:`sorting` has been removed from table :php:`sys_file_reference` as it was not used in TYPO3
|
||||
core and lead to severe performance issues on instances with many records in the table.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Custom queries (e.g. from extensions) on table :php:`sys_file_reference` containing the column :php:`sorting` will lead to an SQL error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All instances which use custom queries containing the mentioned column.
|
||||
|
||||
.. index:: Database, FAL, NotScanned
|
||||
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83161:
|
||||
|
||||
========================================================
|
||||
Breaking: #83161 - Remove TYPO3.LLL usages in TYPO3 core
|
||||
========================================================
|
||||
|
||||
See :issue:`83161`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
After moving to the :js:`TYPO3.lang` API for javascript, the :js:`TYPO3.LLL` is not needed anymore.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
All extensions which are using :js:`TYPO3.LLL` for translation in javascript should be checked and updated accordingly.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using extensions, which are using :js:`TYPO3.LLL`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :js:`TYPO3.lang['label']` from javascript. To make custom language labels available in javascript,
|
||||
add :php:`$this->pageRenderer->addInlineLanguageLabelFile('EXT:foo/Resources/Private/Language/locallang.xlf');`
|
||||
in your backend controller.
|
||||
|
||||
The class typo3/sysext/feedit/Classes/FrontendEditAssetLoader.php was removed, so if you used it in your code you have to remove the dependency.
|
||||
|
||||
.. index:: Backend, JavaScript, PHP-API, NotScanned
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83241:
|
||||
|
||||
======================================================================================
|
||||
Breaking: #83241 - Extbase: Removed custom functionality for DataMapper->getPlainValue
|
||||
======================================================================================
|
||||
|
||||
See :issue:`83241`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Extbase's DataMapper allowed for wrapping string values in custom user functions via custom parameters.
|
||||
This was primarily placed in DataMapper for allowing TYPO3's legacy DBAL / :php:`$GLOBALS['TYPO3_DB']`.
|
||||
|
||||
The functionality is now removed, as the Generic Backend is handled via Doctrine DBAL.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling :php:`DataMapper->getPlainValue()` with the third or fourth parameter set will have no effect anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
In an VERY unlikely case of using a custom Persistence Backend within Extbase in an extension, some
|
||||
transformations will not work as expected anymore.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the transformations outside the DataMapper, if still necessary.
|
||||
|
||||
.. index:: PHP-API, FullyScanned, ext:extbase
|
||||
@@ -0,0 +1,28 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83243:
|
||||
|
||||
============================================================
|
||||
Breaking: #83243 - Removed cache_phpcode cache configuration
|
||||
============================================================
|
||||
|
||||
See :issue:`83243`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The Caching Framework configuration for `cache_phpcode` is unused since
|
||||
TYPO3 6.0 and has been removed without substitution.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using `cache_phpcode` will throw a `NoSuchCacheException`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Every installation using a 3rd party extension that still relies on `cache_phpcode` is affected.
|
||||
|
||||
.. index:: PHP-API, NotScanned, LocalConfiguration
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83244:
|
||||
|
||||
=======================================================================================
|
||||
Breaking: #83244 - Fluid Widget Links do not add cacheHash parameter by default anymore
|
||||
=======================================================================================
|
||||
|
||||
See :issue:`83244`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
When using links for fluid widgets (like Paginator widgets) it is not possible to disable the cHash calculation.
|
||||
|
||||
A new argument `useCacheHash` for the :html:`<f:widget.link>` and the :html:`<f:widget.uri>` ViewHelpers has been added
|
||||
to re-enable the previous behaviour.
|
||||
|
||||
Additionally, using cHash and addQueryString is counterproductive for deterministic caching purposes,
|
||||
thus this combination should not be set by TYPO3 core by default.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the :html:`<f:widget.link>` or :html:`<f:widget.uri>` ViewHelper will not generate a cHash anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations using extensions that are built around Fluid widgets.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
None. If necessary, activate the cHash calculation by using the newly introduced Fluid argument "useCacheHash".
|
||||
|
||||
.. index:: Fluid, NotScanned
|
||||
@@ -0,0 +1,53 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83256:
|
||||
|
||||
=====================================================
|
||||
Breaking: #83256 - Removed lockFilePath functionality
|
||||
=====================================================
|
||||
|
||||
See :issue:`83256`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript option :typoscript:`config.lockFilePath` has been removed, which was possible to allow TypoScript
|
||||
:typoscript:`stdWrap.filelist` to use a different base directory than fileadmin/ (which was the default).
|
||||
|
||||
However, :typoscript:`stdWrap.filelist` now checks for valid local FAL storages (File Abstraction Layer), which can
|
||||
now be used if multiple storages are in use.
|
||||
|
||||
Thus, the following PHP property has been removed:
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->lockFilePath`
|
||||
|
||||
The following PHP method has been removed:
|
||||
|
||||
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->clean_directory()`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting :typoscript:`config.lockFilePath` has no effect anymore.
|
||||
|
||||
Accessing or setting :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->lockFilePath` will trigger
|
||||
a PHP notice.
|
||||
|
||||
Calling :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->clean_directory()` will trigger a PHP fatal error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using the PHP method/property or having config.lockFilePath set to a specific non-FAL folder,
|
||||
and using :typoscript:`stdWrap.filelist` functionality.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If the TypoScript option was set to a different folder than a FAL storage, ensure to set a local FAL storage
|
||||
to this folder.
|
||||
|
||||
.. index:: Frontend, TypoScript, PartiallyScanned
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83265:
|
||||
|
||||
=========================================================================================
|
||||
Breaking: #83265 - Dropped support for setting "typeNum" via id GET Parameter in Frontend
|
||||
=========================================================================================
|
||||
|
||||
See :issue:`83265`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The functionality to add the possible page :typoscript:`typeNum` to the "id" GET/POST Parameter has been removed.
|
||||
|
||||
Previously it was possible to call TYPO3 Frontend via `index.php?id=23.13` (separated with a dot)
|
||||
which resolved in the page ID being "23" and the typeNum set to 13.
|
||||
|
||||
This functionality is a leftover from 2003, to shorten the URL and avoid multiple GET parameters.
|
||||
Instead, today it is common to use `index.php?id=23&type=13` which TYPO3 uses internally everywhere
|
||||
since TYPO3 v4.0.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling Frontend URLs via `index.php?id=23.13` - adding the typeNum with a dot - will result in a PageNotFound exception.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with multiple "typeNum" TypoScript values, and with very old settings and custom built URLs for the Frontend.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use typolink functionality in TypoScript, or Fluid to build your URLs properly in the format
|
||||
of `index.php?id=pageId&type=typeNum`.
|
||||
|
||||
.. index:: Frontend, NotScanned
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83284:
|
||||
|
||||
=============================================================================
|
||||
Breaking: #83284 - Removed EXT:backend/Resources/Private/Templates/Close.html
|
||||
=============================================================================
|
||||
|
||||
See :issue:`83284`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The file :php:`EXT:backend/Resources/Private/Templates/Close.html` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Accessing the file :php:`EXT:backend/Resources/Private/Templates/Close.html` will result in an empty
|
||||
string returned or an exception, depending on the code to access it.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All instances, that manually access this file or use the extensions doing this..
|
||||
The extension scanner of the install tool will find affected extensions.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the file :php:`EXT:backend/Resources/Public/Html/Close.html` instead.
|
||||
|
||||
.. index:: Backend, NotScanned
|
||||
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83289:
|
||||
|
||||
===================================================
|
||||
Breaking: #83289 - Core version 9.0 needs PHP 7.2.0
|
||||
===================================================
|
||||
|
||||
See :issue:`83289`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The minimum PHP version required to run core version 9.0 has been raised from 7.0.0 to 7.2.0.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Version constructs of PHP 7.2 and library versions requiring this PHP platform can be used.
|
||||
Hosting on platforms lower than PHP 7.2.0 is not supported.
|
||||
The PHP entry points to TYPO3 will throw fatal errors if the PHP version constraint is not fulfilled.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Hosting a TYPO3 instance based on core version 9 may require an update of the PHP platform.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Youngest TYPO3 core v7 and v8 releases support PHP 7.2. This allows upgrading the platform
|
||||
in a first step and upgrading to TYPO3 v9 in a second step.
|
||||
|
||||
.. index:: PHP-API, NotScanned
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83294:
|
||||
|
||||
===============================================================================
|
||||
Breaking: #83294 - Salted Passwords: Custom saltings must use the SaltInterface
|
||||
===============================================================================
|
||||
|
||||
See :issue:`83294`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The salted passwords factory allowed to register custom saltings has been changed. All custom salts
|
||||
need to implement :php:`TYPO3\CMS\SaltedPasswords\Salt\SaltInterface`. Before, this was
|
||||
handled by extending from :php:`TYPO3\CMS\SaltedPasswords\Salt\AbstractSalt`, which has been renamed to
|
||||
:php:`TYPO3\CMS\SaltedPasswords\Salt\AbstractComposedSalt` when the salting is implemented.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
When writing custom salts for TYPO3, they need to implement the SaltInterface.
|
||||
|
||||
If extending from :php:`AbstractSalt`, custom salt now need to extend from :php:`AbstractComposedSalt` and
|
||||
implement the additional method :php:`getSaltLength()` and :php:`isValidSalt($salt)`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
TYPO3 installations using custom salts for `EXT:saltedpasswords`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Switch to the new implementation details mentioned above, and change your custom salt to fit
|
||||
to the :php:`SaltInterface` API.
|
||||
|
||||
.. index:: PHP-API, NotScanned, ext:saltedpasswords
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83302:
|
||||
|
||||
===============================================================
|
||||
Breaking: #83302 - Composer restricts installation of typo3/cms
|
||||
===============================================================
|
||||
|
||||
See :issue:`83302`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
When running a composer-based TYPO3 instance, it is not possible anymore to require the whole
|
||||
TYPO3 Core via `composer require typo3/cms`. This package is solely used for Core-development purposes
|
||||
from now on.
|
||||
|
||||
Instead, all system extensions maintained by the TYPO3 Core Team must be required individually.
|
||||
|
||||
Some examples:
|
||||
|
||||
* `composer require typo3/cms-core:^9`
|
||||
* `composer require typo3/cms-fluid-styled-content:^9`
|
||||
* `composer require typo3/cms-extbase:^9`
|
||||
* `composer require typo3/cms-workspaces:^9`
|
||||
* `composer require typo3/cms-sys-note:^9`
|
||||
|
||||
For convenience, TYPO3 projects can simply require `composer require typo3/minimal` to get the main
|
||||
system extensions that are needed for a running TYPO3 instance, and add custom system extensions
|
||||
as mentioned above.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Installing or updating the composer package `typo3/cms` will show an error for TYPO3 v9.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Composer-based TYPO3 installations that previously required `typo3/cms` in the projects'
|
||||
`composer.json` file or in any required extension `composer.json` file.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Extension authors should specifically define their dependencies of system extensions in their
|
||||
`composer.json` file, if they have previously added `typo3/cms`.
|
||||
|
||||
Site administrators / developers should require only the necessary `typo3/cms-*` packages that they
|
||||
have installed in their projects. In order to find out, which system extensions have been installed,
|
||||
have a look at `typo3conf/PackageStates.php` and look for all extensions that are located under
|
||||
`typo3/sysext/`.
|
||||
|
||||
.. index:: CLI, NotScanned
|
||||
@@ -0,0 +1,22 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-52694:
|
||||
|
||||
=========================================================
|
||||
Deprecation: #52694 - Deprecated GeneralUtility::devLog()
|
||||
=========================================================
|
||||
|
||||
See :issue:`52694`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The PHP method :php:`TYPO3\CMS\Core\Utility\GeneralUtility::devLog()` has been deprecated in favour of the Logging API.
|
||||
|
||||
Additionally these PHP symbols have been deprecated as well:
|
||||
|
||||
- :php:`TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_*` constants
|
||||
- :php:`TYPO3\CMS\Core\Service\AbstractService::devLog()`
|
||||
- :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_div.php']['devLog']`
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API, NotScanned
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-54152:
|
||||
|
||||
=============================================================================
|
||||
Deprecation: #54152 - Deprecate arguments of BackendUtility::getPagesTSconfig
|
||||
=============================================================================
|
||||
|
||||
See :issue:`54152`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
:php:`BackendUtility::getPagesTSconfig($id, $rootLine = null, $returnPartArray = false)` allowed the following arguments:
|
||||
|
||||
* :php:`$id`: This argument was and still is required. It's the id of the page the TSconfig is fetched for
|
||||
* :php:`$rootLine`: This argument was optional and allowed to use that method with a custom rootline. That argument is deprecated now.
|
||||
* :php:`$returnPartArray`: This argument was optional and allowed to return the TSconfig non parsed. That argument is deprecated now.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling :php:`BackendUtility::getPagesTSconfig` with `$rootline` and/or `$returnPartArray` being different than their
|
||||
default value, will write a deprecation log entry and will stop working in TYPO3 v10.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations that call :php:`BackendUtility::getPagesTSconfig` with :php:`$rootline` and/or :php:`$returnPartArray` being
|
||||
different than their default value.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Calling :php:`BackendUtility::getPagesTSconfig` with just the :php:`id` argument still behaves the way it does.
|
||||
It's the most common use case and no migration is needed.
|
||||
|
||||
If you called :php:`BackendUtility::getPagesTSconfig` with :php:`$returnPartArray` being :php:`true` in the past,
|
||||
you should now call `BackendUtility::getRawPagesTSconfig`. You will get the non parsed TSconfig, just like before.
|
||||
|
||||
If you called :php:`BackendUtility::getPagesTSconfig` providing a custom rootline via :php:`$rootline` in the past,
|
||||
you should now call :php:`BackendUtility::getRawPagesTSconfig($id, $rootLine = null)` with your custom rootline
|
||||
and parse the returned TSconfig yourself, just like :php:`BackendUtility::getPagesTSconfig` does.
|
||||
|
||||
.. index:: Backend, TSConfig, PHP-API, NotScanned
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-57594:
|
||||
|
||||
=======================================================================
|
||||
Deprecation: #57594 - Optimize extbase ReflectionService Cache handling
|
||||
=======================================================================
|
||||
|
||||
See :issue:`57594`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In the process of streamlining the internal reflection / docparser cache handling, the following
|
||||
methods of the PHP class :php:`ClassSchema` have been deprecated:
|
||||
|
||||
* :php:`addProperty()`
|
||||
* :php:`setModelType()`
|
||||
* :php:`getModelType()`
|
||||
* :php:`setUuidPropertyName()`
|
||||
* :php:`getUuidPropertyName()`
|
||||
* :php:`markAsIdentityProperty()`
|
||||
* :php:`getIdentityProperties()`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Installations using the above methods will trigger a :php:`E_USER_DEPRECATED` warning.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations using one of the mentioned methods instead of the ReflectionService API.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the class :php:`ReflectionService` as API which will be automatically initialized on
|
||||
instantiation.
|
||||
|
||||
.. index:: PHP-API, FullyScanned, ext:extbase
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-70526:
|
||||
|
||||
================================================================
|
||||
Deprecation: #70526 - Location of formatToPageTypeMapping option
|
||||
================================================================
|
||||
|
||||
See :issue:`70526`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Since its introduction, the option :typoscript:`formatToPageTypeMapping` had to be configured in :typoscript:`settings.view.formatToPageTypeMapping` instead of :typoscript:`view.formatToPageTypeMapping`. This has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Defining :typoscript:`settings.view.formatToPageTypeMapping` will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations containing plugins that define :typoscript:`settings.view.formatToPageTypeMapping` instead of :typoscript:`view.formatToPageTypeMapping`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Move
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
plugin.tx_myextension.settings.view.formatToPageTypeMapping
|
||||
|
||||
to
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
plugin.tx_myextension.view.formatToPageTypeMapping
|
||||
|
||||
.. index:: Frontend, TypoScript, NotScanned
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78410:
|
||||
|
||||
===============================================================================
|
||||
Deprecation: #78410 - Deprecate popover member instance in TYPO3 global object.
|
||||
===============================================================================
|
||||
|
||||
See :issue:`78410`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The member instance :js:`TYPO3.Popover` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the global instance will not throw any deprecation message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any backend JavaScript or TypeScript using :js:`TYPO3.Popover`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Usage in TypeScript:
|
||||
|
||||
.. code-block:: typescript
|
||||
|
||||
import Popover = require('TYPO3/CMS/Backend/Popover');
|
||||
|
||||
To use popovers in an amd module, add it as a dependency and a corresponding argument to the anonymous function:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
define('TYPO3\CMS\Extension\Module', ['jquery', 'TYPO3\CMS\Backend\Popover', 'bootstrap'], function($, Popover) {});
|
||||
|
||||
.. index:: Backend, JavaScript, NotScanned
|
||||
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-80993:
|
||||
|
||||
================================================
|
||||
Deprecation: #80993 - GeneralUtility::getUserObj
|
||||
================================================
|
||||
|
||||
See :issue:`80993`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method :php:`GeneralUtility::getUserObj()` has been marked as deprecated as it is a sole wrapper for
|
||||
:php:`GeneralUtility::makeInstance()`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the method will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using third-party extension that call this method.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :php:`GeneralUtility::makeInstance()` instead, which acts as a simple drop-in replacement.
|
||||
|
||||
.. index:: PHP-API, FullyScanned
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81201:
|
||||
|
||||
=========================================
|
||||
Deprecation: #81201 - EidUtility::initTCA
|
||||
=========================================
|
||||
|
||||
See :issue:`81201`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The static PHP method :php:`EidUtility::initTCA()` has been marked as deprecated, because the full
|
||||
global TCA array is available at any eID request already.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling this method triggers a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation with an extension having a custom eID script registered that uses this method.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The method call is superfluous and can be removed from the caller script.
|
||||
|
||||
.. index:: Frontend, PHP-API, TCA, FullyScanned
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81213:
|
||||
|
||||
=======================================================================
|
||||
Deprecation: #81213 - Render method arguments on ViewHelpers deprecated
|
||||
=======================================================================
|
||||
|
||||
See :issue:`81213`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Support for arguments on the :php:`render()` method of ViewHelpers has been deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Usage of render method arguments will cause a deprecation message to be logged about the specific Viewhelper class.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 site or extension using ViewHelpers with one or more arguments on the :php:`render()` method.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Switch to :php:`initializeArguments` method (override this from parent) and call :php:`registerArgument` to register each
|
||||
argument supported by the ViewHelper.
|
||||
|
||||
.. index:: Fluid, NotScanned
|
||||
@@ -0,0 +1,52 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81217:
|
||||
|
||||
===================================================
|
||||
Deprecation: #81217 - TSFE-related language methods
|
||||
===================================================
|
||||
|
||||
See :issue:`81217`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The main class for generating frontend output (TypoScriptFrontendController) has been streamlined
|
||||
to use the same API within LanguageService.
|
||||
|
||||
Therefore the following methods within TypoScriptFrontendController have been marked as deprecated:
|
||||
|
||||
* :php:`readLLfile()`
|
||||
* :php:`getLLL()`
|
||||
* :php:`initLLvars()`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling any of the PHP methods above will trigger a deprecation warning.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation calling custom frontend code with the methods above.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :php:`TypoScriptFrontendController->sL()` for resolving language labels in the language
|
||||
of the Frontend rendering engine as a replacement for :php:`getLLL()`.
|
||||
|
||||
If you are not doing anything special on language initialization, the call to :php:`initLLvars()`
|
||||
can likely be dropped. If you need to influence language initialization yourself, you can use the
|
||||
hooks :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_preProcess']`
|
||||
or :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_postProcess']`.
|
||||
|
||||
For doing special logic, it is recommend to set up a custom instance of :php:`LanguageService`
|
||||
which holds all functionality directly.
|
||||
|
||||
For example you may then use :php:`$languageService->includeLLFile(...);` instead of :php:`readLLfile()`.
|
||||
|
||||
.. index:: Frontend, PHP-API, FullyScanned
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81218:
|
||||
|
||||
=====================================================================
|
||||
Deprecation: #81218 - noWSOL argument in PageRepository->getRawRecord
|
||||
=====================================================================
|
||||
|
||||
See :issue:`81218`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method :php:`PageRepository->getRawRecord()` has a fourth parameter called :php:`$noWSOL` which allowed
|
||||
to disable the logic for getting the workspace-related record. This method argument was previously
|
||||
only used internally within PageRepository, and using this argument left the functionality of this
|
||||
method to only do a simple SQL statement, which can be implemented itself without using this API call.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling :php:`PageRepository->getRawRecord()` with a fourth parameter will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instance with custom extensions that use this method with a fourth parameter explicitly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the fourth parameter if set to false, if just a simple SQL call is needed, implement the SQL
|
||||
call directly in your PHP code.
|
||||
|
||||
.. index:: Frontend, PHP-API, FullyScanned
|
||||
@@ -0,0 +1,41 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81318:
|
||||
|
||||
=========================================================
|
||||
Deprecation: #81318 - Public properties of PageRepository
|
||||
=========================================================
|
||||
|
||||
See :issue:`81318`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following properties within the PageRepository PHP class have been marked as deprecated, as they
|
||||
were moved from public access to protected access:
|
||||
|
||||
* :php:`workspaceCache`
|
||||
* :php:`error_getRootLine`
|
||||
* :php:`error_getRootLine_failPid`
|
||||
|
||||
They should only be accessed from within the PHP class itself.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Accessing any of the properties directly within PHP will trigger a deprecation warning.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Extensions accessing one of the previously public properties directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the PHP calls and either extend the PHP class to your own needs or avoid accessing these properties.
|
||||
|
||||
.. index:: PHP-API, FullyScanned, Frontend
|
||||
@@ -0,0 +1,42 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81460:
|
||||
|
||||
=============================================================
|
||||
Deprecation: #81460 - Deprecate getByTag() on cache frontends
|
||||
=============================================================
|
||||
|
||||
See :issue:`81460`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method :php:`getByTag($tag)` on :php:`TYPO3\CMS\Core\Cache\Frontend\FrontendInterface` and all implementations have been
|
||||
deprecated with no alternative planned. This is done because the concept of cache tags were originally designed for
|
||||
invalidation purposes, not for identification and retrieval.
|
||||
|
||||
Cache frontends still support the much more efficient :php:`flushByTag` and :php:`flushByTags` methods to perform invalidation
|
||||
by tag, rather than use the deprecated method to retrieve a list of identifiers and removing each.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling this method on any TYPO3 provided cache frontend implementations triggers a deprecation log entry, with the
|
||||
exception of :php:`StringFrontend` which has itself been deprecated in a separate patch.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Avoid usage of the method - if necessary, use the same cache to store a list of identifiers for each tag.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Where possible, switch to :php:`flushByTag` or :php:`flushByTags`. In cases where you depend on getting identifiers by tag,
|
||||
reconsider your business logic - and if necessary, keep track of which identifiers use a given tag, using a separate
|
||||
list that you for example store in the cache alongside the usual cached entries.
|
||||
|
||||
.. index:: PHP-API, FullyScanned
|
||||
@@ -0,0 +1,48 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81464:
|
||||
|
||||
=====================================================
|
||||
Deprecation: #81464 - Add API for meta tag management
|
||||
=====================================================
|
||||
|
||||
See :issue:`81464`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following methods have been marked as deprecated and should no longer be used.
|
||||
|
||||
* :php:`PageRenderer->addMetaTag()`
|
||||
* :php:`DocumentTemplate->xUaCompatible`
|
||||
|
||||
It has been replaced by the method :php:`PageRenderer->setMetaTag()`.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
|
||||
// has meta tag been set already?
|
||||
$previouslySetMetaTag = $pageRenderer->getMetaTag('property', 'og:title');
|
||||
// take some decision here
|
||||
$pageRenderer->setMetaTag('property', 'og:title', 'My amazing title');
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions calling :php:`PageRenderer->addMetaTag()` or :php:`DocumentTemplate->xUaCompatible` will trigger a
|
||||
deprecation warning.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All instances using extensions that call :php:`PageRenderer->addMetaTag()` or :php:`DocumentTemplate->xUaCompatible`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Migrate code to use :php:`PageRenderer->setMetaTag($type, $name, $content)` instead.
|
||||
|
||||
.. index:: PHP-API, FullyScanned, Frontend
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81534:
|
||||
|
||||
====================================================================
|
||||
Deprecation: #81534 - BackendUtility::getListGroupNames() deprecated
|
||||
====================================================================
|
||||
|
||||
See :issue:`81534`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
PHP method :php:`BackendUtility::getListGroupNames()` has been dropped due to
|
||||
the removal of database field :php:`hide_in_lists`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The methods shouldn't be used anymore. If still used, the where constraint on filed
|
||||
hide_in_lists is no longer considered.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Extensions using above method should switch to an alternative.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use method :php:`BackendUtility::getGroupNames()` instead and keep an eye on the
|
||||
different non-admin use of the method if switching.
|
||||
|
||||
.. index:: Database, PHP-API, TCA, FullyScanned
|
||||
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81540:
|
||||
|
||||
===========================================================
|
||||
Deprecation: #81540 - Deprecate DocumentTemplate::formWidth
|
||||
===========================================================
|
||||
|
||||
See :issue:`81540`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method :php:`DocumentTemplate::formWidth()` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the method will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using third-party extension that call this method.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use CSS classes from Bootstrap or if needed inline styles directly.
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned
|
||||
@@ -0,0 +1,106 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81600:
|
||||
|
||||
===============================================
|
||||
Deprecation: #81600 - Unused Extbase Exceptions
|
||||
===============================================
|
||||
|
||||
See :issue:`81600`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Extbase ships with a lot of PHP Exception classes which are not used (partially anymore) due to
|
||||
refactorings or backports 8 years ago - they are never thrown within TYPO3 / Extbase itself.
|
||||
|
||||
These PHP classes have been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using these exception classes will not work anymore in TYPO3 v10.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 extbase extension using these extraordinary exceptions in their own code.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
PHP class aliases are in place, so all code will still work throughout TYPO3 v9, but extension authors
|
||||
should migrate to other exceptions.
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Configuration\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Configuration\Exception\ContainerIsLockedException`
|
||||
* :php:`TYPO3\CMS\Extbase\Configuration\Exception\NoSuchFileException`
|
||||
* :php:`TYPO3\CMS\Extbase\Configuration\Exception\NoSuchOptionException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Mvc\Exception\InvalidMarkerException`
|
||||
* :php:`TYPO3\CMS\Extbase\Mvc\Exception\InvalidViewHelperException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Mvc\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Mvc\Exception\InvalidRequestTypeException`
|
||||
* :php:`TYPO3\CMS\Extbase\Mvc\Exception\RequiredArgumentMissingException`
|
||||
* :php:`TYPO3\CMS\Extbase\Mvc\Exception\InvalidCommandIdentifierException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Core\Cache\Exception\InvalidCacheException` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Object\Container\Exception\CannotInitializeCacheException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Object\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Object\Container\Exception\TooManyRecursionLevelsException`
|
||||
* :php:`TYPO3\CMS\Extbase\Object\Exception\WrongScopeException`
|
||||
* :php:`TYPO3\CMS\Extbase\Object\InvalidClassException`
|
||||
* :php:`TYPO3\CMS\Extbase\Object\InvalidObjectConfigurationException`
|
||||
* :php:`TYPO3\CMS\Extbase\Object\InvalidObjectException`
|
||||
* :php:`TYPO3\CMS\Extbase\Object\ObjectAlreadyRegisteredException`
|
||||
* :php:`TYPO3\CMS\Extbase\Object\UnknownClassException`
|
||||
* :php:`TYPO3\CMS\Extbase\Object\UnknownInterfaceException`
|
||||
* :php:`TYPO3\CMS\Extbase\Object\UnresolvedDependenciesException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Persistence\Generic\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Exception\CleanStateNotMemorizedException`
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Exception\InvalidPropertyTypeException`
|
||||
* :php:`TYPO3\CMS\Extbase\Persistence\Generic\Exception\MissingBackendException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Property\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Property\Exception\FormatNotSupportedException`
|
||||
* :php:`TYPO3\CMS\Extbase\Property\Exception\InvalidFormatException`
|
||||
* :php:`TYPO3\CMS\Extbase\Property\Exception\InvalidPropertyException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Reflection\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Reflection\Exception\InvalidPropertyTypeException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Security\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Security\Exception\InvalidArgumentForRequestHashGenerationException`
|
||||
* :php:`TYPO3\CMS\Extbase\Security\Exception\SyntacticallyWrongRequestHashException`
|
||||
* :php:`TYPO3\CMS\Extbase\Mvc\Exception\InvalidUriPatternException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Security\Exception\InvalidHashException` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Mvc\Exception\InvalidOrNoRequestHashException`
|
||||
|
||||
Use :php:`TYPO3\CMS\Extbase\Validation\Exception` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Validation\Exception\InvalidSubjectException`
|
||||
* :php:`TYPO3\CMS\Extbase\Validation\Exception\NoValidatorFoundException`
|
||||
|
||||
Use :php:`TYPO3Fluid\Fluid\View\Exception\InvalidTemplateResourceException` instead of
|
||||
|
||||
* :php:`TYPO3\CMS\Extbase\Mvc\Exception\InvalidTemplateResourceException`
|
||||
|
||||
.. index:: PHP-API, FullyScanned, ext:extbase
|
||||
@@ -0,0 +1,36 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81651:
|
||||
|
||||
=============================================================
|
||||
Deprecation: #81651 - Argument parameters in list module hook
|
||||
=============================================================
|
||||
|
||||
See :issue:`81651`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The parameter array :php:`$parameters` of :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][DatabaseRecordList::class]['buildQueryParameters']`
|
||||
has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Changing the array content array within a hook triggers a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using third-party extension that use this array to modify the query.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use new argument :php:`$queryBuilder` that hands over the query builder instance
|
||||
to modify the list module query.
|
||||
|
||||
.. index:: Backend, Database, PHP-API, NotScanned
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81763:
|
||||
|
||||
===============================================================
|
||||
Deprecation: #81763 - Deprecated language label for file rename
|
||||
===============================================================
|
||||
|
||||
See :issue:`81763`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The language label `file_rename.php.submit` in `EXT:lang/Resources/Private/Language/locallang_core.xlf` has
|
||||
been marked as deprecated.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 extension using the deprecated label is affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Add the label to the `locallang.xlf` of your extension and adjust the usage of the label.
|
||||
|
||||
.. index:: Backend, NotScanned, ext:lang
|
||||
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81951:
|
||||
|
||||
====================================================
|
||||
Deprecation: #81951 - Install Tool entry point moved
|
||||
====================================================
|
||||
|
||||
See :issue:`81951`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The canonical entry point for accessing the install tool now is:
|
||||
|
||||
:file:`typo3/install.php`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Accessing :file:`typo3/install/` will still work and redirect to the new
|
||||
location, but has been deprecated.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Every TYPO3 installation is affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Change bookmarks or scripts from the old entry point to the new one.
|
||||
|
||||
.. index:: Backend, NotScanned
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-82110:
|
||||
|
||||
===================================================================================
|
||||
Deprecation: #82110 - Deprecate option "value" and "noscript" in SVG content object
|
||||
===================================================================================
|
||||
|
||||
See :issue:`82110`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following TypoScript settings of the SVG content object have been marked as deprecated:
|
||||
|
||||
* :typoscript:`value` (in case :typoscript:`renderMode` is not set to inline)
|
||||
* :typoscript:`noscript`
|
||||
|
||||
The SVG content object renderer has used the two options "value" and "noscript" to render the given
|
||||
value into a :html:`<script type="image/svg+xml">` tag.
|
||||
This kind of implementation is very old and has been marked as deprecated.
|
||||
|
||||
The SVG content object supports two render variants:
|
||||
|
||||
1) the :html:`<object>` tag variant (:typoscript:`renderMode = object`) [default]
|
||||
2) the :html:`<svg>` tag variant (:typoscript:`renderMode = inline`)
|
||||
|
||||
The second one is nearly the same as the script tag variant, so an alternative is still in place.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using one of the two options will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Instances which use at least one of the two options.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new :typoscript:`renderMode = inline` to render a SVG file as :html:`<svg>`
|
||||
|
||||
.. index:: Frontend, TypoScript, NotScanned
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-82254:
|
||||
|
||||
=============================================================================
|
||||
Deprecation: #82254 - Deprecate $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']
|
||||
=============================================================================
|
||||
|
||||
See :issue:`82254`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension configuration stored in :php:`$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']` has been
|
||||
deprecated and replaced by a plain array in :php:`$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']`. A new
|
||||
API has been introduced to retrieve extension configuration.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All extensions manually getting settings and unserializing them
|
||||
from :php:`$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use a new API to retrieve extension configuration, examples:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
// Retrieve a single key
|
||||
$backendFavicon = (bool)GeneralUtility::makeInstance(ExtensionConfiguration::class)->get('backend', 'backendFavicon');
|
||||
|
||||
// Retrieve whole configuration
|
||||
$backendConfiguration = GeneralUtility::makeInstance(ExtensionConfiguration::class)->get('backend');
|
||||
|
||||
// Fully qualified class names for usage in ext_localconf.php / ext_tables.php
|
||||
$backendConfiguration = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
|
||||
\TYPO3\CMS\Core\Configuration\ExtensionConfiguration::class
|
||||
)->get('backend');
|
||||
|
||||
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API, FullyScanned
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user