Commit dad2e015 authored by Anja Leichsenring's avatar Anja Leichsenring Committed by Oliver Hader
Browse files

[TASK] Move Changelog files into 10.3 folder

The upcoming release of TYPO3 10.3 requires all documentation to
be placed into the version folder.

Resolves: #90510
Releases: master
Change-Id: Ieccc5fa1c71a3f2d0513a4a1e6d2f053a0bb0c3f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63393

Tested-by: default avatarBjörn Jacob <bjoern.jacob@tritum.de>
Tested-by: Daniel Goerz's avatarDaniel Goerz <daniel.goerz@posteo.de>
Tested-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
Tested-by: Oliver Hader's avatarOliver Hader <oliver.hader@typo3.org>
Reviewed-by: default avatarBjörn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
Reviewed-by: Oliver Hader's avatarOliver Hader <oliver.hader@typo3.org>
parent bff26642
......@@ -14,3 +14,4 @@ Every change to the TYPO3 Core which might affect your site is documented here.
Changelog/10.0/Index
Changelog/10.1/Index
Changelog/10.2/Index
Changelog/10.3/Index
......@@ -18,7 +18,7 @@ If "elementBrowserType" is set to "file" both values are true by default.
Example
.. codeblock:: php
.. code-block:: php
$GLOBALS['TCA']['pages']['columns']['media']['config']['appearance'] = [
'fileUploadAllowed' => false,
......
.. include:: ../../Includes.txt
=====================================================================================
Deprecation: #89139 - Console Commands configuration migrated to Symfony service tags
=====================================================================================
========================================================================
Deprecation: #89139 - Console Commands configuration format Commands.php
========================================================================
See :issue:`89139`
......@@ -10,8 +10,8 @@ Description
===========
The console command configuration file format :php:`Configuration/Commands.php`
has been deprecated in favor of the dependency injection service tag
`console.command`. The tag allows to configure dependency injection and
has been marked as deprecated in favor of the symfony service tag
:yaml:`console.command`. The tag allows to configure dependency injection and
command registration in one single location.
......@@ -19,11 +19,11 @@ Impact
======
Providing a command configuration in :php:`Configuration/Commands.php` will
trigger a deprecation warning when the respective commands have not already
been defined via dependency injection service tags.
trigger a PHP :php:`E_USER_DEPRECATED` error when the respective commands have not already
been defined via symfony service tags.
Extensions that provide both, the deprecated configuration file and service
tags, will not trigger a deprecation message in order to allow extensions to
tags, will not trigger a PHP :php:`E_USER_DEPRECATED` error in order to allow extensions to
support multiple TYPO3 major versions.
......@@ -38,8 +38,8 @@ service tags.
Migration
=========
Add the `console.command` tag to command classes. Use the tag attribute `command`
to specify the command name. The optional tag attribute `schedulable` may be set
Add the :yaml:`console.command` tag to command classes. Use the tag attribute :yaml:`command`
to specify the command name. The optional tag attribute :yaml:`schedulable` may be set
to false to exclude the command from the TYPO3 scheduler.
.. code-block:: yaml
......@@ -57,14 +57,14 @@ to false to exclude the command from the TYPO3 scheduler.
schedulable: false
Command aliases are to be configured as separate tags.
The optonal tag attribute `alias` should be set to true for alias commands.
The optional tag attribute :yaml:`alias` should be set to true for alias commands.
.. code-block:: yaml
MyVendor\MyExt\Commands\BarCommand
tags:
- name: 'console.command'
command: 'my:bar' }
command: 'my:bar'
- name: 'console.command'
command: 'my:old-bar-command'
alias: true
......
.. include:: ../../Includes.txt
===============================================================
Deprecation: #89463 - Deprecate `switchable controller actions`
===============================================================
=====================================================
Deprecation: #89463 - `Switchable Controller Actions`
=====================================================
See :issue:`89463`
......@@ -12,41 +12,41 @@ Description
`Switchable controller actions` have been marked as deprecated and will be removed in one of the next major versions
of TYPO3, probably version 11.0 or 12.0.
`Switchable controller actions` are used to override the allowed set of controllers and actions via typoscript or plugin
:ts:`Switchable controller actions` are used to override the allowed set of controllers and actions via TypoScript or plugin
flexforms. While this is convenient for reusing the same plugin for a lot of different use cases, it's also very
problematic as it completely overrides the original configuration defined via
:php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin`.
`Switchable controller actions` therefore have bad implications that rectify their removal.
:ts:`Switchable controller actions` therefore have bad implications that rectify their removal.
First of all, `switchable controller actions` override the original configuration of plugins at runtime and possibly
First of all, :ts:`switchable controller actions` override the original configuration of plugins at runtime and possibly
depending on conditions which contradicts the idea of :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin`
being the authoritative way to define configuration.
Using the same plugin as an entry point for many different functionalities contradicts the idea of a plugin serving one
specific purpose. `Switchable controller actions` allow for creating one central plugin that takes care of everything.
specific purpose. :ts:`Switchable controller actions` allow for creating one central plugin that takes care of everything.
Impact
======
All plugins that are using `switchable controller actions` need to be split into multiple different plugins. Usually, one
would create a new plugin for each possible `switchable controller actions` configuration entry.
All plugins that are using :ts:`switchable controller actions` need to be split into multiple different plugins. Usually, one
would create a new plugin for each possible :ts:`switchable controller actions` configuration entry.
Affected Installations
======================
All installations that make use of `switchable controller actions`, either via flexform configuration of plugins or via
typoscript configuration.
All installations that make use of :ts:`switchable controller actions`, either via flexform configuration of plugins or via
TypoScript configuration.
Migration
=========
Unfortunately an automatic migration is not possible. As `switchable controller actions` allowed to override the whole
Unfortunately, an automatic migration is not possible. As :ts:`switchable controller actions` allowed to override the whole
configuration of allowed controllers and actions, the only way to migrate is to create dedicated plugins for each former
`switchable controller actions` configuration entry.
:ts:`switchable controller actions` configuration entry.
Example:
......
.. include:: ../../Includes.txt
====================================================================
Deprecation: #89673 - Deprecate Extbase's WebRequest and WebResponse
====================================================================
==========================================================
Deprecation: #89673 - Extbase's WebRequest and WebResponse
==========================================================
See :issue:`89673`
Description
===========
Both classes, :php:`\TYPO3\CMS\Extbase\Mvc\Web\Request` and :php:`\TYPO3\CMS\Extbase\Mvc\Web\Response`
have been deprecated. Along with their deprecation, all relevant logic has been moved into their parent
Both classes :php:`\TYPO3\CMS\Extbase\Mvc\Web\Request` and :php:`\TYPO3\CMS\Extbase\Mvc\Web\Response`
have been marked as deprecated. Along with their deprecation, all relevant logic has been moved into their parent
classes :php:`\TYPO3\CMS\Extbase\Mvc\Request` and :php:`\TYPO3\CMS\Extbase\Mvc\Response`.
This is done to simplify the request/response handling of Extbase and to ease the transition towards
......@@ -21,7 +21,7 @@ Impact
======
There is no impact yet as the "web" versions of the request and response are still used by Extbase.
The only thing that is worth mentioning is that those who implement custom requests and/or responses,
The only thing that is worth mentioning is that those who implement custom requests and/or responses
should derive from the non "web" versions now.
......@@ -37,9 +37,9 @@ Those who don't change the request/response handling, will not realize this chan
Migration
=========
As mentioned, all installations that implement custom request/response objects that derive from
All installations that implement custom request/response objects that derive from
:php:`\TYPO3\CMS\Extbase\Mvc\Web\Request` and :php:`\TYPO3\CMS\Extbase\Mvc\Web\Response` should now
derive from :php:`\TYPO3\CMS\Extbase\Mvc\Request` (and override the :php:`$format` property) and
:php:`\TYPO3\CMS\Extbase\Mvc\Response` (and override the `:php:`shutdown` method).
:php:`\TYPO3\CMS\Extbase\Mvc\Response` (and override the :php:`shutdown` method).
.. index:: PHP-API, NotScanned, ext:extbase
......@@ -10,7 +10,7 @@ Description
===========
The following global constants, which are initialized at the very
beginning of each TYPO3-related PHP process, have been deprecated:
beginning of each TYPO3-related PHP process, have been marked as deprecated:
* :php:`TYPO3_copyright_year`
* :php:`TYPO3_URL_GENERAL`
......
......@@ -21,26 +21,26 @@ In Pi-based plugins the public property :php:`AbstractPlugin->pi_checkCHash`
was used to enable the cHash validation for non-cacheable plugins.
Both plugin systems triggered the method :php:`TypoScriptFrontendController->reqCHash` which
validated relevant GET parameters. However, the `PageArgumentValidator` PSR-15 middleware now
validated relevant GET parameters. However, the :php:`PageArgumentValidator` PSR-15 middleware now
always validates the cHash, so a plugin does not need to know about cHash validation anymore and
therefor does not need to set the option.
This means the options are not needed anymore, as the validation already happens during the Frontend
request handling process. The options are removed.
In addition, the method :php:`TypoScriptFrontendController->reqCHash()` is marked as deprecated and
not in use anymore.
In addition, the method :php:`TypoScriptFrontendController->reqCHash()` has been marked as deprecated and
is not in use anymore.
Impact
======
Setting the options in Extbase or Pi-Base have no effect anymore.
Setting the option in Extbase or Pi-Base has no effect anymore.
Calling the PHP method :php:`TypoScriptFrontendController->reqCHash()`
will trigger a deprecation warning.
will trigger a PHP :php:`E_USER_DEPRECATED` error.
Internal classes such as the `CacheHashEnforcer` are removed.
Internal classes such as the :php:`CacheHashEnforcer` are removed.
Affected Installations
......
......@@ -22,16 +22,16 @@ The following signals have been marked as deprecated in favor of new PSR-14 even
- :php:`TYPO3\CMS\Extbase\Persistence\Generic\Backend::afterRemoveObject`
The method :php:`emitBeforeCallActionMethodSignal` in :php:`ActionController`
has been deprecated and is not called by Extbase itself anymore.
has been marked as deprecated and is not called by Extbase itself anymore.
Impact
======
Using any of the signals will still work as expected, but will trigger
a deprecation warning.
a PHP :php:`E_USER_DEPRECATED` error.
Calling the method :php:`emitBeforeCallActionMethodSignal` will trigger a
deprecation warning.
PHP :php:`E_USER_DEPRECATED` error.
Affected Installations
======================
......
......@@ -9,7 +9,7 @@ See :issue:`90007`
Description
===========
Two of the most "stable" global constants in the TYPO3 Core - `TYPO3_version` and `TYPO3_branch` have been marked as deprecated.
Two of the most "stable" global constants in the TYPO3 Core - :php:`TYPO3_version` and :php:`TYPO3_branch` have been marked as deprecated.
The change was mainly driven by the necessity to minimize runtime-generated constants in order to optimize performance, also for op-caching.
......@@ -20,7 +20,7 @@ the constants for backwards-compatibility reasons.
Impact
======
No :php:`E_USER_DEPRECATED` error is triggered, however the constants will work during
No PHP :php:`E_USER_DEPRECATED` error is triggered, however the constants will work during
TYPO3 v10, and be removed with TYPO3 v11.
......
.. include:: ../../Includes.txt
==========================================================
Deprecation: #90019 - Page permission logic by DataHandler
==========================================================
See :issue:`90019`
Description
===========
A new :php:`PagePermissionAssembler` class builds the page permissions, allowing to thin out certain parts of :php:`DataHandlers` responsibilities.
The following properties and methods within :php:`DataHandler` have been marked as deprecated:
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->defaultPermissions`
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->pMap`
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->setTSconfigPermissions()`
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->assemblePermissions()`
The following methods should only be called with integers as permission argument:
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->doesRecordExist()`
* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->recordInfoWithPermissionCheck()`
Impact
======
Calling the mentioned methods will trigger a PHP :php:`E_USER_DEPRECATED` error and will be removed in TYPO3 v11.0.
Affected Installations
======================
Any TYPO3 installation that enriches page permission handling and directly accesses the methods or properties in :php:`DataHandler`.
Migration
=========
Ensure to use the new :php:`PagePermissionAssembler` PHP class
which serves as a proper API for creating page permissions.
.. index:: PHP-API, PartiallyScanned, ext:core
......@@ -12,19 +12,20 @@ Description
The following Signal Slots have been replaced by new PSR-14 events
which can be used as 1:1 equivalents:
- :php:`PackageManagement::packagesMayHaveChanged`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionInstall`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionUninstall`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionT3DImport`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionStaticSqlImport`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionFileImport`
- :php:`TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::willInstallExtensions`
- :php:`TYPO3\CMS\Extensionmanager\ViewHelper\ProcessAvailableActionsViewHelper::processActions`
* :php:`PackageManagement::packagesMayHaveChanged`
* :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionInstall`
* :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionUninstall`
* :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionT3DImport`
* :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionStaticSqlImport`
* :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionFileImport`
* :php:`TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::willInstallExtensions`
* :php:`TYPO3\CMS\Extensionmanager\ViewHelper\ProcessAvailableActionsViewHelper::processActions`
Impact
======
Using the mentioned signals will trigger a deprecation warning.
Using the mentioned signals will trigger a PHP :php:`E_USER_DEPRECATED` error.
Affected Installations
......@@ -38,13 +39,13 @@ Migration
Use the new PSR-14 alternatives:
- :php:`TYPO3\CMS\Core\Package\Event\PackagesMayHaveChangedEvent`
- :php:`TYPO3\CMS\Core\Package\Event\AfterPackageActivationEvent`
- :php:`TYPO3\CMS\Core\Package\Event\AfterPackageDeactivationEvent`
- :php:`TYPO3\CMS\Core\Package\Event\BeforePackageActivationEvent`
- :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionDatabaseContentHasBeenImportedEvent`
- :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionStaticDatabaseContentHasBeenImportedEvent`
- :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionFilesHaveBeenImportedEvent`
- :php:`TYPO3\CMS\Extensionmanager\Event\AvailableActionsForExtensionEvent`
* :php:`TYPO3\CMS\Core\Package\Event\PackagesMayHaveChangedEvent`
* :php:`TYPO3\CMS\Core\Package\Event\AfterPackageActivationEvent`
* :php:`TYPO3\CMS\Core\Package\Event\AfterPackageDeactivationEvent`
* :php:`TYPO3\CMS\Core\Package\Event\BeforePackageActivationEvent`
* :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionDatabaseContentHasBeenImportedEvent`
* :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionStaticDatabaseContentHasBeenImportedEvent`
* :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionFilesHaveBeenImportedEvent`
* :php:`TYPO3\CMS\Extensionmanager\Event\AvailableActionsForExtensionEvent`
.. index:: PHP-API, FullyScanned, ext:core
......@@ -9,17 +9,19 @@ See :issue:`90258`
Description
===========
The PHP class `RteHtmlParser` which is used to transform RTE-based
textarea fields from the database to the configured Rich Text Editor, and back, has a new simplified API. For this reason,
the two methods :php:`TYPO3\CMS\Core\Html\RteHtmlParser->init()` and
:php:`TYPO3\CMS\Core\Html\RteHtmlParser->RTE_transform()` have been
deprecated.
The PHP class :php:`RteHtmlParser` which is used to transform RTE-based
textarea fields from the database to the configured Rich Text Editor, and back, has a new simplified API.
For this reason, the following two methods have been marked as deprecated:
* :php:`TYPO3\CMS\Core\Html\RteHtmlParser->init()`
* :php:`TYPO3\CMS\Core\Html\RteHtmlParser->RTE_transform()`
Impact
======
Calling any of the methods will trigger a PHP deprecation warning.
Calling any of the methods will trigger a PHP :php:`E_USER_DEPRECATED` error.
Affected Installations
......@@ -32,16 +34,16 @@ the methods.
Migration
=========
The PHP method `init()` can be removed without substitution, as it
The method :php:`TYPO3\CMS\Core\Html\RteHtmlParser->init()` can be removed without substitution, as it
serves no purpose anymore.
The PHP method `RTE_transform()` now has two methods as substitute,
The method :php:`TYPO3\CMS\Core\Html\RteHtmlParser->RTE_transform()` now has two methods as substitute,
depending on the direction which is necessary. This was previously
done in the third method argument ("rte" and "db"):
- :php:`transformTextForRichTextEditor($content, $configuration)`
- :php:`transformTextForPersistence($content, $configuration)`
The second argument `$configuration` is now the `processing` configuration (`proc`) of the RTE configuration.
The second argument :php:`$configuration` is now the `processing` configuration (`proc`) of the RTE configuration.
.. index:: RTE, FullyScanned, ext:core
......@@ -13,28 +13,28 @@ The method :php:`ResourceFactory::getInstance()` acts as a wrapper
for the constructor which originally was meant as a performance
improvement as pseudo-singleton concept in TYPO3 v4.7.
However, ResourceFactory was never optimized and now with Dependency
Injection, ResourceFactory can be used directly.
However, :php:`ResourceFactory` was never optimized and now with Dependency
Injection, :php:`ResourceFactory` can be used directly.
Therefore the method is marked as deprecated.
Therefore the method has been marked as deprecated.
Impact
======
Calling :php:`ResourceFactory::getInstance()` will trigger a PHP deprecation warning.
Calling :php:`ResourceFactory::getInstance()` will trigger a PHP :php:`E_USER_DEPRECATED` error.
Affected Installations
======================
Any TYPO3 installation with custom PHP code calling this method.
Any TYPO3 installation with custom PHP code calling the method.
Migration
=========
Check TYPO3's "Extension Scanner" in the Install Tool if you're affected and replace this with constructor injection via Dependency
Check TYPO3's "Extension Scanner" in the Install Tool if you're affected and replace with constructor injection via Dependency
Injection if possible, or use :php:`GeneralUtility::makeInstance(ResourceFactory::class)` instead.
The latter can already applied in earlier versions (TYPO3 v7 or higher) to ease optimal migration of this deprecation.
......
.. include:: ../../Includes.txt
===================================================================
Deprecation: #90348 - PageLayoutView class (internal) is deprecated
===================================================================
==========================================
Deprecation: #90348 - PageLayoutView class
==========================================
See :issue:`90348`
Description
===========
The :php:`PageLayoutView` class, which is considered internal API, has been deprecated in favor of the new Fluid-based alternative which renders the "page" BE module.
The :php:`PageLayoutView` class, which is considered internal API, has been marked as deprecated in favor
of the new Fluid-based alternative which renders the "page" BE module.
Impact
......@@ -21,14 +22,19 @@ Implementations which depend on :php:`PageLayoutView` should prepare to use the
Affected Installations
======================
* Any site which overrides the ``PageLayoutView`` class. The overridden class will still be instanced when rendering previews in BE page module - but no methods will be called on the instance **unless** they are called by a third party hook subscriber.
* Any site which depends on PSR-14 events associated with ``PageLayoutView`` will only have those events dispatched if the ``fluidBasedPageModule`` feature flag is ``false``.
* Affects ``\TYPO3\CMS\Backend\View\Event\AfterSectionMarkupGeneratedEvent``.
* Affects ``\TYPO3\CMS\Backend\View\Event\BeforeSectionMarkupGeneratedEvent``.
* Any site which overrides the :php:`PageLayoutView` class. The overridden class will
still be instantiated when rendering previews in BE page module - but no methods
will be called on the instance **unless** they are called by a third party hook subscriber.
* Any site which depends on PSR-14 events associated with :php:`PageLayoutView` will only
have those events dispatched if the :php:`fluidBasedPageModule` feature flag is :php:`false`.
* Affects :php:`\TYPO3\CMS\Backend\View\Event\AfterSectionMarkupGeneratedEvent`.
* Affects :php:`\TYPO3\CMS\Backend\View\Event\BeforeSectionMarkupGeneratedEvent`.
Migration
=========
Fluid templates can be extended or replaced to render custom header, footer or preview of a given :php:`CType`, see feature description for feature 90348.
Fluid templates can be extended or replaced to render custom header, footer or preview of
a given :ts:`CType`, see feature description for feature :issue:`90348`.
.. index:: Backend, Fluid, NotScanned, ext:backend
.. include:: ../../Includes.txt
===============================================================================================
Deprecation: #90390 - Deprecate BrokenLinkRepository::getNumberOfBrokenLinks() in linkvalidator
===============================================================================================
=====================================================================================
Deprecation: #90390 - BrokenLinkRepository::getNumberOfBrokenLinks() in linkvalidator
=====================================================================================
See :issue:`90390`
Description
===========
The method :php:`BrokenLinkRepository::getNumberOfBrokenLinks()` is deprecated.
The method :php:`BrokenLinkRepository::getNumberOfBrokenLinks()` has been marked as deprecated.
Impact
======
If third party extensions use this function, a `E_USER_DEPRECATED`
is triggered.
Usage of the method triggers a PHP :php:`E_USER_DEPRECATED` error.
Affected Installations
======================
This only affects third party extensions which use this function. The
deprecated function is no longer used in the core.
Every TYPO3 installation that uses the method.
Migration
......
......@@ -14,19 +14,20 @@ also available as :php:`$GLOBALS['TBE_TEMPLATE']` until TYPO3 v10.0
served as a basis to render backend modules or HTML-based output
in TYPO3 Backend.
Since TYPO3 v7, the new API via `ModuleTemplate` can be used instead. The DocumentTemplate class has been marked as deprecated.
Since TYPO3 v7, the new API via php:`ModuleTemplate` can be used instead. The :php:`DocumentTemplate` class has been marked as deprecated.
Impact
======
Instantiating the DocumentTemplate class will trigger a PHP deprecation warning.
Instantiating the :php:`DocumentTemplate` class will trigger a PHP :php:`E_USER_DEPRECATED` error.
Affected Installations
======================
TYPO3 installations with third-party extensions adding backend modules using the DocumentTemplate API. These can typically be identified by extensions that "worked" but somehow looked ugly since TYPO3 v7 due to CSS and HTML changes.
TYPO3 installations with third-party extensions adding backend modules using the DocumentTemplate API.
These can typically be identified by extensions that "worked" but somehow looked ugly since TYPO3 v7 due to CSS and HTML changes.
Migration
......
......@@ -15,7 +15,7 @@ The image related properties :php:`$imagesOnPage` and :php:`$lastImageInfo` of
Impact
======
Calling these deprecated properties will trigger a deprecation notice.
Calling these properties will trigger a PHP :php:`E_USER_DEPRECATED` error.
Affected Installations
======================
......