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. ...@@ -14,3 +14,4 @@ Every change to the TYPO3 Core which might affect your site is documented here.
Changelog/10.0/Index Changelog/10.0/Index
Changelog/10.1/Index Changelog/10.1/Index
Changelog/10.2/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. ...@@ -18,7 +18,7 @@ If "elementBrowserType" is set to "file" both values are true by default.
Example Example
.. codeblock:: php .. code-block:: php
$GLOBALS['TCA']['pages']['columns']['media']['config']['appearance'] = [ $GLOBALS['TCA']['pages']['columns']['media']['config']['appearance'] = [
'fileUploadAllowed' => false, 'fileUploadAllowed' => false,
......
.. include:: ../../Includes.txt .. include:: ../../Includes.txt
===================================================================================== ========================================================================
Deprecation: #89139 - Console Commands configuration migrated to Symfony service tags Deprecation: #89139 - Console Commands configuration format Commands.php
===================================================================================== ========================================================================
See :issue:`89139` See :issue:`89139`
...@@ -10,8 +10,8 @@ Description ...@@ -10,8 +10,8 @@ Description
=========== ===========
The console command configuration file format :php:`Configuration/Commands.php` The console command configuration file format :php:`Configuration/Commands.php`
has been deprecated in favor of the dependency injection service tag has been marked as deprecated in favor of the symfony service tag
`console.command`. The tag allows to configure dependency injection and :yaml:`console.command`. The tag allows to configure dependency injection and
command registration in one single location. command registration in one single location.
...@@ -19,11 +19,11 @@ Impact ...@@ -19,11 +19,11 @@ Impact
====== ======
Providing a command configuration in :php:`Configuration/Commands.php` will Providing a command configuration in :php:`Configuration/Commands.php` will
trigger a deprecation warning when the respective commands have not already trigger a PHP :php:`E_USER_DEPRECATED` error when the respective commands have not already
been defined via dependency injection service tags. been defined via symfony service tags.
Extensions that provide both, the deprecated configuration file and service 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. support multiple TYPO3 major versions.
...@@ -38,8 +38,8 @@ service tags. ...@@ -38,8 +38,8 @@ service tags.
Migration Migration
========= =========
Add the `console.command` tag to command classes. Use the tag attribute `command` Add the :yaml:`console.command` tag to command classes. Use the tag attribute :yaml:`command`
to specify the command name. The optional tag attribute `schedulable` may be set to specify the command name. The optional tag attribute :yaml:`schedulable` may be set
to false to exclude the command from the TYPO3 scheduler. to false to exclude the command from the TYPO3 scheduler.
.. code-block:: yaml .. code-block:: yaml
...@@ -57,14 +57,14 @@ to false to exclude the command from the TYPO3 scheduler. ...@@ -57,14 +57,14 @@ to false to exclude the command from the TYPO3 scheduler.
schedulable: false schedulable: false
Command aliases are to be configured as separate tags. 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 .. code-block:: yaml
MyVendor\MyExt\Commands\BarCommand MyVendor\MyExt\Commands\BarCommand
tags: tags:
- name: 'console.command' - name: 'console.command'
command: 'my:bar' } command: 'my:bar'
- name: 'console.command' - name: 'console.command'
command: 'my:old-bar-command' command: 'my:old-bar-command'
alias: true alias: true
......
.. include:: ../../Includes.txt .. include:: ../../Includes.txt
=============================================================== =====================================================
Deprecation: #89463 - Deprecate `switchable controller actions` Deprecation: #89463 - `Switchable Controller Actions`
=============================================================== =====================================================
See :issue:`89463` See :issue:`89463`
...@@ -12,41 +12,41 @@ Description ...@@ -12,41 +12,41 @@ Description
`Switchable controller actions` have been marked as deprecated and will be removed in one of the next major versions `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. 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 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 problematic as it completely overrides the original configuration defined via
:php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin`. :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` depending on conditions which contradicts the idea of :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin`
being the authoritative way to define configuration. 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 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 Impact
====== ======
All plugins that are using `switchable controller actions` need to be split into multiple different plugins. Usually, one 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 `switchable controller actions` configuration entry. would create a new plugin for each possible :ts:`switchable controller actions` configuration entry.
Affected Installations Affected Installations
====================== ======================
All installations that make use of `switchable controller actions`, either via flexform configuration of plugins or via All installations that make use of :ts:`switchable controller actions`, either via flexform configuration of plugins or via
typoscript configuration. TypoScript configuration.
Migration 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 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: Example:
......
.. include:: ../../Includes.txt .. include:: ../../Includes.txt
==================================================================== ==========================================================
Deprecation: #89673 - Deprecate Extbase's WebRequest and WebResponse Deprecation: #89673 - Extbase's WebRequest and WebResponse
==================================================================== ==========================================================
See :issue:`89673` See :issue:`89673`
Description Description
=========== ===========
Both classes, :php:`\TYPO3\CMS\Extbase\Mvc\Web\Request` and :php:`\TYPO3\CMS\Extbase\Mvc\Web\Response` 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 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`. 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 This is done to simplify the request/response handling of Extbase and to ease the transition towards
...@@ -21,7 +21,7 @@ Impact ...@@ -21,7 +21,7 @@ Impact
====== ======
There is no impact yet as the "web" versions of the request and response are still used by Extbase. 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. 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 ...@@ -37,9 +37,9 @@ Those who don't change the request/response handling, will not realize this chan
Migration 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 :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 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 .. index:: PHP-API, NotScanned, ext:extbase
...@@ -10,7 +10,7 @@ Description ...@@ -10,7 +10,7 @@ Description
=========== ===========
The following global constants, which are initialized at the very 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_copyright_year`
* :php:`TYPO3_URL_GENERAL` * :php:`TYPO3_URL_GENERAL`
......
...@@ -17,30 +17,30 @@ In Extbase plugins, this could be configured via a TypoScript feature toggle (en ...@@ -17,30 +17,30 @@ In Extbase plugins, this could be configured via a TypoScript feature toggle (en
:typoscript:`config.tx_extbase.features.requireCHashArgumentForActionArguments = 1` :typoscript:`config.tx_extbase.features.requireCHashArgumentForActionArguments = 1`
In Pi-based plugins the public property :php:`AbstractPlugin->pi_checkCHash` In Pi-based plugins the public property :php:`AbstractPlugin->pi_checkCHash`
was used to enable the cHash validation for non-cacheable plugins. was used to enable the cHash validation for non-cacheable plugins.
Both plugin systems triggered the method :php:`TypoScriptFrontendController->reqCHash` which 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 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. therefor does not need to set the option.
This means the options are not needed anymore, as the validation already happens during the Frontend This means the options are not needed anymore, as the validation already happens during the Frontend
request handling process. The options are removed. request handling process. The options are removed.
In addition, the method :php:`TypoScriptFrontendController->reqCHash()` is marked as deprecated and In addition, the method :php:`TypoScriptFrontendController->reqCHash()` has been marked as deprecated and
not in use anymore. is not in use anymore.
Impact 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()` 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 Affected Installations
...@@ -55,7 +55,7 @@ Migration ...@@ -55,7 +55,7 @@ Migration
Remove the options / flags as they have no effect in TYPO3 v10 anymore. Remove the options / flags as they have no effect in TYPO3 v10 anymore.
Calling the method directly is also not needed, as the PageArgumentValidator is executing this Calling the method directly is also not needed, as the PageArgumentValidator is executing this
validation now at every request. validation now at every request.
.. index:: Frontend, PartiallyScanned, ext:frontend .. index:: Frontend, PartiallyScanned, ext:frontend
...@@ -22,16 +22,16 @@ The following signals have been marked as deprecated in favor of new PSR-14 even ...@@ -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` - :php:`TYPO3\CMS\Extbase\Persistence\Generic\Backend::afterRemoveObject`
The method :php:`emitBeforeCallActionMethodSignal` in :php:`ActionController` 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 Impact
====== ======
Using any of the signals will still work as expected, but will trigger 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 Calling the method :php:`emitBeforeCallActionMethodSignal` will trigger a
deprecation warning. PHP :php:`E_USER_DEPRECATED` error.
Affected Installations Affected Installations
====================== ======================
......
...@@ -9,7 +9,7 @@ See :issue:`90007` ...@@ -9,7 +9,7 @@ See :issue:`90007`
Description 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. 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. ...@@ -20,7 +20,7 @@ the constants for backwards-compatibility reasons.
Impact 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. TYPO3 v10, and be removed with TYPO3 v11.
...@@ -40,4 +40,4 @@ the constants, as they will removed. ...@@ -40,4 +40,4 @@ the constants, as they will removed.
Check the Extension Scanner in the Upgrade section of TYPO3 to see Check the Extension Scanner in the Upgrade section of TYPO3 to see
if any extensions you use might be affected. if any extensions you use might be affected.
.. index:: PHP-API, FullyScanned, ext:core .. index:: PHP-API, FullyScanned, ext:core
\ No newline at end of file
.. 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 ...@@ -12,19 +12,20 @@ Description
The following Signal Slots have been replaced by new PSR-14 events The following Signal Slots have been replaced by new PSR-14 events
which can be used as 1:1 equivalents: which can be used as 1:1 equivalents:
- :php:`PackageManagement::packagesMayHaveChanged` * :php:`PackageManagement::packagesMayHaveChanged`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionInstall` * :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionInstall`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionUninstall` * :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionUninstall`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionT3DImport` * :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionT3DImport`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionStaticSqlImport` * :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionStaticSqlImport`
- :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionFileImport` * :php:`TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionFileImport`
- :php:`TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::willInstallExtensions` * :php:`TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::willInstallExtensions`
- :php:`TYPO3\CMS\Extensionmanager\ViewHelper\ProcessAvailableActionsViewHelper::processActions` * :php:`TYPO3\CMS\Extensionmanager\ViewHelper\ProcessAvailableActionsViewHelper::processActions`
Impact 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 Affected Installations
...@@ -38,13 +39,13 @@ Migration ...@@ -38,13 +39,13 @@ Migration
Use the new PSR-14 alternatives: Use the new PSR-14 alternatives:
- :php:`TYPO3\CMS\Core\Package\Event\PackagesMayHaveChangedEvent` * :php:`TYPO3\CMS\Core\Package\Event\PackagesMayHaveChangedEvent`
- :php:`TYPO3\CMS\Core\Package\Event\AfterPackageActivationEvent` * :php:`TYPO3\CMS\Core\Package\Event\AfterPackageActivationEvent`
- :php:`TYPO3\CMS\Core\Package\Event\AfterPackageDeactivationEvent` * :php:`TYPO3\CMS\Core\Package\Event\AfterPackageDeactivationEvent`
- :php:`TYPO3\CMS\Core\Package\Event\BeforePackageActivationEvent` * :php:`TYPO3\CMS\Core\Package\Event\BeforePackageActivationEvent`
- :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionDatabaseContentHasBeenImportedEvent` * :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionDatabaseContentHasBeenImportedEvent`
- :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionStaticDatabaseContentHasBeenImportedEvent` * :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionStaticDatabaseContentHasBeenImportedEvent`
- :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionFilesHaveBeenImportedEvent` * :php:`TYPO3\CMS\Extensionmanager\Event\AfterExtensionFilesHaveBeenImportedEvent`
- :php:`TYPO3\CMS\Extensionmanager\Event\AvailableActionsForExtensionEvent` * :php:`TYPO3\CMS\Extensionmanager\Event\AvailableActionsForExtensionEvent`
.. index:: PHP-API, FullyScanned, ext:core .. index:: PHP-API, FullyScanned, ext:core
...@@ -9,17 +9,19 @@ See :issue:`90258` ...@@ -9,17 +9,19 @@ See :issue:`90258`
Description Description
=========== ===========
The PHP class `RteHtmlParser` which is used to transform RTE-based 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, textarea fields from the database to the configured Rich Text Editor, and back, has a new simplified API.
the two methods :php:`TYPO3\CMS\Core\Html\RteHtmlParser->init()` and
:php:`TYPO3\CMS\Core\Html\RteHtmlParser->RTE_transform()` have been For this reason, the following two methods have been marked as deprecated:
deprecated.
* :php:`TYPO3\CMS\Core\Html\RteHtmlParser->init()`
* :php:`TYPO3\CMS\Core\Html\RteHtmlParser->RTE_transform()`
Impact 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 Affected Installations
...@@ -32,16 +34,16 @@ the methods. ...@@ -32,16 +34,16 @@ the methods.
Migration 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. serves no purpose anymore.
The PHP method `RTE_transform()` now has two methods as substitute,