[TASK] Move documentation files into 9.5 folder 48/58448/3
authorAnja <aleichsenring@ab-softlab.de>
Sat, 29 Sep 2018 08:50:32 +0000 (10:50 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sat, 29 Sep 2018 13:01:53 +0000 (15:01 +0200)
Change-Id: I6fccf8db0ab996139692a07be8d08ceb8feee86f
Releases: master
Resolves: #86434
Reviewed-on: https://review.typo3.org/58448
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Reviewed-by: Michael Oehlhof <typo3@oehlhof.de>
Tested-by: Michael Oehlhof <typo3@oehlhof.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
81 files changed:
typo3/sysext/core/Documentation/Changelog-9.rst
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-84196-BackendControllerActionsDoNotReceivePreparedResponse.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85031-ProtectedImportExportController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85970-FileContentObject.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85980-InternalAnnotationInExtbaseCommands.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85981-AnnotationFlushesCaches.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86047-TSFEPropertiesMethodsAndChangeVisibility.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86068-OldConditionSyntax.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86110-FrontendEditingController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86163-TCATypeuserWithoutRenderType.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86178-ClassElementBrowserFramesetController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86179-ProtectedRenderMethodInBackendController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86180-ProtectedMethodsInSetupModuleController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86182-ProtectedTaskModuleController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86184-ProtectedMethodsInReportController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86192-ProtectedMethodsInElementBrowserController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86193-ProtectMethodsInAbstractLinkBrowserController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86197-ProtectedFileListController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86198-ProtectedRecordListController.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86207-ProtectedTstemplateExtension.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86210-ProtectedInfoExtension.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86225-ClassesBaseScriptClassAndAbstractFunctionModule.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86270-ExtbaseXclassViaTypoScriptSettings.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86279-VariousHooksAndPSR-15Middlewares.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86288-FrontendBackendUserAuthenticationMethods.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86320-MarkInternalTSFEPropertiesAsProtected.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86323-ConfigurationKeySiteInYAMLSiteConfiguration.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86353-CacheManagerUsageInExt_localconfphp.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86366-MethodsInAbstractUpdate.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86389-GeneralUtility_GETsetAndTSFE-mergingWithGetVars.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86404-GLOBALSTYPO3_LOADED_EXT.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86406-TCATypeGroupInternal_typeFileAndFile_reference.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86411-TSFE-makeCacheHash.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Feature-20051-SupportTheCanonicalTag.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Feature-80398-Utf8mb4OnMysqlByDefaultForNewInstances.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Feature-86214-ImplementStaticRoutes.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Feature-86303-VariantsForSitesBase.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Feature-86409-AllowUsageOfEnvironmentVariablesInSiteConfiguration.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Feature-86422-TypoScriptGetTextPropertySite.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.5/Index.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-84196-BackendControllerActionsDoNotReceivePreparedResponse.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-85031-ProtectedImportExportController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-85970-FileContentObject.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-85980-DeprecateInternalAnnotationInExtbaseCommands.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-85981-AnnotationFlushesCaches.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86047-TSFEPropertiesMethodsAndChangeVisibility.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86068-DeprecateOldConditionSyntax.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86110-FrontendEditingController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86163-TCATypeuserWithoutRenderType.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86178-ClassElementBrowserFramesetController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86179-ProtectedRenderMethodInBackendController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86180-ProtectedMethodsInSetupModuleController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86182-ProtectedTaskModuleController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86184-ProtectedMethodsInReportController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86192-ProtectedMethodsInElementBrowserController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86193-ProtectMethodsInAbstractLinkBrowserController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86197-ProtectedFileListController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86198-ProtectedRecordListController.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86207-ProtectedTstemplateExtension.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86210-ProtectedInfoExtension.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86225-ClassesBaseScriptClassAndAbstractFunctionModule.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86270-ExtbaseXclassViaTypoScriptSettings.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86279-VariousHooksAndPSR-15Middlewares.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86288-FrontendBackendUserAuthenticationMethods.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86320-MarkInternalTSFEPropertiesAsProtected.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86323-ConfigurationKeySiteHasBeenDeprecatedInYAMLSiteConfiguration.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86353-DeprecateCacheManagerUsageInExt_localconfphp.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86366-MethodsInAbstractUpdate.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86389-GeneralUtility_GETsetAndTSFE-mergingWithGetVars.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86404-DeprecateGLOBALSTYPO3_LOADED_EXT.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86406-TCATypeGroupInternal_typeFileAndFile_reference.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86411-TSFE-makeCacheHash.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-20051-SupportTheCanonicalTag.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-80398-Utf8mb4OnMysqlByDefaultForNewInstances.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-86214-ImplementStaticRoutes.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-86303-VariantsForSitesBase.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-86409-AllowUsageOfEnvironmentVariablesInSiteConfiguration.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-86422-IntroduceSiteForTypoScriptDataGetTextProperty.rst [deleted file]
typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayGlobalMatcher.php

index 6d21f41..eeb7280 100644 (file)
@@ -11,6 +11,7 @@ Every change to the TYPO3 Core which might affect your site is documented here.
 .. toctree::
    :titlesonly:
 
+   Changelog/9.5/Index
    Changelog/9.4/Index
    Changelog/9.3/Index
    Changelog/9.2/Index
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-84196-BackendControllerActionsDoNotReceivePreparedResponse.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-84196-BackendControllerActionsDoNotReceivePreparedResponse.rst
new file mode 100644 (file)
index 0000000..9d514a2
--- /dev/null
@@ -0,0 +1,55 @@
+.. include:: ../../Includes.txt
+
+=================================================================================
+Deprecation: #84196 - Backend controller actions do not receive prepared response
+=================================================================================
+
+See :issue:`84196`
+
+Description
+===========
+
+The second argument to backend and eID controller actions has been marked as deprecated.
+Controllers should create a response object implementing
+:php:`Psr\Http\Message\ResponseInterface` on their own instead of relying
+on a prepared response.
+
+The signature of controller actions should look like
+
+.. code-block:: php
+
+    public function myAction(ServerRequestInterface $request): ResponseInterface
+
+Impact
+======
+
+Controllers should typically instantiate one of the three core response classes
+and return it:
+
+.. code-block:: php
+
+    public function myAction(ServerRequestInterface $request): ResponseInterface
+    {
+        return new HtmlResponse('content');
+        return new JsonResponse($jsonArray);
+        return new RedirectResponse($url);
+    }
+
+Affected Installations
+======================
+
+Instances with extensions that register backend controllers (eg. modules) or eID
+may be affected.
+
+The dynamic scanning for not yet adapted controller actions relies on reflection and
+costs some CPU cycles. If all affected extensions have been adapted, the feature toggle
+:php:`simplifiedControllerActionDispatching` should be enabled. This can be managed in
+the backend Settings -> Configure Installation-Wide Options module.
+
+
+Migration
+=========
+
+See above code examples for typical controller actions return values and signature.
+
+.. index:: Backend, PHP-API, NotScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85031-ProtectedImportExportController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85031-ProtectedImportExportController.rst
new file mode 100644 (file)
index 0000000..021bec9
--- /dev/null
@@ -0,0 +1,78 @@
+.. include:: ../../Includes.txt
+
+======================================================
+Deprecation: #85031 - Protected ImportExportController
+======================================================
+
+See :issue:`85031`
+
+Description
+===========
+
+The following properties changed their visibility from public to protected and should not be called any longer:
+
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->pageinfo`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->id`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->perms_clause`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->extObj`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->doc`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->content`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->extClassConf`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->modMenu_setDefaultList`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->modMenu_dontValidateList`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->modMenu_type`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->modTSconfig`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->MOD_SETTINGS`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->MOD_MENU`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->CMD`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->MCONF`
+
+The following methods changed their visibility from public to protected and should not be called any longer:
+
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->init()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->main()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->exportData()`
+* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->addRecordsForPid()`
+* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->exec_listQueryPid()`
+* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->makeConfigurationForm()`
+* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->makeAdvancedOptionsForm()`
+* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->makeSaveForm()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->importData()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->checkUpload()`
+* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->getTableSelectOptions()`
+* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->filterPageIds()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->getExtObjContent()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->extObjContent()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->extObjHeader()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->checkSubExtObj()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->checkExtObj()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->getExternalItemConfig()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->handleExternalFunctionValue()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->mergeExternalItems()`
+* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->menuConfig()`
+
+Additionally, the assignment of an object instance of class :php:`ImportExportController` as
+:php:`GLOBALS['SOBE']` has been marked as deprecated and will not be set anymore in TYPO3 v10.
+
+Furthermore, class :php:`ImportExportController` does not inherit class :php:`BaseScriptClass` anymore.
+
+
+Impact
+======
+
+Calling one of the above methods or accessing above properties triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+It is relatively unlikely instances are affected by this change since it is rather uncommon
+to extend the import / export extension. The extension scanner will find some of the usages.
+
+
+Migration
+=========
+
+No migration possible.
+
+.. index:: Backend, PHP-API, PartiallyScanned, ext:impexp
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85970-FileContentObject.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85970-FileContentObject.rst
new file mode 100644 (file)
index 0000000..6ccaaee
--- /dev/null
@@ -0,0 +1,57 @@
+.. include:: ../../Includes.txt
+
+=========================================
+Deprecation: #85970 - FILE content object
+=========================================
+
+See :issue:`85970`
+
+Description
+===========
+
+The cObject FILE mixed concerns (rendering an image, or dumping file contents), and
+rather became low-level since Fluid's rise in rendering Frontend.
+
+FILE shows an image if the file is jpg,jpeg,gif,png (but not SVG), and if has a
+different file ending, it will check if the file is less than 1MB, it will get its contents
+and output that. If the file is 1 byte bigger, nothing is done.
+Fluid offers more flexibility nowadays.
+
+Thus, cObject FILE will be removed in TYPO3 v10.
+
+
+Impact
+======
+
+Instances using the TypoScript cObject :typoscript:`FILE` will find PHP :php:`E_USER_DEPRECATED` errors for each usage.
+
+
+Affected Installations
+======================
+
+Instances using the TypoScript cObject :typoscript:`FILE`.
+
+
+Migration
+=========
+
+Use :typoscript:`IMAGE` to show images instead.
+
+For realising :typoscript:`TEMPLATE`, migrate to using :typoscript:`FLUIDTEMPLATE`. It comes with all
+the benefits Fluid offers.
+
+However due to the flexibility of custom cObjects, an extension author could just re-implement
+the functionality in a custom extension within minutes.
+See this example for ext:frontend where the registration resides in :file:`ext_localconf.php`.
+
+.. codeblock:: php
+
+   $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'] = array_merge(
+      $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'],
+      [
+         'FILE' => \TYPO3\CMS\Frontend\ContentObject\FileContentObject::class,
+      ],
+   );
+
+
+.. index:: TypoScript, NotScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85980-InternalAnnotationInExtbaseCommands.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85980-InternalAnnotationInExtbaseCommands.rst
new file mode 100644 (file)
index 0000000..22ed05a
--- /dev/null
@@ -0,0 +1,40 @@
+.. include:: ../../Includes.txt
+
+==============================================================
+Deprecation: #85980 - @internal annotation in extbase commands
+==============================================================
+
+See :issue:`85980`
+
+Description
+===========
+
+The :php:`@internal` annotation has been marked as deprecated and will be removed from TYPO3 v10
+without any replacement.
+
+This is a regular phpDocumentor annotation that is used to denote that associated structural
+elements are elements internal to the application or library. It has been misused by Extbase to tell
+if a command is internal and thus should not be exposed through help texts, user documentation etc.
+
+TYPO3 does no longer support the use of the :php:`@internal` annotation to influence the behaviour
+of the code.
+
+Impact
+======
+
+Using :php:`@internal` on methods of classes extending
+:php:`TYPO3\CMS\Extbase\Mvc\Controller\CommandController` will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+All installations that make use of Extbase commands whose methods are tagged with :php:`@internal`.
+
+
+Migration
+=========
+
+Just remove the annotation from the affected controllers.
+
+.. index:: NotScanned, ext:extbase
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85981-AnnotationFlushesCaches.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-85981-AnnotationFlushesCaches.rst
new file mode 100644 (file)
index 0000000..5b406a3
--- /dev/null
@@ -0,0 +1,39 @@
+
+.. include:: ../../Includes.txt
+
+===============================================
+Deprecation: #83094 - Annotation @flushesCaches
+===============================================
+
+See :issue:`85981`
+
+Description
+===========
+
+The :php:`@flushesCaches` annotation has been marked as deprecated and will be removed with TYPO3 v10.
+The annotation was introduced during backport from FLOW and never implemented to actually do anything
+useful. It will be removed without substitution.
+
+With it, the method :php:`TYPO3\CMS\Extbase\Mvc\Cli\Command->isFlushingCaches()` has been marked as deprecated
+and will also be removed in TYPO3 v10.
+
+
+Impact
+======
+
+Usage of Annotation :php:`@flushesCaches` and method :php:`TYPO3\CMS\Extbase\Mvc\Cli\Command->isFlushingCaches()`
+will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+All extensions that use :php:`@flushesCaches` or call the method :php:`TYPO3\CMS\Extbase\Mvc\Cli\Command->isFlushingCaches()`.
+
+
+Migration
+=========
+
+Just remove annotation and method call. They did not do anything before.
+
+.. index:: PHP-API, ext:extbase, FullyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86047-TSFEPropertiesMethodsAndChangeVisibility.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86047-TSFEPropertiesMethodsAndChangeVisibility.rst
new file mode 100644 (file)
index 0000000..597a823
--- /dev/null
@@ -0,0 +1,53 @@
+.. include:: ../../Includes.txt
+
+=====================================================================
+Deprecation: #86047 - TSFE properties / methods and change visibility
+=====================================================================
+
+See :issue:`86047`
+
+Description
+===========
+
+The following properties have changed their visibility from public to protected.
+
+* :php:`TypoScriptFrontendController->pageAccessFailureHistory`
+* :php:`TypoScriptFrontendController->workspacePreview` (not in use anymore)
+* :php:`TypoScriptFrontendController->ADMCMD_preview_BEUSER_uid` (not in use anymore)
+* :php:`TypoScriptFrontendController->debug` (not in use anymore)
+* :php:`TypoScriptFrontendController->MP_defaults` (not in use anymore outside of TSFE)
+* :php:`TypoScriptFrontendController->loginAllowedInBranch` (use checkIfLoginAllowedInBranch())
+
+The following methods have changed their signature to be protected, as their purpose is to be called from
+within :php:`TypoScriptFrontendController`.
+
+* :php:`TypoScriptFrontendController->tempPageCacheContent()`
+* :php:`TypoScriptFrontendController->realPageCacheContent()`
+* :php:`TypoScriptFrontendController->setPageCacheContent()`
+* :php:`TypoScriptFrontendController->clearPageCacheContent_pidList()`
+* :php:`TypoScriptFrontendController->setSysLastChanged()`
+* :php:`TypoScriptFrontendController->contentStrReplace()`
+
+
+Impact
+======
+
+Calling any of the PHP methods will trigger a PHP :php:`E_USER_DEPRECATED` error, as well as accessing any of the
+previously public properties.
+
+
+Affected Installations
+======================
+
+Any TYPO3 installation with extensions directly calling one of the methods or using one of the
+public properties.
+
+
+Migration
+=========
+
+For :php:`TypoScriptFrontendController->ADMCMD_preview_BEUSER_uid` use the backend.user aspect of the Context API.
+For :php:`TypoScriptFrontendController->workspacePreview` use the workspace aspect of the Context API.
+For :php:`TypoScriptFrontendController->loginAllowedInBranch` use the method :php:`checkIfLoginAllowedInBranch()` instead.
+
+.. index:: Frontend, FullyScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86068-OldConditionSyntax.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86068-OldConditionSyntax.rst
new file mode 100644 (file)
index 0000000..196ca41
--- /dev/null
@@ -0,0 +1,41 @@
+.. include:: ../../Includes.txt
+
+==========================================
+Deprecation: #86068 - old condition syntax
+==========================================
+
+See :issue:`86068`
+
+Description
+===========
+
+The Symfony expression language is available for TypoScript since :issue:`85829` has been merged.
+Accordingly the classic TypoScript condition syntax has been marked as deprecated.
+
+For detailed information about the new expression language see `#85829 <Feature-85829-ImplementSymfonyExpressionLanguageForTypoScriptConditions.rst>`_.
+
+
+Impact
+======
+
+Using the old condition syntax will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+Also the combination of multiple condition blocks with :typoscript:`AND`, :typoscript:`OR`, :typoscript:`&&` and :typoscript:`||` has been
+marked as deprecated and will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+If this is not possible yet to fully migrate to Symfony expression language, the feature flag :php:`[SYS][features][TypoScript.strictSyntax]` can be disabled via Settings -> Configure Installation-Wide Options or directly in :file:`LocalConfiguration.php`.
+
+
+Affected Installations
+======================
+
+TYPO3 installations with extensions which define conditions using the old syntax or setups which
+make use of the old condition syntax.
+
+
+Migration
+=========
+
+The old conditions can be replaced with the new expression language.
+
+.. index:: Backend, Frontend, TSConfig, TypoScript, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86110-FrontendEditingController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86110-FrontendEditingController.rst
new file mode 100644 (file)
index 0000000..5e08018
--- /dev/null
@@ -0,0 +1,37 @@
+.. include:: ../../Includes.txt
+
+===============================================
+Deprecation: #86110 - FrontendEditingController
+===============================================
+
+See :issue:`86110`
+
+Description
+===========
+
+The class :php:`\TYPO3\CMS\Core\FrontendEditing\FrontendEditingController` is not in use anymore, only feedit
+instantiates the class for legacy reasons.
+
+Also, property :php:`FrontendBackendUserAuthentication->frontendEdit` which holds an instance of
+it, has been marked as deprecated.
+
+
+Impact
+======
+
+The functionality of this class has been moved into ext:feedit.
+If an instance needs access to frontend editing, it can be accessed from there.
+
+
+Affected Installations
+======================
+
+Instances accessing the deprecated class or function will **NOT** trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Migration
+=========
+
+Refer to ext:feedit for inspiration.
+
+.. index:: PHP-API, FullyScanned, ext:feedit
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86163-TCATypeuserWithoutRenderType.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86163-TCATypeuserWithoutRenderType.rst
new file mode 100644 (file)
index 0000000..fcf6e69
--- /dev/null
@@ -0,0 +1,111 @@
+.. include:: ../../Includes.txt
+
+========================================================
+Deprecation: #86163 - TCA type="user" without renderType
+========================================================
+
+See :issue:`86163`
+
+Description
+===========
+
+The following :php:`TCA` properties on :php:`type="user"` config types have been marked as deprecated and
+should not be used any longer:
+
+* :php:`userFunc`
+* :php:`parameters`
+* :php:`noTableWrapping`
+
+
+Impact
+======
+
+This especially means that :php:`userFunc` should not be used any longer on :php:`TCA` fields
+registered as config type :php:`user`. Those can be substituted with a custom :php:`renderType`
+since TYPO3 v7. See example below for more details.
+
+
+Affected Installations
+======================
+
+Instances are affected if an extension registers a :php:`type=user` :php:`TCA` config type with a
+custom :php:`userFunc`. If a field uses the :php:`userFunc` property, a PHP :php:`E_USER_DEPRECATED`
+error is triggered during rendering.
+
+
+Migration
+=========
+
+:php:`userFunc` implementations can switch to use a custom :php:`renderType` as outlined
+in the :ref:`FormEngine documentation <t3coreapi:FormEngine-Rendering-NodeFactory>`. The TYPO3 core
+did that for example with the `is_public` field of table `sys_file_storge` in patch 58141_.
+
+To switch from a :php:`userFunc` implementation to a :php:`renderType`, an extension typically has
+to register an own element node in :file:`ext_localconf.php`. Then change the user function to a class
+that extends :php:`AbstractFormElement` where method :php:`render()` returns an array as defined
+in helper method :php:`initializeResultArray`. The `HTML` created by the former user function should be
+returned in :php:`$resultArray['html']`, parameters like the `tableName` can be found in :php:`$this->data`.
+
+Note the `renderType` variant can additionally load custom `JavaScript` and `CSS` using further parts of the
+result array, typically :php:`requireJsModules` and :php:`stylesheetFiles`. Arguments to the element
+can be defined by using any property within the `config` section, it is up to the specific `renderType` to
+do this, using `parameters` as property key is probably a good idea, though.
+
+As example, imagine a :php:`TCA` user element has been defined like this in the `columns` section::
+
+    'myMapElement' = [
+        'label' => 'My map element'
+        'config' => [
+            'type' => 'user',
+            'userFunc' => 'Vendor\Extension\Tca\UserFunc\MyMap->render',
+            'parameters' => [
+                'useOpenStreetMap' => true,
+            ],
+        ],
+    ],
+
+This should be adapted to a registered node element class::
+
+    // Register a node in ext_localconf.php
+    $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeRegistry'][<unix timestamp of "now">] = [
+        'nodeName' => 'customMapElement',
+        'priority' => 40,
+        'class' => \Vendor\Extension\Form\Element\CustomMapElement::class,
+    ];
+
+With a `TCA` registration like this to delegate the element rendering to the registered class::
+
+    'myMapElement' = [
+        'label' => 'My map element'
+        'config' => [
+            'type' => 'user',
+            'renderType' => 'customMapElement',
+            'parameters' => [
+                'useOpenStreetMap' => true,
+            ],
+        ],
+    ],
+
+And a class implementation that extends :php:`AbstractFormElement`::
+
+    <?php
+    declare(strict_types = 1);
+    namespace Vendor\Extension\Form\Element;
+
+    use TYPO3\CMS\Backend\Form\Element\AbstractFormElement;
+
+    class CustomMapElement extends AbstractFormElement
+    {
+        public function render()
+        {
+            // Custom TCA properties and other data can be found in $this->data, for example the above
+            // parameters are available in $this->data['parameterArray']['fieldConf']['config']['parameters']
+            $result = $this->initializeResultArray();
+            $result['html'] = 'my map content';
+            return $result;
+        }
+    }
+
+.. _58141: https://review.typo3.org/#/c/58141/
+
+.. index:: Backend, TCA, NotScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86178-ClassElementBrowserFramesetController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86178-ClassElementBrowserFramesetController.rst
new file mode 100644 (file)
index 0000000..26e8775
--- /dev/null
@@ -0,0 +1,35 @@
+.. include:: ../../Includes.txt
+
+============================================================
+Deprecation: #86178 - Class ElementBrowserFramesetController
+============================================================
+
+See :issue:`86178`
+
+Description
+===========
+
+Class :php:`TYPO3\CMS\Recordlist\Controller\ElementBrowserFramesetController`, the route
+target of :php:`browser` has been marked as deprecated and should not be used any longer.
+
+
+Impact
+======
+
+If calling that controller class a PHP :php:`E_USER_DEPRECATED` error is triggered.
+
+
+Affected Installations
+======================
+
+This route target is unused in core for a while already. Extensions are only affected
+if they call the Backend route target :php:`browser` that renders the element browser
+in a frameset.
+
+
+Migration
+=========
+
+Use the modal based element browser with the route :php:`wizard_element_browser` instead.
+
+.. index:: Backend, PHP-API, NotScanned, ext:recordlist
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86179-ProtectedRenderMethodInBackendController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86179-ProtectedRenderMethodInBackendController.rst
new file mode 100644 (file)
index 0000000..f5a9aa2
--- /dev/null
@@ -0,0 +1,36 @@
+.. include:: ../../Includes.txt
+
+====================================================================
+Deprecation: #86179 - Protected render() method in BackendController
+====================================================================
+
+See :issue:`86179`
+
+Description
+===========
+
+Method :php:`TYPO3\CMS\Backend\Controller\BackendController->render()` has been set from
+public to protected and should not be called any longer.
+
+
+Impact
+======
+
+Calling the method from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+This internal method is usually not called by extensions directly. Since the method name
+is so generic, the extension scanner is not configured to search for usages, it would
+trigger far too many false positives.
+
+
+Migration
+=========
+
+Use route target :php:`main` instead that calls method :php:`mainAction` and returns a
+proper PSR-7 Response object.
+
+.. index:: Backend, PHP-API, NotScanned
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86180-ProtectedMethodsInSetupModuleController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86180-ProtectedMethodsInSetupModuleController.rst
new file mode 100644 (file)
index 0000000..c563f77
--- /dev/null
@@ -0,0 +1,37 @@
+.. include:: ../../Includes.txt
+
+================================================================
+Deprecation: #86180 - Protected methods in SetupModuleController
+================================================================
+
+See :issue:`86180`
+
+Description
+===========
+
+The following methods of class :php:`TYPO3\CMS\Setup\Controller\SetupModuleController`
+changed their visibility from public to protected and should not be called any longer:
+
+* [not scanned] :php:`main()`
+* [not scanned] :php:`init()`
+* :php:`storeIncomingData()`
+
+
+Impact
+======
+
+Calling one of the above methods from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+These methods are usually called internally only, extensions should not be affected by this.
+
+
+Migration
+=========
+
+Use the entry method :php:`mainAction()` that returns a PSR-7 response object.
+
+.. index:: Backend, PHP-API, PartiallyScanned, ext:setup
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86182-ProtectedTaskModuleController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86182-ProtectedTaskModuleController.rst
new file mode 100644 (file)
index 0000000..8699961
--- /dev/null
@@ -0,0 +1,71 @@
+.. include:: ../../Includes.txt
+
+====================================================
+Deprecation: #86182 - Protected TaskModuleController
+====================================================
+
+See :issue:`86182`
+
+Description
+===========
+
+Class :php:`TYPO3\CMS\Taskcenter\Controller\TaskModuleController` no longer inherits
+:php:`TYPO3\CMS\Backend\Module\BaseScriptClass`.
+
+Single task classes should no longer expect to have an instance of the :php:`TaskModuleController`
+set as :php:`$GLOBALS['SOBE']`.
+
+The following properties of class :php:`TYPO3\CMS\Taskcenter\Controller\TaskModuleController`
+changed their visibility from public to protected and should not be called any longer:
+
+* [not scanned] :php:`MCONF`
+* [not scanned] :php:`id`
+* [not scanned] :php:`MOD_MENU`
+* [not scanned] :php:`modMenu_type`
+* [not scanned] :php:`modMenu_setDefaultList`
+* [not scanned] :php:`modMenu_dontValidateList`
+* [not scanned] :php:`content`
+* [not scanned] :php:`perms_clause`
+* [not scanned] :php:`CMD`
+* [not scanned] :php:`extClassConf`
+* [not scanned] :php:`extObj`
+
+The following properties of class :php:`TYPO3\CMS\Taskcenter\Controller\TaskModuleController`
+changed their visibility from public to protected and should not be called any longer:
+
+* [not scanned] :php:`menuConfig`
+* [not scanned] :php:`mergeExternalItems`
+* [not scanned] :php:`handleExternalFunctionValue`
+* [not scanned] :php:`getExternalItemConfig`
+* [not scanned] :php:`main`
+* :php:`urlInIframe`
+* [not scanned] :php:`extObjHeader`
+* [not scanned] :php:`checkSubExtObj`
+* [not scanned] :php:`checkExtObj`
+* [not scanned] :php:`extObjContent`
+* [not scanned] :php:`getExtObjContent`
+
+Impact
+======
+
+Calling one of the above methods from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Most methods and properties are used internally in the :php:`TaskModuleController` only.
+Instances with extensions delivering additional tasks for the
+taskcenter may be affected.
+
+
+Migration
+=========
+
+Single task should no longer rely on having an instance of :php:`TaskModuleController` set as
+:php:`$GLOBALS['SOBE'], an instance of the object in given as first constructor argument.
+
+Properties and methods that have been set to protected should be calculated internally instead.
+
+
+.. index:: Backend, PHP-API, PartiallyScanned, ext:taskcenter
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86184-ProtectedMethodsInReportController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86184-ProtectedMethodsInReportController.rst
new file mode 100644 (file)
index 0000000..e7acbcc
--- /dev/null
@@ -0,0 +1,36 @@
+.. include:: ../../Includes.txt
+
+===========================================================
+Deprecation: #86184 - Protected methods in ReportController
+===========================================================
+
+See :issue:`86184`
+
+Description
+===========
+
+The following methods of class :php:`TYPO3\CMS\Reports\Controller\ReportController`
+changed their visibility from public to protected and should not be called any longer:
+
+* :php:`indexAction()`
+* :php:`detailAction()`
+
+Impact
+======
+
+Calling one of the above methods from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Both methods are called internally only. Extensions extending the reports module
+using the normal reports API are not affected by this.
+
+
+Migration
+=========
+
+No migration possible.
+
+.. index:: Backend, PHP-API, NotScanned, ext:reports
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86192-ProtectedMethodsInElementBrowserController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86192-ProtectedMethodsInElementBrowserController.rst
new file mode 100644 (file)
index 0000000..8aaecab
--- /dev/null
@@ -0,0 +1,35 @@
+.. include:: ../../Includes.txt
+
+===================================================================
+Deprecation: #86192 - Protected methods in ElementBrowserController
+===================================================================
+
+See :issue:`86192`
+
+Description
+===========
+
+The following methods of class :php:`TYPO3\CMS\Recordlist\Controller\ElementBrowserController`
+changed their visibility from public to protected and should not be called any longer:
+
+* :php:`main()`
+
+
+Impact
+======
+
+Calling the above method from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+The method is called internally only. Extensions are usually not affected by this.
+
+
+Migration
+=========
+
+Use the entry method :php:`mainAction()` that returns a PSR-7 response object.
+
+.. index:: Backend, PHP-API, NotScanned, ext:recordlist
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86193-ProtectMethodsInAbstractLinkBrowserController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86193-ProtectMethodsInAbstractLinkBrowserController.rst
new file mode 100644 (file)
index 0000000..4b67a3f
--- /dev/null
@@ -0,0 +1,40 @@
+.. include:: ../../Includes.txt
+
+======================================================================
+Deprecation: #86193 - Protect methods in AbstractLinkBrowserController
+======================================================================
+
+See :issue:`86193`
+
+Description
+===========
+
+The following methods changed their visibility from public to protected and
+should not be called any longer:
+
+* :php:`TYPO3\CMS\Recordlist\Controller\AbstractLinkBrowserController->renderLinkAttributeFields()`
+* :php:`TYPO3\CMS\Recordlist\Controller\AbstractLinkBrowserController->getDisplayedLinkHandlerId()`
+* :php:`TYPO3\CMS\RteCKEditor\Controller\BrowseLinksController->renderLinkAttributeFields()`
+* :php:`TYPO3\CMS\RteCKEditor\Controller\BrowseLinksController->getPageConfigLabel()`
+* :php:`TYPO3\CMS\RteCKEditor\Controller\BrowseLinksController->getDisplayedLinkHandlerId()`
+
+
+Impact
+======
+
+Calling one of the above methods from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+These link browser specific methods are usually not used by extensions externally. The extension
+scanner will reveal possible usages.
+
+
+Migration
+=========
+
+No migration possible.
+
+.. index:: Backend, PHP-API, FullyScanned, ext:reports
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86197-ProtectedFileListController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86197-ProtectedFileListController.rst
new file mode 100644 (file)
index 0000000..d181d8a
--- /dev/null
@@ -0,0 +1,57 @@
+.. include:: ../../Includes.txt
+
+==================================================
+Deprecation: #86197 - Protected FileListController
+==================================================
+
+See :issue:`86197`
+
+Description
+===========
+
+The following properties changed their visibility from public to protected and should not be called any longer:
+
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->MOD_MENU`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->MOD_SETTINGS`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->doc`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->id`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->pointer`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->table`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->imagemode`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->cmd`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->filelist`
+
+The following methods changed their visibility from public to protected and should not be called any longer:
+
+* :php:`TYPO3\CMS\Beuser\Controller\BackendUserController->initializeView()`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->menuConfig()`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->initializeView()`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->initializeIndexAction()`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->indexAction()`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->missingFolderAction()`
+* :php:`TYPO3\CMS\Filelist\Controller\FileListController->searchAction()`
+
+Additionally, first constructor argument :php:`$fileListController` of class
+:php:`TYPO3\CMS\Filelist\FileList` is now optional, class property :php:`$fileListController`
+should not be used any longer in hooks of that class.
+
+
+Impact
+======
+
+Calling one of the above properties or methods from a third party object triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Controllers of the core are usually not called by extensions directly, but only through core routing and
+dispatching mechanisms. Extensions are unlikely to be affected by this change.
+
+
+Migration
+=========
+
+No migration possible.
+
+.. index:: Backend, PHP-API, NotScanned, ext:filelist
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86198-ProtectedRecordListController.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86198-ProtectedRecordListController.rst
new file mode 100644 (file)
index 0000000..74824b2
--- /dev/null
@@ -0,0 +1,103 @@
+.. include:: ../../Includes.txt
+
+====================================================
+Deprecation: #86198 - Protected RecordListController
+====================================================
+
+See :issue:`86198`
+
+Description
+===========
+
+The following properties changed their visibility from public to protected and should not be called any longer:
+
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->id`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->pointer`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->table`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->search_field`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->search_levels`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->showLimit`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->returnUrl`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->clear_cache`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->cmd`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->cmd_table`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->perms_clause`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->pageinfo`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->MOD_MENU`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->content`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->body`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->imagemode`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->doc`
+
+The following methods changed their visibility from public to protected and should not be called any longer:
+
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->init()`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->menuConfig()`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->clearCache()`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->main()`
+* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->getModuleTemplate()`
+
+Additionally, the two hooks :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawHeaderHook']`
+and :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawFooterHook']` changed their signature:
+The second argument, an instance of the parent object :php:`RecordListController` will be dropped in TYPO3 v10. Use the instance of the PSR-7
+:php:`ServerRequestInterface` is provided as array key :php:`request` of the first argument.
+
+Furthermore, the assignment of an object instance of class :php:`RecordListController` as
+:php:`GLOBALS['SOBE']` has been marked as deprecated and will not be set anymore in TYPO3 v10.
+
+
+Impact
+======
+
+Calling one of the above methods or accessing above properties triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Instances are usually only affected if an extension registers a hook for
+:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawHeaderHook']` or
+:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawFooterHook']`. They will
+work as before in TYPO3 v9, but using a property or calling a method of the provided parent object triggers a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Migration
+=========
+
+Hooks registered should change their parent object usage and signature. An example can be found in the `sys_notes` extension
+in class :php:`TYPO3\CMS\SysNote\Hook\RecordListHook`.
+
+Code before::
+
+    /**
+     * Add sys_notes as additional content to the header of the list module
+     *
+     * @param array $params
+     * @param RecordListController $parentObject
+     * @return string
+     */
+    public function renderInHeader(array $params = [], RecordListController $parentObject)
+    {
+        $controller = GeneralUtility::makeInstance(NoteController::class);
+        return $controller->listAction($parentObject->id, SysNoteRepository::SYS_NOTE_POSITION_TOP);
+    }
+
+Adapted hook usage::
+
+    /**
+     * Add sys_notes as additional content to the header of the list module
+     *
+     * @param array $params
+     * @return string
+     */
+    public function renderInHeader(array $params): string
+    {
+        /** @var ServerRequestInterface $request */
+        $request = $params['request'];
+        $id = (int)($request->getParsedBody()['id'] ?? $request->getQueryParams()['id'] ?? 0);
+        $controller = GeneralUtility::makeInstance(NoteController::class);
+        return $controller->listAction($id, SysNoteRepository::SYS_NOTE_POSITION_TOP);
+    }
+
+
+.. index:: Backend, PHP-API, NotScanned, ext:recordlist
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86207-ProtectedTstemplateExtension.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86207-ProtectedTstemplateExtension.rst
new file mode 100644 (file)
index 0000000..f0b1872
--- /dev/null
@@ -0,0 +1,112 @@
+.. include:: ../../Includes.txt
+
+====================================================
+Deprecation: #86207 - Protected tstemplate extension
+====================================================
+
+See :issue:`86207`
+
+Description
+===========
+
+To allow refactoring of the Web -> Template module in TYPO3 v10, the involved controller classes
+have been disentangled and better encapsulated:
+
+* Class :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\BaseScriptClass` anymore
+* Class :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
+* Class :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
+* Class :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
+* Class :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
+
+Setting an instance of class :php:`TypoScriptTemplateModuleController` as global object :php:`$GLOBALS['SOBE']`
+has been marked as deprecated and will be removed in TYPO3 v10.
+
+The following class properties have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
+
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->textExtensions`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->pageinfo`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->id`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->modTSconfig`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->content`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->extObj`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->access`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->perms_clause`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->extClassConf`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->edit`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->modMenu_type`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->MCONF`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->CMD`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->sObj`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->pObj`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->function_key`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->extClassConf`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->localLangFile`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->pObj`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->function_key`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->extClassConf`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->localLangFile`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->pObj`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->function_key`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->extClassConf`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->localLangFile`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->tce_processed`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->pObj`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->function_key`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->extClassConf`
+* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->localLangFile`
+
+The following class methods have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
+
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->getExternalItemConfig()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->init()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->clearCache()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->main()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->setInPageArray()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->menuConfig()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->mergeExternalItems()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->handleExternalFunctionValue()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->checkExtObj()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->extObjContent()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->getExtObjContent()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->checkSubExtObj()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->extObjHeader()`
+* :php:`TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllerinitialize_editor()`
+* :php:`TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllermodMenu()`
+* :php:`TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllerhandleExternalFunctionValue()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateConstantEditorModuleFunctionControllerinitialize_editor()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateConstantEditorModuleFunctionControllerhandleExternalFunctionValue()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllerinitialize_editor()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllertableRowData()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllerhandleExternalFunctionValue()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllerinitialize_editor()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllermodMenu()`
+* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllerhandleExternalFunctionValue()`
+
+
+Impact
+======
+
+If an extension accesses one of the above protected properties or calls one of the above protected methods,
+a :php:`E_USER_DEPRECATED` error will be triggered.
+
+
+Affected Installations
+======================
+
+There are not many extensions that extend the `tstemplate` extension with own modules, it is relatively
+unlikely that instances are affected by this.
+
+
+Migration
+=========
+
+If extending the `tstemplate` module with an own extension, the extension should be adapted to not call
+the above methods or properties any longer. Most usages can be easily adapted, for instance
+to retrieve the current page id, use :php:`GeneralUtility::_GP('id')` instead of :php:`$this->pObj->id`.
+
+.. index:: Backend, PHP-API, NotScanned, ext:tstemplate
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86210-ProtectedInfoExtension.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86210-ProtectedInfoExtension.rst
new file mode 100644 (file)
index 0000000..b0f115e
--- /dev/null
@@ -0,0 +1,114 @@
+.. include:: ../../Includes.txt
+
+==============================================
+Deprecation: #86210 - Protected info extension
+==============================================
+
+See :issue:`86210`
+
+Description
+===========
+
+To allow refactoring of the Web -> Info module in TYPO3 v10, the involved controller classes
+have been disentangled and better encapsulated:
+
+* Class :php:`TYPO3\CMS\Info\Controller\InfoModuleController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\BaseScriptClass` anymore
+* Class :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport`
+  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
+* Class :php:`TYPO3\CMS\Info\Controller\PageInformationController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
+* Class :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
+* Class :php:`TYPO3\CMS\Info\Controller\TranslationStatusController`
+  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
+
+Setting an instance of class :php:`InfoModuleController` as global object :php:`$GLOBALS['SOBE']`
+has been marked as deprecated and will be removed in TYPO3 v10.
+
+The following class properties have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
+
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->perms_clause`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modTSconfig`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_setDefaultList`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_dontValidateList`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_type`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->extClassConf`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->extObj`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->content`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->pObj`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->id`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->CMD`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->doc`
+* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->MCONF`
+* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->pObj`
+* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->doc`
+* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->function_key`
+* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extClassConf`
+* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->localLangFile`
+* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extObj`
+* :php:`TYPO3\CMS\Info\Controller\PageInformationController->pObj`
+* :php:`TYPO3\CMS\Info\Controller\PageInformationController->function_key`
+* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extClassConf`
+* :php:`TYPO3\CMS\Info\Controller\PageInformationController->localLangFile`
+* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extObj`
+* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->pObj`
+* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->function_key`
+* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extClassConf`
+* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->localLangFile`
+* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extObj`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->pObj`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->function_key`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extClassConf`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->localLangFile`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extObj`
+
+The following class methods have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
+
+* :php:`TYPO3CMSInfoControllerInfoModuleController->main()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->init()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->getModuleTemplate()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->menuConfig()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->handleExternalFunctionValue()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->mergeExternalItems()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->getExternalItemConfig()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->extObjContent()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->getExtObjContent()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->checkExtObj()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->extObjHeader()`
+* :php:`TYPO3CMSInfoControllerInfoModuleController->checkSubExtObj()`
+* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extObjContent()`
+* :php:`TYPO3\CMS\Info\Controller\PageInformationController->modMenu()`
+* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extObjContent()`
+* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->modMenu()`
+* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extObjContent()`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->getContentElementCount()`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->getLangStatus()`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->renderL10nTable()`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->modMenu()`
+* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extObjContent()`
+
+
+Impact
+======
+
+If an extension accesses one of the above protected properties or calls one of the above protected methods,
+a :php:`E_USER_DEPRECATED` error will be triggered.
+
+
+Affected Installations
+======================
+
+Various extensions extend the Web -> Info module. Those typically call
+:php:`ExtensionManagementUtility::insertModuleFunction('web_info', ...)` in :file:`ext_tables.php` or
+:file:`ext_localconf.php`. Those instances may need adaptions.
+
+
+Migration
+=========
+
+If extending the `info` module with an own extension, the extension should be adapted to not call
+the above methods or properties any longer. Most usages can be easily adapted, for instance
+to retrieve the current page id, use :php:`GeneralUtility::_GP('id')` instead of :php:`$this->pObj->id`.
+
+.. index:: Backend, PHP-API, NotScanned, ext:info
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86225-ClassesBaseScriptClassAndAbstractFunctionModule.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86225-ClassesBaseScriptClassAndAbstractFunctionModule.rst
new file mode 100644 (file)
index 0000000..5c42253
--- /dev/null
@@ -0,0 +1,51 @@
+.. include:: ../../Includes.txt
+
+========================================================================
+Deprecation: #86225 - Classes BaseScriptClass and AbstractFunctionModule
+========================================================================
+
+See :issue:`86225`
+
+Description
+===========
+
+The two classes :php:`TYPO3\CMS\Backend\Module\BaseScriptClass`, also known as
+:php:`t3lib_SCbase` and :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule`,
+also known as :php:`t3lib_extobjbase` have been marked as deprecated and will be removed
+in TYPO3 v10.
+
+
+Impact
+======
+
+Using one of the classes will trigger a :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+The :php:`BaseScriptClass` has been commonly extended by extensions that add own
+backend modules and did not rely on extbase for that. There is nothing wrong
+with not using extbase, but most of the methods from :php:`BaseScriptClass`
+were unused by own extensions and hard to understand, too.
+
+Class :php:`AbstractFunctionModule` has been extended by some extensions that
+add own sub modules to the Page -> Info or the Page -> Template view.
+
+The extension scanner will find possible usages.
+
+Migration
+=========
+
+A migration is often relatively simple: Extensions that extend :php:`BaseScriptClass`
+should verify which methods and properties are actually used from the parent class. The
+most simple solution is to just copy those over to the own class and remove the
+inheritance. It is good practice to at least change their visibility from to :php:`public`
+to :php:`protected` at the same time if possible.
+
+Extensions that extend :php:`AbstractFunctionModule` should do the same. The main `info`
+and `tstemplate` controllers typically only call the methods :php:`init()` and :php:`main()`
+of those classes as entry points, those need to be kept public.
+
+
+.. index:: Backend, PHP-API, FullyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86270-ExtbaseXclassViaTypoScriptSettings.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86270-ExtbaseXclassViaTypoScriptSettings.rst
new file mode 100644 (file)
index 0000000..91c8f18
--- /dev/null
@@ -0,0 +1,49 @@
+.. include:: ../../Includes.txt
+
+==============================================================================
+Deprecation: #86270 - config.tx_extbase.objects and plugin.tx_%plugin%.objects
+==============================================================================
+
+See :issue:`86270`
+
+Description
+===========
+
+The :typoscript:`config.tx_extbase.objects` and :typoscript:`plugin.tx_%plugin%.objects` configuration options
+have been marked as deprecated.
+
+
+Impact
+======
+
+Configuring class overrides using :typoscript:`config.tx_extbase.objects` or :typoscript:`plugin.tx_%plugin%.objects`
+will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+All installations that make use of the TypoScript :typoscript:`config.tx_extbase.objects` or :typoscript:`plugin.tx_%plugin%.objects`
+configuration options are affected.
+
+
+Migration
+=========
+
+Use XCLASSes configured in :file:`ext_localconf.php` using
+:php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']`.
+
+Register implementations in the Extbase object container instead if you need to override classes
+that are processed by the :php:`PropertyMapper` like domain models or if you rely on additional
+injections:
+
+.. code-block:: php
+
+   GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class)
+       ->registerImplementation(Base::class, Override::class);
+
+If you conditionally configured :typoscript:`config.tx_extbase.objects` or
+:typoscript:`plugin.tx_%plugin%.objects`, then move that conditional logic into the
+overriding class itself.
+
+.. index:: TypoScript, NotScanned, ext:extbase
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86279-VariousHooksAndPSR-15Middlewares.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86279-VariousHooksAndPSR-15Middlewares.rst
new file mode 100644 (file)
index 0000000..a492ddd
--- /dev/null
@@ -0,0 +1,62 @@
+.. include:: ../../Includes.txt
+
+==========================================================
+Deprecation: #86279 - Various Hooks and PSR-15 Middlewares
+==========================================================
+
+See :issue:`86279`
+
+Description
+===========
+
+The new PSR-15-based middleware concept allows for a more fine-grained "hooking" mechanism when enhancing the HTTP
+Request or Response object.
+
+The following hooks have therefore been marked as deprecated:
+
+* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['tslib_fe-PostProc']`
+* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['connectToDB']`
+* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['initFEuser']`
+* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['preBeUser']`
+* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['postBeUser']`
+* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['checkAlternativeIdMethods-PostProc']`
+* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['preprocessRequest']`
+
+On top, some middlewares have only been introduced in order to execute these hooks, or due to, and are marked for
+internal use:
+
+* :file:`typo3/cms-core/normalized-params-attribute`
+* :file:`typo3/cms-backend/legacy-document-template`
+* :file:`typo3/cms-backend/output-compression`
+* :file:`typo3/cms-backend/response-headers`
+* :file:`typo3/cms-frontend/timetracker`
+* :file:`typo3/cms-frontend/preprocessing`
+* :file:`typo3/cms-frontend/eid`
+* :file:`typo3/cms-frontend/content-length-headers`
+* :file:`typo3/cms-frontend/tsfe`
+* :file:`typo3/cms-frontend/output-compression`
+* :file:`typo3/cms-frontend/prepare-tsfe-rendering`
+* :file:`typo3/cms-frontend/shortcut-and-mountpoint-redirect`
+
+As these middlewares are marked as internal, it is recommended not to reference them directly, as these might get removed
+in TYPO3 v10.
+
+
+Impact
+======
+
+Making use of one of the hooks in an extension will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+TYPO3 instances with extensions using any of the hooks.
+
+
+Migration
+=========
+
+Use a custom PSR-15 middleware instead.
+
+.. index:: PHP-API, FullyScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86288-FrontendBackendUserAuthenticationMethods.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86288-FrontendBackendUserAuthenticationMethods.rst
new file mode 100644 (file)
index 0000000..fe0ceca
--- /dev/null
@@ -0,0 +1,40 @@
+.. include:: ../../Includes.txt
+
+===============================================================
+Deprecation: #86288 - FrontendBackendUserAuthentication methods
+===============================================================
+
+See :issue:`86288`
+
+Description
+===========
+
+Due to refactorings within AdminPanel, EXT:feedit and via PSR-15 middlewares, the extension class
+:php:`TYPO3\CMS\Backend\FrontendBackendUserAuthentication`, which is instantiated in Frontend
+Requests as :php:`$GLOBALS['BE_USER']` has some unused methods which have been marked as deprecated:
+
+* :php:`checkBackendAccessSettingsFromInitPhp()`
+* :php:`extPageReadAccess()`
+* :php:`extGetTreeList()`
+* :php:`extGetLL()`
+
+
+Impact
+======
+
+Calling any of the methods above will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Any TYPO3 installation with custom PHP code accessing any of the methods above.
+
+
+Migration
+=========
+
+Use either methods from :php:`BackendUserAuthentication` directly, or - if in context of Admin Panel or
+Frontend Editing - use the API methods within these modules directly, if necessary.
+
+.. index:: FullyScanned, PHP-API, Frontend, Backend
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86320-MarkInternalTSFEPropertiesAsProtected.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86320-MarkInternalTSFEPropertiesAsProtected.rst
new file mode 100644 (file)
index 0000000..56b2751
--- /dev/null
@@ -0,0 +1,44 @@
+.. include:: ../../Includes.txt
+
+=================================================================
+Deprecation: #86320 - Mark internal $TSFE properties as protected
+=================================================================
+
+See :issue:`86320`
+
+Description
+===========
+
+The following properties have changed their visibility to be protected from public. The properties are only used and needed internally.
+
+* :php:`TypoScriptFrontendController->loginAllowedInBranch_mode`
+* :php:`TypoScriptFrontendController->cacheTimeOutDefault`
+* :php:`TypoScriptFrontendController->cacheContentFlag`
+* :php:`TypoScriptFrontendController->cacheExpires`
+* :php:`TypoScriptFrontendController->isClientCachable`
+* :php:`TypoScriptFrontendController->no_cacheBeforePageGen`
+* :php:`TypoScriptFrontendController->tempContent`
+* :php:`TypoScriptFrontendController->pagesTSconfig`
+* :php:`TypoScriptFrontendController->uniqueCounter`
+* :php:`TypoScriptFrontendController->uniqueString`
+* :php:`TypoScriptFrontendController->lang`
+
+
+Impact
+======
+
+Calling any of the properties will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Any TYPO3 installation directly accessing any of the mentioned properties.
+
+
+Migration
+=========
+
+Properties are only for internal use, no migration available.
+
+.. index:: Frontend, FullyScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86323-ConfigurationKeySiteInYAMLSiteConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86323-ConfigurationKeySiteInYAMLSiteConfiguration.rst
new file mode 100644 (file)
index 0000000..f78f0a2
--- /dev/null
@@ -0,0 +1,34 @@
+.. include:: ../../Includes.txt
+
+=========================================================================
+Deprecation: #86323 - Configuration key "site" in YAML site configuration
+=========================================================================
+
+See :issue:`86323`
+
+Description
+===========
+
+The site configuration is a file called :file:`config` in a folder called :file:`sites` and does not need a ``site`` key
+to identify its purpose. To keep writing the config as easy as possible, the site configuration moved one level up and
+now resides directly in :file:`config.yaml`.
+
+
+Impact
+======
+
+Having the site configuration below the key "site" has been marked as deprecated and will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Installations with a site config that have a key "site" are affected.
+
+
+Migration
+=========
+
+Remove the "site" key and first level indentation either by directly editing the YAML file or by saving via the sites module.
+
+.. index:: Backend, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst
new file mode 100644 (file)
index 0000000..a6b406f
--- /dev/null
@@ -0,0 +1,32 @@
+.. include:: ../../Includes.txt
+
+===============================================================
+Deprecation: #86338 - Change visibility of PageRepository->init
+===============================================================
+
+See :issue:`86338`
+
+Description
+===========
+
+The :php:`PageRepository::init()` method is now called implicitly within the constructor.
+
+
+Impact
+======
+
+Calling the method will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Any TYPO3 installation with extensions directly calling the :php:`PageRepository::init()` method.
+
+
+Migration
+=========
+
+Remove the call to the :php:`PageRepository::init()` function. The constructor is taking care of calling the method.
+
+.. index:: NotScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86353-CacheManagerUsageInExt_localconfphp.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86353-CacheManagerUsageInExt_localconfphp.rst
new file mode 100644 (file)
index 0000000..de21c24
--- /dev/null
@@ -0,0 +1,36 @@
+.. include:: ../../Includes.txt
+
+=============================================================
+Deprecation: #86353 - CacheManager usage in ext_localconf.php
+=============================================================
+
+See :issue:`86353`
+
+Description
+===========
+
+Usage of :php:`\TYPO3\CMS\Core\Cache\CacheManager->getCache()` during
+:file:`ext_localconf.php` loading phase has been marked as deprecated.
+
+
+Impact
+======
+
+Using :php:`\TYPO3\CMS\Core\Cache\CacheManager->getCache()` in
+:file:`ext_localconf.php` will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+All installations with third party extensions that use
+:php:`\TYPO3\CMS\Core\Cache\CacheManager->getCache()` in
+:file:`ext_localconf.php`.
+
+
+Migration
+=========
+
+Load caches on demand, when actually needed.
+
+.. index:: PHP-API, NotScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86366-MethodsInAbstractUpdate.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86366-MethodsInAbstractUpdate.rst
new file mode 100644 (file)
index 0000000..a0b81c8
--- /dev/null
@@ -0,0 +1,54 @@
+.. include:: ../../Includes.txt
+
+===============================================
+Deprecation: #86366 - Methods in AbstractUpdate
+===============================================
+
+See :issue:`86366`
+
+Description
+===========
+
+To ease the update pain a compatibility layer for AbstractUpdate based
+upgrade wizards has been implemented, that allows running "old" wizards
+on CLI (enabling extension authors to support both TYPO3 v8 and TYPO3 v9 with one
+wizard).
+
+The following methods have been marked as deprecated and will be removed with TYPO3 v10:
+
+* :php:`AbstractUpdate::getTitle()`
+* :php:`AbstractUpdate::setTitle()`
+* :php:`AbstractUpdate::getIdentifier()`
+* :php:`AbstractUpdate::setIdentifier()`
+* :php:`AbstractUpdate::getDescription()`
+* :php:`AbstractUpdate::executeUpdate()`
+* :php:`AbstractUpdate::updateNecessary()`
+* :php:`AbstractUpdate::getPrerequisites()`
+* :php:`AbstractUpdate::setOutput()`
+* :php:`AbstractUpdate::shouldRenderWizard()`
+* :php:`AbstractUpdate::checkIfTableExists()`
+* :php:`AbstractUpdate::installExtensions()`
+* :php:`AbstractUpdate::markWizardAsDone()`
+* :php:`AbstractUpdate::isWizardDone()`
+
+The class itself has also been marked as deprecated, construction will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+Impact
+======
+
+Calling the mentioned methods through an extended class will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+All UpdateWizards extending AbstractUpdate gained cli capability since :issue:`86076`.
+
+Affected Installations
+======================
+
+Each instance with custom update wizards that extend AbstractUpdate.
+
+Migration
+=========
+
+Use the interfaces instead the abstract class to define the capabilities of the Upgrade Wizard class.
+See https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.4/Feature-86076-NewAPIForUpgradeWizards.html.
+
+.. index:: Backend, CLI, PHP-API, FullyScanned, ext:install
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86389-GeneralUtility_GETsetAndTSFE-mergingWithGetVars.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86389-GeneralUtility_GETsetAndTSFE-mergingWithGetVars.rst
new file mode 100644 (file)
index 0000000..3f9b961
--- /dev/null
@@ -0,0 +1,42 @@
+.. include:: ../../Includes.txt
+
+==============================================================================
+Deprecation: #86389 - GeneralUtility::_GETset() and TSFE->mergingWithGetVars()
+==============================================================================
+
+See :issue:`86389`
+
+Description
+===========
+
+Two methods related to setting global :php:`$_GET` parameters have been marked as deprecated:
+
+* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::_GETset()`
+* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->mergingWithGetVars()`
+
+The two methods are wrappers to set the :php:`$_GET` properties, however, this concept has been superseded
+by using the PSR-7 request object within PSR-15 middlewares to replace the variables.
+
+
+Impact
+======
+
+Calling any of the two methods within PHP will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+Any installation making use of these methods within a TYPO3 extension, e.g. RealURL.
+
+
+Migration
+=========
+
+Implement a custom PSR-15 middleware to update the PSR-7 request object, and to manually set :php:`$_GET` on top,
+as long as TYPO3 still supports :php:`GeneralUtility::_GP()`, although these methods will vanish in the near future.
+
+Relying on the request object, and using PSR-15 middlewares to manipulate request parameters is more future-proof
+for extensions and TYPO3 sites.
+
+.. index:: Frontend, PHP-API, FullyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86404-GLOBALSTYPO3_LOADED_EXT.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86404-GLOBALSTYPO3_LOADED_EXT.rst
new file mode 100644 (file)
index 0000000..c8965ed
--- /dev/null
@@ -0,0 +1,35 @@
+.. include:: ../../Includes.txt
+
+==================================================
+Deprecation: #86404 - $GLOBALS['TYPO3_LOADED_EXT']
+==================================================
+
+See :issue:`86404`
+
+Description
+===========
+
+The global :php:`$GLOBALS['TYPO3_LOADED_EXT']` has been marked as deprecated in favor
+of the :php:`PackageManager` API.
+
+
+Impact
+======
+
+Accessing :php:`$GLOBALS['TYPO3_LOADED_EXT']` is discouraged.
+
+
+Affected Installations
+======================
+
+Instances with extensions using :php:`$GLOBALS['TYPO3_LOADED_EXT']`.
+
+
+Migration
+=========
+
+Use the :php:`getActivePackages()` method of
+:php:`\TYPO3\CMS\Core\Package\PackageManager` to get a list of active
+packages.
+
+.. index:: PHP-API, FullyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86406-TCATypeGroupInternal_typeFileAndFile_reference.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86406-TCATypeGroupInternal_typeFileAndFile_reference.rst
new file mode 100644 (file)
index 0000000..db86b66
--- /dev/null
@@ -0,0 +1,66 @@
+.. include:: ../../Includes.txt
+
+==========================================================================
+Deprecation: #86406 - TCA type group internal_type file and file_reference
+==========================================================================
+
+See :issue:`86406`
+
+Description
+===========
+
+The :php:`TCA` property values :php:`internal_type="file"` and :php:`internal_type="file_reference"`
+for columns config :php:`type="group"` have been marked as deprecated.
+
+A series of related methods have been marked as deprecated:
+
+* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->checkValue_group_select_file()`
+* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->copyRecord_procFilesRefs()`
+* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->extFileFields()`
+* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->extFileFunctions()`
+* :php:`TYPO3\CMS\Core\Database\ReferenceIndex->getRelations_procFiles()`
+* :php:`TYPO3\CMS\Core\Integrity\DatabaseIntegrityCheck->getFileFields()`
+
+Some constants have bee marked as deprecated:
+
+* :php:`TYPO3\CMS\Core\DataHandling\TableColumnSubType::FILE`
+* :php:`TYPO3\CMS\Core\DataHandling\TableColumnSubType::FILE_REFERENCE`
+
+The "internal_type" functionality has been superseded by the File Abstraction Layer (FAL) since TYPO3 6.0
+and has several drawbacks within TYPO3 (e.g. multiple copies of files based on a file name, no flexibility
+for moving data to a different storage, no metadata functionality, no cropping functionality).
+
+Impact
+======
+
+The Backend module "Upgrade" > "Check TCA migrations" shows them as deprecated, and triggers a
+:php:`E_USER_DEPRECATED` error.
+
+Using the TCA property values mentioned above will trigger a PHP :php:`E_USER_DEPRECATED` error when the cache is cleared.
+
+
+Affected Installations
+======================
+
+Installations still using the methods or constants, or TYPO3 installations with extensions registering custom
+TCA fields with the mentioned TCA properties.
+
+Migration
+=========
+
+It is rather unlikely instances use one of the above methods or constants. The extension scanner will find possible
+usages, though.
+
+It's more likely that extensions use :php:`type=group` with :php:`internal_type=file` or
+:php:`internal_type=file_reference`. Those should switch to use FAL references based on
+:php:`type=inline` instead.
+
+The core code changed one last :php:`internal_type=file` usage in TYPO3 v9 and moved it to FAL. Several use-cases
+within the last TYPO3 major versions show how to migrate a legacy file field to FAL (e.g. "fe_users.image"
+or "tt_content.image" including automatic upgrade wizards for the database - an example of the last migration can be
+found online_. These previous changes give some insight on how a file relation could be changed to FAL and comes
+with an upgrade wizard that can be a helpful example if existing extension data needs to be migrated.
+
+.. _online: https://review.typo3.org/#/c/54830/
+
+.. index:: Backend, PHP-API, TCA, PartiallyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86411-TSFE-makeCacheHash.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Deprecation-86411-TSFE-makeCacheHash.rst
new file mode 100644 (file)
index 0000000..a9f8e44
--- /dev/null
@@ -0,0 +1,35 @@
+.. include:: ../../Includes.txt
+
+===========================================
+Deprecation: #86411 - TSFE->makeCacheHash()
+===========================================
+
+See :issue:`86411`
+
+Description
+===========
+
+The method :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->makeCacheHash()`
+which acts for validating the `&cHash` GET parameter against other given GET parameters
+has been marked as deprecated, as this functionality has been moved into a PSR-15 middleware.
+
+
+Impact
+======
+
+Calling the method directly will trigger a PHP :php:`E_USER_DEPRECATED` error.
+
+
+Affected Installations
+======================
+
+TYPO3 installations with extensions calling the PHP method directly.
+
+
+Migration
+=========
+
+Ensure to use the PSR-15 middleware stack with the PageParameterValidator in use to verify a
+given cHash signature against given query parameters.
+
+.. index:: Frontend, FullyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Feature-20051-SupportTheCanonicalTag.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Feature-20051-SupportTheCanonicalTag.rst
new file mode 100644 (file)
index 0000000..8bbe4a2
--- /dev/null
@@ -0,0 +1,34 @@
+.. include:: ../../Includes.txt
+
+=============================================
+Feature: #20051 - Support the "canonical" tag
+=============================================
+
+See :issue:`20051`
+
+Description
+===========
+
+TYPO3 will finally provide built-in support for the :html:`<link rel="canonical" href="">` tag.
+
+If the core extension "seo" is installed, it will automatically add the canonical link to the page.
+
+The canonical link is basically the same absolute link as the link to the current hreflang and is meant
+to indicate where the original source of the content is. It is a tool to prevent duplicate content
+penalties.
+
+In the page properties, the canonical link can be overwritten per language. The link wizard offers all
+possibilities including external links and link handler configurations.
+
+Should an empty href occur when generating the link to overwrite the canonical (this happens e.g. if the
+selected page is not available in the current language), the fallback to the current hreflang will be activated
+automatically. This ensures that there is no empty canonical.
+
+Impact
+======
+
+If you have other SEO extensions installed that generate canonical links, you have to make sure only one creates it.
+If both core and an extension are generating a canonical link, it will
+result in 2 canonical links which might cause confusion for search engines.
+
+.. index:: Backend, Database, Frontend, TCA, ext:seo
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Feature-80398-Utf8mb4OnMysqlByDefaultForNewInstances.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Feature-80398-Utf8mb4OnMysqlByDefaultForNewInstances.rst
new file mode 100644 (file)
index 0000000..d2cb3b0
--- /dev/null
@@ -0,0 +1,61 @@
+.. include:: ../../Includes.txt
+
+===============================================================
+Feature: #80398 - utf8mb4 on mysql by default for new instances
+===============================================================
+
+See :issue:`80398`
+
+Description
+===========
+
+New instances created by the TYPO3 installer now set `utf8mb4` as charset and `utf8mb4_unicode_ci`
+collation by default for instances running on MySQL. This allows 4 byte unicode characters
+like emojis in MySQL.
+
+If upgrading instances, admins may change :file:`LocalConfiguration.php` to use this feature.
+The core does not provide mechanisms to update the collation of existing tables
+from `utf8_unicode_ci` to `utf8mb4_unicode_ci` for existing instances, though. Admins need
+to manage that on their own if needed, the reports module shows an information if the
+table schema uses mixed collations. This should be fixed after manually configuring
+`utf8mb4` to avoid SQL errors when joining tables having different collations.
+
+Also note that manually upgrading to `utf8mb4` may lead to index length issues: The maximum key
+length on InnoDB tables is often 767 bytes and options to increase that have even been actively
+removed, for instance in recent MariaDB versions.
+A typical case is an index on a varchar(255) field: The DBMS assumes the worst case for the index
+length, which is 3 bytes per character for a utf8 (utf8mb3), but 4 bytes for utf8mb4: With utf8,
+the maximum index length is 3*255 + 1 = 766 bytes which fits into 767, but with utf8mb4, this
+is 4*255 + 1 = 1021 bytes, which exceeds the maximum length and leads to SQL errors when setting
+such an index.
+This scenario gets more complex with combined indexes and may need manual investigation when
+upgrading an existing instance from from `utf8` to `utf8mb4`. One solution is to restrict the
+index length in ext_tables.sql of the affected extension: :php:`KEY myKey (myField(191))`, which
+in this case leads to 4*191 + 1 = 764 bytes as maximum used length.
+
+The basic settings to use `utf8mb4` in :file:`LocalConfiguration.php` are:
+
+.. code-block:: php
+
+   'DB' => [
+       'Connections' => [
+           'Default' => [
+               'driver' => 'mysqli',
+               ...
+               'charset' => 'utf8mb4',
+               'tableoptions' => [
+                    'charset' => 'utf8mb4',
+                    'collate' => 'utf8mb4_unicode_ci',
+               ],
+           ],
+       ],
+   ],
+
+
+Impact
+======
+
+`utf8mb4` is an allowed charset and `utf8mb4_unicode_ci` is an allowed collation and
+used by default for new instances running on MySQL.
+
+.. index:: PHP-API, LocalConfiguration, Database
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Feature-86214-ImplementStaticRoutes.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Feature-86214-ImplementStaticRoutes.rst
new file mode 100644 (file)
index 0000000..c271e82
--- /dev/null
@@ -0,0 +1,75 @@
+.. include:: ../../Includes.txt
+.. highlight:: yaml
+
+=========================================
+Feature: #86214 - Implement static routes
+=========================================
+
+See :issue:`86214`
+
+Description
+===========
+
+The site configuration module now has configuration options to add static routes on a per site basis.
+Take the following example: In a multi-site installation you want to have different robots.txt files for each site that
+should be reachable at /robots.txt on each site. You can now add a static route "robots.txt" to your site and
+define which content should be delivered.
+
+The TYPO3 SEO extension provides a sitemap for TYPO3 out of the box, but it's only reachable at a specific page type.
+To enable easier access you can now configure a static route :file:`sitemap.xml` that maps to that page type (see example
+below).
+
+Routes can be configured as toplevel files (as in the :file:`sitemap.xml` and :file:`robots.txt` case) but may also be configured
+to deeper route paths (`my/deep/path/to/a/static/text` for example). Matching is done on the full path but without any
+parameters.
+
+Impact
+======
+
+Static routes can be configured via the user interface or directly in the yaml configuration.
+There are two options: deliver static text or resolve a TYPO3 URL.
+
+StaticText
+----------
+
+The :yaml:`staticText` option allows to deliver simple text content. The text can be added through a text field directly in
+the site configuration. This is suitable for files like :file:`robots.txt` or :file:`humans.txt`.
+
+YAML Configuration Example::
+
+   route: robots.txt
+   type: staticText
+   content: |
+     Sitemap: https://example.com/sitemap.xml
+     User-agent: *
+     Allow: /
+     Disallow: /forbidden/
+
+TYPO3 URL (t3://)
+-----------------
+
+The type :yaml:`uri` for TYPO3 URL provides the option to render either a file, page or url. Internally a request to the
+file or URL is done and its content delivered.
+
+YAML Configuration Examples::
+
+   -
+     route: sitemap.xml
+     type: uri
+     source: 't3://page?uid=1&type=1533906435'
+   -
+     route: favicon.ico
+     type: uri
+     source: 't3://file?uid=77'
+
+
+Implementation
+==============
+
+Static route resolving is implemented as a PSR-15 middleware. If the route path requested matches any one of the
+configured site routes, a response is directly generated and returned. This way there is minimal bootstrap code to
+be executed on a static route resolving request, mainly the site configuration needs to be loaded. Static routes cannot
+get parameters as the matching is done solely on the path level.
+
+
+.. index:: Frontend, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Feature-86303-VariantsForSitesBase.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Feature-86303-VariantsForSitesBase.rst
new file mode 100644 (file)
index 0000000..88f632c
--- /dev/null
@@ -0,0 +1,26 @@
+.. include:: ../../Includes.txt
+
+==========================================
+Feature: #86303 - Variants for site's base
+==========================================
+
+See :issue:`86303`
+
+Description
+===========
+
+The site configuration allows now to specify variants of the site's base.
+Take the following example: The base of a site is set to `www.domain.tld` but the staging environment uses
+`staging.domain.tld` and the local development uses `www.domain.local`.
+
+The expression language feature is used to define which variant is taken into account.
+
+Impact
+======
+
+The base of a site can be changed depending on a condition. Typical examples are:
+
+- :typoscript:`applicationContext == "Production"`: Check the application context
+- :typoscript:`getenv("mycontext") == "production`: Check a custom environment variable
+
+.. index:: Backend, Frontend, TypoScript, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Feature-86409-AllowUsageOfEnvironmentVariablesInSiteConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Feature-86409-AllowUsageOfEnvironmentVariablesInSiteConfiguration.rst
new file mode 100644 (file)
index 0000000..5c07d4f
--- /dev/null
@@ -0,0 +1,39 @@
+.. include:: ../../Includes.txt
+
+============================================================================
+Feature: #86409 - Allow usage of environment variables in site configuration
+============================================================================
+
+See :issue:`86409`
+
+Description
+===========
+
+To enable environment variable based configuration the TYPO3 Core Yaml loader has been adjusted to
+be able to resolve environment variables. Resolving of variables in the loader can be enabled or
+disabled via flags. When editing the site configuration through the backend interface the resolving
+of environment variables needs to be disabled to be able to add environment configuration through
+the interface.
+
+The format for environment variables is %env(ENV_NAME)%. Environment variables may be used to replace
+complete values or parts of a value.
+
+
+Impact
+======
+
+In site configuration environment variables can be used. One common example would be the base url
+that can now be configured via an environment variable.
+
+Additionally, the Yaml Loader class has two new flags: :yaml:`PROCESS_PLACEHOLDERS` and :yaml:`PROCESS_IMPORTS`.
+
+* :yaml:`PROCESS_PLACEHOLDERS` decides whether or not placeholders (`%abc%`) will be resolved.
+* :yaml:`PROCESS_IMPORTS` decides whether or not imports (`imports` key) will be resolved.
+
+Example usage in site configuration:
+
+.. code-block:: yaml
+
+       base: 'https://%env(BASE_DOMAIN)%/'
+
+.. index:: Backend, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Feature-86422-TypoScriptGetTextPropertySite.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Feature-86422-TypoScriptGetTextPropertySite.rst
new file mode 100644 (file)
index 0000000..deb1d95
--- /dev/null
@@ -0,0 +1,36 @@
+.. include:: ../../Includes.txt
+
+==================================================
+Feature: #86422 - TypoScript getText property site
+==================================================
+
+See :issue:`86422`
+
+Description
+===========
+
+Site configuration can now be accessed via the :typoscript:`getText` property in TypoScript.
+
+Example:
+
+.. code-block:: typoscript
+
+       page.10 = TEXT
+       page.10.data = site:base
+       page.10.wrap = This is your base URL: |
+
+Where :typoscript:`site` is the keyword for accessing an aspect, and the following parts are the configuration key(s) to access.
+
+.. code-block:: typoscript
+
+       data = site:customConfigKey.nested.value
+
+Impact
+======
+
+Accessing site configuration is now possible in TypoScript, which enables to store site specific configuration options
+in one central place and allows usage of that configuration from different contexts. While this sounds similar to using
+TypoScript, with using site configuration this may also be used from backend or CLI context as long as the rootPageId
+of the site is known. To avoid duplicating configuration options, TypoScript can now access these properties, too.
+
+.. index:: PHP-API, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/9.5/Index.rst b/typo3/sysext/core/Documentation/Changelog/9.5/Index.rst
new file mode 100644 (file)
index 0000000..1865168
--- /dev/null
@@ -0,0 +1,51 @@
+
+.. include:: ../../Includes.txt
+
+9.5 Changes
+===========
+
+**Table of contents**
+
+.. contents::
+   :local:
+   :depth: 1
+
+Breaking Changes
+^^^^^^^^^^^^^^^^
+
+.. toctree::
+   :maxdepth: 1
+   :titlesonly:
+   :glob:
+
+   Breaking-*
+
+Features
+^^^^^^^^
+
+.. toctree::
+   :maxdepth: 1
+   :titlesonly:
+   :glob:
+
+   Feature-*
+
+Deprecation
+^^^^^^^^^^^
+
+.. toctree::
+   :maxdepth: 1
+   :titlesonly:
+   :glob:
+
+   Deprecation-*
+
+Important
+^^^^^^^^^
+
+.. toctree::
+   :maxdepth: 1
+   :titlesonly:
+   :glob:
+
+   Important-*
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-84196-BackendControllerActionsDoNotReceivePreparedResponse.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-84196-BackendControllerActionsDoNotReceivePreparedResponse.rst
deleted file mode 100644 (file)
index c19775b..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-.. include:: ../../Includes.txt
-
-=================================================================================
-Deprecation: #84196 - Backend controller actions do not receive prepared response
-=================================================================================
-
-See :issue:`84196`
-
-Description
-===========
-
-The second argument to backend and eID controller actions has been deprecated.
-Controllers should create a response object implementing
-:php:`Psr\Http\Message\ResponseInterface` on their own instead of relying
-on a prepared response.
-
-The signature of controller actions should look like::
-
-    public function myAction(ServerRequestInterface $request): ResponseInterface
-
-
-Impact
-======
-
-Controllers should typically instantiate one of the three core response classes
-and return it:
-
-.. code-block:: php
-
-    public function myAction(ServerRequestInterface $request): ResponseInterface
-    {
-        return new HtmlResponse('content');
-        return new JsonResponse($jsonArray);
-        return new RedirectRespons($url);
-    }
-
-
-Affected Installations
-======================
-
-Instances with extensions that register backend controllers (eg. modules) or eID
-may be affected.
-
-The dynamic scanning for not yet adapted controller actions relies on reflection and
-costs some CPU cycles. If all affected extensions have been adapted, the feature toggle
-`simplifiedControllerActionDispatching` should be enabled. This can be managed in
-the backend Settings module.
-
-
-Migration
-=========
-
-See above code examples for typical controller actions return values and signature.
-
-.. index:: Backend, PHP-API, NotScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85031-ProtectedImportExportController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85031-ProtectedImportExportController.rst
deleted file mode 100644 (file)
index d2bd6d5..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-.. include:: ../../Includes.txt
-
-======================================================
-Deprecation: #85031 - Protected ImportExportController
-======================================================
-
-See :issue:`85031`
-
-Description
-===========
-
-The following properties changed their visibility from public to protected and should not be called any longer:
-
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->pageinfo`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->id`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->perms_clause`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->extObj`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->doc`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->content`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->extClassConf`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->modMenu_setDefaultList`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->modMenu_dontValidateList`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->modMenu_type`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->modTSconfig`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->MOD_SETTINGS`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->MOD_MENU`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->CMD`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->MCONF`
-
-The following methods changed their visibility from public to protected and should not be called any longer:
-
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->init()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->main()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->exportData()`
-* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->addRecordsForPid()`
-* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->exec_listQueryPid()`
-* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->makeConfigurationForm()`
-* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->makeAdvancedOptionsForm()`
-* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->makeSaveForm()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->importData()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->checkUpload()`
-* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->getTableSelectOptions()`
-* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->filterPageIds()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->getExtObjContent()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->extObjContent()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->extObjHeader()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->checkSubExtObj()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->checkExtObj()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->getExternalItemConfig()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->handleExternalFunctionValue()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->mergeExternalItems()`
-* [not scanned] :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->menuConfig()`
-
-Additionally, the assignment of an object instance of class :php:`ImportExportController` as
-:php:`GLOBALS['SOBE']` has been deprecated and will not be set anymore in TYPO3 v10.
-
-Furthermore, class :php:`ImportExportController` does not inherit class :php:`BaseScriptClass` anymore.
-
-
-Impact
-======
-
-Calling one of the above methods or accessing above properties triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-It is relatively unlikely instances are affected by this change since it is rather uncommon
-to extend the import / export extension. The extension scanner will find some of the usages.
-
-
-Migration
-=========
-
-No migration possible.
-
-.. index:: Backend, PHP-API, PartiallyScanned, ext:impexp
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85970-FileContentObject.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85970-FileContentObject.rst
deleted file mode 100644 (file)
index 07bfaaa..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-.. include:: ../../Includes.txt
-
-=========================================
-Deprecation: #85970 - FILE content object
-=========================================
-
-See :issue:`85970`
-
-Description
-===========
-
-The cObject FILE is mixing concerns (rendering an image, or dumping file contents), and
-rather became low-level since Fluid's rise in rendering Frontend.
-
-FILE shows an image if the file is jpg,jpeg,gif,png (but not SVG), and if has a
-different file ending, it will check if the file is less than 1MB, it will get its contents
-and output that. If the file is 1 byte bigger, nothing is done.
-Fluid offers more flexibility nowadays.
-
-Thus, cObject FILE will be removed in TYPO3 v10.
-
-
-Impact
-======
-
-Instances using the TypoScript cObject :typoscript:`FILE` will find PHP :php:`E_USER_DEPRECATED` errors for each usage.
-
-
-Affected Installations
-======================
-
-Instances using the TypoScript cObject :typoscript:`FILE`.
-
-
-Migration
-=========
-
-Use :typoscript:`IMAGE` to show images instead.
-
-For realising :typoscript:`TEMPLATE`, migrate to using :typoscript:`FLUIDTEMPLATE`. It comes with all
-the benefits Fluid offers.
-
-However due to the flexibility of custom cObject, an extension author could just re-implement
-the functionality in a custom extension within minutes.
-See this example for ext:frontend where the registration resides in :file:`ext_localconf.php`.
-
-.. codeblock:: php
-
-   $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'] = array_merge(
-      $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'],
-      [
-         'FILE' => \TYPO3\CMS\Frontend\ContentObject\FileContentObject::class,
-      ],
-   );
-
-
-.. index:: TypoScript, NotScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85980-DeprecateInternalAnnotationInExtbaseCommands.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85980-DeprecateInternalAnnotationInExtbaseCommands.rst
deleted file mode 100644 (file)
index 873370c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-.. include:: ../../Includes.txt
-
-========================================================================
-Deprecation: #85980 - Deprecate @internal annotation in extbase commands
-========================================================================
-
-See :issue:`85980`
-
-Description
-===========
-
-The :php:`@internal` annotation is deprecated without any replacement.
-
-This is a regular phpDocumentor annotation that is used to denote that associated structural
-elements are elements internal to the application or library. It has been misused by Extbase to tell
-if a command is internal and thus should not be exposed through help texts, user documentation etc.
-
-TYPO3 does no longer support the use of the :php:`@internal` annotation to influence the behaviour
-of the code.
-
-Impact
-======
-
-Using :php:`@internal` on methods of classes extending
-:php:`TYPO3\CMS\Extbase\Mvc\Controller\CommandController` will log a deprecation warning.
-
-
-Affected Installations
-======================
-
-All installations that make use of Extbase commands whose methods are tagged with :php:`@internal`.
-
-
-Migration
-=========
-
-There is none.
-
-.. index:: NotScanned, ext:extbase
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85981-AnnotationFlushesCaches.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85981-AnnotationFlushesCaches.rst
deleted file mode 100644 (file)
index 6e0d85f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-
-.. include:: ../../Includes.txt
-
-===============================================
-Deprecation: #83094 - Annotation @flushesCaches
-===============================================
-
-See :issue:`85981`
-
-Description
-===========
-
-The `@flushesCaches` annotation has been marked as deprecated and will be removed with TYPO3 v10.
-The annotation was introduced during backport from FLOW and never implemented to actually do anything
-useful. It will be removed without substitution.
-
-With it, the method :php:`TYPO3\CMS\Extbase\Mvc\Cli\Command->isFlushingCaches()` has been marked as deprecated
-and will also be removed in TYPO3 v10.
-
-
-Impact
-======
-
-Usage of Annotation `@flushesCaches` and method :php:`TYPO3\CMS\Extbase\Mvc\Cli\Command->isFlushingCaches()`
-will trigger a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-All extensions that use `@flushesCaches` or call the method :php:`TYPO3\CMS\Extbase\Mvc\Cli\Command->isFlushingCaches()`.
-
-
-Migration
-=========
-
-Just remove annotation and method call. They did not do anything before.
-
-.. index:: PHP-API, ext:extbase, FullyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86047-TSFEPropertiesMethodsAndChangeVisibility.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86047-TSFEPropertiesMethodsAndChangeVisibility.rst
deleted file mode 100644 (file)
index 26f2228..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-.. include:: ../../Includes.txt
-
-=====================================================================
-Deprecation: #86047 - TSFE properties / methods and change visibility
-=====================================================================
-
-See :issue:`86047`
-
-Description
-===========
-
-The following properties have changed their visibility to be protected from public.
-
-* :php:`TypoScriptFrontendController->pageAccessFailureHistory`
-* :php:`TypoScriptFrontendController->workspacePreview` (not in use anymore)
-* :php:`TypoScriptFrontendController->ADMCMD_preview_BEUSER_uid` (not in use anymore)
-* :php:`TypoScriptFrontendController->debug` (not in use anymore)
-* :php:`TypoScriptFrontendController->MP_defaults` (not in use anymore outside of TSFE)
-* :php:`TypoScriptFrontendController->loginAllowedInBranch` (use checkIfLoginAllowedInBranch())
-
-The following methods have changed their signature to be protected, as their purpose is to be called from
-within :php:`TypoScriptFrontendController`.
-
-* :php:`TypoScriptFrontendController->tempPageCacheContent()`
-* :php:`TypoScriptFrontendController->realPageCacheContent()`
-* :php:`TypoScriptFrontendController->setPageCacheContent()`
-* :php:`TypoScriptFrontendController->clearPageCacheContent_pidList()`
-* :php:`TypoScriptFrontendController->setSysLastChanged()`
-* :php:`TypoScriptFrontendController->contentStrReplace()`
-
-
-Impact
-======
-
-Calling any of the PHP methods will trigger a deprecation warning, as well as setting any of the
-previously public properties.
-
-
-Affected Installations
-======================
-
-Any TYPO3 installation with extensions directly calling one of the methods or using one of the
-public properties.
-
-
-Migration
-=========
-
-For :php:`TypoScriptFrontendController->ADMCMD_preview_BEUSER_uid` use the backend.user aspect of the Context API.
-For :php:`TypoScriptFrontendController->workspacePreview` use the workspace aspect of the Context API.
-For :php:`TypoScriptFrontendController->loginAllowedInBranch` use the method :php:`checkIfLoginAllowedInBranch()` instead.
-
-.. index:: Frontend, FullyScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86068-DeprecateOldConditionSyntax.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86068-DeprecateOldConditionSyntax.rst
deleted file mode 100644 (file)
index 028c1c0..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-.. include:: ../../Includes.txt
-
-====================================================
-Deprecation: #86068 - Deprecate old condition syntax
-====================================================
-
-See :issue:`86068`
-
-Description
-===========
-
-The Symfony expression language is available for TypoScript since :issue:`85829` has been merged.
-Following that the classic TypoScript condition syntax has been deprecated.
-
-For detailed information about the new expression language see `#85829 <Feature-85829-ImplementSymfonyExpressionLanguageForTypoScriptConditions.rst>`_
-
-
-Impact
-======
-
-Using the old condition syntax will trigger a deprecation message.
-
-Also the combination of multiple condition blocks with ``AND``, ``OR``, ``&&`` and ``||`` has been
-deprecated and will trigger a deprecation message.
-
-To prevent deprecation messages use the new expression language for conditions. If this is not
-possible, the feature flag ``TypoScript.strictSyntax`` can be disabled.
-
-
-Affected Installations
-======================
-
-TYPO3 installations with extensions which define conditions using the old syntax or setups which
-make use of the old conditions.
-
-
-Migration
-=========
-
-The old conditions can be replaced with the new expression language.
-
-.. index:: Backend, Frontend, TSConfig, TypoScript, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86110-FrontendEditingController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86110-FrontendEditingController.rst
deleted file mode 100644 (file)
index a8f8838..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-.. include:: ../../Includes.txt
-
-===============================================
-Deprecation: #86110 - FrontendEditingController
-===============================================
-
-See :issue:`86110`
-
-Description
-===========
-
-The class :php:`\TYPO3\CMS\Core\FrontendEditing\FrontendEditingController` is not in use anymore, only feedit instantiates the class for legacy reasons.
-
-Also, property :php:`FrontendBackendUserAuthentication->frontendEdit` which holds an instance of
-it, has been marked as deprecated.
-
-
-Impact
-======
-
-The functionality of this class has been moved into ext:feedit.
-If an instance needs access to frontend editing, it can be accessed from there.
-
-
-Affected Installations
-======================
-
-Instances accessing the deprecated class or function will **NOT** trigger a PHP :php:`E_USER_DEPRECATED` error,
-
-
-Migration
-=========
-
-Refer to ext:feedit for inspiration.
-
-.. index:: PHP-API, FullyScanned, ext:feedit
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86163-TCATypeuserWithoutRenderType.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86163-TCATypeuserWithoutRenderType.rst
deleted file mode 100644 (file)
index 191d2b1..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-.. include:: ../../Includes.txt
-
-========================================================
-Deprecation: #86163 - TCA type="user" without renderType
-========================================================
-
-See :issue:`86163`
-
-Description
-===========
-
-The following `TCA` properties on :php:`type="user"` config types have been deprecated and
-should not be used any longer:
-
-* :php:`userFunc`
-* :php:`parameters`
-* :php:`noTableWrapping`
-
-
-Impact
-======
-
-This especially means that :php:`userFunc` should not be used any longer on `TCA` fields
-registered as config type :php:`user`. Those can be substituted with a custom :php:`renderType`
-since TYPO3 v7. See example below for more details on this.
-
-
-Affected Installations
-======================
-
-Instances are affected if an extension registers a :php:`type=user` `TCA` config type with a
-custom :php:`userFunc`. If a field uses the :php:`userFunc` property, a PHP :php:`E_USER_DEPRECATED`
-error is triggered during rendering.
-
-
-Migration
-=========
-
-:php:`userFunc` implementations can switched to use a custom :php:`renderType` as outlined
-in the :ref:`FormEngine documentation <t3coreapi:FormEngine-Rendering-NodeFactory>`. The TYPO3 core
-did that for example with the `is_public` field of table `sys_file_storge` in patch 58141_.
-
-To switch from a :php:`userFunc` implementation to a :php:`renderType`, an extension typically has
-to register an own element node in :file:`ext_localconf.php`. Then change the user function to a class
-that extends :php:`AbstractFormElement` where method :php:`render()` returns an array as defined
-my helper method :php:`initializeResultArray`. The `HTML` created by the former user function should be
-returned in :php:`$resultArray['html']`, parameters like the `tableName` can be found in :php:`$this->data`.
-
-Note the `renderType` variant can additionally load custom `JavaScript` and `CSS` using further parts of the
-result array, typically :php:`requireJsModules` and :php:`stylesheetFiles`. Additional arguments to the element
-can be defined by using any property within the `config` section, it is up to the specific `renderType` to
-do this, using `parameters` as property key is probably a good idea, though.
-
-As example, imagine a `TCA` user element has been defined like this in the `columns` section::
-
-    'myMapElement' = [
-        'label' => 'My map element'
-        'config' => [
-            'type' => 'user',
-            'userFunc' => 'Vendor\Extension\Tca\UserFunc\MyMap->render',
-            'parameters' => [
-                'useOpenStreetMap' => true,
-            ],
-        ],
-    ],
-
-This should be adapted to a registered node element class::
-
-    // Register a node in ext_localconf.php
-    $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeRegistry'][<unix timestamp of "now">] = [
-        'nodeName' => 'lollisCustomMapElement',
-        'priority' => 40,
-        'class' => \Vendor\Extension\Form\Element\LollisCustomMapElement::class,
-    ];
-
-With a `TCA` registration like this to delegate the element rendering to the registered class::
-
-    'myMapElement' = [
-        'label' => 'My map element'
-        'config' => [
-            'type' => 'user',
-            'renderType' => 'lollisCustomMapElement',
-            'parameters' => [
-                'useOpenStreetMap' => true,
-            ],
-        ],
-    ],
-
-And a class implementation that extends :php:`AbstractFormElement`::
-
-    <?php
-    declare(strict_types = 1);
-    namespace Vendor\Extension\Form\Element;
-
-    use TYPO3\CMS\Backend\Form\Element\AbstractFormElement;
-
-    class LollisCustomMapElement extends AbstractFormElement
-    {
-        public function render()
-        {
-            // Custom TCA properties and other data can be found in $this->data, for example the above
-            // parameters are available in $this->data['parameterArray']['fieldConf']['config']['parameters']
-            $result = $this->initializeResultArray();
-            $result['html'] = 'my map content';
-            return $result;
-        }
-    }
-
-.. _58141: https://review.typo3.org/#/c/58141/
-
-.. index:: Backend, TCA, NotScanned
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86178-ClassElementBrowserFramesetController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86178-ClassElementBrowserFramesetController.rst
deleted file mode 100644 (file)
index b2f09d4..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-.. include:: ../../Includes.txt
-
-============================================================
-Deprecation: #86178 - Class ElementBrowserFramesetController
-============================================================
-
-See :issue:`86178`
-
-Description
-===========
-
-Class :php:`TYPO3\CMS\Recordlist\Controller\ElementBrowserFramesetController`, the route
-target of :php:`browser` has been deprecated and should not be used any longer.
-
-
-Impact
-======
-
-If calling that controller class a PHP :php:`E_USER_DEPRECATED` error is triggered.
-
-
-Affected Installations
-======================
-
-This route target is unused in core for a while already. Extensions are only affected
-if they call the Backend route target :php:`browser` that renders the element browser
-in a frameset.
-
-
-Migration
-=========
-
-Use the modal based element browser with the route :php:`wizard_element_browser` instead.
-
-.. index:: Backend, PHP-API, NotScanned, ext:recordlist
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86179-ProtectedRenderMethodInBackendController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86179-ProtectedRenderMethodInBackendController.rst
deleted file mode 100644 (file)
index f5a9aa2..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-.. include:: ../../Includes.txt
-
-====================================================================
-Deprecation: #86179 - Protected render() method in BackendController
-====================================================================
-
-See :issue:`86179`
-
-Description
-===========
-
-Method :php:`TYPO3\CMS\Backend\Controller\BackendController->render()` has been set from
-public to protected and should not be called any longer.
-
-
-Impact
-======
-
-Calling the method from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-This internal method is usually not called by extensions directly. Since the method name
-is so generic, the extension scanner is not configured to search for usages, it would
-trigger far too many false positives.
-
-
-Migration
-=========
-
-Use route target :php:`main` instead that calls method :php:`mainAction` and returns a
-proper PSR-7 Response object.
-
-.. index:: Backend, PHP-API, NotScanned
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86180-ProtectedMethodsInSetupModuleController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86180-ProtectedMethodsInSetupModuleController.rst
deleted file mode 100644 (file)
index c563f77..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-.. include:: ../../Includes.txt
-
-================================================================
-Deprecation: #86180 - Protected methods in SetupModuleController
-================================================================
-
-See :issue:`86180`
-
-Description
-===========
-
-The following methods of class :php:`TYPO3\CMS\Setup\Controller\SetupModuleController`
-changed their visibility from public to protected and should not be called any longer:
-
-* [not scanned] :php:`main()`
-* [not scanned] :php:`init()`
-* :php:`storeIncomingData()`
-
-
-Impact
-======
-
-Calling one of the above methods from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-These methods are usually called internally only, extensions should not be affected by this.
-
-
-Migration
-=========
-
-Use the entry method :php:`mainAction()` that returns a PSR-7 response object.
-
-.. index:: Backend, PHP-API, PartiallyScanned, ext:setup
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86182-ProtectedTaskModuleController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86182-ProtectedTaskModuleController.rst
deleted file mode 100644 (file)
index 782d23d..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-.. include:: ../../Includes.txt
-
-====================================================
-Deprecation: #86182 - Protected TaskModuleController
-====================================================
-
-See :issue:`86182`
-
-Description
-===========
-
-Class :php:`TYPO3\CMS\Taskcenter\Controller\TaskModuleController` no longer inherits
-:php:`TYPO3\CMS\Backend\Module\BaseScriptClass`.
-
-Single task classes should no longer expect to have an instance of the :php:`TaskModuleController`
-set as :php:`$GLOBALS['SOBE']`.
-
-The following properties of class :php:`TYPO3\CMS\Taskcenter\Controller\TaskModuleController`
-changed their visibility from public to protected and should not be called any longer:
-
-* [not scanned] :php:`MCONF`
-* [not scanned] :php:`id`
-* [not scanned] :php:`MOD_MENU`
-* [not scanned] :php:`modMenu_type`
-* [not scanned] :php:`modMenu_setDefaultList`
-* [not scanned] :php:`modMenu_dontValidateList`
-* [not scanned] :php:`content`
-* [not scanned] :php:`perms_clause`
-* [not scanned] :php:`CMD`
-* [not scanned] :php:`extClassConf`
-* [not scanned] :php:`extObj`
-
-The following properties of class :php:`TYPO3\CMS\Taskcenter\Controller\TaskModuleController`
-changed their visibility from public to protected and should not be called any longer:
-
-* [not scanned] :php:`menuConfig`
-* [not scanned] :php:`mergeExternalItems`
-* [not scanned] :php:`handleExternalFunctionValue`
-* [not scanned] :php:`getExternalItemConfig`
-* [not scanned] :php:`main`
-* :php:`urlInIframe`
-* [not scanned] :php:`extObjHeader`
-* [not scanned] :php:`checkSubExtObj`
-* [not scanned] :php:`checkExtObj`
-* [not scanned] :php:`extObjContent`
-* [not scanned] :php:`getExtObjContent`
-
-Impact
-======
-
-Calling one of the above methods from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-Most methods and properties are used internally in the :php:`TaskModuleController` only. Some
-tasks however make access them. Instances with extensions delivering additional tasks for the
-taskcenter may be affected.
-
-
-Migration
-=========
-
-Single task should no longer rely on having an instance of :php:`TaskModuleController` set as
-:php:`$GLOBALS['SOBE'], an instance of the object in given as first constructor argument.
-
-Properties and methods that have been set to protected should be calculated internally instead.
-
-
-.. index:: Backend, PHP-API, PartiallyScanned, ext:taskcenter
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86184-ProtectedMethodsInReportController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86184-ProtectedMethodsInReportController.rst
deleted file mode 100644 (file)
index e7acbcc..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-.. include:: ../../Includes.txt
-
-===========================================================
-Deprecation: #86184 - Protected methods in ReportController
-===========================================================
-
-See :issue:`86184`
-
-Description
-===========
-
-The following methods of class :php:`TYPO3\CMS\Reports\Controller\ReportController`
-changed their visibility from public to protected and should not be called any longer:
-
-* :php:`indexAction()`
-* :php:`detailAction()`
-
-Impact
-======
-
-Calling one of the above methods from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-Both methods are called internally only. Extensions extending the reports module
-using the normal reports API are not affected by this.
-
-
-Migration
-=========
-
-No migration possible.
-
-.. index:: Backend, PHP-API, NotScanned, ext:reports
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86192-ProtectedMethodsInElementBrowserController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86192-ProtectedMethodsInElementBrowserController.rst
deleted file mode 100644 (file)
index 8aaecab..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-.. include:: ../../Includes.txt
-
-===================================================================
-Deprecation: #86192 - Protected methods in ElementBrowserController
-===================================================================
-
-See :issue:`86192`
-
-Description
-===========
-
-The following methods of class :php:`TYPO3\CMS\Recordlist\Controller\ElementBrowserController`
-changed their visibility from public to protected and should not be called any longer:
-
-* :php:`main()`
-
-
-Impact
-======
-
-Calling the above method from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-The method is called internally only. Extensions are usually not affected by this.
-
-
-Migration
-=========
-
-Use the entry method :php:`mainAction()` that returns a PSR-7 response object.
-
-.. index:: Backend, PHP-API, NotScanned, ext:recordlist
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86193-ProtectMethodsInAbstractLinkBrowserController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86193-ProtectMethodsInAbstractLinkBrowserController.rst
deleted file mode 100644 (file)
index 4b67a3f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-.. include:: ../../Includes.txt
-
-======================================================================
-Deprecation: #86193 - Protect methods in AbstractLinkBrowserController
-======================================================================
-
-See :issue:`86193`
-
-Description
-===========
-
-The following methods changed their visibility from public to protected and
-should not be called any longer:
-
-* :php:`TYPO3\CMS\Recordlist\Controller\AbstractLinkBrowserController->renderLinkAttributeFields()`
-* :php:`TYPO3\CMS\Recordlist\Controller\AbstractLinkBrowserController->getDisplayedLinkHandlerId()`
-* :php:`TYPO3\CMS\RteCKEditor\Controller\BrowseLinksController->renderLinkAttributeFields()`
-* :php:`TYPO3\CMS\RteCKEditor\Controller\BrowseLinksController->getPageConfigLabel()`
-* :php:`TYPO3\CMS\RteCKEditor\Controller\BrowseLinksController->getDisplayedLinkHandlerId()`
-
-
-Impact
-======
-
-Calling one of the above methods from an external object triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-These link browser specific methods are usually not used by extensions externally. The extension
-scanner will reveal possible usages.
-
-
-Migration
-=========
-
-No migration possible.
-
-.. index:: Backend, PHP-API, FullyScanned, ext:reports
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86197-ProtectedFileListController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86197-ProtectedFileListController.rst
deleted file mode 100644 (file)
index d181d8a..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-.. include:: ../../Includes.txt
-
-==================================================
-Deprecation: #86197 - Protected FileListController
-==================================================
-
-See :issue:`86197`
-
-Description
-===========
-
-The following properties changed their visibility from public to protected and should not be called any longer:
-
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->MOD_MENU`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->MOD_SETTINGS`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->doc`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->id`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->pointer`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->table`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->imagemode`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->cmd`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->filelist`
-
-The following methods changed their visibility from public to protected and should not be called any longer:
-
-* :php:`TYPO3\CMS\Beuser\Controller\BackendUserController->initializeView()`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->menuConfig()`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->initializeView()`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->initializeIndexAction()`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->indexAction()`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->missingFolderAction()`
-* :php:`TYPO3\CMS\Filelist\Controller\FileListController->searchAction()`
-
-Additionally, first constructor argument :php:`$fileListController` of class
-:php:`TYPO3\CMS\Filelist\FileList` is now optional, class property :php:`$fileListController`
-should not be used any longer in hooks of that class.
-
-
-Impact
-======
-
-Calling one of the above properties or methods from a third party object triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-Controllers of the core are usually not called by extensions directly, but only through core routing and
-dispatching mechanisms. Extensions are unlikely to be affected by this change.
-
-
-Migration
-=========
-
-No migration possible.
-
-.. index:: Backend, PHP-API, NotScanned, ext:filelist
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86198-ProtectedRecordListController.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86198-ProtectedRecordListController.rst
deleted file mode 100644 (file)
index 83f3baf..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-.. include:: ../../Includes.txt
-
-====================================================
-Deprecation: #86198 - Protected RecordListController
-====================================================
-
-See :issue:`86198`
-
-Description
-===========
-
-The following properties changed their visibility from public to protected and should not be called any longer:
-
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->id`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->pointer`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->table`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->search_field`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->search_levels`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->showLimit`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->returnUrl`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->clear_cache`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->cmd`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->cmd_table`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->perms_clause`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->pageinfo`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->MOD_MENU`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->content`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->body`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->imagemode`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->doc`
-
-The following methods changed their visibility from public to protected and should not be called any longer:
-
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->init()`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->menuConfig()`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->clearCache()`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->main()`
-* :php:`TYPO3\CMS\Recordlist\Controller\RecordListController->getModuleTemplate()`
-
-Additionally, the two hooks :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawHeaderHook']`
-and :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawFooterHook']` changed their signature:
-The second argument, an instance of the parent object :php:`RecordListController` will be dropped in v10, instead, an instance of the PSR-7
-:php:`ServerRequestInterface` is provided as array key :php:`request` of the first argument.
-
-Furthermore, the assignment of an object instance of class :php:`RecordListController` as
-:php:`GLOBALS['SOBE']` has been deprecated and will not be set anymore in TYPO3 v10.
-
-
-Impact
-======
-
-Calling one of the above methods or accessing above properties triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-Instances are usually only affected if an extension registers a hook for
-:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawHeaderHook']` or
-:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawFooterHook']`. They will
-work as before in v9, but using a property or calling a method of the provided parent object triggers a PHP :php:`E_USER_DEPRECATED` error.
-
-
-Migration
-=========
-
-Hooks registered should change their parent object usage and signature. An example can be found in the `sys_notes` extension
-in class :php:`TYPO3\CMS\SysNote\Hook\RecordListHook`
-
-Code before::
-
-    /**
-     * Add sys_notes as additional content to the header of the list module
-     *
-     * @param array $params
-     * @param RecordListController $parentObject
-     * @return string
-     */
-    public function renderInHeader(array $params = [], RecordListController $parentObject)
-    {
-        $controller = GeneralUtility::makeInstance(NoteController::class);
-        return $controller->listAction($parentObject->id, SysNoteRepository::SYS_NOTE_POSITION_TOP);
-    }
-
-Adapted hook usage::
-
-    /**
-     * Add sys_notes as additional content to the header of the list module
-     *
-     * @param array $params
-     * @return string
-     */
-    public function renderInHeader(array $params): string
-    {
-        /** @var ServerRequestInterface $request */
-        $request = $params['request'];
-        $id = (int)($request->getParsedBody()['id'] ?? $request->getQueryParams()['id'] ?? 0);
-        $controller = GeneralUtility::makeInstance(NoteController::class);
-        return $controller->listAction($id, SysNoteRepository::SYS_NOTE_POSITION_TOP);
-    }
-
-
-.. index:: Backend, PHP-API, NotScanned, ext:recordlist
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86207-ProtectedTstemplateExtension.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86207-ProtectedTstemplateExtension.rst
deleted file mode 100644 (file)
index 2377fc2..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-.. include:: ../../Includes.txt
-
-====================================================
-Deprecation: #86207 - Protected tstemplate extension
-====================================================
-
-See :issue:`86207`
-
-Description
-===========
-
-To allow refactoring of the Web -> Template module in TYPO3 v10, the involved controller classes
-have been disentangled and better encapsulated:
-
-* Class :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\BaseScriptClass` anymore
-* Class :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
-* Class :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
-* Class :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
-* Class :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
-
-Setting an instance of class :php:`TypoScriptTemplateModuleController` as global object :php:`$GLOBALS['SOBE']`
-has been deprecated and will be removed in TYPO3 v10.
-
-The following class properties have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
-
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->textExtensions`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->pageinfo`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->id`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->modTSconfig`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->content`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->extObj`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->access`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->perms_clause`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->extClassConf`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->edit`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->modMenu_type`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->MCONF`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->CMD`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->sObj`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->pObj`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->function_key`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->extClassConf`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->localLangFile`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->pObj`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->function_key`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->extClassConf`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->localLangFile`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->pObj`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->function_key`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->extClassConf`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->localLangFile`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->tce_processed`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->pObj`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->function_key`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->extClassConf`
-* :php:`TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->localLangFile`
-
-The following class methods have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
-
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->getExternalItemConfig()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->init()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->clearCache()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->main()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->setInPageArray()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->menuConfig()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->mergeExternalItems()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->handleExternalFunctionValue()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->checkExtObj()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->extObjContent()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->getExtObjContent()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->checkSubExtObj()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->extObjHeader()`
-* :php:`TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllerinitialize_editor()`
-* :php:`TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllermodMenu()`
-* :php:`TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllerhandleExternalFunctionValue()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateConstantEditorModuleFunctionControllerinitialize_editor()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateConstantEditorModuleFunctionControllerhandleExternalFunctionValue()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllerinitialize_editor()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllertableRowData()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllerhandleExternalFunctionValue()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllerinitialize_editor()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllermodMenu()`
-* :php:`TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllerhandleExternalFunctionValue()`
-
-
-Impact
-======
-
-If an extension accesses one of the above protected properties or calls one of the above protected methods,
-a :php:`E_USER_DEPRECATED` error will be triggered.
-
-
-Affected Installations
-======================
-
-There are not many extensions that extend the `tstemplate` extension with own modules, it is relatively
-unlikely that instances are affected by this.
-
-
-Migration
-=========
-
-If extending the `tstemplate` module with an own extension, the extension should be adapted to not call
-the above methods or properties any longer. Most usages can be easily adapted, for instance
-to retrieve the current page id, use :php:`GeneralUtility::_GP('id')` instead of :php:`$this->pObj->id`.
-
-.. index:: Backend, PHP-API, NotScanned, ext:tstemplate
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86210-ProtectedInfoExtension.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86210-ProtectedInfoExtension.rst
deleted file mode 100644 (file)
index 62e222a..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-.. include:: ../../Includes.txt
-
-==============================================
-Deprecation: #86210 - Protected info extension
-==============================================
-
-See :issue:`86210`
-
-Description
-===========
-
-To allow refactoring of the Web -> Info module in TYPO3 v10, the involved controller classes
-have been disentangled and better encapsulated:
-
-* Class :php:`TYPO3\CMS\Info\Controller\InfoModuleController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\BaseScriptClass` anymore
-* Class :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport`
-  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
-* Class :php:`TYPO3\CMS\Info\Controller\PageInformationController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
-* Class :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
-* Class :php:`TYPO3\CMS\Info\Controller\TranslationStatusController`
-  does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
-
-Setting an instance of class :php:`InfoModuleController` as global object :php:`$GLOBALS['SOBE']`
-has been deprecated and will be removed in TYPO3 v10.
-
-The following class properties have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
-
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->perms_clause`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modTSconfig`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_setDefaultList`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_dontValidateList`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_type`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->extClassConf`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->extObj`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->content`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->pObj`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->id`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->CMD`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->doc`
-* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->MCONF`
-* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->pObj`
-* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->doc`
-* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->function_key`
-* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extClassConf`
-* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->localLangFile`
-* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extObj`
-* :php:`TYPO3\CMS\Info\Controller\PageInformationController->pObj`
-* :php:`TYPO3\CMS\Info\Controller\PageInformationController->function_key`
-* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extClassConf`
-* :php:`TYPO3\CMS\Info\Controller\PageInformationController->localLangFile`
-* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extObj`
-* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->pObj`
-* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->function_key`
-* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extClassConf`
-* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->localLangFile`
-* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extObj`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->pObj`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->function_key`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extClassConf`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->localLangFile`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extObj`
-
-The following class methods have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
-
-* :php:`TYPO3CMSInfoControllerInfoModuleController->main()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->init()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->getModuleTemplate()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->menuConfig()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->handleExternalFunctionValue()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->mergeExternalItems()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->getExternalItemConfig()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->extObjContent()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->getExtObjContent()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->checkExtObj()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->extObjHeader()`
-* :php:`TYPO3CMSInfoControllerInfoModuleController->checkSubExtObj()`
-* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extObjContent()`
-* :php:`TYPO3\CMS\Info\Controller\PageInformationController->modMenu()`
-* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extObjContent()`
-* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->modMenu()`
-* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extObjContent()`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->getContentElementCount()`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->getLangStatus()`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->renderL10nTable()`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->modMenu()`
-* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extObjContent()`
-
-
-Impact
-======
-
-If an extension accesses one of the above protected properties or calls one of the above protected methods,
-a :php:`E_USER_DEPRECATED` error will be triggered.
-
-
-Affected Installations
-======================
-
-Various extensions extend the Web -> Info module. Those typically call
-:php:`ExtensionManagementUtility::insertModuleFunction('web_info', ...)` in :file:`ext_tables.php` or
-:file:`ext_localconf.php`. Those instances may need adaptions.
-
-
-Migration
-=========
-
-If extending the `info` module with an own extension, the extension should be adapted to not call
-the above methods or properties any longer. Most usages can be easily adapted, for instance
-to retrieve the current page id, use :php:`GeneralUtility::_GP('id')` instead of :php:`$this->pObj->id`.
-
-.. index:: Backend, PHP-API, NotScanned, ext:info
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86225-ClassesBaseScriptClassAndAbstractFunctionModule.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86225-ClassesBaseScriptClassAndAbstractFunctionModule.rst
deleted file mode 100644 (file)
index 064c24a..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-.. include:: ../../Includes.txt
-
-========================================================================
-Deprecation: #86225 - Classes BaseScriptClass and AbstractFunctionModule
-========================================================================
-
-See :issue:`86225`
-
-Description
-===========
-
-The two classes :php:`TYPO3\CMS\Backend\Module\BaseScriptClass`, also known as
-:php:`t3lib_SCbase` and :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule`,
-also known as :php:`t3lib_extobjbase` have been deprecated and will be removed
-in TYPO3 v10.
-
-
-Impact
-======
-
-Using one of the classes will trigger a :php:`E_USER_DEPRECATED` error.
-
-
-Affected Installations
-======================
-
-The :php:`BaseScriptClass` has been commonly extended by extensions that add own
-backend modules and did not rely on extbase for that. There is nothing wrong
-with not using extbase, but most of the methods from :php:`BaseScriptClass`
-were unused by own extensions and hard to understand, too.
-
-Class :php:`AbstractFunctionModule` has been extended by some extensions that
-add own sub modules to the Page -> Info or the Page -> Template view.
-
-The extension scanner will find possible usages.
-
-Migration
-=========
-
-A migration is often relatively simple: Extensions that extend :php:`BaseScriptClass`
-should verify which methods and properties are actually used from the parent class. The
-most simple solution is to just copy those over to the own class and remove the
-inheritance. It is good practice to at least change their visibility from to :php:`public`
-to :php:`protected` at the same time if possible.
-
-Extensions that extend :php:`AbstractFunctionModule` should do the same. The main `info`
-and `tstemplate` controllers typically only call the methods :php:`init()` and :php:`main()`
-of those classes as entry points, those need to be kept public.
-
-
-.. index:: Backend, PHP-API, FullyScanned
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86270-ExtbaseXclassViaTypoScriptSettings.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86270-ExtbaseXclassViaTypoScriptSettings.rst
deleted file mode 100644 (file)
index 0e6258f..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-.. include:: ../../Includes.txt
-
-==============================================================================
-Deprecation: #86270 - config.tx_extbase.objects and plugin.tx_%plugin%.objects
-==============================================================================
-
-See :issue:`86270`
-
-Description
-===========
-
-The :ts:`config.tx_extbase.objects` and :ts:`plugin.tx_%plugin%.objects` configuration options have been marked as deprecated.
-
-
-Impact
-======
-
-Configuring class overrides using :ts:`config.tx_extbase.objects` or :ts:`plugin.tx_%plugin%.objects` will log a
-deprecation warning.
-
-
-Affected Installations
-======================
-
-All installations that make use of the TypoScript :ts:`config.tx_extbase.objects` or :ts:`plugin.tx_%plugin%.objects`
-configuration options are affected.
-
-
-Migration
-=========
-
-Use XCLASSes configured in :file:`ext_localconf.php` using
-:php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']`.
-
-Register implementations in the Extbase object container instead if you need to override classes
-that are processed by the :php:`PropertyMapper` like domain models or if you rely on additional
-injections:
-
-.. code-block:: php
-
-   GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class)
-       ->registerImplementation(Base::class, Override::class);
-
-If you conditionally configured :ts:`config.tx_extbase.objects` or
-:ts:`plugin.tx_%plugin%.objects`, then move that conditional logic into the
-overriding class itself.
-
-.. index:: TypoScript, NotScanned, ext:extbase
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86279-VariousHooksAndPSR-15Middlewares.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86279-VariousHooksAndPSR-15Middlewares.rst
deleted file mode 100644 (file)
index e98c587..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-.. include:: ../../Includes.txt
-
-==========================================================
-Deprecation: #86279 - Various Hooks and PSR-15 Middlewares
-==========================================================
-
-See :issue:`86279`
-
-Description
-===========
-
-The new PSR-15-based middleware concept allows for a more fine-grained "hooking" mechanism when enhancing the HTTP
-Request or Response object.
-
-The following hooks have therefore been marked as deprecated:
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['tslib_fe-PostProc']`
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['connectToDB']`
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['initFEuser']`
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['preBeUser']`
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['postBeUser']`
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['checkAlternativeIdMethods-PostProc']`
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['preprocessRequest']`
-
-On top, some middlewares have only been introduced in order to execute these hooks, or due to, and are marked for
-internal use:
-
-* typo3/cms-core/normalized-params-attribute
-* typo3/cms-backend/legacy-document-template
-* typo3/cms-backend/output-compression
-* typo3/cms-backend/response-headers
-* typo3/cms-frontend/timetracker
-* typo3/cms-frontend/preprocessing
-* typo3/cms-frontend/eid
-* typo3/cms-frontend/content-length-headers
-* typo3/cms-frontend/tsfe
-* typo3/cms-frontend/output-compression
-* typo3/cms-frontend/prepare-tsfe-rendering
-* typo3/cms-frontend/shortcut-and-mountpoint-redirect
-
-As these middlewares are marked as internal, it is recommended not to reference them directly, as these might get removed
-in TYPO3 v10.0.
-
-
-Impact
-======
-
-Making use of one of the hooks in an extension will trigger a deprecation warning.
-
-
-Affected Installations
-======================
-
-TYPO3 instances with extensions using one of the hooks.
-
-
-Migration
-=========
-
-Use a custom PSR-15 middleware instead.
-
-.. index:: PHP-API, FullyScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86288-FrontendBackendUserAuthenticationMethods.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86288-FrontendBackendUserAuthenticationMethods.rst
deleted file mode 100644 (file)
index da29ee1..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-.. include:: ../../Includes.txt
-
-===============================================================
-Deprecation: #86288 - FrontendBackendUserAuthentication methods
-===============================================================
-
-See :issue:`86288`
-
-Description
-===========
-
-Due to refactorings within AdminPanel, EXT:feedit and via PSR-15 middlewares, the extension class
-:php:`TYPO3\CMS\Backend\FrontendBackendUserAuthentication`, which is instantiated in Frontend
-Requests as :php:`$GLOBALS['BE_USER']` has some unused methods which are now deprecated:
-
-* :php:`checkBackendAccessSettingsFromInitPhp()`
-* :php:`extPageReadAccess()`
-* :php:`extGetTreeList()`
-* :php:`extGetLL()`
-
-
-Impact
-======
-
-Calling any of the methods above will trigger a deprecation warning.
-
-
-Affected Installations
-======================
-
-Any TYPO3 installation with custom PHP code accessing at least one of the methods above.
-
-
-Migration
-=========
-
-Use either methods from :php:`BackendUserAuthentication` directly, or - if in context of Admin Panel or
-Frontend Editing - use the API methods within these modules directly, if necessary.
-
-.. index:: FullyScanned
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86320-MarkInternalTSFEPropertiesAsProtected.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86320-MarkInternalTSFEPropertiesAsProtected.rst
deleted file mode 100644 (file)
index 8e989f8..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-.. include:: ../../Includes.txt
-
-=================================================================
-Deprecation: #86320 - Mark internal $TSFE properties as protected
-=================================================================
-
-See :issue:`86320`
-
-Description
-===========
-
-The following properties have changed their visibility to be protected from public. The properties are only used and needed internally.
-
-* :php:`TypoScriptFrontendController->loginAllowedInBranch_mode`
-* :php:`TypoScriptFrontendController->cacheTimeOutDefault`
-* :php:`TypoScriptFrontendController->cacheContentFlag`
-* :php:`TypoScriptFrontendController->cacheExpires`
-* :php:`TypoScriptFrontendController->isClientCachable`
-* :php:`TypoScriptFrontendController->no_cacheBeforePageGen`
-* :php:`TypoScriptFrontendController->tempContent`
-* :php:`TypoScriptFrontendController->pagesTSconfig`
-* :php:`TypoScriptFrontendController->uniqueCounter`
-* :php:`TypoScriptFrontendController->uniqueString`
-* :php:`TypoScriptFrontendController->lang`
-
-
-Impact
-======
-
-Calling any of the properties will trigger a deprecation warning.
-
-
-Affected Installations
-======================
-
-Any TYPO3 installation with extensions directly calling one of the methods or using one of the public properties.
-
-
-Migration
-=========
-
-Properties are only for internal use, no migration available.
-
-.. index:: Frontend, FullyScanned, ext:frontend
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86323-ConfigurationKeySiteHasBeenDeprecatedInYAMLSiteConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86323-ConfigurationKeySiteHasBeenDeprecatedInYAMLSiteConfiguration.rst
deleted file mode 100644 (file)
index 4278a0d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-.. include:: ../../Includes.txt
-
-=============================================================================================
-Deprecation: #86323 - Configuration key "site" has been deprecated in YAML site configuration
-=============================================================================================
-
-See :issue:`86323`
-
-Description
-===========
-
-The site configuration is in a folder called "sites" in a file called config and does not need a "site" key to identify its purpose. To keep writing the
-config as easy as possible the site configuration moved one level up and now resides directly in config.yaml.
-
-
-Impact
-======
-
-Having the site configuration below the key "site" has been deprecated and will trigger a deprecation warning.
-
-
-Affected Installations
-======================
-
-Installations with a site config that have a key "site" are affected.
-
-
-Migration
-=========
-
-Remove the "site" key and first level indentation either by directly editing the YAML file or by saving via the sites module.
-
-.. index:: Backend, NotScanned, ext:core
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86338-ChangeVisibilityOfPageRepository-init.rst
deleted file mode 100644 (file)
index 8b12a32..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-.. include:: ../../Includes.txt
-
-===============================================================
-Deprecation: #86338 - Change visibility of PageRepository->init
-===============================================================
-
-See :issue:`86338`
-
-Description
-===========
-
-The :php:`PageRepository::init()` method is now called implicitly within the constructor.
-
-
-Impact
-======
-
-Calling the method will trigger a deprecation warning.
-
-
-Affected Installations
-======================
-
-Any TYPO3 installation with extensions directly calling the :php:`PageRepository::init()` method.
-
-
-Migration
-=========
-
-Remove the call to the :php:`PageRepository::init()` function. The constructor is taking care of calling the method.
-
-.. index:: NotScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86353-DeprecateCacheManagerUsageInExt_localconfphp.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86353-DeprecateCacheManagerUsageInExt_localconfphp.rst
deleted file mode 100644 (file)
index febe39e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-.. include:: ../../Includes.txt
-
-=======================================================================
-Deprecation: #86353 - Deprecate CacheManager usage in ext_localconf.php
-=======================================================================
-
-See :issue:`86353`
-
-Description
-===========
-
-:php:`\TYPO3\CMS\Core\Cache\CacheManager->getCache()` usage during
-:file:`ext_localconf.php` loading phase has been deprecated.
-
-
-Impact
-======
-
-Using :php:`\TYPO3\CMS\Core\Cache\CacheManager->getCache()` in
-:file:`ext_localconf.php` will log a deprecation warning.
-
-
-Affected Installations
-======================
-
-All installations with third party extensions that use
-:php:`\TYPO3\CMS\Core\Cache\CacheManager->getCache()` in
-:file:`ext_localconf.php`.
-
-
-Migration
-=========
-
-Load caches on demand, when actually needed.
-
-.. index:: PHP-API, NotScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86366-MethodsInAbstractUpdate.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86366-MethodsInAbstractUpdate.rst
deleted file mode 100644 (file)
index 9fbd401..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-.. include:: ../../Includes.txt
-
-===============================================
-Deprecation: #86366 - Methods in AbstractUpdate
-===============================================
-
-See :issue:`86366`
-
-Description
-===========
-
-To ease the update pain a compatibility layer for AbstractUpdate based
-upgrade wizards will be implemented, that allows running "old" wizards
-on CLI (enabling extension authors to support both v8 and v9 with one
-wizard).
-
-The following methods have been marked as deprecated and will be removed with TYPO3 v10:
-
-* AbstractUpdate::getTitle()
-* AbstractUpdate::setTitle()
-* AbstractUpdate::getIdentifier()
-* AbstractUpdate::setIdentifier()
-* AbstractUpdate::getDescription()
-* AbstractUpdate::executeUpdate()
-* AbstractUpdate::updateNecessary()
-* AbstractUpdate::getPrerequisites()
-* AbstractUpdate::setOutput()
-* AbstractUpdate::shouldRenderWizard()
-* AbstractUpdate::checkIfTableExists()
-* AbstractUpdate::installExtensions()
-* AbstractUpdate::markWizardAsDone()
-* AbstractUpdate::isWizardDone()
-
-The class itself has also been marked as deprecated, construction will trigger a PHP :php:`E_USER_DEPRECATED` error.
-
-Impact
-======
-
-Calling the mentioned methods through an extended class will trigger a PHP :php:`E_USER_DEPRECATED` error.
-
-All UpdateWizards extending AbstractUpdate gained cli capability since :issue:`86076`.
-
-Affected Installations
-======================
-
-Each instance with custom update wizards that extend AbstractUpdate.
-
-Migration
-=========
-
-Use the interfaces instead the abstract class to define the capabilities of the Upgrade Wizard class.
-See https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.4/Feature-86076-NewAPIForUpgradeWizards.html.
-
-.. index:: Backend, CLI, PHP-API, FullyScanned, ext:install
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86389-GeneralUtility_GETsetAndTSFE-mergingWithGetVars.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86389-GeneralUtility_GETsetAndTSFE-mergingWithGetVars.rst
deleted file mode 100644 (file)
index 6e878cd..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-.. include:: ../../Includes.txt
-
-==============================================================================
-Deprecation: #86389 - GeneralUtility::_GETset() and TSFE->mergingWithGetVars()
-==============================================================================
-
-See :issue:`86389`
-
-Description
-===========
-
-Two methods related to setting global $_GET parameter have been deprecated:
-
-* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::_GETset()`
-* :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->mergingWithGetVars()`
-
-The two methods are wrappers to set the `$_GET` properties, however, this concept has been superseded
-by using the PSR-7 request object within PSR-15 middlewares to replace the variables.
-
-
-Impact
-======
-
-Calling any of the two methods within PHP will trigger a deprecation message.
-
-
-Affected Installations
-======================
-
-Any installation making use of these methods within a TYPO3 extension, e.g. RealURL.
-
-
-Migration
-=========
-
-Implement a custom PSR-15 middleware to update the PSR-7 request object, and to manually set `$_GET` on top,
-as long as TYPO3 still supports `GeneralUtility::_GP()`, although these methods will vanish in the near future.
-
-Relying on the request object, and using PSR-15 middlewares to manipulate request parameters is more future-proof
-for extensions and TYPO3 sites.
-
-.. index:: Frontend, PHP-API, FullyScanned
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86404-DeprecateGLOBALSTYPO3_LOADED_EXT.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86404-DeprecateGLOBALSTYPO3_LOADED_EXT.rst
deleted file mode 100644 (file)
index 2e1c6a9..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-.. include:: ../../Includes.txt
-
-============================================================
-Deprecation: #86404 - Deprecate $GLOBALS['TYPO3_LOADED_EXT']
-============================================================
-
-See :issue:`86404`
-
-Description
-===========
-
-The global :php:`$GLOBALS['TYPO3_LOADED_EXT']` has been deprecated in favor
-of the :php:`PackageManager` API.
-
-
-Impact
-======
-
-Accessing :php:`$GLOBALS['TYPO3_LOADED_EXT']` is discouraged.
-
-
-Affected Installations
-======================
-
-Instances with extensions using :php:`$GLOBALS['TYPO3_LOADED_EXT']`.
-
-
-Migration
-=========
-
-Use the :php:`getActivePackages()` method of
-:php:`\TYPO3\CMS\Core\Package\PackageManager` to get a list of active
-packages.
-
-.. index:: PHP-API, FullyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86406-TCATypeGroupInternal_typeFileAndFile_reference.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86406-TCATypeGroupInternal_typeFileAndFile_reference.rst
deleted file mode 100644 (file)
index 1d9ea92..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-.. include:: ../../Includes.txt
-
-==========================================================================
-Deprecation: #86406 - TCA type group internal_type file and file_reference
-==========================================================================
-
-See :issue:`86406`
-
-Description
-===========
-
-The :php`TCA` property values :php:`internal_type="file"` and :php:`internal_type="file_reference"`
-for columns config :php:`type="group"` have been marked as deprecated.
-
-A series of related methods have been marked as deprecated:
-
-* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->checkValue_group_select_file()
-* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->copyRecord_procFilesRefs()
-* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->extFileFields()
-* :php:`TYPO3\CMS\Core\DataHandling\DataHandler->extFileFunctions()
-* :php:`TYPO3\CMS\Core\Database\ReferenceIndex->getRelations_procFiles()
-* :php:`TYPO3\CMS\Core\Integrity\DatabaseIntegrityCheck->getFileFields()
-
-Some constants have bee marked as deprecated:
-
-* :php:`TYPO3\CMS\Core\DataHandling\TableColumnSubType::FILE`
-* :php:`TYPO3\CMS\Core\DataHandling\TableColumnSubType::FILE_REFERENCE`
-
-The "internal_type" functionality has been superseded by the File Abstraction Layer (FAL) since TYPO3 6.0
-and has several drawbacks within TYPO3 (e.g. multiple copies of files based on a file name, no flexibility
-for moving data to a different storage, no metadata functionality, no cropping functionality).
-
-Impact
-======
-
-The Backend module "Upgrade" > "Check TCA migrations" shows them as deprecated, and triggers a
-:php:`E_USER_DEPRECATED` error.
-
-Using the TCA property values mentioned above will also trigger a deprecation message when the cache is cleared.
-
-
-Affected Installations
-======================
-
-Installations still using the methods or constants, or TYPO3 installations with extensions registering custom
-TCA fields with the mentioned TCA properties.
-
-Migration
-=========
-
-It is rather unlikely instances use one of the above methods or constants. The extension scanner will find possible
-usages, though.
-
-It's more likely that extensions use :php:`type=group` with :php:`internal_type=file` or
-:php:`internal_type=file_reference`. Those should switch to use FAL references based on
-:php:`type=inline` instead.
-
-The core code changed one last :php:`internal_type=file` usage in TYPO3 v9 and moved it to FAL. Several use-cases
-within the last TYPO3 major versions have shown how to migrate a legacy file field to FAL (e.g. "fe_users.image"
-or "tt_content.image" including automatic upgrade wizards for the database - an example of the last migration can be
-found online_. These previous changes give some insight on how a file relation could be changed to FAL and comes
-with an upgrade wizard that can be a helpful example if existing extension data needs to be migrated.
-
-.. _online: https://review.typo3.org/#/c/54830/
-
-.. index:: Backend, PHP-API, TCA, PartiallyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86411-TSFE-makeCacheHash.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86411-TSFE-makeCacheHash.rst
deleted file mode 100644 (file)
index 7b63fb1..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-.. include:: ../../Includes.txt
-
-===========================================
-Deprecation: #86411 - TSFE->makeCacheHash()
-===========================================
-
-See :issue:`86411`
-
-Description
-===========
-
-The method :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->makeCacheHash()`
-which acts for validating the `&cHash` GET parameter against other given GET parameters
-has been marked as deprecated, as this functionality has been moved into a PSR-15 middleware.
-
-
-Impact
-======
-
-Calling the method directly will trigger a deprecation message.
-
-
-Affected Installations
-======================
-
-TYPO3 installations with extensions calling the PHP method directly.
-
-
-Migration
-=========
-
-Ensure to use the PSR-15 middleware stack with the PageParameterValidator in use to verify a
-given cHash signature against given query parameters.
-
-.. index:: Frontend, FullyScanned
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-20051-SupportTheCanonicalTag.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-20051-SupportTheCanonicalTag.rst
deleted file mode 100644 (file)
index dba7d0c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-.. include:: ../../Includes.txt
-
-=============================================
-Feature: #20051 - Support the "canonical" tag
-=============================================
-
-See :issue:`20051`
-
-Description
-===========
-
-TYPO3 will finally provide built-in support for the :html:`<link rel="canonical" href="">` tag.
-
-If the core extension "seo" is installed, it will automatically add the canonical link to the page.
-
-The canonical link is basically the same absolute link as the link to the current hreflang and is meant
-to indicate where the original source of the content is. It is a tool to prevent having duplicate content
-penalties.
-
-In the page properties, the canonical link can be overwritten per language. The link wizard offers all the
-well known possibilities including external links and link handler configurations.
-
-Should an empty href occur when generating the link to overwrite the canonical (this happens e.g. if the
-selected page is not available in the current language), the fallback to the current hreflang will be activated
-automatically. This ensures that there is no empty canonical.
-
-Impact
-======
-
-If you have other SEO extensions installed that generate canonical links, you have to make sure the other
-extensions don't do that anymore. If both core and an extension are generating a canonical link, it will
-result in 2 canonical links which might cause confusion for search engines.
-
-.. index:: Backend, Database, Frontend, TCA, ext:seo
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-80398-Utf8mb4OnMysqlByDefaultForNewInstances.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-80398-Utf8mb4OnMysqlByDefaultForNewInstances.rst
deleted file mode 100644 (file)
index 43e650c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-.. include:: ../../Includes.txt
-
-===============================================================
-Feature: #80398 - utf8mb4 on mysql by default for new instances
-===============================================================
-
-See :issue:`80398`
-
-Description
-===========
-
-New instances created by the TYPO3 installer now set `utf8mb4` as charset and `utf8mb4_unicode_ci`
-collation by default for instances running on MySQL. This allows 4 byte unicode characters
-like emojis in MySQL.
-
-If upgrading instances, admins may change :file:`LocalConfiguration.php` to use this feature.
-The core does not provide mechanisms to update the collation of existing tables
-from `utf8_unicode_ci` to `utf8mb4_unicode_ci` for existing instances, though. Admins need
-to manage that on their own if needed, the reports module shows an information if the
-table schema use mixed collations. This should be avoided and fixed after manually configuring
-`utf8mb4` to avoid SQL errors when joining tables having different collations.
-
-Also note that manually upgrading to `utf8mb4` may lead to index length issues: The maximum key
-length on InnoDB tables is often 767 bytes and options to increase that have even been actively
-removed, for instance in recent MariaDB versions.
-A typical case is an index on a varchar(255) field: The DBMS assumes the worst case for the index
-length, which is 3 bytes per character for a utf8 (utf8mb3), but 4 bytes for utf8mb4: With utf8,
-the maximum index length is 3*255 + 1 = 766 bytes which fits into 767, but with utf8mb4, this
-is 4*255 + 1 = 1021 bytes, which exceeds the maximum length and leads to SQL errors when setting
-such an index.
-This scenario gets more complex with combined indexes and may need manual investigation when
-upgrading an existing instance from from `utf8` to `utf8mb4`. One solution is to restrict the
-index length in ext_tables.sql of the affected extension: :php:`KEY myKey (myField(191))`, which
-in this case leads to 4*191 + 1 = 764 bytes as maximum used length.
-
-The basic settings to use `utf8mb4` in :file:`LocalConfiguration.php` are:
-
-.. code-block:: php
-
-   'DB' => [
-       'Connections' => [
-           'Default' => [
-               'driver' => 'mysqli',
-               ...
-               'charset' => 'utf8mb4',
-               'tableoptions' => [
-                    'charset' => 'utf8mb4',
-                    'collate' => 'utf8mb4_unicode_ci',
-               ],
-           ],
-       ],
-   ],
-
-
-Impact
-======
-
-`utf8mb4` is an allowed charset and `utf8mb4_unicode_ci` is an allowed collation and
-used by default for new instances running on MySQL.
-
-.. index:: PHP-API, LocalConfiguration, Database
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-86214-ImplementStaticRoutes.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-86214-ImplementStaticRoutes.rst
deleted file mode 100644 (file)
index ecd1684..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-.. include:: ../../Includes.txt
-.. highlight:: yaml
-
-=========================================
-Feature: #86214 - Implement static routes
-=========================================
-
-See :issue:`86214`
-
-Description
-===========
-
-The site configuration module now has configuration options to add static routes on a per site basis.
-Take the following example: In a multi-site installation you want to have different robots.txt files for each site that
-should be reachable at /robots.txt on each site. You can now add a static route "robots.txt" to your site and
-define which content should be delivered.
-
-The TYPO3 SEO extension provides a sitemap for TYPO3 out of the box, but it's only reachable at a specific page type.
-To enable easier access you can now configure a static route :file:`sitemap.xml` that maps to that page type (see example
-below).
-
-Routes can be configured as toplevel files (as in the :file:`sitemap.xml` and :file:`robots.txt` case) but may also be configured
-to deeper route paths (`my/deep/path/to/a/static/text` for example). Matching is done on the full path but without any
-parameters.
-
-Impact
-======
-
-Static routes can be configured via the user interface or directly in the yaml configuration.
-There are two options: deliver static text or resolve a TYPO3 URL.
-
-StaticText
-----------
-The `staticText` option allows to deliver simple text content. The text can be added through a text field directly in
-the site configuration. This is suitable for files like :file:`robots.txt` or :file:`humans.txt`.
-
-YAML Configuration Example::
-
-   route: robots.txt
-   type: staticText
-   content: |
-     Sitemap: https://example.com/sitemap.xml
-     User-agent: *
-     Allow: /
-     Disallow: /forbidden/
-
-TYPO3 URL (t3://)
------------------
-
-The type `uri` for TYPO3 URL provides the option to render either a file, page or url. Internally a request to the
-file or URL is done and its content delivered.
-
-YAML Configuration Examples::
-
-   -
-     route: sitemap.xml
-     type: uri
-     source: 't3://page?uid=1&type=1533906435'
-   -
-     route: favicon.ico
-     type: uri
-     source: 't3://file?uid=77'
-
-
-Implementation
-==============
-
-Static route resolving is implemented as a PSR-15 middleware. If the route path requested matches any one of the
-configured site routes, a response is directly generated and returned. This way there is minimal bootstrap code to
-be executed on a static route resolving request, mainly the site configuration needs to be loaded. Static routes cannot
-get parameters as the matching is done solely on the path level.
-
-
-.. index:: Frontend, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-86303-VariantsForSitesBase.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-86303-VariantsForSitesBase.rst
deleted file mode 100644 (file)
index b0e33ef..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-.. include:: ../../Includes.txt
-
-==========================================
-Feature: #86303 - Variants for site's base
-==========================================
-
-See :issue:`86303`
-
-Description
-===========
-
-The site configuration allows now to specify variants of the site's base.
-Take the following example: The base of a site is set to `www.domain.tld` but the staging environment uses
-`staging.domain.tld` and the local development uses `www.domain.local`.
-
-The expression language feature is used to define which variant is taken into account
-
-Impact
-======
-
-The base of a site can be changed depending on a condition. Typical examples are:
-
-- :typoscript:`applicationContext == "Production"`: Check the application context
-- :typoscript:`getenv("mycontext") == "production`: Check a custom environment variable
-
-.. index:: Backend, Frontend, TypoScript, ext:core
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-86409-AllowUsageOfEnvironmentVariablesInSiteConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-86409-AllowUsageOfEnvironmentVariablesInSiteConfiguration.rst
deleted file mode 100644 (file)
index 6365951..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-.. include:: ../../Includes.txt
-
-============================================================================
-Feature: #86409 - Allow usage of environment variables in site configuration
-============================================================================
-
-See :issue:`86409`
-
-Description
-===========
-
-To enable environment variable based configuration the TYPO3 Core Yaml loader has been adjusted to
-be able to resolve environment variables. Resolving of variables in the loader can be enabled or
-disabled via flags. When editing the site configuration through the backend interface the resolving
-of environment variables needs to be disabled to be able to add environment configuration through
-the interface.
-
-The format for environment variables is %env(ENV_NAME)%. Environment variables may be used to replace
-complete values or parts of a value.
-
-
-Impact
-======
-
-In site configuration environment variables can be used. One common example would be the base url
-that can now be configured via an environment variable.
-
-Additionally, the Yaml Loader class has two new flags: PROCESS_PLACEHOLDERS and PROCESS_IMPORTS
-PROCESS_PLACEHOLDERS decides whether or not placeholders (`%abc%`) will be resolved.
-PROCESS_IMPORTS decides whether or not imports (`imports` key) will be resolved.
-
-Example usage in site configuration:
-
-.. code-block:: yaml
-
-       base: 'https://%env(BASE_DOMAIN)%/'
-
-.. index:: Backend, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-86422-IntroduceSiteForTypoScriptDataGetTextProperty.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-86422-IntroduceSiteForTypoScriptDataGetTextProperty.rst
deleted file mode 100644 (file)
index 319edbd..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-.. include:: ../../Includes.txt
-
-=====================================================================
-Feature: #86422 - Introduce site for TypoScript data getText property
-=====================================================================
-
-See :issue:`86422`
-
-Description
-===========
-
-Site configuration can now be accessed via the :ts:`getText` property in TypoScript.
-
-Example:
-
-.. code-block:: typoscript
-
-       page.10 = TEXT
-       page.10.data = site:base
-       page.10.wrap = This is your base URL: |
-
-Where `site` is the keyword for accessing an aspect, and the latter parts are the configuration key(s) to access. 
-
-.. code-block:: typoscript
-
-       data = site:customConfigKey.nested.value
-
-
-Impact
-======
-
-Accessing site configuration is now possible in TypoScript, which enables to store site specific configuration options in one central place and allows usage of that configuration from different contexts. While this sounds similar to using TypoScript, with using site configuration this may also be used from backend or CLI context as long as the rootPageId of the site is known. To avoid duplicating configuration options, TypoScript can now access these properties, too.
-
-.. index:: PHP-API, ext:frontend
\ No newline at end of file
index c6b35df..fb7d6d6 100644 (file)
@@ -22,7 +22,7 @@ return [
     ],
     '$GLOBALS[\'TYPO3_LOADED_EXT\']' => [
         'restFiles' => [
-            'Deprecation-86404-DeprecateGLOBALSTYPO3_LOADED_EXT.rst',
+            'Deprecation-86404-GLOBALSTYPO3_LOADED_EXT.rst',
         ],
     ],
 ];