diff --git a/typo3/sysext/core/Documentation/Changelog-11.rst b/typo3/sysext/core/Documentation/Changelog-11.rst new file mode 100644 index 0000000000000000000000000000000000000000..06ead3aede4434c8dac2fbb2ceb06382450c8bc6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog-11.rst @@ -0,0 +1,14 @@ +:orphan: + +.. include:: Includes.txt + +============= +ChangeLog v11 +============= + +Every change to the TYPO3 Core which might affect your site is documented here. + +.. toctree:: + :titlesonly: + + Changelog/11.0/Index diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-23736-PageLanguageDetectionSetEarlierInFrontendRequestProcess.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-23736-PageLanguageDetectionSetEarlierInFrontendRequestProcess.rst similarity index 66% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-23736-PageLanguageDetectionSetEarlierInFrontendRequestProcess.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-23736-PageLanguageDetectionSetEarlierInFrontendRequestProcess.rst index 425a1d38fd4d4dfdb280c7dc9f545b167d3451ec..c7575843282fa4ff375ebb805001b294fd3a5178 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-23736-PageLanguageDetectionSetEarlierInFrontendRequestProcess.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-23736-PageLanguageDetectionSetEarlierInFrontendRequestProcess.rst @@ -9,30 +9,31 @@ See :issue:`23736` Description =========== -TYPO3's Frontend Request Process previously needed a parsed TypoScript before doing the language overlay of the currently -visited page, as previous TYPO3 sites without Site Handling +Previous TYPO3 sites without Site Handling used TypoScript conditions like `[globalVar = GP:L = 1]` to switch -between languages. +between languages. For this, TYPO3's Frontend Request Process needed a parsed TypoScript before +doing the language overlay of the currently visited page. This made it impossible to use conditions for accessing the translated page record like `[page["nav_title"] == "Bienvenue"]`, -which was a long outstanding conceptual issue that was finally -made possible through Site Handling. +which was a long outstanding conceptual issue that was finally made possible through Site Handling. -For this reason, the translated page is now resolved directly after the actual page and rootline resolving. +Now, the translated page is resolved directly after the actual page and rootline resolving. Impact ====== The translated page record (based on the fallback handling in the -Site Configuration) is now available in :php:`$TSFE->page` at a much earlier stage of the Frontend process. +Site Configuration) is now available in :php:`$TSFE->page` at a much earlier stage of the Frontend Request process. This means, TypoScript conditions based on the page record (see example above) might be different. -In addition, the two hooks +In addition, the two hooks + :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_preProcess']` and -:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_postProcess']` are -called now earlier when no TypoScript is available yet. +:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_postProcess']` + +are called earlier, no TypoScript is available yet. Affected Installations @@ -51,6 +52,6 @@ initialized. Also, be sure to review any of the TypoScript conditions (possible via the `Web->Template` module) if they are related to values only -available in the default language, which seems to be a very case however. +available in the default language, which seems to be a very rare case however. -.. index:: PHP-API, TypoScript, NotScanned, ext:frontend \ No newline at end of file +.. index:: PHP-API, TypoScript, NotScanned, ext:frontend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-29342-ImproveValidatorTask.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-29342-ImproveValidatorTask.rst similarity index 55% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-29342-ImproveValidatorTask.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-29342-ImproveValidatorTask.rst index df24245485900f2ff8349fd86fba452b8214d5a8..34dd2b74646f7c091124a10da04934df990d7427 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-29342-ImproveValidatorTask.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-29342-ImproveValidatorTask.rst @@ -1,19 +1,19 @@ .. include:: ../../Includes.txt -======================================== -Breaking: #29342 - Improve ValidatorTask -======================================== +========================================================= +Breaking: #29342 - Fluid Email Template for ValidatorTask +========================================================= See :issue:`29342` Description =========== -In TYPO3 version 10 `ext:linkvalidator` has been improved a lot. The -:php:`\TYPO3\CMS\Linkvalidator\Task\ValidatorTask` - a scheduler task for reporting -broken links via email has been refactored now. +In TYPO3 v10 `ext:linkvalidator` has been improved a lot. The +:php:`\TYPO3\CMS\Linkvalidator\Task\ValidatorTask`, a scheduler task for reporting +broken links via email, has been refactored now. -The old marker templates have been replaced by `FluidEmail`. A Fluid template is now +The old marker template has been replaced by Fluid templates, which are now used for generating the report email. The marker template has been removed completely along with corresponding functionality. @@ -38,7 +38,7 @@ Impact ====== It is no longer possible to set a custom marker based template file with -`emailTemplateFile`. Instead, the new field `emailTemplateName` can be used to +:php:`emailTemplateFile`. Instead, the new field :php:`emailTemplateName` can be used to specify a Fluid template file, see Migration section below. @@ -47,23 +47,18 @@ Affected Installations All installations which use: -* the task by providing a custom template file. -* one of the hooks mentioned above. +* the scheduler task and provide a custom template file +* one of the hooks mentioned above Migration ========= -If you currently don't use a custom template or one of the hooks mentioned above, -you don't need to migrate anything. - -Otherwiese you have to provide your custom templates using the new field -`emailTemplateName` in the task configuration and adding your custom template +Provide your custom templates using the new field :php:`emailTemplateName` +in the scheduler task configuration and add your custom template path to :php:`$GLOBALS['TYPO3_CONF_VARS']['MAIL']['templateRootPaths']`. -Furthermore use the new PSR-14 event -:php:`\TYPO3\CMS\Linkvalidator\Event\ModifyValidatorTaskEmailEvent` to adjust the -:php:`\TYPO3\CMS\Linkvalidator\Result\LinkAnalyzerResult` along with the `FluidEmail` -object. +Use the new PSR-14 event :php:`\TYPO3\CMS\Linkvalidator\Event\ModifyValidatorTaskEmailEvent` to adjust the +:php:`\TYPO3\CMS\Linkvalidator\Result\LinkAnalyzerResult` along with the `FluidEmail` object. .. index:: Backend, CLI, NotScanned, ext:linkvalidator diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-45512-NoTypeAttributesForStyleAndLinkTags.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-45512-NoTypeAttributesForStyleAndLinkTags.rst similarity index 80% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-45512-NoTypeAttributesForStyleAndLinkTags.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-45512-NoTypeAttributesForStyleAndLinkTags.rst index 8175a77fbdaabc5da3443a563d68c9220b3a2def..89a0e2f38aeedda05d3b16db7c844dc73d922fb6 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-45512-NoTypeAttributesForStyleAndLinkTags.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-45512-NoTypeAttributesForStyleAndLinkTags.rst @@ -9,7 +9,7 @@ See :issue:`45512` Description =========== -It is recommended for `<style>` and `<link>` HTML tags +It is recommended for :html:`<style>` and :html:`<link>` HTML tags to not use the "type" attribute anymore. These references state its recommended practice to omit them: @@ -23,13 +23,13 @@ HTML elements anymore when rendering HTML. Impact ====== -The attribute `type` is removed from the HTML tags `<style>` and `<link>` +The attribute :html:`type` is removed from the HTML tags :html:`<style>` and :html:`<link>` by default for TYPO3 Backend and Frontend output. Affected Installations ====================== -All installations of TYPO3 that use `<style>` or `<link>` tags are affected. +All installations of TYPO3 that use :html:`<style>` or :html:`<link>` tags are affected. The probability this has negative impact on the user experience is low, however. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-79565-RemovedUsergroup_cached_listDatabaseField.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-79565-RemovedUsergroup_cached_listDatabaseField.rst similarity index 70% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-79565-RemovedUsergroup_cached_listDatabaseField.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-79565-RemovedUsergroup_cached_listDatabaseField.rst index 534314d8abebd77e70fc6991700b8416aea08d67..1dd0464ab88e3a77d050ff5a4411c15a9eacf5ba 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-79565-RemovedUsergroup_cached_listDatabaseField.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-79565-RemovedUsergroup_cached_listDatabaseField.rst @@ -9,11 +9,11 @@ See :issue:`79565` Description =========== -The database field `be_users.usergroup_cached_list` has been +The database field :sql:`be_users.usergroup_cached_list` has been removed. It was populated by a list of all groups (including -subgroups) the user belongs to, and stored when a user logged in, -but was never updated when an admin added or removed a group -from the users' group list. +subgroups) the user belongs to, and stored when a user logged in. +The field however was never updated when an admin added or removed a group +from the users group list. Impact @@ -33,6 +33,6 @@ with third-party extensions. Migration ========= -Use the GroupResolver class to fetch all groups of a user directly. +Use the class :php:`GroupResolver` to fetch all groups of a user directly. -.. index:: Backend, PHP-API, NotScanned, ext:core \ No newline at end of file +.. index:: Backend, PHP-API, NotScanned, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-89137-DatabaseFieldsT3verTstampAndT3verCountDropped.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-89137-DatabaseFieldsT3verTstampAndT3verCountDropped.rst similarity index 73% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-89137-DatabaseFieldsT3verTstampAndT3verCountDropped.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-89137-DatabaseFieldsT3verTstampAndT3verCountDropped.rst index dfff471629d70482607f3d68c4f4cc22c360341a..0a8fa25590d6e4619e857f17e7fd56a92861afc2 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-89137-DatabaseFieldsT3verTstampAndT3verCountDropped.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-89137-DatabaseFieldsT3verTstampAndT3verCountDropped.rst @@ -1,7 +1,7 @@ .. include:: ../../Includes.txt ======================================================================= -Breaking: #89137 - Database fields t3ver_tstamp and t3ver_count dropped +Breaking: #89137 - Database fields t3ver_tstamp and t3ver_count removed ======================================================================= See :issue:`89137` @@ -9,15 +9,16 @@ See :issue:`89137` Description =========== -The two workspace related database fields :sql:`t3ver_tstamp` and :sql:`t3ver_count` together -with their handling have been dropped from all workspace aware database tables. +The two workspace related database fields :sql:`t3ver_tstamp` and :sql:`t3ver_count` +have been dropped from all workspace aware database tables. Also, all code handling these +fields has been removed from the code base. Impact ====== -The core did not show these fields to the user. It's very unlikely extensions made use of these -fields. Admins upgrading to core v11 can usually assume zero impact for their site functionality. +The core did not show these fields to the user. It's very unlikely extensions made use of them. +Admins upgrading to TYPO3 v11 can usually assume zero impact for their site functionality. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-90799-DependencyInjectionWithNonPublicPropertiesHasBeenRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-90799-DependencyInjectionWithNonPublicPropertiesHasBeenRemoved.rst similarity index 66% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-90799-DependencyInjectionWithNonPublicPropertiesHasBeenRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-90799-DependencyInjectionWithNonPublicPropertiesHasBeenRemoved.rst index db15d3c410c1b51c1ade380c4d1fd5b9623c26f9..26f9e01f4d15093e95e09c5c77861f770be16478 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-90799-DependencyInjectionWithNonPublicPropertiesHasBeenRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-90799-DependencyInjectionWithNonPublicPropertiesHasBeenRemoved.rst @@ -9,17 +9,17 @@ See :issue:`90799` Description =========== -In TYPO3 9.5, the (dependency) injection via `@inject` has been deprecated for -non public properties. The reason was to avoid having the core use the PHP reflection -api to make non public properties writable from outside the class scope. Since there +In TYPO3 v9, the (dependency) injection via :php:`@Inject` has been marked as deprecated for +non-public properties. The reason was to avoid having the core use the PHP reflection +api to make non-public properties writable from outside the class scope. Since there are other methods for dependency injection (constructor/setter injection), injection -into non public properties has now been removed +into non-public properties has now been removed. Impact ====== -Non public properties with inject annotations will no longer trigger extbase +Non-public properties with :php:`@Inject` annotations will no longer trigger extbase dependency injection. Those properties will have their default state after object instantiation. @@ -27,7 +27,7 @@ instantiation. Affected Installations ====================== -All installations that use non public properties for extbase dependency injection +All installations that use non-public properties for extbase dependency injection as seen in this example: .. code-block:: php @@ -46,8 +46,8 @@ Migration ========= When not using constructor/setter injection instead, switch to inject methods -(recommended for compatibility with symfony depenency injection) or mark the -property public (works with extbase depenency injection only): +(recommended for compatibility with symfony dependency injection) or mark the +property public (works with extbase dependency injection only): .. code-block:: php diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91473-DeprecatedFunctionalityRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91473-DeprecatedFunctionalityRemoved.rst similarity index 95% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91473-DeprecatedFunctionalityRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91473-DeprecatedFunctionalityRemoved.rst index e5230c0c2616a9a0e08e97142e6fe81a1015f182..43db02e0330300b5fbb1971cbc6d1c1d16b91388 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91473-DeprecatedFunctionalityRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91473-DeprecatedFunctionalityRemoved.rst @@ -9,7 +9,7 @@ See :issue:`91473` Description =========== -The following PHP classes that have been previously deprecated for v10 have been removed: +The following PHP classes that have previously been marked as deprecated for v10 and were now removed: - :php:`\TYPO3\CMS\Backend\Configuration\TsConfigParser` - :php:`\TYPO3\CMS\Backend\Controller\File\CreateFolderController` @@ -39,7 +39,7 @@ The following PHP classes that have been previously deprecated for v10 have been - :php:`\TYPO3\CMS\Fluid\ViewHelpers\Widget\AutocompleteViewHelper` - :php:`\TYPO3\CMS\Fluid\ViewHelpers\Widget\Controller\AutocompleteController` -The following PHP interfaces that have been previously deprecated for v10 have been removed: +The following PHP interfaces that have previously been marked as deprecated for v10 and were now removed: - :php:`\TYPO3\CMS\Adminpanel\ModuleApi\InitializableInterface` - :php:`\TYPO3\CMS\Core\Console\RequestHandlerInterface` @@ -47,7 +47,7 @@ The following PHP interfaces that have been previously deprecated for v10 have b - :php:`\TYPO3\CMS\Core\Routing\Aspect\DelegateInterface` - :php:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectGetSingleHookInterface` -The following PHP class aliases that have been previously deprecated for v10 have been removed: +The following PHP class aliases that have previously been marked as deprecated for v10 and were now removed: * :php:`TYPO3\CMS\Frontend\Page\PageRepository` * :php:`TYPO3\CMS\Frontend\Page\PageRepositoryGetPageHookInterface` @@ -56,7 +56,7 @@ The following PHP class aliases that have been previously deprecated for v10 hav * :php:`TYPO3\CMS\Frontend\Page\PageRepositoryInitHookInterface` * :php:`TYPO3\CMS\Lowlevel\Utility\ArrayBrowser` -The following PHP class methods that have been previously deprecated for v10 have been removed: +The following PHP class methods that have previously been marked as deprecated for v10 and were now removed: - :php:`\TYPO3\CMS\Backend\History\RecordHistory->createChangeLog` - :php:`\TYPO3\CMS\Backend\History\RecordHistory->createMultipleDiff` @@ -96,7 +96,7 @@ The following PHP class methods that have been previously deprecated for v10 hav - :php:`\TYPO3\CMS\Linkvalidator\Repository\BrokenLinkRepository->getNumberOfBrokenLinks` -The following PHP static class methods that have been previously deprecated for v10 have been removed: +The following PHP static class methods that have previously been marked as deprecated for v10 and were now removed: - :php:`\TYPO3\CMS\Backend\Utility\BackendUtility::getRawPagesTSconfig` - :php:`\TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick` @@ -121,8 +121,6 @@ The following PHP static class methods that have been previously deprecated for - :php:`\TYPO3\CMS\Extbase\Reflection\ObjectAccess::buildSetterMethodName` - :php:`\TYPO3\CMS\Extbase\Utility\TypeHandlingUtility::hex2bin` -The following PHP methods have been additionally deprecated and are a no-op now: - The following methods changed signature according to previous deprecations in v10 at the end of the argument list: - :php:`\TYPO3\CMS\Core\Database\ReferenceIndex->updateIndex` (argument 2 is now either null or ProgressListenerInterface, not boolean anymore) @@ -177,10 +175,6 @@ The following ViewHelpers have changed: - :html:`<f:widget.uri>` ViewHelper argument "useCacheHash" is dropped - :html:`<f:widget.autocomplete>` ViewHelper is removed -The following scheduler tasks have been removed: - -The following user TSconfig options have been dropped: - The following TypoScript options have been dropped: - Extbase TypoScript option `requireCHashArgumentForActionArguments` for any plugin @@ -242,14 +236,10 @@ The following class constants have been dropped: - :php:`\TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_GetDataArray_PostProcesss` - :php:`\TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_SortDataArray_PostProcesss` -The following class constants have been set to protected: - The following global options are ignored: - :php:`$GLOBALS['TYPO3_CONF_VARS']['EXT']['runtimeActivatedPackages']` -The following language files and aliases have been removed: - The following global variables have been removed: - :php:`$GLOBALS['LOCAL_LANG']` @@ -274,8 +264,6 @@ The following hooks have been removed: - :php:`$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['password_changed']` - :php:`$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['postProcContent']` -The following hooks don't pass the class reference anymore: - The following signals have been removed: - :php:`PackageManagement::packagesMayHaveChanged` @@ -360,13 +348,10 @@ The following features have been removed: - Pi-based plugin for "felogin" (CType `login`) - XML-based (TYPO3-custom XML format) label parsing -The following database tables have been removed: - -- :sql:`sys_template.sitetitle` - The following database fields have been removed: -- pages.legacy_overlay_uid +- :sql:`sys_template.sitetitle` +- :sql:`pages.legacy_overlay_uid` The following Backend route identifiers have been removed: @@ -395,8 +380,6 @@ The following JavaScript modules have been removed: - :js:`jquery.clearable` - :js:`md5` -The following global instances have been removed: - Impact ====== diff --git a/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91562-CObjectTEMPLATERemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91562-CObjectTEMPLATERemoved.rst new file mode 100644 index 0000000000000000000000000000000000000000..448983a86890021d55014e5eeb2aa28a3fcd99ce --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91562-CObjectTEMPLATERemoved.rst @@ -0,0 +1,46 @@ +.. include:: ../../Includes.txt + +=========================================== +Breaking: #91562 - cObject TEMPLATE removed +=========================================== + +See :issue:`91562` + +Description +=========== + +The cObject :typoscript:`TEMPLATE`, used for rendering marker-based templates +has been removed along with the PHP class :php:`TYPO3\CMS\Frontend\ContentObject\TemplateContentObject`. + +The successor :typoscript:`FLUIDTEMPLATE` is widely used since TYPO3 v7, +and acts as a replacement for marker-based templates. + + +Impact +====== + +Using TypoScript with :typoscript:`page.10 = TEMPLATE` will result in a PHP +error when rendering the frontend. + +Referencing the PHP class will result in a fatal PHP error. + + +Affected Installations +====================== + +TYPO3 installation still using :typoscript:`TEMPLATE` cObject in their TypoScript. + + +Migration +========= + +Refactor TypoScript templates to not use the cObject :typoscript:`TEMPLATE` anymore. + +In case you can not or want not make the switch to :typoscript:`FLUIDTEMPLATE`, install +the extension `modern_template_building` from the official +TYPO3 Extension Repository at https://extensions.typo3.org/, which acts as a drop-in replacement, and also ships the cObject :typoscript:`FILE` +which is highly useful for :typoscript:`TEMPLATE` cObjects. + +The extension is compatible with TYPO3 v9+. + +.. index:: TypoScript, FullyScanned, ext:frontend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91563-PHP-basedJSCSSInclusionsForFrontendRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91563-PHP-basedJSCSSInclusionsForFrontendRemoved.rst similarity index 71% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91563-PHP-basedJSCSSInclusionsForFrontendRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91563-PHP-basedJSCSSInclusionsForFrontendRemoved.rst index e838f5b943d999de3b5eba51fc8f7f528e2d4e6b..7e4ac20bf3357a8e0682cb6afd618b0e2aa980aa 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91563-PHP-basedJSCSSInclusionsForFrontendRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91563-PHP-basedJSCSSInclusionsForFrontendRemoved.rst @@ -9,7 +9,7 @@ See :issue:`91563` Description =========== -In the past, TYPO3's "TSFE" object allowed to manually add CSS or JavaScript snippets via PHP code via the following method and properties: +In the past, TYPO3's :php:`TSFE` object allowed to manually add CSS or JavaScript snippets via PHP code with the following method and properties: * :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->setJS()` * :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->additionalJavaScript` @@ -17,13 +17,13 @@ In the past, TYPO3's "TSFE" object allowed to manually add CSS or JavaScript sni * :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->JSCode` * :php:`TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->inlineJS` -These have been removed due to better APIs like PageRenderer (available since TYPO3 v4.5) and AssetCollector (TYPO3 v10). +These have been removed due to better APIs like :php:`PageRenderer` (available since TYPO3 v4.5) and :php:`AssetCollector` (available since TYPO3 v10). Impact ====== -Accessing the method and properties will have no effect and trigger a PHP notice. +Accessing the method and properties will have no effect and trigger PHP errors. Affected Installations @@ -35,6 +35,6 @@ TYPO3 installations with custom extensions using this functionality directly to Migration ========= -Use the AssetCollector API in PHP to add JavaScript and CSS code or use files directly. +Use the :php:`AssetCollector` API in PHP to add JavaScript and CSS code or use files directly. .. index:: PHP-API, FullyScanned, ext:frontend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91578-IrreRelatedJavaScriptHasBeenRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91578-IrreRelatedJavaScriptHasBeenRemoved.rst similarity index 82% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91578-IrreRelatedJavaScriptHasBeenRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91578-IrreRelatedJavaScriptHasBeenRemoved.rst index 3cd8c80591a0b7eaa3a16acf758368205d353955..b6cb0d601750f3d17111340e890a2dba8c1e0a85 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91578-IrreRelatedJavaScriptHasBeenRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91578-IrreRelatedJavaScriptHasBeenRemoved.rst @@ -10,8 +10,8 @@ Description =========== The JavaScript functions :js:`TBE_EDITOR.fieldChanged_fName` and its legacy -alias :js:`TBE_EDITOR_fieldChanged_fName` used to extract the table name, field -name and uid from the incoming field name have been removed. +alias :js:`TBE_EDITOR_fieldChanged_fName`, used to extract the table name, field +name and uid from the incoming field name, have been removed. Impact diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91606-DatetimeOperationsInFormEngineRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91606-DatetimeOperationsInFormEngineRemoved.rst similarity index 98% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91606-DatetimeOperationsInFormEngineRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91606-DatetimeOperationsInFormEngineRemoved.rst index 371d4b6bdbd5b2f92ae1bcf0f1d5433198c0642b..836f1dfee27be56af3ef80c4ab43214fd94641e1 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91606-DatetimeOperationsInFormEngineRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91606-DatetimeOperationsInFormEngineRemoved.rst @@ -9,7 +9,7 @@ See :issue:`91606` Description =========== -FormEngine supported to add or subtract a date or time range (depends on the +FormEngine supported to add or subtract a date or time range (depending on the field type) by appending e.g. `+5` or `-42` to the field values. These kind of operations have been removed as they are rather unknown and clumsy to use. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91740-DeprecatedIconIdentifierRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91740-DeprecatedIconIdentifierRemoved.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91740-DeprecatedIconIdentifierRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91740-DeprecatedIconIdentifierRemoved.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91782-LockToDomain.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91782-LockToDomain.rst similarity index 57% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91782-LockToDomain.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91782-LockToDomain.rst index 412fedfdb10be807ca6f186ad1f98a64f2b2e1bf..2309ba81ddfb49c040e9d3e3c30fff7124ff94c8 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91782-LockToDomain.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91782-LockToDomain.rst @@ -9,16 +9,19 @@ See :issue:`91782` Description =========== -TYPO3 Core shipped with a feature called "lockToDomain" for Frontend users and backend users which made the user login only valid if the exact given HTTP_HOST matches the filled domain. +TYPO3 Core shipped with a feature called "lockToDomain" for frontend and backend users which made the user login only valid if +the exact given HTTP_HOST matches the filled domain. -A similar functionality, but with the same name for groups existed, which only added the group to a specific user during a session, if the user was accessing a TYPO3 site under a specific domain. +A similar functionality with the same name for groups existed, which only added the group to a specific user during a session, +if the user was accessing a TYPO3 site under a specific domain. Both features have been removed. Impact ====== -Frontend users or backend users that have this option set previously, will now be able to login independent of the defined HTTP_HOST header sent with the login page. +Frontend users or backend users that have this option set previously, will now be able to login independent of the defined HTTP_HOST +header sent with the login page. Regardless of any setting of the "lockToDomain" setting of a specific group, all groups added to a user are now applied during login of a user, both for frontend and backend. @@ -27,31 +30,32 @@ to a user are now applied during login of a user, both for frontend and backend. Affected Installations ====================== -TYPO3 Installations using this feature in their database records. When in doubt, this can be identified by running SQL SELECT statements to identify users actively using this feature. +TYPO3 Installations using this feature in their database records are affected. Following SQL SELECT statements help to identify records +with a value for the features, which indicates those users and groups will now be able to log in without the domain restriction. Frontend Users: .. code-block:: sql - SELECT uid, pid, username FROM fe_users WHERE lockToDomain != '' AND lockToDomain IS NOT NULL; + SELECT uid, pid, username FROM fe_users WHERE lockToDomain != '' AND lockToDomain IS NOT NULL; Backend Users: .. code-block:: sql - SELECT uid, pid, username FROM be_users WHERE lockToDomain != '' AND lockToDomain IS NOT NULL;" + SELECT uid, pid, username FROM be_users WHERE lockToDomain != '' AND lockToDomain IS NOT NULL; Frontend Groups: .. code-block:: sql - SELECT uid, pid, username FROM fe_groups WHERE lockToDomain != '' AND lockToDomain IS NOT NULL; + SELECT uid, pid, username FROM fe_groups WHERE lockToDomain != '' AND lockToDomain IS NOT NULL; Backend Groups: .. code-block:: sql - SELECT uid, pid, username FROM be_groups WHERE lockToDomain != '' AND lockToDomain IS NOT NULL; + SELECT uid, pid, username FROM be_groups WHERE lockToDomain != '' AND lockToDomain IS NOT NULL; Migration diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91906-StoreTransOrigDiffSourceFieldAsJson.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91906-StoreTransOrigDiffSourceFieldAsJson.rst similarity index 93% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91906-StoreTransOrigDiffSourceFieldAsJson.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91906-StoreTransOrigDiffSourceFieldAsJson.rst index ce7b25dedebf263038236c435183b109aff7482c..26bdbef4b71a87cb3bada1e039870a37b2c521c1 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91906-StoreTransOrigDiffSourceFieldAsJson.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91906-StoreTransOrigDiffSourceFieldAsJson.rst @@ -10,7 +10,7 @@ Description =========== The TCA field :php:`['tableName']['ctrl']['transOrigDiffSourceField']` - often set to -php:`l18n_diffsource` - stores the state of the source language record a translated +:php:`l18n_diffsource` - stores the state of the source language record a translated record has been created from. This is used if content in the source language of a record has been changed to hint editors for a potentially needed update of the translated record. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91909-SysCollectionDatabaseTablesMovedIntoExternalExtension.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91909-SysCollectionDatabaseTablesMovedIntoExternalExtension.rst similarity index 88% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91909-SysCollectionDatabaseTablesMovedIntoExternalExtension.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91909-SysCollectionDatabaseTablesMovedIntoExternalExtension.rst index bab60a623e6f329e9b720915e48a72a57d1e6d8d..bd19c56e115a50826ab4575783ba3f5ce09add43 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91909-SysCollectionDatabaseTablesMovedIntoExternalExtension.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91909-SysCollectionDatabaseTablesMovedIntoExternalExtension.rst @@ -9,7 +9,7 @@ See :issue:`91909` Description =========== -The generic :sql:`sys_collection` database table and its MM table which +The generic :sql:`sys_collection` database table and its MM table :sql:`sys_collection_entries`, which holds information of connected records to a "Record Collection" have been removed from TYPO3 Core. @@ -33,7 +33,7 @@ Impact It is not possible to modify / edit :sql:`sys_collection` records anymore in the TYPO3 Backend. -The database tables are not defined anymore, so is the TCA definition. +The database tables are not defined anymore, neither is the TCA definition. Accessing the PHP API class will result in fatal PHP errors. @@ -41,7 +41,7 @@ Accessing the PHP API class will result in fatal PHP errors. Affected Installations ====================== -Any TYPO3 installation using the database tables :sql:`sys_collection` +Any TYPO3 installation using the database tables belonging to the :sql:`sys_collection` feature which is very unlikely. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91974-ConfigurationOptionIPmaskMountGroupsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91974-ConfigurationOptionIPmaskMountGroupsRemoved.rst similarity index 61% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-91974-ConfigurationOptionIPmaskMountGroupsRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91974-ConfigurationOptionIPmaskMountGroupsRemoved.rst index f916f7145670d8465bb3571cbd7babf882ef581d..a54e601dfb963a3a9fb478ee53a98d911b1ef1a2 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91974-ConfigurationOptionIPmaskMountGroupsRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-91974-ConfigurationOptionIPmaskMountGroupsRemoved.rst @@ -15,30 +15,28 @@ groups to users visiting the TYPO3 Frontend from specific IP addresses / network This is especially handy to show content only in Intranet/Extranet sites where internal members see restricted content automatically. -However, showing content based on certain contexts, are usually solved with a much more flexible way through third-party extensions +However, showing content based on certain contexts is usually solved with a much more flexible way through third-party extensions such as EXT:contexts. Third-party extensions allow even for automatic login based on IP-addresses, which should be used instead. Impact ====== -The mentioned option is automatically removed from LocalConfiguration.php -on upgrade, and never evaluated anymore. +The mentioned option is automatically removed from :file:`LocalConfiguration.php` +on upgrade, and not evaluated anymore. Affected Installations ====================== Installations having the global configuration setting set in -:php:`typo3conf/LocalConfiguration.php` or :php:`typo3conf/AdditionalConfiguration.php`, mostly related to intranet / extranet websites. +:file:`typo3conf/LocalConfiguration.php` or :file:`typo3conf/AdditionalConfiguration.php`, mostly related to intranet / extranet websites. Migration ========= -If this functionality explicitly is required, it can be overcome -with a third-party extension, or a custom extension registering -a AuthenticationService ("getGroupsFE") to assign the groups -on a more specific approach. +If this functionality explicitly is required, it can be provided by a third-party extension, or a custom extension registering +a AuthenticationService ("getGroupsFE") to assign the groups on a more specific approach. .. index:: LocalConfiguration, FullyScanned, ext:frontend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92060-DroppedClassTYPO3CMSBackendViewPageTreeView.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92060-DroppedClassTYPO3CMSBackendViewPageTreeView.rst similarity index 73% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92060-DroppedClassTYPO3CMSBackendViewPageTreeView.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92060-DroppedClassTYPO3CMSBackendViewPageTreeView.rst index 148b60c568239b0024b5746232df249889573751..11213cbc6960d7539fccdf51e3905e3f8847de4c 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92060-DroppedClassTYPO3CMSBackendViewPageTreeView.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92060-DroppedClassTYPO3CMSBackendViewPageTreeView.rst @@ -9,20 +9,19 @@ See :issue:`92060` Description =========== -Class :php:`TYPO3\CMS\Backend\View\PageTreeView` has been -dropped without substitution. +Class :php:`TYPO3\CMS\Backend\View\PageTreeView` has been dropped without substitution. Impact ====== -Extensions using or extending this class may throw fatal PHP errors. +Extensions using or extending this class will throw fatal PHP errors. Affected Installations ====================== -This core internal class has been unused for a while in the core. There is little +This core internal class has been unused for a while. There is little chance some extension depends on it. The extension scanner finds affected extensions with a strong match. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92118-TCACtrlThumbailSettingDropped.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92118-TCACtrlThumbailSettingDropped.rst similarity index 90% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92118-TCACtrlThumbailSettingDropped.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92118-TCACtrlThumbailSettingDropped.rst index 3364bbe78cc7af913ddbb6777e07e4df73f0ca61..4cf5ac5136e05fe881643e492861ec4fff50d94c 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92118-TCACtrlThumbailSettingDropped.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92118-TCACtrlThumbailSettingDropped.rst @@ -22,8 +22,8 @@ Affected Installations ====================== The setting has been used in the list module for tables with image fields to render a preview -of attached images. It has been used for :php:`tt_content` in core versions until v7. -There are probably not many extensions using the setting, the list module will +of attached images. It has been used for :php:`tt_content` in core versions until TYPO3 v7. +There are probably not many extensions using the setting. The list module will no longer show preview images for rendered rows. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92128-DatabaseRecordListDropHookToModifySearchFields.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92128-DatabaseRecordListDropHookToModifySearchFields.rst similarity index 68% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92128-DatabaseRecordListDropHookToModifySearchFields.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92128-DatabaseRecordListDropHookToModifySearchFields.rst index 79255b60b89e238783caab9218bba35fa9df099e..4ba0f7cd22012981b10db1a5fc64173e33fb0f55 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92128-DatabaseRecordListDropHookToModifySearchFields.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92128-DatabaseRecordListDropHookToModifySearchFields.rst @@ -9,17 +9,15 @@ See :issue:`92128` Description =========== -The TCA configuration `searchFields` in the `ctrl` section has been introduced in TYPO3 4.6. -This configuration allows setting search columns. +The TCA configuration :php:`searchFields` in the `ctrl` section was introduced in TYPO3 4.6. +This configuration allows defining search columns. Those columns are taken into account by the search in the TYPO3 backend. To enable a smooth transition between TYPO3 4.5 and 4.6, the hook -:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['mod_list'] -['getSearchFieldList']` has been introduced as well. It allows -to set the `searchFields` for the list module's search. +:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['mod_list']['getSearchFieldList']` was introduced as well. It allowed +to manipulate the :php:`searchFields` for the list modules search. -As this transition should be finished now, the hook has been -removed. +As this transition should be finished now, the hook has been removed. Impact ====== diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92132-LastRemainsOfGlobalsSOBERemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92132-LastRemainsOfGlobalsSOBERemoved.rst similarity index 90% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92132-LastRemainsOfGlobalsSOBERemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92132-LastRemainsOfGlobalsSOBERemoved.rst index 3bb67178fdfeac5d79dd8035ad2948383c1d9eb7..12ca9a396547c431017710b38575bb74db902572 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92132-LastRemainsOfGlobalsSOBERemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92132-LastRemainsOfGlobalsSOBERemoved.rst @@ -23,7 +23,7 @@ Backend extensions that rely on :php:`$GLOBALS['SOBE']` may behave differently. Affected Installations ====================== -Some old backend extensions may still still rely on :php:`$GLOBALS['SOBE']` being set. +Some old backend extensions may still rely on :php:`$GLOBALS['SOBE']` being set. The extension scanner will find usages. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92206-RemoveWorkspaceSwappingOfElements.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92206-RemoveWorkspaceSwappingOfElements.rst similarity index 84% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92206-RemoveWorkspaceSwappingOfElements.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92206-RemoveWorkspaceSwappingOfElements.rst index 86c7250b82cd1c535cc7b5ca7bcd5f7b99aebd8f..e6fa5005558f9e7b513beff8ae588ab8404d24c3 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92206-RemoveWorkspaceSwappingOfElements.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92206-RemoveWorkspaceSwappingOfElements.rst @@ -9,7 +9,7 @@ See :issue:`92206` Description =========== -When using workspaces, putting modified content into the live workspace has two functionality: +When using workspaces, putting modified content into the live workspace can be achieved by two methods: 1. Publishing Content is replaced with the live version, and the current live version is removed. @@ -31,10 +31,9 @@ The swapping mechanism was therefore removed, leaving "Publishing" the only opti Impact ====== -The database field and TCA option `sys_workspace.swap_modes` is removed. +The database field :sql:`sys_workspace.swap_modes` and the TCA option :php:`sys_workspace.swap_modes` are removed. -The Workspace module only shows the "Publish" option anymore, -as "Swap" is removed. +The Workspace module only shows the "Publish" option, as "Swap" is removed. The auto-publishing feature now always publishes instead of optionally swaps content. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92289-DecoupleLogicOfResourceFactoryIntoStorageRepository.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92289-DecoupleLogicOfResourceFactoryIntoStorageRepository.rst similarity index 63% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92289-DecoupleLogicOfResourceFactoryIntoStorageRepository.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92289-DecoupleLogicOfResourceFactoryIntoStorageRepository.rst index a50776a303ed9533e21d4cfaf7e5cfa45a65116b..df09f3e79fe33d16d7314344b8f18c45913d8d3f 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92289-DecoupleLogicOfResourceFactoryIntoStorageRepository.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92289-DecoupleLogicOfResourceFactoryIntoStorageRepository.rst @@ -9,23 +9,23 @@ See :issue:`92289` Description =========== -The ResourceFactory was initially created for the File Abstraction Layer (FAL) +The :php:`ResourceFactory` class was initially created for the File Abstraction Layer (FAL) as a Factory class, which created PHP objects. -However, in the recent years, it became more apparent that it is more useful to +However, in the recent years, it became apparent that it is more useful to separate the concerns of the creation and retrieving of existing information. -For this reason, the StorageRepository is now handling the creation of -ResourceStorage objects. This layer accesses the Database and the needed Driver +For this reason, the :php:`StorageRepository` class is now handling the creation of +:php:`ResourceStorage` objects. This layer accesses the Database and the needed Driver objects and configuration. -The StorageRepository class does not extend from AbstractRepository anymore, +The :php:`StorageRepository` class does not extend from :php:`AbstractRepository` anymore, and is available standalone. -Most of the logic in the ResourceFactory concerning Storages has been moved to -StorageRepository, which has a lot of options available now. +Most of the logic in the :php:`ResourceFactory` concerning Storages has been moved to +:php:`StorageRepository`, which has a lot of options available now. -The following methods within ResourceFactory have been marked +The following methods within :php:`ResourceFactory` have been marked as internal, and are kept for backwards-compatibility without deprecation: * :php:`ResourceFactory->getDefaultStorage()` @@ -46,7 +46,7 @@ Impact Calling the removed method will throw a fatal error. -Checking StorageRepository for an instance of AbstractRepository +Checking :php:`StorageRepository` for an instance of :php:`AbstractRepository` will have different results. @@ -60,6 +60,6 @@ API directly might use the existing functionality. Migration ========= -Migrate to the StorageRepository API in the third-party extension code. +Migrate to the :php:`StorageRepository` API in the third-party extension code. .. index:: FAL, PHP-API, FullyScanned, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92352-NewDefaultPositionForRedirectMiddleware.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92352-NewDefaultPositionForRedirectMiddleware.rst similarity index 90% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92352-NewDefaultPositionForRedirectMiddleware.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92352-NewDefaultPositionForRedirectMiddleware.rst index b06657262482e7ddaabdd1e598ffa41ac5ff6cdb..4978b28e4bdc4fe6cc7e66ecb8dc61a0c2e72343 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92352-NewDefaultPositionForRedirectMiddleware.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92352-NewDefaultPositionForRedirectMiddleware.rst @@ -9,7 +9,7 @@ See :issue:`92352` Description =========== -In TYPO3 10 introduced the feature toggle `rearrangedRedirectMiddlewares` to rearrange the middlewares +TYPO3 10 introduced the feature toggle `rearrangedRedirectMiddlewares` to rearrange the middlewares :php:`typo3/cms-redirects/redirecthandler` and :php:`typo3/cms-frontend/base-redirect-resolver`. If enabled, the the :php:`typo3/cms-redirects/redirecthandler` is executed first. @@ -41,6 +41,6 @@ Migration Manually check the position of your custom middlewares and adapt accordingly. -If needed the order of the middlewares can be switched back manually as described in the docs. +If needed the order of the middlewares can be switched back manually as described in the documentation. -.. index:: Frontend, NotScanned, ext:redirects \ No newline at end of file +.. index:: Frontend, NotScanned, ext:redirects diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92457-ExtensionRepositoryDatabaseTableRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92457-ExtensionRepositoryDatabaseTableRemoved.rst similarity index 87% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92457-ExtensionRepositoryDatabaseTableRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92457-ExtensionRepositoryDatabaseTableRemoved.rst index f89903561b9c80b7ccbcf0d5cdc6c4771445c716..b5b83b202087a6e7abdb50af014e1441ac0a7f9c 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92457-ExtensionRepositoryDatabaseTableRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92457-ExtensionRepositoryDatabaseTableRemoved.rst @@ -11,7 +11,7 @@ Description The existing extension manager had functionality to add multiple repositories by adding new database rows into the -database table `tx_extensionmanager_domain_model_repository`. +database table :sql:`tx_extensionmanager_domain_model_repository`. Because this functionality has been superseded by a configurable and more robust Remote API, where the configuration of possible @@ -22,7 +22,7 @@ the database table is removed. Impact ====== -Accessing `tx_extensionmanager_domain_model_repository` will +Accessing :sql:`tx_extensionmanager_domain_model_repository` will result in a SQL error, as existing TYPO3 installations will drop this database table in the Database Compare View during upgrade. @@ -42,7 +42,7 @@ Migration ========= Additional Extension Repositories (remotes) have to be added in -:file:`Configuration/Services.yaml` using the `extension.remote` tag. +:file:`Configuration/Services.yaml` using the :yaml:`extension.remote` tag. .. code-block:: yaml diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92497-WorkspacesMovePlaceholdersRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92497-WorkspacesMovePlaceholdersRemoved.rst similarity index 87% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92497-WorkspacesMovePlaceholdersRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92497-WorkspacesMovePlaceholdersRemoved.rst index a4d0c226362e2232d406a2fcac100f9d0c2da9ea..c425a07bdcfd660acdc7831bec63f588cbe32639 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92497-WorkspacesMovePlaceholdersRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92497-WorkspacesMovePlaceholdersRemoved.rst @@ -11,14 +11,14 @@ Description Workspaces had a so-called Move Placeholder since TYPO3 4.2, which indicated that a versioned record (the move pointer) was moved to a -new location - either on a new page or a different sorting parameter. +new location - either to a new page or to a different sorting position. When querying records in a workspace, the Move Placeholder was included in the initial database query, and then reverted to the actual live record (to get the original PID), and then overloaded with the versioned record (Move Pointer) containing other modified fields. -The main two fields of this Move Placeholder record were the PID, +The main two fields of this Move Placeholder record were the PID and the sorting, referring to the newly moved location. All other fields were insignificant. An additional field "t3ver_move_id" contained the actual live record ID. @@ -43,13 +43,13 @@ The Move Pointer is indicated like this: Due to a significant change in TYPO3 v10, the Move Pointer (versioned record) now also has the new PID, which was previously set to "-1", indicating a versioned record. However, since all information is now also available in -the Move Pointer, the move placeholder database record is unneeded. +the Move Pointer, the move placeholder database record is not needed anymore. Move Placeholders are now neither evaluated, nor created by TYPO3 Core anymore, and remaining move placeholders are removed with an Upgrade Wizard. The TCA setting :php:`$TCA[$table][ctrl][shadowColumnsForMovePlaceholders]` -is not evaluated anymore and removed on TCA building-time. +is not evaluated anymore and removed at TCA building-time. The main benefits of this change: @@ -64,17 +64,17 @@ Impact When querying database records in a workspace, all Move Pointer records are now fetched directly instead of the Move Placeholder records. -This is all done with the existing API methods in PageRepository, BackendUtility +This is all done with the existing API methods in :php:`PageRepository`, :php:`BackendUtility` and the Doctrine DBAL Workspace Restriction. -When moving a record in a workspace, Move Placeholders are not added anymore, +When moving a record in a workspace, Move Placeholders are not created anymore, making them obsolete, as all information is now stored in the Move Pointer. -The constant `VersionState::MOVE_PLACEHOLDER` is obsolete. +The constant :php:`VersionState::MOVE_PLACEHOLDER` is obsolete. Lots of internal functionality regarding move placeholders has been removed. -The ctrl section `shadowColumnsForMovePlaceholders` is automatically removed +The ctrl section :php:`$TCA[$table][ctrl][shadowColumnsForMovePlaceholders]` is automatically removed from any table with a deprecation notice. The database field :sql:`t3ver_move_id` is obsolete and not created diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92499-AdminPanelDoesNotPreviewHiddenFrontendUserGroups.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92499-AdminPanelDoesNotPreviewHiddenFrontendUserGroups.rst similarity index 80% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92499-AdminPanelDoesNotPreviewHiddenFrontendUserGroups.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92499-AdminPanelDoesNotPreviewHiddenFrontendUserGroups.rst index 85e8f1464e6b894b6742d056423aa32e0a0c4cca..5d99e66260d94c73dfe2f3b05e39e14b7a33e803 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92499-AdminPanelDoesNotPreviewHiddenFrontendUserGroups.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92499-AdminPanelDoesNotPreviewHiddenFrontendUserGroups.rst @@ -13,17 +13,17 @@ Admin Panel previously allowed to also render a page with frontend groups that were hidden / disabled. This feature has been removed, in order to ensure consistency for the authentication process. -The AbstractUserAuthentication property `showHiddenRecords` which +The property :php:`AbstractUserAuthentication::showHiddenRecords` which was used to transfer this information is removed. Impact ====== -The Admin Panel selector now only shows a list of non-hidden groups +The Admin Panel selector now only shows a list of active groups to simulate from. -Using the removed PHP property `showHiddenRecords` will result +Using the removed PHP property :php:`AbstractUserAuthentication::showHiddenRecords` will result in a PHP notice. diff --git a/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92502-MakeExtbaseHandlePSR7ResponsesOnly.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92502-MakeExtbaseHandlePSR7ResponsesOnly.rst new file mode 100644 index 0000000000000000000000000000000000000000..6d08eb924839639164ecd49b27b870332644828f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92502-MakeExtbaseHandlePSR7ResponsesOnly.rst @@ -0,0 +1,66 @@ +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #92502 - Make Extbase handle PSR-7 responses only +=========================================================== + +See :issue:`92502` + +Description +=========== + +Extbase does no longer handle/return extbase responses whose api was defined by the +interface :php:`TYPO3\CMS\Extbase\Mvc\ResponseInterface`. Instead, Extbase does create a `PSR-7` +compatible response object (see :php:`Psr\Http\Message\ResponseInterface`) and passes +it back through the request handling stack. + +Since `PSR-7` requires response objects to be immutable, it no longer makes sense to expose the response object +to the user via :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$response` +and :php:`TYPO3\CMS\Extbase\Mvc\Controller\ControllerContext->getResponse()`. + + +The following interface has been removed and is no longer usable: + +- :php:`TYPO3\CMS\Extbase\Mvc\ResponseInterface` + +The following class has been removed and is no longer usable: + +- :php:`TYPO3\CMS\Extbase\Mvc\Response` + + +Impact +====== + +Since interface :php:`TYPO3\CMS\Extbase\Mvc\ResponseInterface` and class :php:`TYPO3\CMS\Extbase\Mvc\Response` +have been removed, they can no longer be used. + +Affected Installations +====================== + +All installations that: + +* declared classes that implemented the interface :php:`TYPO3\CMS\Extbase\Mvc\ResponseInterface` +* instantiated or extended class :php:`TYPO3\CMS\Extbase\Mvc\Response` +* accessed the request object through :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$response` or :php:`TYPO3\CMS\Extbase\Mvc\Controller\ControllerContext->getResponse()` + +Migration +========= + +To regain full control over the response object, a PSR-7 compatible response object SHOULD be created in the +controller action and returned instead of returning a string or void. + +Example: + +.. code-block:: php + + public function listAction() + { + // do your action stuff + return new \TYPO3\CMS\Core\Http\HtmlResponse($this->view->render()); + } + +Further: Method :php:`TYPO3\CMS\Extbase\Mvc\Response::addAdditionalHeaderData()` +had been used to add additional header data such as css or js to the global TypoScriptFrontendController. +This has to be done via :php:`TYPO3\CMS\Core\Page\AssetCollector` now. + +.. index:: PHP-API, NotScanned, ext:extbase diff --git a/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92513-MethodSignatureChangeOfTYPO3CMSExtbaseMvcControllerControllerInterfaceprocessRequest.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92513-MethodSignatureChangeOfTYPO3CMSExtbaseMvcControllerControllerInterfaceprocessRequest.rst new file mode 100644 index 0000000000000000000000000000000000000000..1cdc691c3dde56e87bca3d6c30b50e9779f66873 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92513-MethodSignatureChangeOfTYPO3CMSExtbaseMvcControllerControllerInterfaceprocessRequest.rst @@ -0,0 +1,44 @@ +.. include:: ../../Includes.txt + +======================================================================================================================= +Breaking: #92513 - Method signature change of TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface::processRequest +======================================================================================================================= + +See :issue:`92513` + +Description +=========== + +The signature of method :php:`TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface::processRequest` +changed in the regard that no longer :php:`$request` and :php:`$response` are passed into it. +Instead, only a :php:`$request` argument is needed. Additionally, that method now requires to return a response. + + +Impact +====== + +This change affects all classes that either implement said interface directly (presumably none) +and those classes (controllers) that override method :php:`processRequest()` +of class :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController`. Those, that override said method +will experience the following fatal error: + +`Declaration of ... must be compatible with TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface::processRequest(TYPO3\CMS\Extbase\Mvc\RequestInterface $request): TYPO3\CMS\Extbase\Mvc\ResponseInterface`. + + +Affected Installations +====================== + +All installations that override method :php:`processRequest()` of class :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController`. + + +Migration +========= + +There are two steps to migrate: + +- Remove the now superfluous :php:`$response` argument +- Return a response object. + +The latter is usually achieved by calling :php:`return parent::processRequest($request)` instead of just :php:`parent::processRequest($request)`. + +.. index:: PHP-API, NotScanned, ext:extbase diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92529-AllFluidWidgetFunctionalityRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92529-AllFluidWidgetFunctionalityRemoved.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92529-AllFluidWidgetFunctionalityRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92529-AllFluidWidgetFunctionalityRemoved.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92532-SupportForExtension-in-extensionInstallationInExtensionManagerRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92532-SupportForExtension-in-extensionInstallationInExtensionManagerRemoved.rst similarity index 85% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92532-SupportForExtension-in-extensionInstallationInExtensionManagerRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92532-SupportForExtension-in-extensionInstallationInExtensionManagerRemoved.rst index 53e57609de0450c670378ddf8ba729be67d42cbc..00152c522ffa071084365ef12c7ff105b10c49ab 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92532-SupportForExtension-in-extensionInstallationInExtensionManagerRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92532-SupportForExtension-in-extensionInstallationInExtensionManagerRemoved.rst @@ -11,7 +11,7 @@ Description The installation process within the Extension Manager allowed extensions to be installed having custom dependencies to other extensions in -`EXT:my_extension/Initialisation/Extensions/third_party_ext`. +:file:`EXT:my_extension/Initialisation/Extensions/third_party_ext`. This feature was originally introduced for the Introduction Package, which had a few more dependencies until TYPO3 v9. @@ -25,7 +25,7 @@ Impact ====== If an extension is installed which contains other extensions as -dependencies in `Initialisation/Extensions/*` they are now ignored +dependencies in :file:`Initialisation/Extensions/*` they are now ignored on installation, and instead looked up in the remote TYPO3 Extension Repository, as with any other depending extension. @@ -41,6 +41,6 @@ Migration ========= Upload the proper extension into https://extensions.typo3.org and remove -the folder `Initialisation/Extensions` from any custom extensions. +the folder :file:`Initialisation/Extensions` from any custom extensions. .. index:: PHP-API, FullyScanned, ext:extensionmanager diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92558-DatabaseFieldBe_userscreatedByActionRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92558-DatabaseFieldBe_userscreatedByActionRemoved.rst similarity index 87% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92558-DatabaseFieldBe_userscreatedByActionRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92558-DatabaseFieldBe_userscreatedByActionRemoved.rst index 3f0de5cc6540dd0f9d4e4be6d9ad873dfe99b296..fde265b450e38bdb6cb7b497c94c98779095225d 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92558-DatabaseFieldBe_userscreatedByActionRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92558-DatabaseFieldBe_userscreatedByActionRemoved.rst @@ -9,7 +9,7 @@ See :issue:`92558` Description =========== -The database field `be_users.createdByAction` which was used +The database field :sql:`be_users.createdByAction` which was used as a type of history for the extracted `sys_action` extension, has been removed from TYPO3 Core. @@ -33,4 +33,4 @@ Migration Re-add this field manually if needed, otherwise it is recommended to put such information in the History functionality of TYPO3 Core. -.. index:: Database, FullyScanned, ext:core \ No newline at end of file +.. index:: Database, FullyScanned, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92559-RemovedPer-userIPLockingForBackendUsers.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92559-RemovedPer-userIPLockingForBackendUsers.rst similarity index 94% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92559-RemovedPer-userIPLockingForBackendUsers.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92559-RemovedPer-userIPLockingForBackendUsers.rst index 54a5fbb4af9c2e7e030a713e47190e0f83a1e4bb..00d86531b29bee22bd0667bf523c6a77495c62e6 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92559-RemovedPer-userIPLockingForBackendUsers.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92559-RemovedPer-userIPLockingForBackendUsers.rst @@ -31,7 +31,7 @@ Impact ====== The additional checkbox when editing a backend user is removed, -including its Database field `be_users.disableIPlock` and its TCA +including its Database field :sql:`be_users.disableIPlock` and its TCA definition. Accessing the field via a direct database request will result in a @@ -49,6 +49,7 @@ users (see :php:`$TYPO3_CONF_VARS[BE][lockIP]` and it for a specific backend user, which is highly unlikely. The latter can be identified via a SQL query: + :sql:`SELECT count(uid) AS amount FROM be_users WHERE deleted=0 AND disableIPlock=1`. @@ -59,7 +60,7 @@ It is possible that this option was set by accident from administrators. If not and some IP locking problems exist for certain backend users, it is recommended to either remove the IP locking of backend users completely via the Settings module (set system-wide options "lockIP" and "lockIPv6" to "0") -or add the functionality for your specifc use case as custom extension, e.g. by +or add the functionality for your specific use case as custom extension, e.g. by hooking into the authentication process and using the :php:`\TYPO3\CMS\Core\Authentication\IpLocker` API. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92560-BackendEditorsCanAlwaysDeletePagesRecursive.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92560-BackendEditorsCanAlwaysDeletePagesRecursive.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92560-BackendEditorsCanAlwaysDeletePagesRecursive.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92560-BackendEditorsCanAlwaysDeletePagesRecursive.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92582-ResizableTextAreaUserSettingDropped.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92582-ResizableTextAreaUserSettingDropped.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92582-ResizableTextAreaUserSettingDropped.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92582-ResizableTextAreaUserSettingDropped.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92590-RemovedSupportForExtensionUploadOfT3xFiles.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92590-RemovedSupportForExtensionUploadOfT3xFiles.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92590-RemovedSupportForExtensionUploadOfT3xFiles.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92590-RemovedSupportForExtensionUploadOfT3xFiles.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92598-Workspace-overlaysAuto-fixThePIDValueForMovedRecords.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92598-Workspace-overlaysAuto-fixThePIDValueForMovedRecords.rst similarity index 93% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92598-Workspace-overlaysAuto-fixThePIDValueForMovedRecords.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92598-Workspace-overlaysAuto-fixThePIDValueForMovedRecords.rst index 288525b50557ddc8f6910e1d585fdaa8147b119e..9a9ee2fc2a9148e564933dbc4a97541cd9eb668f 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92598-Workspace-overlaysAuto-fixThePIDValueForMovedRecords.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92598-Workspace-overlaysAuto-fixThePIDValueForMovedRecords.rst @@ -38,7 +38,7 @@ The meaning of "_ORIG_pid" has now changed: the new page in a workspace, and the "_ORIG_pid" field contains the value of the live record's "pid" field. This behavior is now streamlined with what :php:`fixVersioningPid()` was doing. - Therefore :php:`fixVersioningPid()` is now deprecated. + Therefore :php:`fixVersioningPid()` has been marked as deprecated. Impact ====== @@ -46,10 +46,10 @@ Impact When using workspaces and the API methods, the "_ORIG_pid" field is only set for moved records where a workspace overlay has been properly applied. -The "pid" field now always contains the actual pid of a versioned record in -the workspace, where as the "_ORIG_pid" contains the live records' pid value. +The "pid" field now always contains the actual pid of a versioned record in +the workspace, where as the "_ORIG_pid" contains the live record pid value. -If a moved record has been overlaid, the "_ORIG_pid" and "pid" field values +In other words: if a moved record has been overlaid, the "_ORIG_pid" and "pid" field values are now switched. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92609-UseControllerClassesWhenRegisteringPluginsmodules.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92609-UseControllerClassesWhenRegisteringPluginsmodules.rst similarity index 88% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92609-UseControllerClassesWhenRegisteringPluginsmodules.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92609-UseControllerClassesWhenRegisteringPluginsmodules.rst index 9141b02aa96444ded33c41fad23cb489e6e36a79..cd2d104954255b0eb3ca1d5eb2a6aac4c59ee1b0 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92609-UseControllerClassesWhenRegisteringPluginsmodules.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92609-UseControllerClassesWhenRegisteringPluginsmodules.rst @@ -14,7 +14,7 @@ Configuring plugins and modules via the following methods has changed in two imp * :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin` * :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule` -Both methods expect you to provide the argument :php:`$extensionName` and :php:`$controllerActions`. +Both methods expect to be provided with the arguments :php:`$extensionName` and :php:`$controllerActions`. :php:`configurePlugin` also allows the argument :php:`$nonCacheableControllerActions`. The first important change targets the :php:`$extensionName` argument. @@ -23,6 +23,8 @@ During the switch from underscore class names :php:`Tx_Extbase_Foo_Bar` to actua during the configuration of plugins. To make that possible the argument :php:`$extensionName` has been prepended with the vendor name, concatenated with dots. +Before: + .. code-block:: php <?php @@ -35,7 +37,7 @@ prepended with the vendor name, concatenated with dots. \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT ); -Setting the vendor name is deprecated and must be omitted. Instead, the vendor name will be derived +Setting the vendor name has been marked as deprecated and must be omitted. Instead, the vendor name will be derived from the controller class namespace, which leads to the second important change. Both arguments :php:`$controllerActions` and :php:`$nonCacheableControllerActions` used controller aliases as @@ -45,6 +47,8 @@ of the composer autoloader, which made it necessary to put controllers in a spec the controller accordingly. As this is no longer the case, there is no need to guess the controller class name any longer. Instead, the configuration/registration is now done with fully qualified controller class names. +After: + .. code-block:: php <?php @@ -61,7 +65,8 @@ any longer. Instead, the configuration/registration is now done with fully quali Impact ====== -Using non fully qualified class names during plugin/module registration will lead to malfunctioning plugins/modules at best. Probably an Exception will be thrown or a fatal error occurs during plugin/module dispatching. +Using non fully qualified class names during plugin/module registration will lead to malfunctioning plugins/modules at best. +Probably an Exception will be thrown or a fatal error occurs during plugin/module dispatching. Affected Installations @@ -69,8 +74,8 @@ Affected Installations All installations that use these methods: -* :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin` -* :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule` +* :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin()` +* :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule()` Migration diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92678-CssClassCheckboxInvertRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92678-CssClassCheckboxInvertRemoved.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92678-CssClassCheckboxInvertRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92678-CssClassCheckboxInvertRemoved.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92693-RemoveLinkHandlerLinktypeInLinkvalidator.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92693-RemoveLinkHandlerLinktypeInLinkvalidator.rst similarity index 78% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92693-RemoveLinkHandlerLinktypeInLinkvalidator.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92693-RemoveLinkHandlerLinktypeInLinkvalidator.rst index ce3dcc96fe2e0313d915f0c4ef61ab59d020762d..8b54eb2f6c6e315be2bcced958660a11ab599b47 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92693-RemoveLinkHandlerLinktypeInLinkvalidator.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92693-RemoveLinkHandlerLinktypeInLinkvalidator.rst @@ -13,7 +13,7 @@ Linkvalidator ships with several link type classes that are used to check specific links such as ExternalLinktype, Filelinktype etc. The link type LinkHandler is no longer used by default (see Page TSconfig -mod.linkvalidator.linktypes). It was used to check links of the extension +:typoscript:`mod.linkvalidator.linktypes`). It was used to check links of the extension "linkhandler" which is now outdated. The latest version supports TYPO3 4.1.0. LinkHandler functionality was integrated into the core in TYPO3 8, but the @@ -46,13 +46,13 @@ You should remove the linkhandler link type from the page TSconfig configuration .. code-block:: diff - - mod.linkvalidator.linktypes = db,file,external,linkhandler - + mod.linkvalidator.linktypes = db,file,external + - :typoscript:`mod.linkvalidator.linktypes = db,file,external,linkhandler` + + :typoscript:`mod.linkvalidator.linktypes = db,file,external` -You should no longer use ts:`linkhandler.reportHiddenRecords = 0`. +You should no longer use :typoscript:`linkhandler.reportHiddenRecords = 0`. .. code-block:: diff - - mod.linkvalidator.linkhandler.reportHiddenRecords = 0 + - :typoscript:`mod.linkvalidator.linkhandler.reportHiddenRecords = 0` .. index:: Backend, NotScanned, ext:linkvalidator diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92791-NewPlaceholderRecordsRemovedInWorkspaces.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92791-NewPlaceholderRecordsRemovedInWorkspaces.rst similarity index 81% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92791-NewPlaceholderRecordsRemovedInWorkspaces.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92791-NewPlaceholderRecordsRemovedInWorkspaces.rst index 6b5f054349c1848c862ab830165a080c14b55e6b..a7bb213802e0d78afb618b64563fe43f361e0254 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92791-NewPlaceholderRecordsRemovedInWorkspaces.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92791-NewPlaceholderRecordsRemovedInWorkspaces.rst @@ -24,13 +24,14 @@ modifying a live record, or moving records. Apart from having two database records created where only one contained user input, there were some conceptual drawbacks with having a placeholder record: Sorting, and type fields had to be configured via a special -`shadowColumnsForNewPlaceholders` TCA option, which wasn't kept in sync when +:php:`$TCA[$table][ctrl][shadowColumnsForNewPlaceholders]` TCA option, which wasn't kept in sync when modifying the versioned record. Both record types were identified in the database as the following: New Placeholder Record ********************** + * t3ver_state => 1 - identifying as "new placeholder" * t3ver_wsid => the ID of the workspace it was created * t3ver_oid => 0 - as it should behave as the "online version" @@ -38,6 +39,7 @@ New Placeholder Record New Versioned Record ******************** + * t3ver_state => -1 - identifying as "new record created in workspace" * t3ver_wsid => the ID of the workspace it was created * t3ver_oid => ID of the New Placeholder Record @@ -50,21 +52,21 @@ TYPO3 v11 does not create placeholder records anymore, but instead creates one record containing all information. When fetching records from the database, the new versioned records are added directly, so no overlays need to happen anymore, which speeds up performance when querying the -database via the TYPO3 Database via API classes such as `PageRepository` or -`BackendUtility`. +database via the TYPO3 Database via API classes such as :php:`PageRepository` or +:php:`BackendUtility`. Impact ====== -No records with "t3ver_state=-1" are found in the TYPO3 installation anymore. +No records with :sql:`t3ver_state=-1` are found in the TYPO3 installation anymore. When using the Doctrine DBAL API with Workspace Restrictions within a workspace, the new versions are included in the SQL query result. DataHandler will not create placeholders anymore, making the TCA option -`shadowColumnsForNewPlaceholders` obsolete. +:php:`$TCA[$table][ctrl][shadowColumnsForNewPlaceholders]` obsolete. -Using methods like `getWorkspaceVersionOfRecord` on a new versioned record +Using methods like :php:`getWorkspaceVersionOfRecord` on a new versioned record will return the same record again, as there is no "workspace version" of this record anymore. @@ -72,7 +74,7 @@ The CLI command `cleanup:versions` is adapted as the option `--action=unused_placeholders` is removed. In addition, records overlaid via the TYPO3 API classes that have been -newly created in a workspace do not carry the `ORIG_uid` information anymore +newly created in a workspace do not carry the :sql:`ORIG_uid` information anymore which keeps the UID of the versioned record. Affected Installations @@ -80,7 +82,7 @@ Affected Installations TYPO3 installations using Workspaces with newly created records that haven't been published yet, or with third-party extensions directly querying, resolving -or writing based on `t3ver_state` database fields, which is very uncommon. +or writing based on :sql:`t3ver_state` database fields, which is very uncommon. Migration ========= @@ -91,12 +93,12 @@ are records in the database that are newly created and have not been published. A TCA migration will automatically remove and log any usages of the TCA option -`shadowColumnsForNewPlaceholders`. +:php:`$TCA[$table][ctrl][shadowColumnsForNewPlaceholders]`. -It is highly recommend to use the TYPO3 API methods within Extbase, PageRepository -and BackendUtility to ensure records are resolved properly. +It is highly recommend to use the TYPO3 API methods within Extbase, :php:`PageRepository` +and :php:`BackendUtility` to ensure records are resolved properly. -At any times, it is recommended to use the `WorkspaceRestriction` of TYPO3's +At any times, it is recommended to use the :php:`WorkspaceRestriction` of TYPO3's implementation of Doctrine DBAL in conjunction with Workspace overlays. .. index:: Database, FullyScanned, ext:workspaces diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92801-RemovedFailedLoginFunctionalityFromUserAuthenticationObject.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92801-RemovedFailedLoginFunctionalityFromUserAuthenticationObject.rst similarity index 89% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92801-RemovedFailedLoginFunctionalityFromUserAuthenticationObject.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92801-RemovedFailedLoginFunctionalityFromUserAuthenticationObject.rst index 72c5c388d837d965b0261ab4b8b5d20e21650234..31a97c91ea34bbb059099a39705a7f8aa85ae33d 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92801-RemovedFailedLoginFunctionalityFromUserAuthenticationObject.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92801-RemovedFailedLoginFunctionalityFromUserAuthenticationObject.rst @@ -10,17 +10,17 @@ Description =========== The functionality to send an email to a defined sender was previously hard-coded -into the API class "AbstractUserAuthentication" and activated specifically for +into the API class :php:`AbstractUserAuthentication` and activated specifically for Backend Users via the option :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['warning_email_addr']`. -However, with some custom implementation it was also possible to use a hook to +With some custom implementation it was also possible to use a hook to enable this for frontend users, but the API was not clean. The backend-user specific logic is now extracted into a hook, so it is possible to replace this functionality with a custom notification API. For this reason, the following public properties and methods within -AbstractUserAuthentication and its subclasses have been removed: +:php:`AbstractUserAuthentication` and its subclasses have been removed: * :php:`TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->warningEmail` * :php:`TYPO3\CMS\Core\Authentication\AbstractUserAuthentication->warningPeriod` diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92802-DatabaseBasedAuthenticationTimeoutFieldRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92802-DatabaseBasedAuthenticationTimeoutFieldRemoved.rst similarity index 80% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92802-DatabaseBasedAuthenticationTimeoutFieldRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92802-DatabaseBasedAuthenticationTimeoutFieldRemoved.rst index 002caf15c86852da5a445b8d2629e76441ad58b7..b6af091596e0995b9b2acb102a1b70c3c757a21a 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92802-DatabaseBasedAuthenticationTimeoutFieldRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92802-DatabaseBasedAuthenticationTimeoutFieldRemoved.rst @@ -9,13 +9,13 @@ See :issue:`92802` Description =========== -The AbstractUserAuthentication object had the possibility to +The :php:`AbstractUserAuthentication` object had the possibility to theoretically use a database field where a session timeout value -for the session storage could be set, however this was never implemented but -rather separated into a separate property called `sessionTimeout`. +for the session storage could be set. This was never implemented but +rather separated into a separate property called :php:`sessionTimeout`. This functionality, together with the public property -:php:`auth_timeout_field` has been removed. +:php:`auth_timeout_field`, has been removed. Impact diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92807-RemovedFeatureForKeepingSessionDataOnFrontendUserLogout.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92807-RemovedFeatureForKeepingSessionDataOnFrontendUserLogout.rst similarity index 83% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92807-RemovedFeatureForKeepingSessionDataOnFrontendUserLogout.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92807-RemovedFeatureForKeepingSessionDataOnFrontendUserLogout.rst index 66653deae67034ac7fc3c2dcc005c0a323331fc0..cf22f244271c1395302f9e731316ec73557e2811 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92807-RemovedFeatureForKeepingSessionDataOnFrontendUserLogout.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92807-RemovedFeatureForKeepingSessionDataOnFrontendUserLogout.rst @@ -11,7 +11,7 @@ Description When a frontend user logged out, the session data was kept and transferred to an anonymous session when the feature -flag "security.frontend.keepSessionDataOnLogout" was enabled. +flag :php:`security.frontend.keepSessionDataOnLogout` was enabled. Since this functionality is insecure, and was only introduced to keep backwards-compatibility in a security release, the feature @@ -36,10 +36,10 @@ Migration ========= It is recommended to build the web application in a way that -the session data is not needed, and instead, a frontend user -should know that their session data is then lost. +the session data is not needed, and instead a frontend user +should know that their session data is lost upon log out. -Instead, make sure to bind user-specific data either to the +Make sure to bind user-specific data either to the frontend user itself, or re-implement this functionality yourself by using a :php:`logoff()` hook for transferring sessions to anonymous sessions. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92837-RemoveSettingModweb_layoutdisableAdvanced.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92837-RemoveSettingModweb_layoutdisableAdvanced.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92837-RemoveSettingModweb_layoutdisableAdvanced.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92837-RemoveSettingModweb_layoutdisableAdvanced.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92838-AdditionalWorkspaceServicesDropped.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92838-AdditionalWorkspaceServicesDropped.rst similarity index 93% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92838-AdditionalWorkspaceServicesDropped.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92838-AdditionalWorkspaceServicesDropped.rst index 341ae6ab2d1787789f779594e7afd336eaba07c3..f1543b67093bb5ac8844e0f4ea06257b142f2a29 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92838-AdditionalWorkspaceServicesDropped.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92838-AdditionalWorkspaceServicesDropped.rst @@ -12,7 +12,7 @@ Description Back in the ExtJS era, the workspace backend module had two PHP classes designed for extensions to add additional columns and JavaScript handling to the module. With the transition to a native JavaScript implementation of the workspace module -in core v8, this stopped working. Related classes have now been removed. +in TYPO3 v8, this stopped working. The related PHP classes have now been removed. Impact diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92853-MethodCanProcessRequestHasBeenRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92853-MethodCanProcessRequestHasBeenRemoved.rst similarity index 85% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92853-MethodCanProcessRequestHasBeenRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92853-MethodCanProcessRequestHasBeenRemoved.rst index a6bde69a5428c41d521238fa2c51e707101d0fa5..ca42663bcc01fe336bd419d9aa47de9aef9bf096 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92853-MethodCanProcessRequestHasBeenRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92853-MethodCanProcessRequestHasBeenRemoved.rst @@ -9,16 +9,16 @@ See :issue:`92853` Description =========== -Method :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController->canProcessRequest()` +Method :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController->canProcessRequest()` had been called to check if the currently passed in request could be handled by the controller. This allowed to handle additional request types other than the default one Extbase delivers. This would have only be useful if a user implemented a request which didn't extend the Extbase request and therefore didn't necessarily comply with its API. This however would have only been possible if the user registered a custom request handler, violating the method signature of -:php:`TYPO3\\CMS\\Extbase\\Mvc\\RequestHandlerInterface->handleRequest()`. +:php:`TYPO3\CMS\Extbase\Mvc\RequestHandlerInterface->handleRequest()`. -Back in 2012 this was an option to use Flow and Extbase interchangably which was +Back in 2012 this was an option to use Flow and Extbase interchangeably which was never possible, and to allow Extbase Command Controllers via a CLI Request object, which was removed in TYPO3 v10. @@ -38,8 +38,8 @@ Affected Installations ====================== All installations with Extbase controllers that have overridden property -:php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController::$supportedRequestTypes` -or method :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController->canProcessRequest()` +:php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$supportedRequestTypes` +or method :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController->canProcessRequest()` and all installations which used :php:`\TYPO3\CMS\Extbase\Mvc\Exception\UnsupportedRequestTypeException` in some way. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92940-GlobalOptionLockBeUserToDBmountsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92940-GlobalOptionLockBeUserToDBmountsRemoved.rst similarity index 95% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92940-GlobalOptionLockBeUserToDBmountsRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92940-GlobalOptionLockBeUserToDBmountsRemoved.rst index 2a72386264790024831cd82b9376ff207163eda6..6293d4f62d831ef6d068c9e20e3de5bd1d3f21ff 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92940-GlobalOptionLockBeUserToDBmountsRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92940-GlobalOptionLockBeUserToDBmountsRemoved.rst @@ -34,7 +34,7 @@ Affected Installations ====================== TYPO3 installations that have this option disabled in their system-wide -configuration in the `LocalConfiguration.php` file. +configuration in the :file:`LocalConfiguration.php` file. Migration diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92941-LockToIPUserTsConfigOptionRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92941-LockToIPUserTsConfigOptionRemoved.rst similarity index 87% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92941-LockToIPUserTsConfigOptionRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92941-LockToIPUserTsConfigOptionRemoved.rst index 83ca53007d9845e20321bba21eed4f69112a47f8..1b44b20f3f08d686a505964a8b4be6ac45fcc6dd 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92941-LockToIPUserTsConfigOptionRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92941-LockToIPUserTsConfigOptionRemoved.rst @@ -9,7 +9,7 @@ See :issue:`92941` Description =========== -The UserTsConfig setting `options.lockToIP` which allowed Backend +The UserTsConfig setting :typoscript:`options.lockToIP` which allowed Backend users or usergroups to only be valid when the user was accessing TYPO3 with a certain IP address / range list, is removed. @@ -19,12 +19,12 @@ but certainly not work on a per user/group basis. This option was only used when the global option :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['enabledBeUserIPLock']` was enabled, and -could be disabled as system-wide setting where the UserTsConfig setting wa +could be disabled as system-wide setting where the UserTsConfig setting was never evaluated anymore. The global toggle was also removed, as it did not serve any other purposes. -Sidenote: From a TYPO3-internal request workflow this feature was never part of +Side note: From a TYPO3-internal request workflow this feature was never part of the authentication process, as this usually happened after a successful user login or session activation had happened, overruling any previous Authentication Services registered. This was due to some ancient architectural decisions @@ -34,7 +34,7 @@ Services registered. This was due to some ancient architectural decisions Impact ====== -When using the UserTsConfig setting `options.lockToIP` is set, it will not be +When the UserTsConfig setting :typoscript:`options.lockToIP` is set, it will not be evaluated anymore. When set, the global configuration flag will be automatically removed when the diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92989-AbstractUserAuthentication-loginFailureRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92989-AbstractUserAuthentication-loginFailureRemoved.rst similarity index 91% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92989-AbstractUserAuthentication-loginFailureRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92989-AbstractUserAuthentication-loginFailureRemoved.rst index 1b1b3da62f01fc9766d4c9755bf356fc40d856ed..b134134f791faf53985730684e36f093fab71ebc 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92989-AbstractUserAuthentication-loginFailureRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92989-AbstractUserAuthentication-loginFailureRemoved.rst @@ -9,7 +9,7 @@ See :issue:`92989` Description =========== -The public PHP property `loginFailure` from `AbstractUserAuthentication` has +The public PHP property :php:`loginFailure` of the PHP class :php:`AbstractUserAuthentication` has been removed. This property stored information if a login attempt was made but was not successful. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92990-AbstractUserAuthentication-svConfigRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92990-AbstractUserAuthentication-svConfigRemoved.rst similarity index 66% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92990-AbstractUserAuthentication-svConfigRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92990-AbstractUserAuthentication-svConfigRemoved.rst index 1bbb770021daee756b62f0334caf9f8d77ad6ebe..055b9f1b772711ad31b4ef99d61f55087649c5d6 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92990-AbstractUserAuthentication-svConfigRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92990-AbstractUserAuthentication-svConfigRemoved.rst @@ -9,9 +9,9 @@ See :issue:`92990` Description =========== -The public property `svConfig` of the PHP class `AbstractUserAuthentication` is removed. +The public property :php:`svConfig` of the PHP class :php:`AbstractUserAuthentication` is removed. -This served as a short-hand for `$GLOBALS['TYPO3_CONF_VARS']['SVCONF']['auth']`, which was common in TYPO3 v4 days, but is +It served as a short-hand for :php:`$GLOBALS['TYPO3_CONF_VARS']['SVCONF']['auth']`, which was common in TYPO3 v4 days, but is useless nowadays. This property is removed in favor of a local variable allowing for further refactoring of the Authentication process in the future. @@ -33,6 +33,7 @@ TYPO3 installations with custom extensions with PHP code accessing the property Migration ========= -Manipulate the global array :php:`$GLOBALS['TYPO3_CONF_VARS']['SVCONF']['auth']` directly instead, preferably in `AdditionalConfiguration.php` or in an extensions' `ext_localconf.php` file. +Manipulate the global array :php:`$GLOBALS['TYPO3_CONF_VARS']['SVCONF']['auth']` directly instead, +preferably in :file:`AdditionalConfiguration.php` or in an extensions :file:`ext_localconf.php` file. -.. index:: PHP-API, FullyScanned, ext:core \ No newline at end of file +.. index:: PHP-API, FullyScanned, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92993-GenericSearchStatisticsFromIndexedSearchRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92993-GenericSearchStatisticsFromIndexedSearchRemoved.rst similarity index 77% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92993-GenericSearchStatisticsFromIndexedSearchRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92993-GenericSearchStatisticsFromIndexedSearchRemoved.rst index 55ad3cc658d6ef16788e162014022c53b563af6a..c1b2dbc8caa6c5241c4fdfc9d2570136e5e7baed 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92993-GenericSearchStatisticsFromIndexedSearchRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92993-GenericSearchStatisticsFromIndexedSearchRemoved.rst @@ -9,17 +9,17 @@ See :issue:`92993` Description =========== -When using TYPO3 Core's built-in Frontend Search ("Indexed Search"), search +When using TYPO3 Cores built-in Frontend Search ("Indexed Search"), search statistics were written which were never evaluated, but might contain user-specific information about logged-in users and their previously used sessions, which might be conflicting with privacy policies. The IP Address could be masked via Indexed Search Extension Setting -`trackIpInStatistic` which is now removed, along the database table -`index_search_stat`. +:php:`trackIpInStatistic` which is now removed, along the database table +:sql:`index_search_stat`. -However, TYPO3 also stores statistics on the searched word, which is evaluated +TYPO3 also stores statistics on the searched word, which is evaluated in the TYPO3 Backend, and kept. @@ -29,7 +29,7 @@ Impact Searching within Indexed Search will only track the searched words, but not additional meta data anymore. -The database table `index_search_stat` is not available anymore, along with the +The database table :sql:`index_search_stat` is not available anymore, along with the Extension setting to disable IP address tracking, as nothing is tracked anymore. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92997-Authentication-relatedHTTPCacheHeadersAreEmittedOnlyByPSR-15Middlewares.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92997-Authentication-relatedHTTPCacheHeadersAreEmittedOnlyByPSR-15Middlewares.rst similarity index 86% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-92997-Authentication-relatedHTTPCacheHeadersAreEmittedOnlyByPSR-15Middlewares.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92997-Authentication-relatedHTTPCacheHeadersAreEmittedOnlyByPSR-15Middlewares.rst index 406e7a04a42ab4d18d0f886baf9727beb93b092b..31160736258a0f3cbde2f88426bbf32651ab4e17 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92997-Authentication-relatedHTTPCacheHeadersAreEmittedOnlyByPSR-15Middlewares.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-92997-Authentication-relatedHTTPCacheHeadersAreEmittedOnlyByPSR-15Middlewares.rst @@ -10,7 +10,7 @@ Description =========== In previous TYPO3 versions, when a user session was initiated or set -(e.g. due to login or cookie), :php:`AbstractUserAuthentication` was instructed +(e.g. due to login or cookie), class :php:`AbstractUserAuthentication` was instructed to send HTTP headers immediately via the PHP function :php:`header()`. These headers were sent directly to the client without having a chance to @@ -21,7 +21,7 @@ These HTTP headers for not caching a HTTP response were already attached to the PSR-7 Response when an active Backend user was available in Frontend and Backend requests, but not when a Frontend user was logged in. -The internal methods in :php:`AbstractUserAuthentication` are removed. +The internal methods in class :php:`AbstractUserAuthentication` are removed. Impact ====== @@ -35,7 +35,7 @@ Affected Installations ====================== TYPO3 installations with custom extensions manipulating HTTP headers or the -options within `AbstractUserAuthentication` to send such headers. +options within class :php:`AbstractUserAuthentication` to send such headers. Migration diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93002-SupportForSessionTransferViaFE_SESSION_KEYRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93002-SupportForSessionTransferViaFE_SESSION_KEYRemoved.rst similarity index 64% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93002-SupportForSessionTransferViaFE_SESSION_KEYRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93002-SupportForSessionTransferViaFE_SESSION_KEYRemoved.rst index 2df08d31507b937bfd51f55cd103db1cfe72ad3d..bcfb3f6c221e8b546333738b9fdbc1a61a9ffbc6 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93002-SupportForSessionTransferViaFE_SESSION_KEYRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93002-SupportForSessionTransferViaFE_SESSION_KEYRemoved.rst @@ -9,12 +9,12 @@ See :issue:`93002` Description =========== -TYPO3's Frontend Session Handling has had a custom feature by setting a custom -GET variable called `FE_SESSION_KEY` to inject an existing session into a +TYPO3s Frontend Session Handling has had a custom feature by setting a custom +GET variable called :html:`FE_SESSION_KEY` to inject an existing session into a Frontend Request without having a cookie sent as response. This seldom used feature, which was limited to Frontend sessions only, and -required knowledge of third-party integrations for TYPO3's encryption key to +required knowledge of third-party integrations for TYPO3s encryption key to create such a session key is removed. Features for integrating sessions should instead be built with custom @@ -24,15 +24,15 @@ AuthenticationServices, e.g. for Single-Sign-On functionality. Impact ====== -Calling TYPO3's Frontend with `FE_SESSION_KEY` as GET parameter has no effect -anymore, and will not pick up an existing session anymore. +Calling TYPO3s Frontend with :html:`FE_SESSION_KEY` as GET parameter has no effect +anymore and will not pick up an existing session. Affected Installations ====================== -TYPO3 installations using this `FE_SESSION_KEY` which is very rare and unlikely -to be used in the past. +TYPO3 installations using this :html:`FE_SESSION_KEY` which is very rare and unlikely +to be used. Migration diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93003-LimitationOfPageRendererToOnlyRenderFullPage.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93003-LimitationOfPageRendererToOnlyRenderFullPage.rst similarity index 74% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93003-LimitationOfPageRendererToOnlyRenderFullPage.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93003-LimitationOfPageRendererToOnlyRenderFullPage.rst index 23ef31074c3ee8f5cc269376101dc58cb4ee58fe..1d92d9cdfba79b4efdbcbcc89fd66943789156fe 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93003-LimitationOfPageRendererToOnlyRenderFullPage.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93003-LimitationOfPageRendererToOnlyRenderFullPage.rst @@ -1,15 +1,15 @@ .. include:: ../../Includes.txt -====================================================================== -Breaking: #93003 - Limitation of PageRenderer to only render full page -====================================================================== +====================================================== +Breaking: #93003 - PageRenderer renders only full page +====================================================== See :issue:`93003` Description =========== -TYPO3's main API class to build a ready HTML page for Frontend +TYPO3s main API class to build a full HTML page for Frontend and Backend rendering - :php:`PageRenderer` - previously allowed to only render the header or footer separately, which was built due to historical reasons when rendering content. @@ -18,7 +18,7 @@ This is however obsolete and TYPO3 Core only renders full pages in Frontend and Backend internally. For this reason, PageRenderer's :php:`render` method does not accept -any method arguments anymore and always renders the full HTML page. +any method arguments anymore and always renders the complete HTML page. In addition, the constants @@ -34,7 +34,7 @@ Impact ====== Calling :php:`PageRenderer->render()` does not respect any given -method argument anymore. +method argument. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93023-ReworkedSessionHandling.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93023-ReworkedSessionHandling.rst similarity index 90% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93023-ReworkedSessionHandling.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93023-ReworkedSessionHandling.rst index f2abc5c58891b67ab92c9574e88b75bd83a8ca05..b30a5c1ba668121eec5770d35274a0c12f5b3cb8 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93023-ReworkedSessionHandling.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93023-ReworkedSessionHandling.rst @@ -15,7 +15,7 @@ The overall session handling withing TYPO3 Core has been overhauled. This was done to separate the actual User object, the Authentication process and the session handling. -Therefore, the main difference is that the user authentication objects such as +The main result of this refactoring is the user authentication objects such as :php:`BackendUserAuthentication` and :php:`FrontendUserAuthentication` do not longer contain the session data directly. Instead this is now encapsulated in a :php:`UserSession` object which is handled by the new @@ -29,11 +29,11 @@ outside of the new session manager anymore. For this purpose there are several changes within the user authentication classes which are described below. -The array `AbstractUserAuthentication->user` previously contained the logged-in +The array :php:`AbstractUserAuthentication->user` previously contained the logged-in user record (from be_users / fe_users database table) AND the session record -prefixed via `ses_*` array properties. This has been removed, to separate +prefixed via :php:`ses_*` array properties. This has been removed, to separate the functionality. Instead, all session properties are placed inside the -`UserSession` object, accessible via e.g. `$GLOBALS[BE_USER]->getSession()`. +:php:`UserSession` object, accessible via e.g. :php:`$GLOBALS[BE_USER]->getSession()`. The following public properties within :php:`AbstractUserAuthentication` and its subclasses have been removed: @@ -105,7 +105,7 @@ The :php:`sessionTimeout` property is now set internally to the value of the global configuration :php:`(int)$GLOBALS['TYPO3_CONF_VARS'][$loginType]['sessionTimeout'];`. This value can also be set dynamically in e.g. a middleware if needed. Because it is only needed for User Session objects, it is now resolved within -the `UserSessionManager` object. +the :php:`UserSessionManager` object. :php:`gc_time` is still set to `86400` per default and will be overwritten with the value from :php:`sessionTimeout` (see above) if greater than `0`. @@ -118,10 +118,10 @@ on another value you can call :php:`UserSessionManager->collectGarbage()` in your code by providing a custom value as first argument for :php:`$garbageCollectionProbability`. -The property `newSessionID` is now available in :php:`UserSession->isNew()`. +The property :php:`newSessionID` is now available in :php:`UserSession->isNew()`. Use the :php:`UserSessionManager->elevateToFixatedUserSession()` as a -replacement for :php:`getNewSessionRecord()` to migrate an anoymous session +replacement for :php:`getNewSessionRecord()` to migrate an anonymous session to a user-bound session. If you directly call :php:`createUserSession()` in your custom code make sure @@ -141,7 +141,7 @@ then they have to be adjusted accordingly. The :sql:`fe_sessions.ses_anonymous` field is not needed anymore since this information can also be obtained using the :sql:`fe_sessions.ses_userid` field. If it's lower or equals `0` the session is an anonymous one. If you perform -database queries using this field, change it to use use `ses_userid` instead. +database queries using this field, change it to use use :sql:`ses_userid` instead. If a session is anonymous can furthermore be checked using :php:`UserSession->isAnonymous()`. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93029-DroppedDeletedFieldFromSys_refindex.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93029-DroppedDeletedFieldFromSys_refindex.rst similarity index 93% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93029-DroppedDeletedFieldFromSys_refindex.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93029-DroppedDeletedFieldFromSys_refindex.rst index 90ad6b208a1f5a3e5f52b4c9e893c10b0403aa54..4941f5d7503e889957b68edf90dae25d0f2dbaa3 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93029-DroppedDeletedFieldFromSys_refindex.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93029-DroppedDeletedFieldFromSys_refindex.rst @@ -39,8 +39,9 @@ Impact ====== Accessing the properties of class :php:`ReferenceIndex` or calling -dropped or protected methods will raise fatal PHP errors. Querying -the :sql:`deleted` field of table :sql:`sys_refindex` will raise a +dropped or protected methods will raise fatal PHP errors. + +Querying the :sql:`deleted` field of table :sql:`sys_refindex` will raise a doctrine dbal exception. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93041-RemoveTypoScriptOptionAddQueryStringmethod.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93041-RemoveTypoScriptOptionAddQueryStringmethod.rst similarity index 89% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93041-RemoveTypoScriptOptionAddQueryStringmethod.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93041-RemoveTypoScriptOptionAddQueryStringmethod.rst index e6f62185e72dff3ecbcc46324f5120e95df8c644..18d19bec4a2c56aca6029f6f0714c09d203f089c 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93041-RemoveTypoScriptOptionAddQueryStringmethod.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93041-RemoveTypoScriptOptionAddQueryStringmethod.rst @@ -20,7 +20,7 @@ requests, and with routing. The option itself is removed, in order to have TYPO3 use the same values throughout TYPO3 Core, making `method = GET` the default and thus, the only option. -To further streamline TYPO3's source code, the underlying PHP method +To further streamline TYPO3s source code, the underlying PHP method :php:`ContentObjectRenderer->getQueryArguments()` now only accepts exactly one argument. @@ -30,8 +30,7 @@ do not change any behavior anymore related to building an Uri. Impact ====== -Calling :php:`UriBuilder->setAddQueryStringMethod()` will trigger a -deprecation notice. +Calling :php:`UriBuilder->setAddQueryStringMethod()` will trigger a PHP :php:`E_USER_DEPRECATED` error. Calling :php:`ContentObjectRenderer->getQueryArguments()` with more than one argument will have no effect anymore. @@ -56,12 +55,9 @@ Affected Installations Any TYPO3 installation -* with extensions calling Extbase's :php:`UriBuilder->setAddQueryStringMethod()` -method -* with extensions calling :php:`ContentObjectRenderer->getQueryArguments()` -with more then one argument -* with custom templates setting the :html:`addQueryStringMethod` argument -in Fluid using one of the mentioned ViewHelper. +* with extensions calling Extbase's :php:`UriBuilder->setAddQueryStringMethod()` method +* with extensions calling :php:`ContentObjectRenderer->getQueryArguments()` with more then one argument +* with custom templates setting the :html:`addQueryStringMethod` argument in Fluid using one of the mentioned ViewHelper. Migration diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93047-RemovedPropertySendNoCacheHeadersInAbstractUserAuthentication.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93047-RemovedPropertySendNoCacheHeadersInAbstractUserAuthentication.rst similarity index 70% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93047-RemovedPropertySendNoCacheHeadersInAbstractUserAuthentication.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93047-RemovedPropertySendNoCacheHeadersInAbstractUserAuthentication.rst index fe2fa0f291b1c29c091062fde251369f7bf06c6e..6c680b79debcb1b457d3da251dbf41ce20c92193 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93047-RemovedPropertySendNoCacheHeadersInAbstractUserAuthentication.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93047-RemovedPropertySendNoCacheHeadersInAbstractUserAuthentication.rst @@ -9,19 +9,19 @@ See :issue:`93047` Description =========== -The public property `sendNoCacheHeaders` of AbstractUserAuthentication which was -set to default, but disabled in Frontend User objects, ensured that appropriate +The public property :php:`sendNoCacheHeaders` of class :php:`AbstractUserAuthentication` which was +enabled by default, but disabled in Frontend User objects, ensured that appropriate HTTP headers telling the client that this HTTP request is not allowed to be cached by the client. This property is removed, as this is now built into PSR-15 middlewares for -Backend Users (both Frontend and Backend) since TYPO3 v10. +both Frontend and Backend users since TYPO3 v10. Impact ====== -Setting the property `sendNoCacheHeaders` has no effect anymore. +Setting the property :php:`sendNoCacheHeaders` has no effect anymore. Affected Installations @@ -35,7 +35,7 @@ Migration ========= Use a PSR-15 middleware to set headers depending on your needs, -if TYPO3's default header evaluation does not fit your needs +if TYPO3s default header evaluation does not fit your requirements in Frontend Requests. .. index:: Backend, Frontend, PHP-API, FullyScanned, ext:frontend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93048-BackendURLRewrites.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93048-BackendURLRewrites.rst similarity index 75% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93048-BackendURLRewrites.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93048-BackendURLRewrites.rst index 4f2870738acb15d16e6e214c100050b48b814375..a71cdc5b934f880e2fc526c338b40191dc012378 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93048-BackendURLRewrites.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93048-BackendURLRewrites.rst @@ -11,19 +11,19 @@ See :issue:`93048` Description =========== -To introduce speaking urls to the TYPO3 backend, a new rewrite +To introduce human readable urls to the TYPO3 backend, a new rewrite rule for the backend is necessary. Therefore the rewrite process -should not longer be stopped if the `typo3/` directory is accessed, +should not longer be stopped if the :file:`typo3/` directory is accessed, like it was configured for a long time. Instead, all requests below -`/typo3/` which do not exist, are now redirected to the TYPO3 Backend +:file:`/typo3/` which do not exist, are now redirected to the TYPO3 Backend entry point. -Further do the Backend URLs now not longer require the `&route=` +Further do the Backend URLs now not longer require the :html:`&route=` parameter since its value is now part of the URL. For example the -main entry point changed from `/typo3/index.php?route=%2Fmain` to -`/typo3/main`. +main entry point changed from :html:`/typo3/index.php?route=%2Fmain` to +:html:`/typo3/main`. -The `&route=` parameter will however be still applied to the URL +The :html:`&route=` parameter will however be still applied to the URL for backwards compatibility. @@ -62,18 +62,18 @@ installation process, as basis. No worries, some custom adjustments like redirects do not prevent the update. Only the default rewrite rules must be in place. -If you howver use a fully custom configuration, especially when using +If you however use a fully custom configuration, especially when using a custom entry point for the backend, you may have to perform the necessary changes manually. Therefore, please have a look at the changes -to the default `.htaccess` configuration, as example. +to the default :file:`.htaccess` configuration, for reference. -Before: +Apache Config before: .. code-block:: none RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/) - [L] -After: +Apache Config after: .. code-block:: none @@ -85,6 +85,15 @@ After: RewriteCond %{REQUEST_URI} ^/typo3/.*$ RewriteRule ^typo3/(.*)$ %{ENV:CWD}typo3/index.php [QSA,L] +For Nginx, add following block: + +.. code-block:: none + + location /typo3/ { + absolute_redirect off; + try_files $uri /typo3/index.php$is_args$args; + } + Additionally, make sure to use the public :php:`UriBuilder` API for all custom generated backend links. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93056-RemovedHooksWhenRetrievingBackendUserGroups.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93056-RemovedHooksWhenRetrievingBackendUserGroups.rst similarity index 80% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93056-RemovedHooksWhenRetrievingBackendUserGroups.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93056-RemovedHooksWhenRetrievingBackendUserGroups.rst index b94f14e4cff5b120073eef1ec5b38b40bb3db427..75a449a5f3efb05924aa810a8db118e8d5a6eaac 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93056-RemovedHooksWhenRetrievingBackendUserGroups.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93056-RemovedHooksWhenRetrievingBackendUserGroups.rst @@ -10,20 +10,20 @@ Description =========== When the user groups of a backend user are loaded, two hooks -(before fetching and after fetching) were in place to modify the +(before and after fetching) were in place to modify the list of groups. :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauthgroup.php']['fetchGroupQuery']` :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauthgroup.php']['fetchGroups_postProcessing']` -This functionality is replaced by a new PHP "GroupResolver" class, +This functionality is replaced by a new PHP :php:`GroupResolver` class, the hooks have been removed, and a new Event has been added instead. Impact ====== -Using this hook has no effect anymore, as the hooks are never called in TYPO3 v11.0. +Using those hooks has no effect anymore, as the hooks are never called in TYPO3 v11. Affected Installations @@ -38,7 +38,7 @@ Migration ========= When user groups are loaded, for example when a backend editors' groups and permissions -are calculated, a new PSR-14 event `AfterGroupsResolvedEvent` is fired. +are calculated, a new PSR-14 event :php:`AfterGroupsResolvedEvent` is fired. The hooks have been removed without deprecation in order to allow extensions to make their extension compatible with TYPO3 v10 (using the hooks), diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93062-VariousGroup-relatedPublicPropertiesInBE_USERRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93062-VariousGroup-relatedPublicPropertiesInBE_USERRemoved.rst similarity index 76% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93062-VariousGroup-relatedPublicPropertiesInBE_USERRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93062-VariousGroup-relatedPublicPropertiesInBE_USERRemoved.rst index e6c878a491717cdcbd4a8c9963caab109b09a2f6..ba279e593e52ad83bc17981c34ff6778b72a3825 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93062-VariousGroup-relatedPublicPropertiesInBE_USERRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93062-VariousGroup-relatedPublicPropertiesInBE_USERRemoved.rst @@ -9,7 +9,7 @@ See :issue:`93062` Description =========== -The PHP API class `BackendUserAuthentication` was built back in +The PHP API class :php:`BackendUserAuthentication` was built back in PHP4 days and had a few public properties which have been removed. Their purpose was to store data between methods while resolving @@ -23,25 +23,25 @@ information already anyways. Impact ====== -Accessing or setting these properties have no effect anymore. +Accessing or setting these properties will raise a PHP warning. Affected Installations ====================== TYPO3 installations with third-party extensions accessing these -`BackendUserAuthentication` properties, which is highly unlikely, +:php:`BackendUserAuthentication` properties, which is highly unlikely, or because they were built 10 years ago, still accessing these properties. Migration ========= -Use `BackendUserAuthentication->userGroupsUID` (array of group UIDs) instead, +Use :php:`BackendUserAuthentication->userGroupsUID` (array of group UIDs) instead, which contains the groups in the proper order on how they were resolved. If this is not needed directly, it is usually highly recommended to use the -Context API's "backend.user" aspect to retrieve a user's groups of a +Context API's "backend.user" aspect to retrieve groups of a backend user. .. index:: PHP-API, FullyScanned, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93073-AbstractUserAuthentication-forceSetCookieRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93073-AbstractUserAuthentication-forceSetCookieRemoved.rst similarity index 85% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93073-AbstractUserAuthentication-forceSetCookieRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93073-AbstractUserAuthentication-forceSetCookieRemoved.rst index a4f8e5b48b16d07e0be7f3c99d80c032198aef82..ad1fe7df46561d1e279793c1a39db26822feabd8 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93073-AbstractUserAuthentication-forceSetCookieRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93073-AbstractUserAuthentication-forceSetCookieRemoved.rst @@ -9,13 +9,13 @@ See :issue:`93073` Description =========== -The public property `forceSetCookie` -is removed from the PHP class `AbstractUserAuthentication`. +The public property :php:`forceSetCookie` +is removed from the PHP class :php:`AbstractUserAuthentication`. This property served to ensure that a cookie should be added at any times, which is useful for time-based cookies, which only happen in Frontend user sessions. This property is now moved as a protected -property into the FrontendUserAuthentication class and used in this class +property into the :php:`FrontendUserAuthentication` class and used in this class solely to reduce the complexity of the internal logic as well as outside API. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93077-RemovedUnneededConfigurationsInPageLayoutView.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93077-RemovedUnneededConfigurationsInPageLayoutView.rst similarity index 89% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93077-RemovedUnneededConfigurationsInPageLayoutView.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93077-RemovedUnneededConfigurationsInPageLayoutView.rst index d917a7b070b2b07586cf8b5b1d86e0caad51c567..5e3a564ce624144849f8cf7a464f9e5735d72d64 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93077-RemovedUnneededConfigurationsInPageLayoutView.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93077-RemovedUnneededConfigurationsInPageLayoutView.rst @@ -19,7 +19,7 @@ Impact ====== The settings :ts:`mod.web_layout.disableIconToolbar` and :ts:`mod.web_layout.disableSearchBox` are -not evaluated anymore and the edit button and the searchbox are always shown in the page module. +not evaluated anymore and the edit button and the search box are always shown in the page module. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93080-RelationHandlerInternalsProtected.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93080-RelationHandlerInternalsProtected.rst similarity index 96% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93080-RelationHandlerInternalsProtected.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93080-RelationHandlerInternalsProtected.rst index a598571d3b74b42d7f0f3661241d9c9ab13b37cd..cbfe277d90a2d028e432639ce4d0334621a7b52f 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93080-RelationHandlerInternalsProtected.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93080-RelationHandlerInternalsProtected.rst @@ -24,6 +24,8 @@ Various properties and methods of class * :php:`$MM_hasUidField` - internal * :php:`$MM_insert_fields` - internal * :php:`$MM_table_where` - internal + + * :php:`getWorkspaceId()` - internal * :php:`setUpdateReferenceIndex()` - still public but deprecated, logs deprecation on use. * :php:`readList()` - use class state after calling start() @@ -37,7 +39,7 @@ Various properties and methods of class Impact ====== -Calling above properties or methods will raise a fatal PHP error. +Calling above properties or methods will raise a PHP fatal error. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93081-RemovedFetchingTranslationFileMirrorFromTypo3org.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93081-RemovedFetchingTranslationFileMirrorFromTypo3org.rst similarity index 89% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93081-RemovedFetchingTranslationFileMirrorFromTypo3org.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93081-RemovedFetchingTranslationFileMirrorFromTypo3org.rst index b861d3fb838d13b577b65a4b6121baccdc0ef0ef..7328dbc22f57d2993c3c4b8548e931ae39da23a5 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93081-RemovedFetchingTranslationFileMirrorFromTypo3org.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93081-RemovedFetchingTranslationFileMirrorFromTypo3org.rst @@ -19,7 +19,7 @@ Impact The URL `https://localize.typo3.org/xliff/` is always used and typo3.org is not contacted anymore. -If any extension has overriden the information in the registry, this path won't be taken into account anymore. +If any extension has overridden the information in the registry, this path won't be taken into account anymore. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93083-Classext_updatephpHandlingRemoved.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93083-Classext_updatephpHandlingRemoved.rst similarity index 92% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93083-Classext_updatephpHandlingRemoved.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93083-Classext_updatephpHandlingRemoved.rst index b01dd36a0df09195a2dce722c809f0bbef83ac6a..ba317da25ce715cf3d9df6351cedd3ba8602b4a2 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93083-Classext_updatephpHandlingRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93083-Classext_updatephpHandlingRemoved.rst @@ -11,11 +11,11 @@ Description Handling of old :file:`class.ext_update.php` update scripts has been dropped: The core introduced a much more solid API for extensions to -perform upgrades with the release of core v9 already. That API matured +perform upgrades with the release of TYPO3 v9. That API matured and many extensions use it in favor of the clumsy :file:`class.ext_update.php` solution. Removal of this functionality within the extension manager has been long overdue and is finally done -with core v11. +with TYPO3 v11. Impact diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93093-ReworkShortcutPHPAPI.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93093-ReworkShortcutPHPAPI.rst similarity index 76% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93093-ReworkShortcutPHPAPI.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93093-ReworkShortcutPHPAPI.rst index 161c759c93b8521a61e2b7ec027250b6687ae086..cb84e46b32bccfc37f2235427a5d3898c48964e0 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93093-ReworkShortcutPHPAPI.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93093-ReworkShortcutPHPAPI.rst @@ -11,18 +11,17 @@ See :issue:`93093` Description =========== -The Shortcut PHP API previously has the full URL of the shortcut target -stored in the :sql:`sys_be_shortcuts` table. It however turned out that -this is not working well, error-prone and laborious. For example, all +The Shortcut PHP API used to store the full URL of the shortcut target +in the :sql:`sys_be_shortcuts` table. It turned out that +this is not working well, but error-prone and laborious. For example, all created shortcuts are automatically invalid as soon as the corresponding module changed its route path. Furthermore the :sql:`url` column included the token which was actually never used but regenerated on every link generation, e.g. when reloading the backend. Since even the initial `returnUrl` was stored in the database, a shortcut which linked to -FormEngine has returned to this initial url forever. Even after years -when the initial target may no longer available. +FormEngine has returned to this initial url. -All these characteristics opposes the introduction of speaking urls for +All these characteristics oppose the introduction of speaking urls for the TYPO3 backend. Therefore, the internal handling and registration of the Shortcut PHP API was reworked. @@ -30,52 +29,51 @@ A shortcut record does now not longer store the full url of the shortcut target but instead only the modules route identifier and the necessary arguments (parameters) for the URL. -The columns :sql:`module_name` and :sql:`url` of the :php:`sys_be_shortcuts` +The fields :sql:`module_name` and :sql:`url` of the :php:`sys_be_shortcuts` table have been replaced with: * :sql:`route` - Contains the route identifier of the module to link to -* :sql:`arguments` - Contains all necessary arguments (parameters) for the -link as JSON encoded string +* :sql:`arguments` - Contains all necessary arguments (parameters) for the link as JSON encoded string -The :sql:`arguments` column does therefore not longer store any of the +The :sql:`arguments` field not longer stores any of the following parameters: * `route` * `token` * `returnUrl` -Shortcuts are usually created through the JavaScript function +Shortcuts are usually created by the JavaScript function :js:`TYPO3.ShortcutMenu.createShortcut()` which performs an AJAX call to :php:`ShortcutController->addAction()`. The parameter signature of the -JavaScript function has therefore been changed and the :php:`addAction()` +JavaScript function has been changed and the :php:`addAction()` method does now feature an additional result string `missingRoute`, in case -no `routeIdentifier` was provided in the AJAX call. +no :js:`routeIdentifier` was provided in the AJAX call. The parameter signature changed as followed: .. code-block:: javascript // Old signature: - public createShortcut( + public createShortcut( moduleName: string, url: string, confirmationText: string, motherModule: string, shortcutButton: JQuery, displayName: string, - ) + ) - // New signature: - public createShortcut( + // New signature: + public createShortcut( routeIdentifier: string, routeArguments: string, displayName: string, confirmationText: string, shortcutButton: JQuery, - ) + ) The :php:`TYPO3\CMS\Backend\Template\Components\Buttons\Action\ShortcutButton` -API for generating such creation links now provides a new public method +API for generating such links now provides a new public method :php:`setRouteIdentifier()` which replaces the deprecated :php:`setModuleName()` method. See :ref:`changelog-Deprecation-93093-DeprecateMethodNameInShortcutPHPAPI` for @@ -98,12 +96,12 @@ querying these columns will raise a doctrine dbal exception. Affected Installations ====================== -Installations with already created shortcuts. +Installations with created shortcuts. Installations with custom extensions directly calling -:js:`TYPO3.ShortcutMenu.createShortcut()` with the old parameter signatur. +:js:`TYPO3.ShortcutMenu.createShortcut()` with the old parameter signature. -Installations with custom extensions, directly using the columns +Installations with custom extensions, directly using the database columns :sql:`module_name` and :sql:`url` or relying on them being filled. Installations with custom extensions using deprecated functionality of diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93108-ReworkedInternalUserGroupFetchingForFrontendUsers.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93108-ReworkedInternalUserGroupFetchingForFrontendUsers.rst similarity index 93% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93108-ReworkedInternalUserGroupFetchingForFrontendUsers.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93108-ReworkedInternalUserGroupFetchingForFrontendUsers.rst index 9c1d2713faaa254ae93bb53795aeb0aafdf1b98d..8a67b1b33c48a9cd5694a98d57157e75e5cb45fc 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93108-ReworkedInternalUserGroupFetchingForFrontendUsers.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93108-ReworkedInternalUserGroupFetchingForFrontendUsers.rst @@ -14,7 +14,7 @@ backend users, making it easier to exchange functionality by unifying the code base. In previous versions, the Authentication Service was used to fetch groups and -enable groups, which can be achieved via the `AfterGroupsResolved` PSR-14 event. +enable groups, which can be achieved via the :php:`AfterGroupsResolved` PSR-14 event. Fetching groups and permissions belongs to authorization, and not authentication (identities), where this removal is conceptually suited outside of @@ -29,7 +29,7 @@ The respective methods and properties have been removed. At the same time, much of the PHP 4-based code base from frontend users -within `FrontendUserAuthentication` has been marked as internal or removed +within :php:`FrontendUserAuthentication` has been marked as internal or removed completely, allowing this information not to be read or modified from the outside anymore. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-93110-IndexedSearchDoesNotProvideHookForEXTcrawlerAnymore.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93110-IndexedSearchDoesNotProvideHookForEXTcrawlerAnymore.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Breaking-93110-IndexedSearchDoesNotProvideHookForEXTcrawlerAnymore.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Breaking-93110-IndexedSearchDoesNotProvideHookForEXTcrawlerAnymore.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-91606-GlobalDatetimePickerInitialization.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-91606-GlobalDatetimePickerInitialization.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-91606-GlobalDatetimePickerInitialization.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-91606-GlobalDatetimePickerInitialization.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-91911-OptionElOfTypeJQueryInFormEnginesetSelectOptionFromExternalSource.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-91911-OptionElOfTypeJQueryInFormEnginesetSelectOptionFromExternalSource.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-91911-OptionElOfTypeJQueryInFormEnginesetSelectOptionFromExternalSource.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-91911-OptionElOfTypeJQueryInFormEnginesetSelectOptionFromExternalSource.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92062-MigrateRecordListControllerHooksToAnPSR-14Event.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92062-MigrateRecordListControllerHooksToAnPSR-14Event.rst similarity index 85% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92062-MigrateRecordListControllerHooksToAnPSR-14Event.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92062-MigrateRecordListControllerHooksToAnPSR-14Event.rst index c3ab64b344321d9d839c4abbcb4ef29441614e22..f4d2f1b996c06b4ebc533f685130dd8d6993a017 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92062-MigrateRecordListControllerHooksToAnPSR-14Event.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92062-MigrateRecordListControllerHooksToAnPSR-14Event.rst @@ -1,8 +1,8 @@ .. include:: ../../Includes.txt -=========================================================================== -Deprecation: #92062 - Migrate RecordListController hooks to an PSR-14 event -=========================================================================== +======================================================================== +Deprecation: #92062 - Migrate RecordListController hooks to PSR-14 event +======================================================================== See :issue:`92062` @@ -14,13 +14,13 @@ The following hooks have been marked as deprecated: * :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawHeaderHook']` * :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawFooterHook']` -Both hooks could be used to add content before or after the main content of the list module. +Both hooks were used to add content before or after the main content of the list module. Impact ====== -Using the hooks still works as before, but a deprecation message is triggered. -The hooks will be removed and stop working in TYPO3 v12.0. +Using the hooks still works as before, but trigger a PHP :php:`E_USER_DEPRECATED` error. +The hooks will be removed and stop working in TYPO3 v12. Please migrate to the PSR-14 event: :php:`TYPO3\CMS\Recordlist\Event\RenderAdditionalContentToRecordListEvent`. diff --git a/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92080-DeprecatedQueryGeneratorAndQueryView.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92080-DeprecatedQueryGeneratorAndQueryView.rst new file mode 100644 index 0000000000000000000000000000000000000000..f1f433880ecff56fc234ec4f530581aa6875e0d1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92080-DeprecatedQueryGeneratorAndQueryView.rst @@ -0,0 +1,37 @@ +.. include:: ../../Includes.txt + +================================================== +Deprecation: #92080 - QueryGenerator and QueryView +================================================== + +See :issue:`92080` +See :issue:`92129` + +Description +=========== + +The classes :php:`TYPO3\CMS\Core\Database\QueryGenerator` and +:php:`TYPO3\CMS\Core\Database\QueryView` have been marked as deprecated. + + +Impact +====== + +Using the classes will trigger a PHP :php:`E_USER_DEPRECATED` error. + + +Affected Installations +====================== + +Both classes have been used within the backend only, the method +:php:`getTreelist()` has been used occasionally by backend extensions to recursively +fetch children of pages. Even if they are quite inflexible, some extensions may rely +on them. The extension scanner will find class usages with a strong match. + + +Migration +========= + +As most simple solutions, the :php:`getTreeList` method could be copied over to an own extension. + +.. index:: Backend, PHP-API, FullyScanned, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92132-DeprecatedShortcutPHPAPI.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92132-DeprecatedShortcutPHPAPI.rst similarity index 84% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92132-DeprecatedShortcutPHPAPI.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92132-DeprecatedShortcutPHPAPI.rst index 0e86d36b6524d1b6f7ee4e01a9e50df1d193ad21..56e1b3cdee970efef81498371abfb94d3eb66cb5 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92132-DeprecatedShortcutPHPAPI.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92132-DeprecatedShortcutPHPAPI.rst @@ -1,15 +1,15 @@ .. include:: ../../Includes.txt -================================================= -Deprecation: #92132 - Deprecated shortcut PHP API -================================================= +====================================== +Deprecation: #92132 - Shortcut PHP API +====================================== See :issue:`92132` Description =========== -Some methods related to :php:`ext:backend` shortcut / bookmark handling have been deprecated: +Some methods related to shortcut / bookmark handling in TYPO3 Backend have been marked as deprecated: * :php:`TYPO3\CMS\Backend\Template\ModuleTemplate->makeShortcutIcon()` * :php:`TYPO3\CMS\Backend\Template\ModuleTemplate->makeShortcutUrl()` @@ -27,7 +27,7 @@ See also: Impact ====== -Using those methods directly or indirectly will trigger deprecation log warnings. +Using those methods directly or indirectly will trigger PHP :php:`E_USER_DEPRECATED` errors. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92132-DeprecatedViewHelperFbebuttonsshortcut.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92132-DeprecatedViewHelperFbebuttonsshortcut.rst similarity index 62% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92132-DeprecatedViewHelperFbebuttonsshortcut.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92132-DeprecatedViewHelperFbebuttonsshortcut.rst index fa144867ff4d1e7b8d749eb588fcc12d4a9bda9e..d6997fa8bbedeb5c5d39864a5adc70e933195e34 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92132-DeprecatedViewHelperFbebuttonsshortcut.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92132-DeprecatedViewHelperFbebuttonsshortcut.rst @@ -1,24 +1,25 @@ .. include:: ../../Includes.txt -================================================================= -Deprecation: #92132 - Deprecated ViewHelper f:be.buttons.shortcut -================================================================= +====================================================== +Deprecation: #92132 - ViewHelper f:be.buttons.shortcut +====================================================== See :issue:`92132` Description =========== -The Fluid ViewHelper `f:be.buttons.shortcut` has been deprecated. +The Fluid ViewHelper `f:be.buttons.shortcut` has been marked as deprecated. + Additionally, the argument `getVars` of `ext:backend` related -ViewHelper `be:moduleLayout.button.shortcutButton` has been deprecated. +ViewHelper `be:moduleLayout.button.shortcutButton` has been marked as deprecated. Impact ====== Using ViewHelper `f:be.buttons.shortcut` and using argument `getVars` of -ViewHelper `be:moduleLayout.button.shortcutButton` will log a deprecation warning. +ViewHelper `be:moduleLayout.button.shortcutButton` will trigger a PHP :php:`E_USER_DEPRECATED` error. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92386-ExtbasePropertyInjectionIsDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92386-DeprecatedExtbasePropertyInjection.rst similarity index 71% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92386-ExtbasePropertyInjectionIsDeprecated.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92386-DeprecatedExtbasePropertyInjection.rst index 715c53e636b8043c024fb939893f27c393dd502f..5cfdd14879c20acfc0b0c30926dce83304fe1adb 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92386-ExtbasePropertyInjectionIsDeprecated.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92386-DeprecatedExtbasePropertyInjection.rst @@ -1,15 +1,16 @@ .. include:: ../../Includes.txt -============================================================== -Deprecation: #92386 - Extbase property injection is deprecated -============================================================== +================================================ +Deprecation: #92386 - Extbase property injection +================================================ See :issue:`92386` Description =========== -Since core dependency injection is in place and is about to replace the extbase dependency injection completely, using property injection via the :php:`@Extbase\Inject` is deprecated. +Since core dependency injection is in place and is about to replace the extbase dependency injection completely, +using property injection via the :php:`@Extbase\Inject` annotation has been marked as deprecated. Impact @@ -30,10 +31,8 @@ Migration Extbase property injection can be replaced by one of the following methods: - constructor injection: works both with core and extbase dependency injection and is well suited to make extensions compatible for multiple TYPO3 versions. - -- setter injection: Basically the same like constructor injection. Both the core and extbase di can handle setter injection and both are supported in different TYPO3 versions. - -- (core) property injection: This kind of injection can be used but it requires the configuration of services via a `Services.yaml` in the Configuration folder of an extension. +- setter injection: Basically the same as constructor injection. Both the core and extbase DI can handle setter injection and both are supported in different TYPO3 versions. +- (core) property injection: This kind of injection can be used but it requires the configuration of services via a :file:`Services.yaml` in the :file:Configuration folder of an extension. Given the following example for a :php:`@Extbase\Inject` annotation based injection: @@ -48,7 +47,7 @@ Given the following example for a :php:`@Extbase\Inject` annotation based inject This service injection can be changed to constructor injection by adding the -service as constructor argument and removing the :php:`@Extbase\Inject` annoation: +service as constructor argument and removing the :php:`@Extbase\Inject` annotation: .. code-block:: php diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92435-DeprecatedStandaloneViewForEmailFinisher.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92435-DeprecatedStandaloneViewForEmailFinisher.rst similarity index 74% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92435-DeprecatedStandaloneViewForEmailFinisher.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92435-DeprecatedStandaloneViewForEmailFinisher.rst index 8f71916ed35093bd6caa63a9ad0c7d57f0622a0e..505b8c11ce54b7dd1d38c1d3c20197b3f0188abc 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92435-DeprecatedStandaloneViewForEmailFinisher.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92435-DeprecatedStandaloneViewForEmailFinisher.rst @@ -1,25 +1,25 @@ .. include:: ../../Includes.txt -================================================================= -Deprecation: #92435 - Deprecated StandaloneView for EmailFinisher -================================================================= +====================================================== +Deprecation: #92435 - StandaloneView for EmailFinisher +====================================================== See :issue:`92435` Description =========== -The :php:`EmailFinisher` of EXT:form was extended for the possibility to use -FluidEmail in TYPO3 10. Therefore the previously used StandaloneView has now been +The :php:`EmailFinisher` class of EXT:form was extended for the possibility to use +FluidEmail in TYPO3 v10. Therefore the previously used StandaloneView has now been marked as deprecated along with the configuration option :yaml:`templatePathAndFilename`. Impact ====== -Using the StandaloneView will trigger a deprecation log warning. Using +Using the StandaloneView will trigger a PHP :php:`E_USER_DEPRECATED` error. Using :yaml:`templatePathAndFilename` for custom templates will also trigger a -deprecation log warning. +PHP :php:`E_USER_DEPRECATED` error. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92551-GeneralUtilityMethodsRelatedToPagesl18n_cfgBehavior.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92551-GeneralUtilityMethodsRelatedToPagesl18n_cfgBehavior.rst similarity index 89% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92551-GeneralUtilityMethodsRelatedToPagesl18n_cfgBehavior.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92551-GeneralUtilityMethodsRelatedToPagesl18n_cfgBehavior.rst index e877d80280dfd42f2664548bd1845eed704d7cb9..9befe008ddc7ad166eb34fab44b96e2e2af74780 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92551-GeneralUtilityMethodsRelatedToPagesl18n_cfgBehavior.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92551-GeneralUtilityMethodsRelatedToPagesl18n_cfgBehavior.rst @@ -14,14 +14,14 @@ The methods * :php:`GeneralUtility::hideIfNotTranslated()` * :php:`GeneralUtility::hideIfDefaultLanguage()` -have been deprecated in favor of a new BitSet-based PHP class +have been marked as deprecated in favor of a new BitSet-based PHP class :php:`TYPO3\CMS\Core\Type\Bitmask\PageTranslationVisibility`. Impact ====== -Calling both methods will trigger a PHP deprecation notice. +Calling both methods will trigger a PHP :php:`E_USER_DEPRECATED` error. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92583-DeprecateLastArgumentsOfWrapClickMenuOnIcon.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92583-DeprecateLastArgumentsOfWrapClickMenuOnIcon.rst similarity index 72% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92583-DeprecateLastArgumentsOfWrapClickMenuOnIcon.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92583-DeprecateLastArgumentsOfWrapClickMenuOnIcon.rst index 474d59a19580f7aa2ceaf72c5a2eb6e5f2bdc627..d7eb006114a7d95c71a8159b772a2e68820846eb 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92583-DeprecateLastArgumentsOfWrapClickMenuOnIcon.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92583-DeprecateLastArgumentsOfWrapClickMenuOnIcon.rst @@ -1,8 +1,8 @@ .. include:: ../../Includes.txt -======================================================================= -Deprecation: #92583 - Deprecate last arguments of wrapClickMenuOnIcon() -======================================================================= +=============================================================== +Deprecation: #92583 - 3 last arguments of wrapClickMenuOnIcon() +=============================================================== See :issue:`92583` @@ -15,7 +15,7 @@ As this are two completely different things and cause problems when analysing return types it should not be done in the same method. Calling :php:`BackendUtility::wrapClickMenuOnIcon()` with the 7th and last argument -:php:`$returnTagParameters` set to :php:`true` has been deprecated alongside the 5th +:php:`$returnTagParameters` set to :php:`true` has been marked as deprecated alongside the 5th and 6th arguments that are already unused. A new method has been introduced that returns the aforementioned array. @@ -25,7 +25,7 @@ Impact ====== Calling :php:`BackendUtility::wrapClickMenuOnIcon()` with more than 4 arguments -will trigger a deprecation warning. +will trigger a PHP :php:`E_USER_DEPRECATED` error. Affected Installations @@ -47,9 +47,9 @@ retrieve the array with the tag parameters. Example ======= -.. code-block:: ts +.. code-block:: php - BackendUtility::getClickMenuOnIconTagParameters($tableName, $uid, 'tree'); + $parameters = BackendUtility::getClickMenuOnIconTagParameters($tableName, $uid, 'tree'); .. index:: Backend, FullyScanned, ext:backend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92598-Workspace-relatedMethodsFixVersioningPid.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92598-Workspace-relatedMethodsFixVersioningPid.rst similarity index 96% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92598-Workspace-relatedMethodsFixVersioningPid.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92598-Workspace-relatedMethodsFixVersioningPid.rst index ef19d1cccb5efba148eb332b970b2807d9f102a8..93a4512f22be36f0bfd0174d595384f272edc5df 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92598-Workspace-relatedMethodsFixVersioningPid.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92598-Workspace-relatedMethodsFixVersioningPid.rst @@ -61,7 +61,7 @@ keep the live "pid" value in "_ORIG_pid". It is highly recommended to use these methods. If it is needed to manually find the online PID for a versioned record, it is -recommended to just fetch the live record (stored in `t3ver_oid`) via +recommended to just fetch the live record (stored in :sql:`t3ver_oid`) via typical Doctrine-based database queries and load the PID value from there, or use the overlay methods as described to get both values. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92607-DeprecatedGeneralUtilityuniqueList.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92607-DeprecatedGeneralUtilityuniqueList.rst similarity index 50% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92607-DeprecatedGeneralUtilityuniqueList.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92607-DeprecatedGeneralUtilityuniqueList.rst index 7fe901c5474c5bd652166e33720575f697202110..64ad46d73d019aec029421a9577d7bb146cc2019 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92607-DeprecatedGeneralUtilityuniqueList.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92607-DeprecatedGeneralUtilityuniqueList.rst @@ -1,30 +1,29 @@ .. include:: ../../Includes.txt -=========================================================== -Deprecation: #92607 - Deprecated GeneralUtility::uniqueList -=========================================================== +================================================ +Deprecation: #92607 - GeneralUtility::uniqueList +================================================ See :issue:`92607` Description =========== -Since over a decade, the :php:`GeneralUtility::uniqueList()` method does not -accept an :php:`array` as first argument anymore. Furthermore the second -parameter was since then not longer be used. Both have thrown an -:php:`InvalidArgumentException`. +Since longer than a decade, the :php:`GeneralUtility::uniqueList()` method does not +accept an :php:`array` as first argument anymore. The second +parameter is unused just as long. Both throw an :php:`InvalidArgumentException` upon usage. As the method doesn't belong to :php:`GeneralUtility` at all, a new refactored version was added to :php:`StringUtility`. Therefore, the exceptions were removed along with the unused second parameter. The first parameter is now type hinted -:php:`string` and the return type :php:`string` was added. Furthermore, the +:php:`string` and the return type :php:`string` was added. The PHPDoc was updated accordingly. Impact ====== -Calling the method will trigger a PHP deprecation notice. +Calling the method will trigger a PHP :php:`E_USER_DEPRECATED` error. @@ -38,6 +37,6 @@ Migration ========= Use the new :php:`StringUtility::uniqueList()` method instead and ensure you -pass a valid string as first argument and ommit the second argument. +pass a valid string as first argument and omit the second argument. .. index:: PHP-API, FullyScanned, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92784-ExtbaseControllerActionsMustReturnResponseInterface.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92784-ExtbaseControllerActionsMustReturnResponseInterface.rst similarity index 75% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92784-ExtbaseControllerActionsMustReturnResponseInterface.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92784-ExtbaseControllerActionsMustReturnResponseInterface.rst index 1485cb98b04c917c3fb23feeabb0cc086537cf5d..f3eecaae76383edbb8a2d0bef355a1baf4d26260 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92784-ExtbaseControllerActionsMustReturnResponseInterface.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92784-ExtbaseControllerActionsMustReturnResponseInterface.rst @@ -11,13 +11,13 @@ Description Until now, Extbase controller actions could return either nothing (void), null, a string, or an object that implements :php:`__toString()`. -From now on Extbase expects actions to return an instance of :php:`Psr\Http\Message\ResponseInterface` instead. +From now on Extbase expects actions to return an instance of :php:`Psr\Http\Message\ResponseInterface`. Impact ====== -All actions that do not return an instance of :php:`Psr\Http\Message\ResponseInterface` trigger a deprecation log entry and will fail as of TYPO3 12.0. +All actions that do not return an instance of :php:`Psr\Http\Message\ResponseInterface` trigger a PHP :php:`E_USER_DEPRECATED` error and will fail as of TYPO3 v12. Affected Installations @@ -29,7 +29,10 @@ All installations that use Extbase controller actions which don't return an inst Migration ========= -Since the core follows not only PSR-7 (https://www.php-fig.org/psr/psr-7/) but also PSR-17 (https://www.php-fig.org/psr/psr-17/), which defines how response factories should look like, the core provides a factory to create various different response types. The response factory is available in all extbase controllers and can be used as a shorthand function to create responses for html and json, the two most used content types. The factory can also be used to create a blank response object whose content and headers can be set freely. +Since the core follows not only PSR-7 (https://www.php-fig.org/psr/psr-7/) but also PSR-17 (https://www.php-fig.org/psr/psr-17/), +which defines how response factories should look like, the core provides a factory to create various different response types. +The response factory is available in all extbase controllers and can be used as a shorthand function to create responses for html and json, +the two most used content types. The factory can also be used to create a blank response object whose content and headers can be set freely. Example: @@ -43,7 +46,8 @@ Example: return $this->responseFactory->createHtmlResponse($this->view->render()); } -This example only shows the most common use case. Returning html with a `Content-Type: text/html` sent with http code `200 Ok`. +This example only shows the most common use case. It causes html with a :html:`Content-Type: text/html` header and +http code `200 Ok` returned as the response to the client. .. tip:: @@ -62,7 +66,7 @@ This example only shows the most common use case. Returning html with a `Content } -Of course you are free to adjust the to be returned response. +Of course you are free to adjust this response object before returning it. Example: diff --git a/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92815-ActionControllerForward.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92815-ActionControllerForward.rst new file mode 100644 index 0000000000000000000000000000000000000000..f7b6a35aa27bc26b67189b42e8db9cb603c55002 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92815-ActionControllerForward.rst @@ -0,0 +1,78 @@ +.. include:: ../../Includes.txt + +================================================= +Deprecation: #92815 - ActionController::forward() +================================================= + +See :issue:`92815` + +Description +=========== + +Method :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController::forward()` has been marked as deprecated +in favor of returning a :php:`TYPO3\CMS\Extbase\Http\ForwardResponse` in a controller action. + + +Impact +====== + +Calling :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController::forward()`, +which itself throws a `TYPO3\CMS\Extbase\Mvc\Exception\StopActionException` to initiate abortion +of the current request and to initiate a new request, will also trigger PHP :php:`E_USER_DEPRECATED` error. + + +Affected Installations +====================== + +All installations using method :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController::forward()`. + + +Migration +========= + +Instead of calling the helper method, a controller action must return a :php:`TYPO3\CMS\Extbase\Http\ForwardResponse`. + +Before: + +.. code-block:: php + + <?php + + use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; + + class FooController extends ActionController + { + public function listAction() + { + // do something + + $this->forward('show'); + } + + // more actions here + } + +After: + +.. code-block:: php + + <?php + + use Psr\Http\Message\ResponseInterface; + use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; + use TYPO3\CMS\Extbase\Http\ForwardResponse; + + class FooController extends ActionController + { + public function listAction(): ResponseInterface + { + // do something + + return new ForwardResponse('show'); + } + + // more actions here + } + + +.. index:: PHP-API, NotScanned, ext:extbase diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92922-UseOfRecordUidInAbstractTreeViewgetIcon.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92922-UseOfRecordUidInAbstractTreeViewgetIcon.rst similarity index 85% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92922-UseOfRecordUidInAbstractTreeViewgetIcon.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92922-UseOfRecordUidInAbstractTreeViewgetIcon.rst index 3809ddbdf0c60216a8869c005b01f8019aa053d2..e90a1e0c050d6449ec56e1dba526809404ff92d9 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92922-UseOfRecordUidInAbstractTreeViewgetIcon.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92922-UseOfRecordUidInAbstractTreeViewgetIcon.rst @@ -9,10 +9,10 @@ See :issue:`92922` Description =========== -To increase the type safety through the whole core and to properly +To increase the type safety through the whole TYPO3 core and to properly reflect the expected value for the parameter (based on its name), calling :php:`AbstractTreeView::getIcon()` with a record uid as first -argument has been deprecated. +argument has been marked as deprecated. Note: Using a record uid had actually no benefit (performance wise) since the method fetched the record internally in that case anyways, @@ -24,7 +24,7 @@ Impact ====== Calling the method with an :php:`integer` for parameter :php:`$row` -will trigger a PHP deprecation notice. +will trigger a PHP :php:`E_USER_DEPRECATED` error. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92947-DeprecateTYPO3_MODEAndTYPO3_REQUESTTYPEConstants.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92947-DeprecateTYPO3_MODEAndTYPO3_REQUESTTYPEConstants.rst similarity index 88% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-92947-DeprecateTYPO3_MODEAndTYPO3_REQUESTTYPEConstants.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92947-DeprecateTYPO3_MODEAndTYPO3_REQUESTTYPEConstants.rst index 70377e2dc92a6ab3d7ce32837fcab20853fe71ab..b9029aadc4722efedfd02aea3d352ef11c9f99db 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92947-DeprecateTYPO3_MODEAndTYPO3_REQUESTTYPEConstants.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-92947-DeprecateTYPO3_MODEAndTYPO3_REQUESTTYPEConstants.rst @@ -1,15 +1,15 @@ .. include:: ../../Includes.txt -========================================================================== -Deprecation: #92947 - Deprecate TYPO3_MODE and TYPO3_REQUESTTYPE constants -========================================================================== +================================================================ +Deprecation: #92947 - TYPO3_MODE and TYPO3_REQUESTTYPE constants +================================================================ See :issue:`92947` Description =========== -The following global constants have been deprecated: +The following global constants have been marked as deprecated: * :php:`TYPO3_MODE` * :php:`TYPO3_REQUESTTYPE` @@ -23,8 +23,8 @@ The following global constants have been deprecated: Impact ====== -The main issues with constantes :php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` is, that they -are NOT constant: Their value depends on the context they are called, they usually indicate +The main issues with constants :php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` is, that they +are NOT constant: Their value depends on the context they are called from. They usually indicate if a TYPO3 frontend or backend request is executed. Since constants can't be re-defined, this is a blocker if a single TYPO3 PHP call wants to execute multiple requests to both the frontend or backend application in one process. This is used by the core testing framework @@ -34,11 +34,11 @@ There is no other solution than to phase out :php:`TYPO3_MODE` and :php:`TYPO3_R new API to substitute them is only available at a later point during TYPO3 bootstrap, so a couple of details have to be considered when switching away from usage of those constants in extensions. -Extension developers are highly encouraged to drop usages when making extensions core v11 ready. -The constants are only deprecated, their usage is not breaking, though. To simplify the transition, -the new API has been added to v10, too - it is available since TYPO3 10.4.11. Switching to the +Extension developers are highly encouraged to drop usage when making extensions TYPO3 v11 ready. +The constants are only deprecated, their usage is not breaking, yet. To simplify the transition, +the new API has been added to TYPO3 v10, too - it is available since TYPO3 10.4.11. Switching to the new API early is thus easily possible for extensions that support v10 and v11 in the same version, -without a core version check. +without a TYPO3 version check. Affected Installations @@ -63,7 +63,7 @@ Migration is to refactor consuming code to not depend on this distinction between backend and backend-ajax at all - the TYPO3 core may drop this separation at some point in the future, too. * :php:`TYPO3_REQUESTTYPE_INSTALL` - Extensions should never use this. There is only a small - number of places in the install tool, extensions can extend. Those should have a proper API + number of places in the install tool extensions can extend. Those should have a proper API to separate code from other use cases. A specific check for an install tool scope should not be required. @@ -73,17 +73,17 @@ Migration TYPO3 still has some extension PHP script files executed in global context without class or callable encapsulation, namely :file:`ext_localconf.php`, :file:`ext_tables.php` and -files within :file:`Configuration/TCA/Overrides/` folder. When those files are located within +files within :file:`Configuration/TCA/Overrides/`. When those files are located within the public document root of an instance and called via HTTP directly, they may error out and render error messages. This can be a security risk. To prevent this, those files MUST have a security gate as first line. This typically looks like:: - defined('TYPO3_MODE') or die(); + defined('TYPO3_MODE') or die(); These calls should be changed to use the new constant :php:`TYPO3` instead. It is simply defined to :php:`true` in early TYPO3 bootstrap and can be used for this purpose:: - defined('TYPO3') or die(); + `defined('TYPO3') or die(); Other usages of :php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` in bootstrap script files @@ -108,7 +108,7 @@ have better opportunities to reset this state before the Application emits a res bow to this goal and should drop application related state changes in bootstrap related files. -php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` in :file:`Configuration/TCA/*` files +:php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` in :file:`Configuration/TCA/*` files ................................................................................... For extensions which use :php:`TYPO3_MODE` or :php:`TYPO3_REQUESTTYPE` in :php:`TCA` related files in @@ -119,8 +119,8 @@ files, the :php:`TCA` state depends on whether a first frontend or backend appli empty caches, which leads to bugs. Extension developers MUST drop this usage in those files. -php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` in :file:`ext_localconf.php` and :file:`ext_tables.php` files -........................................................................................................... +:php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` in :file:`ext_localconf.php` and :file:`ext_tables.php` files +............................................................................................................ As outlined above, class :php:`ApplicationType` MUST NOT be used in these files as substitution for usages of :php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE`. There are a couple of strategies to avoid @@ -138,8 +138,8 @@ registered, the decision if it should actually *do* stuff is postponed to a poin is executed. -php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` usages in class files -------------------------------------------------------------------- +:php:`TYPO3_MODE` and :php:`TYPO3_REQUESTTYPE` usages in class files +-------------------------------------------------------------------- Some generic extension classes not involved in TYPO3 bootstrap still need to execute different things if they are executed in frontend or backend scope. A use cases is for instance the need to calculate @@ -160,7 +160,7 @@ After:: } This needs the PSR-7 request that is handed over by the Application specific request handlers to single -controllers. Code that need this switch should be refactored to receive this request object if it is +controllers. Code that needs this switch should be refactored to receive this request object if it is not available already. However, some extension code (especially core hooks) do not provide the request object, yet. In those cases, it is ok to fall back to the request object that has been registered as :php:`$GLOBALS['TYPO3_REQUEST']` by the TYPO3 core. This is always set by the :php:`RequestHandler` that diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93023-ReworkedSessionHandling.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93023-ReworkedSessionHandling.rst similarity index 92% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-93023-ReworkedSessionHandling.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93023-ReworkedSessionHandling.rst index 6bee332e89a2c02227c392d549a82867e8bcae11..bdb9af2cef9f281f7a20b8202dcba0439b305b9c 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93023-ReworkedSessionHandling.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93023-ReworkedSessionHandling.rst @@ -26,10 +26,10 @@ Impact ====== Accessing :php:`id` or calling :php:`isExistingSessionRecord()` -respectively :php:`getSessionId()` will trigger a PHP deprecation notice. +respectively :php:`getSessionId()` will trigger a PHP :php:`E_USER_DEPRECATED` error. Calling :php:`createSessionId()` or :php:`fetchUserSession()` will not -trigger a deprecation notice but will still be reported by the extension +trigger a PHP :php:`E_USER_DEPRECATED` error but will still be reported by the extension scanner. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93038-ReferenceIndexRuntimeCache.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93038-ReferenceIndexRuntimeCache.rst similarity index 81% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-93038-ReferenceIndexRuntimeCache.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93038-ReferenceIndexRuntimeCache.rst index 171382ecb331584c9177b3bef8c1e281bc829efc..181eea0f84fccc3037bc65f0696ae7fbea6bc752 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93038-ReferenceIndexRuntimeCache.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93038-ReferenceIndexRuntimeCache.rst @@ -9,7 +9,7 @@ See :issue:`93038` Description =========== -Two methods of class :php:`ReferenceIndex` have been deprecated: +Two methods of class :php:`ReferenceIndex` have been marked as deprecated: * :php:`ReferenceIndex->enableRuntimeCache()` * :php:`ReferenceIndex->disableRuntimeCache()` @@ -18,7 +18,7 @@ Two methods of class :php:`ReferenceIndex` have been deprecated: Impact ====== -Calling these methods raises a deprecation level log entry. +Calling these methods will trigger a PHP :php:`E_USER_DEPRECATED` error. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93060-ShortcutTitleMustBeSetByControllers.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93060-ShortcutTitleMustBeSetByControllers.rst similarity index 66% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-93060-ShortcutTitleMustBeSetByControllers.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93060-ShortcutTitleMustBeSetByControllers.rst index 8d2545490c73ae919735e16f7f28f7dd296053ee..5de5b80d8fd1fd5aabdbc7a3ef4c8e52dd2456e7 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93060-ShortcutTitleMustBeSetByControllers.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93060-ShortcutTitleMustBeSetByControllers.rst @@ -11,19 +11,18 @@ See :issue:`93060` Description =========== -Previously the :php:`ShortcutReporsitory` had automatically generated a -shortcut title based on the given arguments. However, this generation could -never be reliable, especially for custom extension code, since the repository +Previously the class :php:`ShortcutRepository` automatically generated a +shortcut title based on the given arguments. This generation was never reliable, +especially for custom extension code, since the repository does not know about controller specific logic. Therefore, this functionality -has now being deprecated. Backend controllers which add a shortcut button to -their module header are now being required to also set the desired title. +has now been marked as deprecated. Backend controllers which add a shortcut button to +their module header are now required to also set the desired title. Impact ====== -Adding a new shortcut button without defining the :php:`$displayName` raises a -deprecation level log entry. +Adding a new shortcut button without defining the :php:`$displayName` triggers a PHP :php:`E_USER_DEPRECATED` error. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93093-DeprecateMethodNameInShortcutPHPAPI.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93093-DeprecateMethodNameInShortcutPHPAPI.rst similarity index 82% rename from typo3/sysext/core/Documentation/Changelog/master/Deprecation-93093-DeprecateMethodNameInShortcutPHPAPI.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93093-DeprecateMethodNameInShortcutPHPAPI.rst index a235b2b27c34d088b477e26c6f470ee0fa3d1ab6..e34001a3eefe50b6c9b80f65572d8a2bfc32e02e 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93093-DeprecateMethodNameInShortcutPHPAPI.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Deprecation-93093-DeprecateMethodNameInShortcutPHPAPI.rst @@ -2,9 +2,9 @@ .. _changelog-Deprecation-93093-DeprecateMethodNameInShortcutPHPAPI: -============================================================== -Deprecation: #93093 - Deprecate MethodName in Shortcut PHP API -============================================================== +==================================================== +Deprecation: #93093 - MethodName in Shortcut PHP API +==================================================== See :issue:`93093` @@ -12,14 +12,14 @@ Description =========== Since :issue:`92723` the TYPO3 backend uses symfony routing for resolving -internal endpoints, e.g. modules. This will allow speaking urls and also +internal endpoints, e.g. modules. This will allow human readable urls and also deep-linking in the future. To achieve this, the shortcut PHP API had to be reworked to be fully compatible with the new routing. See :ref:`changelog-Breaking-93093-ReworkShortcutPHPAPI` for more information regarding the rework. In the course of the rework, following methods within :php:`ShortcutButton` -have been deprecated: +have been marked as deprecated: * :php:`TYPO3\CMS\Backend\Template\Components\Buttons\Action\ShortcutButton->setModuleName()` * :php:`TYPO3\CMS\Backend\Template\Components\Buttons\Action\ShortcutButton->getModuleName()` @@ -27,8 +27,7 @@ have been deprecated: Impact ====== -Using those methods directly or indirectly will trigger deprecation log -warnings. +Using those methods directly or indirectly will trigger PHP :php:`E_USER_DEPRECATED` errors. Affected Installations diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-29342-ImproveValidatorTask.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-29342-ImproveValidatorTask.rst similarity index 82% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-29342-ImproveValidatorTask.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-29342-ImproveValidatorTask.rst index d14883293060514e3047b162ee25632f61dcf87a..cfa48c706bbc64a1024e6fd0c6409a0355e290e4 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-29342-ImproveValidatorTask.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-29342-ImproveValidatorTask.rst @@ -9,42 +9,42 @@ See :issue:`29342` Description =========== -The :php:`\TYPO3\CMS\Linkvalidator\Task\ValidatorTask` - scheduler task for +The :php:`\TYPO3\CMS\Linkvalidator\Task\ValidatorTask` scheduler task for reporting broken links via email which still used marker templates, has been improved. This is achieved by switching to `FluidEmail`, extending the task configuration along with the mails content for more detailed reports, code refactoring and introduction of strict types for both + :php:`\TYPO3\CMS\Linkvalidator\Task\ValidatorTask` and :php:`\TYPO3\CMS\Linkvalidator\Task\ValidatorTaskAdditionalFieldProvider`. -The task configuration has got the following new fields: +The task configuration got the following new fields: * `languages` Comma separated list of language uids -* `emailTemplateName` Name of the fluid templates +* `emailTemplateName` Name of the fluid template With `languages` it's now possible to limit the report to specified system languages. This is useful if multiple tasks for different groups of recipients should be registered. -With `emailTemplateName` it's possible to use different custom templates for each -task. Therefore the template path must be set in -:php:`$GLOBALS['TYPO3_CONF_VARS']['MAIL']['templateRootPaths']`. Additionally -the used `SystemEmail` layout can also be changed by setting your custom layout +With `emailTemplateName` it is possible to use different custom templates for each +task. The template path must be set in :php:`$GLOBALS['TYPO3_CONF_VARS']['MAIL']['templateRootPaths']`. Additionally +the used `SystemEmail` layout can be changed by setting your custom layout path in :php:`$GLOBALS['TYPO3_CONF_VARS']['MAIL']['layoutRootPaths']`. If no `emailTemplateName` is set or the specified input is invalid, the task -automatically adds the default template name on task execution. +automatically uses the default template name on task execution. -Furthermore the following new PSR-14 event has been introduced: +The following new PSR-14 event has been introduced: -* :php:`\TYPO3\CMS\Linkvalidator\Event\ModifyValidatorTaskEmailEvent` +:php:`\TYPO3\CMS\Linkvalidator\Event\ModifyValidatorTaskEmailEvent` This event can be used to manipulate the :php:`\TYPO3\CMS\Linkvalidator\Result\LinkAnalyzerResult`, which contains all information from the linkvalidator API. Also the `FluidEmail` object can be adjusted here. This allows to e.g. pass additional information to the view by using :php:`$fluidEmail->assign()` or dynamically adding mail information such as the receivers list. The added values in the event take precedence over the -`modTSconfig` configuration. Therefore the event contains the merged `modTSconfig` -to access further information about the actuall configuration of the task when +:typoscript:`modTSconfig` configuration. The event contains the full :typoscript:`modTSconfig` +to access further information about the actual configuration of the task when assigning new values to `FluidEmail`. Note: As it's now also possible to set the recipient addresses dynamically using @@ -86,11 +86,11 @@ An example implementation of the PSR-14 event: .. code-block:: yaml Vendor\Extension\EventListener\ModifyValidatorTaskEmail: - Â tags: - Â Â - name: event.listener - Â Â Â Â identifier: 'modify-validation-task-email' - Â Â Â Â event: TYPO3\CMS\Linkvalidator\Event\ModifyValidatorTaskEmailEvent - Â Â Â Â method: 'modify' + tags: + - name: event.listener + identifier: 'modify-validation-task-email' + event: TYPO3\CMS\Linkvalidator\Event\ModifyValidatorTaskEmailEvent + method: 'modify' The :php:`\TYPO3\CMS\Linkvalidator\Result\LinkAnalyzerResult` contains following information by default: diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-83814-AddSystemNotesCreationButtonToModulesButtonBar.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-83814-AddSystemNotesCreationButtonToModulesButtonBar.rst similarity index 74% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-83814-AddSystemNotesCreationButtonToModulesButtonBar.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-83814-AddSystemNotesCreationButtonToModulesButtonBar.rst index fbee62eadf3fdc432f809c4a6f4c30397979dbfa..fb3e614479ff2dcfd13e36f7bd648c21865d8ee5 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-83814-AddSystemNotesCreationButtonToModulesButtonBar.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-83814-AddSystemNotesCreationButtonToModulesButtonBar.rst @@ -10,11 +10,11 @@ Description =========== System notes can be used to add internal information about a page in the backend. -The corresponing notes are being displayed in several modules, depending on the -records configuration, above or below the modules content. Previously, one had +The corresponding notes are being displayed in several modules, depending on the +records configuration, above or below the module content. Previously, one had to always switch to the list module and usually also to the "new record" wizard to create such notes. To improve the usability, a new button is added to the -button bar in the top right of the page, list and info module. This allows to +button bar in the top right of page, list and info module. This allows to directly create a new :php:`sys_note` record for the current page. The new button can be disabled via page TSconfig: @@ -28,6 +28,6 @@ Impact ====== It's now possible to create system notes directly in the corresponding modules -using the new button in the modules top right button bar. +using the button in the modules top right button bar. .. index:: Backend, TSConfig, ext:backend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-87301-SecureCookiesEnabledByDefault.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-87301-SecureCookiesEnabledByDefault.rst similarity index 80% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-87301-SecureCookiesEnabledByDefault.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-87301-SecureCookiesEnabledByDefault.rst index 32d9d77795a2d8fe995203370dfdf0ce49dbbae0..78068b8ac2f683b8dad22f255c5aa109f91da315 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-87301-SecureCookiesEnabledByDefault.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-87301-SecureCookiesEnabledByDefault.rst @@ -9,7 +9,7 @@ See :issue:`87301` Description =========== -In previous TYPO3 installations there was a option to define +In previous TYPO3 installations an option existed to define whether a cookie was shared between HTTP and HTTPS requests. This allowed to have the same cookie available for HTTPS and non-HTTPS, when a site was available on both ports / protocols. @@ -28,6 +28,6 @@ The new defaults are: * If a website is running on HTTPS, the cookie is only exposed via HTTPS. * If a website is running on HTTP, the cookie is available for HTTPS as well, but not vice-versa. -The TYPO3 Configuration option `$TYPO3_CONF_VARS[SYS][cookieSecure]` is removed when upgrading TYPO3 installations. +The TYPO3 Configuration option :php:`$TYPO3_CONF_VARS[SYS][cookieSecure]` is removed when upgrading TYPO3 installations. -.. index:: LocalConfiguration, ext:core \ No newline at end of file +.. index:: LocalConfiguration, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-88276-TypoScriptConditionForPageLayout.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-88276-TypoScriptConditionForPageLayout.rst similarity index 86% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-88276-TypoScriptConditionForPageLayout.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-88276-TypoScriptConditionForPageLayout.rst index 532b62240b72cdde5a4c01ef170eaf27c1c3d23e..508f7d69cc57ecf3fd7a259d2ac3a7d59cc36772 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-88276-TypoScriptConditionForPageLayout.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-88276-TypoScriptConditionForPageLayout.rst @@ -26,11 +26,11 @@ inheritance of the field *Backend Layout (subpages of this page)* page.1.value = Layout Home [END] -This condition is enabled for the frontend and backend. +This condition is available for both frontend and backend. Impact ====== -Change the TypoScript or TsConfig based on the backend layout of a page. +Change TypoScript or TsConfig based on the backend layout of a page. .. index:: Frontend, Backend, TypoScript, ext:frontend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-89496-MakeContextMenuUsableViaKeyboard.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-89496-MakeContextMenuUsableViaKeyboard.rst similarity index 89% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-89496-MakeContextMenuUsableViaKeyboard.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-89496-MakeContextMenuUsableViaKeyboard.rst index 72c7332c698ccb7252a6f3e234298f7b0b408a88..7026b2cce0f875a60963240b11719bfe05ea0f5e 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-89496-MakeContextMenuUsableViaKeyboard.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-89496-MakeContextMenuUsableViaKeyboard.rst @@ -10,7 +10,7 @@ Description =========== The context menus are now usable via keyboard. Pressing Shift+F10 -will open the context menu. Now it is also possible to use arrows, home and end keys +will open the context menu for the focused element. It is also possible to use arrows, home and end keys in order to navigate through the menu. Besides that, using enter and space keys will active items or open submenus. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-91712-RedirectModuleCleanupSchedulerTask.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91712-RedirectModuleCleanupSchedulerTask.rst similarity index 71% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-91712-RedirectModuleCleanupSchedulerTask.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-91712-RedirectModuleCleanupSchedulerTask.rst index 04b29c6f5bf8f18d1d756a8e8d3befa13628c649..f9fe706f01ff93696ccc2a60ca81d16cf2e2a007 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-91712-RedirectModuleCleanupSchedulerTask.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91712-RedirectModuleCleanupSchedulerTask.rst @@ -1,8 +1,8 @@ .. include:: ../../Includes.txt -========================================================================= -Feature: #91712 - Redirect Module: cleanup scheduler task and CLI command -========================================================================= +====================================================================== +Feature: #91712 - Cleanup scheduler task and CLI command for redirects +====================================================================== See :issue:`91712` @@ -19,21 +19,20 @@ In the scheduler task settings it is possible to set the following options: - Status code(s) comma separated ( query usage: target_statuscode IN (:statusCodes) ) (multiple values allowed) - Path pattern ( query usage: source_path LIKE :path ) -Depended on the settings, the query will look like: +Depending on the settings, the query will look like: -- `protected = 0 AND (hitcount < :hitCount) AND (createdon < :age) AND (source_host IN (:domains))` -- `protected = 0 AND (hitcount < 30) AND (createdon < 123456789) AND (source_host IN ('example.org', 'example.com'))` +- :sql:`protected = 0 AND (hitcount < :hitCount) AND (createdon < :age) AND (source_host IN (:domains))` +- :sql:`protected = 0 AND (hitcount < 30) AND (createdon < 123456789) AND (source_host IN ('example.org', 'example.com'))` + +.. tip:: -.. attention:: A new boolean flag "protected" has been introduced, which will be added as a pre-condition to all queries. This flag can be set for any redirect to prevent deletion in the cleanup process. For the CLI command, the same options exist: -.. code-block:: sh - - bin/typo3 redirects:cleanup --domain foo.com --domain bar.com --age 90 --hitCount 100 --path "/foo/bar%" --statusCode 302 --statusCode 303 - bin/typo3 redirects:cleanup -d foo.com -d bar.com -a 90 -c 100 -p "/foo/bar%" -s 302 -s 303 +- :shell:`bin/typo3 redirects:cleanup --domain foo.com --domain bar.com --age 90 --hitCount 100 --path "/foo/bar%" --statusCode 302 --statusCode 303` +- :shell:`bin/typo3 redirects:cleanup -d foo.com -d bar.com -a 90 -c 100 -p "/foo/bar%" -s 302 -s 303` The options of this command in detail: diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-91719-CustomErrorMessagesInRegularExpressionValidator.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91719-CustomErrorMessagesInRegularExpressionValidator.rst similarity index 95% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-91719-CustomErrorMessagesInRegularExpressionValidator.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-91719-CustomErrorMessagesInRegularExpressionValidator.rst index 3c6d051a1a3ed87616a6dba58f1bd455df7d5245..3a8758ff11c449941adde0871a97978df35b07fe 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-91719-CustomErrorMessagesInRegularExpressionValidator.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91719-CustomErrorMessagesInRegularExpressionValidator.rst @@ -16,7 +16,7 @@ to help the user providing valid input. Impact ====== -A new option :php:`'errorMessage'` has been introduced to the validator. +A new option :php:`errorMessage` has been introduced to the validator. Example: diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-91738-IntroduceWrapperForSessionStorage.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91738-IntroduceWrapperForSessionStorage.rst similarity index 96% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-91738-IntroduceWrapperForSessionStorage.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-91738-IntroduceWrapperForSessionStorage.rst index 5a9fd92199e28d0ea67b6030df9fac4111192ce5..e9b60bd239c132273f60c15c7266884e46d0726a 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-91738-IntroduceWrapperForSessionStorage.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91738-IntroduceWrapperForSessionStorage.rst @@ -28,7 +28,6 @@ API Methods * `isset(key)` (bool) checks if the key is in use. * `unset(key)` To remove a key from the storage. * `clear()` to empty all data inside the storage. -* `unsetByPrefix(prefix)` to empty all data inside the storage with their keys - starting with a prefix +* `unsetByPrefix(prefix)` to empty all data inside the storage with their keys starting with a prefix .. index:: JavaScript, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-91810-IntroduceLit-htmlAndLit-elementAsClient-sideTemplatingEngine.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91810-IntroduceLit-htmlAndLit-elementAsClient-sideTemplatingEngine.rst similarity index 91% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-91810-IntroduceLit-htmlAndLit-elementAsClient-sideTemplatingEngine.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-91810-IntroduceLit-htmlAndLit-elementAsClient-sideTemplatingEngine.rst index 1424077bfde3088792782d9753116d864207217a..15723bcdc622a227fda71363d0529f4746bb5505 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-91810-IntroduceLit-htmlAndLit-elementAsClient-sideTemplatingEngine.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91810-IntroduceLit-htmlAndLit-elementAsClient-sideTemplatingEngine.rst @@ -10,7 +10,7 @@ Description =========== To avoid custom jQuery template building a new slim client-side templating -engine `lit-html`_ together with `lit-element_` is introduced. +engine lit-html_ together with lit-element_ is introduced. This templating engine supports conditions, iterations, events, virtual DOM, data-binding and mutation/change detections in templates. @@ -112,14 +112,14 @@ Events can be bound using the `@` attribute prefix. `; render(template, target); -The result won't look much different than the first example - however the +The result won't look much different from the first example - however the custom attribute :html:`@click` will be transformed into an according event listener bound to the element where it has been declared. Custom HTML elements ------------------- +-------------------- -A web component based on the W3C custom elements ("web-components_") specification +A web component based on the W3C custom elements (web-components_) specification can be implemented using `lit-element`. .. code-block:: ts @@ -153,10 +153,10 @@ This is rendered as: .. code-block:: html <my-element value="World"> - <p>Hellow world!</p> + <p>Hello world!</p> </my-element> -.. _web-commponents: https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements +.. _web-components: https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements .. index:: Backend, JavaScript, ext:backend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-91859-AllowSelectCheckBoxGroupsToBeInitiallyExpanded.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91859-AllowSelectCheckBoxGroupsToBeInitiallyExpanded.rst similarity index 90% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-91859-AllowSelectCheckBoxGroupsToBeInitiallyExpanded.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-91859-AllowSelectCheckBoxGroupsToBeInitiallyExpanded.rst index 2a6361e3e602cfc9f6ef25c886f07a8f315cd7df..deae3e98bcc9805e9021d4bc2cf26f2d7a29dc10 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-91859-AllowSelectCheckBoxGroupsToBeInitiallyExpanded.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91859-AllowSelectCheckBoxGroupsToBeInitiallyExpanded.rst @@ -1,8 +1,8 @@ .. include:: ../../Includes.txt -=================================================================== -Feature #91859: Allow SelectCheckBox groups to be initally expanded -=================================================================== +==================================================================== +Feature #91859: Allow SelectCheckBox groups to be initially expanded +==================================================================== See :issue:`91859` @@ -50,7 +50,7 @@ Example Impact ====== -It's now possible to initally expand all checkbox groups. Integrators can +It's now possible to initially expand all checkbox groups. Integrators can therefore provide their editors with all the choices at once, without having to open each select group individually. The possibility to close each group remains unchanged for the editor. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-91890-ColumnOrderingInRedirectsOverview.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-91890-ColumnOrderingInRedirectsOverview.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-91890-ColumnOrderingInRedirectsOverview.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-91890-ColumnOrderingInRedirectsOverview.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92022-ShowWeekNumbersInDateTimePickerForEditors.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92022-ShowWeekNumbersInDateTimePickerForEditors.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92022-ShowWeekNumbersInDateTimePickerForEditors.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92022-ShowWeekNumbersInDateTimePickerForEditors.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92334-X-Redirect-ByHeaderForPagesWithRedirectTypes.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92334-X-Redirect-ByHeaderForPagesWithRedirectTypes.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92334-X-Redirect-ByHeaderForPagesWithRedirectTypes.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92334-X-Redirect-ByHeaderForPagesWithRedirectTypes.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92337-AllowTranslatableLabelsForBookmarkGroups.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92337-AllowTranslatableLabelsForBookmarkGroups.rst similarity index 89% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92337-AllowTranslatableLabelsForBookmarkGroups.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92337-AllowTranslatableLabelsForBookmarkGroups.rst index df6c65dd17cf569d750d53f5aa7fedfab731fca1..71139aa0c135db25dc41629b53514a6d5131d87f 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92337-AllowTranslatableLabelsForBookmarkGroups.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92337-AllowTranslatableLabelsForBookmarkGroups.rst @@ -9,7 +9,7 @@ See :issue:`92337` Description =========== -The user TSconfig `options.bookmarkGroups` option allows to configure the bookmark +The user TSconfig option :typoscript:`options.bookmarkGroups` allows to configure the bookmark groups that can be accessed by the user. In addition to that, it's also possible to define custom labels for each group as simple :php:`string`. Extended TSconfig syntax now allows the LLL prefix for the use of language labels. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92366-ShowFragmentsInPreviewOfInputLinkElement.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92366-ShowFragmentsInPreviewOfInputLinkElement.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92366-ShowFragmentsInPreviewOfInputLinkElement.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92366-ShowFragmentsInPreviewOfInputLinkElement.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92423-EnablePlaceholderConfigForCkeditor.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92423-EnablePlaceholderConfigForCkeditor.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92423-EnablePlaceholderConfigForCkeditor.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92423-EnablePlaceholderConfigForCkeditor.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92457-ImprovedExtensionRepositoryAPI.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92457-ImprovedExtensionRepositoryAPI.rst similarity index 97% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92457-ImprovedExtensionRepositoryAPI.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92457-ImprovedExtensionRepositoryAPI.rst index 1052b580c947a9c4e827187c5e120b900c6e0c03..60c4d0496f4e7b0546e714a1508a91e8fafe8a97 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92457-ImprovedExtensionRepositoryAPI.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92457-ImprovedExtensionRepositoryAPI.rst @@ -30,7 +30,7 @@ It is also still possible to add new remotes, disable registered remotes or change the default remote. Custom remote configuration can be added in the -:file:`Configuration/Services.yaml` of the corresponing extension. +:file:`Configuration/Services.yaml` of the corresponding extension. .. code-block:: yaml diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92462-AddOptionalDefaultValuesArgumentToNewRecordViewHelpers.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92462-AddOptionalDefaultValuesArgumentToNewRecordViewHelpers.rst similarity index 86% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92462-AddOptionalDefaultValuesArgumentToNewRecordViewHelpers.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92462-AddOptionalDefaultValuesArgumentToNewRecordViewHelpers.rst index e6811c9fa826e26ed308e8d75fe2b40b83521aba..2e24c7f5ffc06ff43ddcc7f0103991b61b94375a 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92462-AddOptionalDefaultValuesArgumentToNewRecordViewHelpers.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92462-AddOptionalDefaultValuesArgumentToNewRecordViewHelpers.rst @@ -9,14 +9,14 @@ See :issue:`92462` Description =========== -A new optional argument `defaultValues` is added to the `be:uri.newRecord` and -`be:link.newRecord` ViewHelpers. The new argument can contain default values for +A new optional argument :html:`defaultValues` is added to the :html:`be:uri.newRecord` and +:html:`be:link.newRecord` ViewHelpers. The new argument can contain default values for fields of the new record. FormEngine automatically fills the given default values into the corresponding fields. The syntax is: :html:`{tableName: {fieldName: 'value'}}`. -Please note that the given default values are added to the url as `GET` parameters +Please note that the given default values are added to the url as :html:`GET` parameters and therefore override default values defined in FormDataProviders or TSconfig. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92486-AddFieldControlToFile_collectionsOfTt_content.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92486-AddFieldControlToFile_collectionsOfTt_content.rst similarity index 94% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92486-AddFieldControlToFile_collectionsOfTt_content.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92486-AddFieldControlToFile_collectionsOfTt_content.rst index 02fe8d188f0df055526a195e916285bdc624d963..cf28a46ce0cb3eebb1327ebe64d3562109e4913c 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92486-AddFieldControlToFile_collectionsOfTt_content.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92486-AddFieldControlToFile_collectionsOfTt_content.rst @@ -10,7 +10,7 @@ Description =========== The TCA configuration of the field `file_collections` of `tt_content` has been improved by adding -the field controls `addRecord`. +the field control `addRecord`. Impact diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92522-ShowTableAndFieldNamesInExtlowlevel.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92522-ShowTableAndFieldNamesInExtlowlevel.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92522-ShowTableAndFieldNamesInExtlowlevel.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92522-ShowTableAndFieldNamesInExtlowlevel.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92531-ImprovedEmailValidation.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92531-ImprovedEmailValidation.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92531-ImprovedEmailValidation.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92531-ImprovedEmailValidation.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92538-ShowExtensionConstraintsInExtensionManager.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92538-ShowExtensionConstraintsInExtensionManager.rst similarity index 95% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92538-ShowExtensionConstraintsInExtensionManager.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92538-ShowExtensionConstraintsInExtensionManager.rst index 39b7eb1ab2a99baa38b2c902199cd580a23cd936..0b55af3ccd20e7d3b1f0b0dd02cb139be625babf 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92538-ShowExtensionConstraintsInExtensionManager.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92538-ShowExtensionConstraintsInExtensionManager.rst @@ -23,7 +23,7 @@ If the extension does not define any of the constraints mentioned above, the view does not differ from the current state. Furthermore constraints, which do not match the current TYPO3 or PHP version, -are equipped with a warning about the incompatibility. +are displayed with a warning about the incompatibility. Impact diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92562-FrontendGroupsResolvedDirectlyAfterTheFrontendUserItself.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92562-FrontendGroupsResolvedDirectlyAfterTheFrontendUserItself.rst similarity index 97% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92562-FrontendGroupsResolvedDirectlyAfterTheFrontendUserItself.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92562-FrontendGroupsResolvedDirectlyAfterTheFrontendUserItself.rst index 562ed5b7d8ff36f95e55ef0981ceaf063308c7e7..b2a1ddc55fb598821e996b1a2cd37952b77a1768 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92562-FrontendGroupsResolvedDirectlyAfterTheFrontendUserItself.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92562-FrontendGroupsResolvedDirectlyAfterTheFrontendUserItself.rst @@ -16,8 +16,7 @@ the session or form credentials. There are several reasons for the historic behavior: -* Special functionality like "pages.fe_login_mode" which can override groups -based on the current root line +* Special functionality like "pages.fe_login_mode" which can override groups based on the current root line * Previewing frontend user groups via the Admin Panel for backend users However, this historic behavior led to inconsistencies, especially with the diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92616-BootstrapV5.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92616-BootstrapV5.rst similarity index 84% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92616-BootstrapV5.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92616-BootstrapV5.rst index f6f16d12589eb905a0bd7427eb7a104fbb8f8d8f..1a585f7d96894d2af503a9725af7a5363c1e8bed 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92616-BootstrapV5.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92616-BootstrapV5.rst @@ -9,9 +9,9 @@ See :issue:`92616` Description =========== -TYPO3's Backend is powered with Bootstrap v5 (https://getbootstrap.com). +TYPO3s Backend is powered with Bootstrap v5 (https://getbootstrap.com). -Previous versions ran with Bootstrap v3. A lots of changes, and +Previous versions ran with Bootstrap v3. A lots of changes and improvements are included, especially regarding simplification of building Layouts and Containers. @@ -25,6 +25,7 @@ Impact It is important during updates of custom backend modules to study the Bootstrap Migration guidelines and adapt accordingly: + * https://getbootstrap.com/docs/4.5/migration/ * https://getbootstrap.com/docs/5.0/migration/ @@ -33,4 +34,4 @@ to provide compatibility, but backend markup and code will be adapted during further TYPO3 v11 development to simplify the HTML and CSS code shipped with TYPO3 Core. -.. index:: Backend, ext:backend \ No newline at end of file +.. index:: Backend, ext:backend diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92815-IntroduceForwardResponseForExtbase.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92815-IntroduceForwardResponseForExtbase.rst similarity index 75% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92815-IntroduceForwardResponseForExtbase.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92815-IntroduceForwardResponseForExtbase.rst index 896412c70078190ebdfbbf639f584eb3117e740a..2bda23c13ec13a06914e8e81fa0c7ae1ce625e61 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92815-IntroduceForwardResponseForExtbase.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92815-IntroduceForwardResponseForExtbase.rst @@ -9,7 +9,8 @@ See :issue:`92815` Description =========== -Since TYPO3 11.0, extbase controller actions can and should return PSR-7 compatible response objects. To allow the initiation of forwarding to another controller action class :php:`TYPO3\\CMS\\Extbase\\Http\\ForwardResponse` has been introduced. +Since TYPO3 11.0, extbase controller actions can and should return PSR-7 compatible response objects. +To allow the initiation of forwarding to another controller action class :php:`TYPO3\CMS\Extbase\Http\ForwardResponse` has been introduced. Minimal example: @@ -29,11 +30,6 @@ Minimal example: return new ForwardResponse('show'); } - - public function showAction(): ResponseInterface - { - // do something - } } @@ -64,6 +60,6 @@ Example that shows the full api: Impact ====== -Class :php:`TYPO3\\CMS\\Extbase\\Http\\ForwardResponse` allows users to initiate forwarding to other controller actions with a PSR-7 compatible response object. +Class :php:`TYPO3\CMS\Extbase\Http\ForwardResponse` allows users to initiate forwarding to other controller actions with a PSR-7 compatible response object. .. index:: PHP-API, ext:extbase diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92884-ApplicationsImplementPSR-15RequestHandlerInterface.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92884-ApplicationsImplementPSR-15RequestHandlerInterface.rst similarity index 94% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92884-ApplicationsImplementPSR-15RequestHandlerInterface.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92884-ApplicationsImplementPSR-15RequestHandlerInterface.rst index 74fda49033899b0f3500b659e4abf30ecf835379..0878ec654334912a7dc681e5821084dc2524d227 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92884-ApplicationsImplementPSR-15RequestHandlerInterface.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92884-ApplicationsImplementPSR-15RequestHandlerInterface.rst @@ -22,7 +22,7 @@ and allows feeding a PSR-7 request to one of the three applications and retrieve a PSR-7 response. Within TYPO3, a first usage is the testing framework: A functional backend test -can call the frontend application to verify if rendered content is as expected. +can call the frontend application to verify if content is rendered as expected. At the moment, the TYPO3 internal state is still a bit tricky, though. There are various places that for instance park state in static class properties which can not be reset easily. Those areas are "dirty" after a request has been handled. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92929-ExtendableConfigurationModule.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92929-ExtendableConfigurationModule.rst similarity index 88% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92929-ExtendableConfigurationModule.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92929-ExtendableConfigurationModule.rst index 3c2d066815299a43b889ac6649f930595ede19f9..1a15c0acb03bd2a65177888e2a3b1c9770bb4847 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92929-ExtendableConfigurationModule.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92929-ExtendableConfigurationModule.rst @@ -11,13 +11,13 @@ Description Since a long time, the configuration module in EXT:lowlevel was the first stop for integrators when it came to validation of the global configuration. -Therefore, the module displays all relevant global variables such as +The module displays all relevant global variables such as :php:`TYPO3_CONF_VARS`, :php:`TCA` and many more, in a tree format which is easy to browse through. Over time this module got extended to also display the configuration of newly introduced features like the middleware stack or the event listeners. -To make this module even more powerful a dedicated API was introduced which +To make this module even more powerful, a dedicated API was introduced which allows extension authors to extend the module so they can expose their own configurations. @@ -49,15 +49,15 @@ The registration of such a provider looks like the following: A new service with a freely selectable name is defined by specifying the provider class to be used. Further, the new service must be tagged with the -`lowlevel.configuration.module.provider` tag. Moreover arbitrary attributes +:yaml:`lowlevel.configuration.module.provider` tag. Arbitrary attributes can be added to this tag. However, some are reserved and required for internal -processing. For example, the `identifier` attribute is mandatory and must be -unique. Using the `before` and `after` attributes, it is possible to specify +processing. For example, the :yaml:`identifier` attribute is mandatory and must be +unique. Using the :yaml:`before` and :yaml:`after` attributes, it is possible to specify the exact position on which the configuration will be displayed in the module menu. The provider class has to implement some methods, required by the interface. -Therefore a full implementation would look like this: +A full implementation would look like this: .. code-block:: php @@ -101,7 +101,7 @@ the :php:`getConfiguration()` method has to return the configuration as an There is also the abstract class :php:`TYPO3\CMS\Lowlevel\ConfigurationModuleProvider\AbstractProvider` in place -which already implements the required methods expect :php:`getConfiguration`. +which already implements the required methods except :php:`getConfiguration`. Please note, when extending this class, the attribute `label` is expected in the `__invoke()` method and must therefore be defined in the :file:`Services.yaml`. Either a static text or a locallang label can be used. @@ -127,8 +127,8 @@ This could look like this: label: 'My global var' globalVariableKey: 'MY_GLOBAL_VAR' -To disable an already registered configuration simply add the `disabled: true` -attribute. For example, if you intend to disable the `TCA_DESCR` key you can use: +To disable an already registered configuration simply add the :yaml:`disabled: true` +attribute. For example, if you intend to disable the :php:`TCA_DESCR` key you can use: .. code-block:: yaml diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-92984-PSR-7RequestAvailableInFrontendContentObjects.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92984-PSR-7RequestAvailableInFrontendContentObjects.rst similarity index 72% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-92984-PSR-7RequestAvailableInFrontendContentObjects.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-92984-PSR-7RequestAvailableInFrontendContentObjects.rst index c6021e5becdca1e5568708ad692ae19703f7fe6e..c3747b51c2e1db1c65d2895189eafe519ecaaa93 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-92984-PSR-7RequestAvailableInFrontendContentObjects.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-92984-PSR-7RequestAvailableInFrontendContentObjects.rst @@ -10,13 +10,13 @@ Description =========== The main Request object of a web-based PHP process is now handed into all -ContentObjects and ContentObjectRenderer classes. +:php:`ContentObjects` and :php:`ContentObjectRenderer` classes. -In addition, any kind of "userFunc" methods initiated from ContentObjectRenderer, -basically all custom Frontend PHP code, now receive the request object that was +In addition, any kind of "userFunc" methods initiated from :php:`ContentObjectRenderer`, +basically all custom Frontend PHP code, now receives the request object that was handed in as third method argument. -The ContentObjectRenderer API now has a :php: `getRequest()` method. +The :php:`ContentObjectRenderer` API now has a :php:`getRequest()` method. Example: @@ -42,8 +42,8 @@ Example: } This functionality should be used in PHP code related to Frontend code instead of -the superglobal variables like `$_GET` / `$_POST` / `$_SERVER`, or TYPO3's -API methods `GeneralUtility::_GP()` and `GeneralUtility::getIndpEnv()`. +the superglobal variables like :php:`$_GET` / :php:`$_POST` / :php:`$_SERVER`, or TYPO3s +API methods :php:`GeneralUtility::_GP()` and :php:`GeneralUtility::getIndpEnv()`. Impact ====== diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-93011-Authentication-relatedCookiesAreAttachedToPSR-7Responses.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93011-Authentication-relatedCookiesAreAttachedToPSR-7Responses.rst similarity index 92% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-93011-Authentication-relatedCookiesAreAttachedToPSR-7Responses.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-93011-Authentication-relatedCookiesAreAttachedToPSR-7Responses.rst index 58cdc44343153706b5b68447720381e1086ee38e..66cd5921bfcee52c5a9602b566b7b5a47622d730 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-93011-Authentication-relatedCookiesAreAttachedToPSR-7Responses.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93011-Authentication-relatedCookiesAreAttachedToPSR-7Responses.rst @@ -13,10 +13,10 @@ Cookies, used to keep the session identifiers for Frontend sessions and Backend user sessions, were previously added natively via PHP :php:`header()` and :php:`setcookie()` at the very beginning of the User Authentication workflow, although this did not allow -to later-on manipulate these HTTP response headers, as they were +for later-on manipulation of these HTTP response headers, as they were emitted directly via PHP when calling the native PHP functions. -TYPO3 now attaches the cookie information for the user session information in +TYPO3 now attaches the cookie information for the user session information to the PSR-7 Responses, by default in a PSR-15 middleware. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-93023-IntroduceUserSessionAndUserSessionManager.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93023-IntroduceUserSessionAndUserSessionManager.rst similarity index 78% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-93023-IntroduceUserSessionAndUserSessionManager.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-93023-IntroduceUserSessionAndUserSessionManager.rst index 43263f1addb2dd8fb6cc6085d1998f841de642d6..4c29fb16db47b711776f1cd57dec34bf19d22a21 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-93023-IntroduceUserSessionAndUserSessionManager.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93023-IntroduceUserSessionAndUserSessionManager.rst @@ -17,12 +17,12 @@ out of the user authentication objects into dedicated classes, namely :php:`UserSession` and :php:`UserSessionManager`. The :php:`UserSession` object contains of all necessary information -regarding a users' session, for website visitors with session data (e.g. -basked for anonymous / not-logged-in users), for frontend users as well as -authenticated backend users. These are for example, the session id, +regarding a users session, for website visitors with session data (e.g. +shopping basket for anonymous / not-logged-in users), for frontend users as well as +authenticated backend users. These are for example the session id, the session data, if a session was updated, if the session is anonymous, -or if is marked permanent and so on. This replaces the so called -`sessionRecord` which was an :php:`array` used in the user authentication objects. +or if it is marked permanent and so on. This replaces the so called +:php:`sessionRecord` which was an :php:`array` used in the user authentication objects. This means, there is now a proper object which can be used to change and retrieve information in an object-oriented way. It also features a @@ -34,51 +34,51 @@ Using the static factory methods :php:`createFromRecord()` and Public Methods within `UserSession` ----------------------------------- -+---------------------+-------------+------------------------------------------------------------------------------+ -| Method | Return type | Description | -+=====================+=============+==============================================================================+ -| getIdentifier() | String | Returns the session id. This is the :php:`ses_id` respectively the | -| | | :php:`AbstractUserAuthentication->id`. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| getUserId() | Int or NULL | Returns the user id the session belongs to. Can also reutrn `0` or NULL | -| | | Which indicates an anonymous session. This is the :php:`ses_userid`. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| getLastUpdated() | Int | Returns the timestamp of the last session data update. This is the | -| | | :php:`ses_tstamp`. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| set($key, $value) | Void | Set or update session data value for a given key. It's also internally used | -| | | if calling :php:`AbstractUserAuthentication->setSessionData()`. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| get($key) | Mixed | Returns the session data for the given key or NULL if the key does not | -| | | exist. It's internally used if calling | -| | | :php:`AbstractUserAuthentication->getSessionData()`. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| getData() | Array | Returns the whole data array. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| hasData() | Bool | Checks whether the session has some data assigned. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| overrideData($data) | Void | Overrides the whole data array. Can also be used to unset the array. This | -| | | also sets the :php:`$wasUpdated` pointer to :php:`TRUE` | -+---------------------+-------------+------------------------------------------------------------------------------+ -| dataWasUpdated() | Bool | Checks whether the session data has been updated. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| isAnonymous() | Bool | Check if the user session is an anonymous one. This means, the session does | -| | | not belong to a logged-in user. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| getIpLock() | string | Returns the ipLock state of the session | -+---------------------+-------------+------------------------------------------------------------------------------+ -| isNew() | Bool | Checks whether the session is new. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| isPermanent() | Bool | Checks whether the session was marked as permanent on creation. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| needsUpdate() | Bool | Checks whether the session has to be updated. | -+---------------------+-------------+------------------------------------------------------------------------------+ -| toArray() | Array | Returns the session and its data as array in the old `sessionRecord` format. | -+---------------------+-------------+------------------------------------------------------------------------------+ ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| Method | Return type | Description | ++=====================+=============+===================================================================================+ +| getIdentifier() | String | Returns the session id. This is the :php:`ses_id` respectively the | +| | | :php:`AbstractUserAuthentication->id`. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| getUserId() | Int or NULL | Returns the user id the session belongs to. Can also return `0` or NULL | +| | | which indicates an anonymous session. This is the :php:`ses_userid`. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| getLastUpdated() | Int | Returns the timestamp of the last session data update. This is the | +| | | :php:`ses_tstamp`. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| set($key, $value) | Void | Set or update session data value for a given key. It's also internally used | +| | | if calling :php:`AbstractUserAuthentication->setSessionData()`. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| get($key) | Mixed | Returns the session data for the given key or NULL if the key does not | +| | | exist. It's internally used if calling | +| | | :php:`AbstractUserAuthentication->getSessionData()`. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| getData() | Array | Returns the whole data array. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| hasData() | Bool | Checks whether the session has some data assigned. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| overrideData($data) | Void | Overrides the whole data array. Can also be used to unset the array. This | +| | | also sets the :php:`$wasUpdated` pointer to :php:`TRUE` | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| dataWasUpdated() | Bool | Checks whether the session data has been updated. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| isAnonymous() | Bool | Check if the user session is an anonymous one. This means, the session does | +| | | not belong to a logged-in user. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| getIpLock() | string | Returns the ipLock state of the session | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| isNew() | Bool | Checks whether the session is new. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| isPermanent() | Bool | Checks whether the session was marked as permanent on creation. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| needsUpdate() | Bool | Checks whether the session has to be updated. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ +| toArray() | Array | Returns the session and its data as array in the old :php:`sessionRecord` format. | ++---------------------+-------------+-----------------------------------------------------------------------------------+ It should however be always considered to use the :php:`UserSessionManager` for creating new sessions since this manager acts as the main factory for user -sessions and therefore handles all necessary tasks like fetching, evaluating +sessions and handles all necessary tasks like fetching, evaluating and persisting them. Effectively encapsulating all calls to the :php:`SessionManager` which is used for the Session Backend. @@ -101,7 +101,7 @@ Public Methods within `UserSession` | createFromGlobalCookieOrAnonymous($cookieName) | Creates and returns a session from a global cookie (:php:`$_COOKIE`). | | | If no cookie can be found for the given name, an anonymous session | | | will be returned. | -| | It is recommended to use the PSR-7-Request based method instead. | +| | It is recommended to use the PSR-7 Request based method instead. | +---------------------------------------------------------------+-----------------------------------------------------------------------+ | createAnonymousSession() | Creates and returns an anonymous session object (not persisted). | +---------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -140,8 +140,8 @@ Impact ====== The user authentication classes such as -:php:`BackendUserAuthentication`, :php:`FrontendUserAuthentication` and -:php:`AbstractUserAuthentication`, which both extend, do now not longer +:php:`BackendUserAuthentication`, :php:`FrontendUserAuthentication` and their abstract parent class +:php:`AbstractUserAuthentication`, do now not longer directly manage the corresponding user session. Therefore these objects do not longer include the session data and do not know about the specific session backend implementation. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-93048-IntroduceBackendURLRewrites.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93048-IntroduceBackendURLRewrites.rst similarity index 81% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-93048-IntroduceBackendURLRewrites.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-93048-IntroduceBackendURLRewrites.rst index 320bb2988325ebfcc6d8bf932f9d4fb71a016d32..909bf72d454f85d22ab73afd5f12dabb4a2822cd 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-93048-IntroduceBackendURLRewrites.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93048-IntroduceBackendURLRewrites.rst @@ -12,10 +12,10 @@ Description =========== The TYPO3 backend does now feature URL rewrites which allows -the use of speaking urls. This will furthermore enable TYPO3 +the use of human readable urls. This will enable TYPO3 to introduce deep-linking functionality in the future. By that, it will be possible to share URLs, which directly link -to a specifc module or even a specific record, in the backend. +to a specific module or even a specific record, in the backend. Example ------- @@ -34,14 +34,14 @@ the necessary rewrite rule is added in the webserver configuration. See: :ref:`changelog-Breaking-93048-BackendURLRewrites` for more details about this. -To generate speaking urls for custom backend modules and routes, +To generate human readable urls for custom backend modules and routes, extension authors can use the public :php:`UriBuilder` API. Impact ====== -The core now builds speaking urls for the backend by default. +TYPO3 now builds human readable urls for the backend by default. Extension authors also automatically benefit form this when using the public :php:`UriBuilder` API. diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-93056-NewEventAfterRetrievingUserGroupsRecursively.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93056-NewEventAfterRetrievingUserGroupsRecursively.rst similarity index 81% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-93056-NewEventAfterRetrievingUserGroupsRecursively.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-93056-NewEventAfterRetrievingUserGroupsRecursively.rst index 86f9638bd2a0c69227a301848017b17e5450e865..a5e0377ea0feba20768d09fe07bab647eb33e828 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Feature-93056-NewEventAfterRetrievingUserGroupsRecursively.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93056-NewEventAfterRetrievingUserGroupsRecursively.rst @@ -9,8 +9,8 @@ See :issue:`93056` Description =========== -When user groups are loaded, for example when a backend editors' groups and permissions -are calculated, a new PSR-14 event `AfterGroupsResolvedEvent` is fired. +When user groups are loaded, for example when a backend editors groups and permissions +are calculated, a new PSR-14 event :php:`AfterGroupsResolvedEvent` is fired. Impact diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-93063-FlashMessagesAreStoredInSessionAsJsonSerializable.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Feature-93063-FlashMessagesAreStoredInSessionAsJsonSerializable.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Feature-93063-FlashMessagesAreStoredInSessionAsJsonSerializable.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Feature-93063-FlashMessagesAreStoredInSessionAsJsonSerializable.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Important-91888-SystemExtensionAboutMergedIntoBackendSystemExtension.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Important-91888-SystemExtensionAboutMergedIntoBackendSystemExtension.rst similarity index 64% rename from typo3/sysext/core/Documentation/Changelog/master/Important-91888-SystemExtensionAboutMergedIntoBackendSystemExtension.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Important-91888-SystemExtensionAboutMergedIntoBackendSystemExtension.rst index b45196e6527ca7d09276f42663daba7bfbcaba15..13c5aa8ead1cecc0d9bc1e94e4c3e448c3b3fb6b 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Important-91888-SystemExtensionAboutMergedIntoBackendSystemExtension.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Important-91888-SystemExtensionAboutMergedIntoBackendSystemExtension.rst @@ -13,10 +13,11 @@ The system extension "about" is removed, and all functionality is migrated into The system extension was an addition providing the default module when logging in until TYPO3 v10, unless the Dashboard extension is installed. -The functionality is kept the same, however TYPO3 users upgrading to TYPO3 v11 should be aware that checks for the extension (via `ExtensionManagementUtility::isLoaded('about')`) will return false, even though all functionality is kept. +The functionality is kept the same, however TYPO3 users upgrading to TYPO3 v11 should be aware +that checks for the extension (via :php:`ExtensionManagementUtility::isLoaded('about')`) will return false, even though all functionality is kept. When upgrading TYPO3 installation to TYPO3 v11 in composer mode, -it is recommended to first call `composer remove typo3/cms-about` -on the Command Line before running any `composer update` or `composer require` command. +it is recommended to first call :shell:`composer remove typo3/cms-about` +on the Command Line before running any :shell:`composer update` or :shell:`composer require` command. -.. index:: CLI, PHP-API, ext:about \ No newline at end of file +.. index:: CLI, PHP-API, ext:about diff --git a/typo3/sysext/core/Documentation/Changelog/master/Important-91953-JQueryUpdatedTo35x.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Important-91953-JQueryUpdatedTo35x.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Important-91953-JQueryUpdatedTo35x.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Important-91953-JQueryUpdatedTo35x.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Important-92736-ReturnTimestampAsIntegerInDateTimeAspect.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Important-92736-ReturnTimestampAsIntegerInDateTimeAspect.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Important-92736-ReturnTimestampAsIntegerInDateTimeAspect.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Important-92736-ReturnTimestampAsIntegerInDateTimeAspect.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Important-92870-AlwaysUseFluidBasedPageModule.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Important-92870-AlwaysUseFluidBasedPageModule.rst similarity index 100% rename from typo3/sysext/core/Documentation/Changelog/master/Important-92870-AlwaysUseFluidBasedPageModule.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Important-92870-AlwaysUseFluidBasedPageModule.rst diff --git a/typo3/sysext/core/Documentation/Changelog/master/Important-92996-PropertiesAndMethodsInActionControllerMarkedInternal.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Important-92996-PropertiesAndMethodsInActionControllerMarkedInternal.rst similarity index 92% rename from typo3/sysext/core/Documentation/Changelog/master/Important-92996-PropertiesAndMethodsInActionControllerMarkedInternal.rst rename to typo3/sysext/core/Documentation/Changelog/11.0/Important-92996-PropertiesAndMethodsInActionControllerMarkedInternal.rst index 4001e0e8c9ff2b8f54eb57515fba5b18b997a386..8e3cb250b66dc242ea7ad724991ba0e097c9b7db 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Important-92996-PropertiesAndMethodsInActionControllerMarkedInternal.rst +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Important-92996-PropertiesAndMethodsInActionControllerMarkedInternal.rst @@ -9,7 +9,9 @@ See :issue:`92996` Description =========== -Several properties and methods of class :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController` are marked internal since they are meant to be helper methods for the initialization of the controller and to be called action. All mentioned properties and methods remain as is until TYPO3 12.0. From then on, they may vanish without deprecation and/or replacement. +Several properties and methods of class :php:`TYPO3\CMS\Extbase\Mvc\Controller\ActionController` are marked internal +since they are meant to be helper methods for the initialization of the controller and to be called action. +All mentioned properties and methods remain as is until TYPO3 12.0. From then on, they may vanish without deprecation and/or replacement. Injected services that will be removed from the ActionController can then be manually injected by the user if needed. diff --git a/typo3/sysext/core/Documentation/Changelog/11.0/Index.rst b/typo3/sysext/core/Documentation/Changelog/11.0/Index.rst new file mode 100644 index 0000000000000000000000000000000000000000..d0820ce0cc458f121a362fb77286439a91eb524f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/11.0/Index.rst @@ -0,0 +1,51 @@ +.. include:: ../../Includes.txt + +11.0 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/Breaking-91562-CObjectTEMPLATERemoved.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-91562-CObjectTEMPLATERemoved.rst deleted file mode 100644 index 2aac89ad310e7f1aa864128ed389bd0a30fb77dd..0000000000000000000000000000000000000000 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-91562-CObjectTEMPLATERemoved.rst +++ /dev/null @@ -1,43 +0,0 @@ -.. include:: ../../Includes.txt - -=========================================== -Breaking: #91562 - cObject TEMPLATE removed -=========================================== - -See :issue:`91562` - -Description -=========== - -The cObject `TEMPLATE`, used for rendering marker-based templates -has been removed along with the PHP class :php:`TYPO3\CMS\Frontend\ContentObject\TemplateContentObject`. - -The successor `FLUIDTEMPLATE` is widely used since TYPO3 v7, -and acts as a replacement for marker-based templates. - - -Impact -====== - -Using TypoScript with `page.10 = TEMPLATE` will result in a PHP -error when rendering the frontend. - -Referencing the PHP class will result in a fatal PHP error. - - -Affected Installations -====================== - -TYPO3 installation still using `TEMPLATE` cObject in their TypoScript. - - -Migration -========= - -Install the extension `modern_template_building` from the official -TYPO3 Extension Repository at https://extensions.typo3.org/, which acts as a drop-in replacement, and also ships the cObject `FILE` -which is highly useful for `TEMPLATE` cObjects. - -The extension is compatible with TYPO3 v9+. - -.. index:: TypoScript, FullyScanned, ext:frontend \ No newline at end of file diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92502-MakeExtbaseHandlePSR7ResponsesOnly.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-92502-MakeExtbaseHandlePSR7ResponsesOnly.rst deleted file mode 100644 index 5a91daca416d90551925f216223aae55e5ce30fd..0000000000000000000000000000000000000000 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92502-MakeExtbaseHandlePSR7ResponsesOnly.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. include:: ../../Includes.txt - -=========================================================== -Breaking: #92502 - Make Extbase handle PSR-7 responses only -=========================================================== - -See :issue:`92502` - -Description -=========== - -Extbase does no longer handle/return extbase responses whose api was defined by the interface :php:`TYPO3\\CMS\\Extbase\\Mvc\\ResponseInterface`. Instead, Extbase does create a `PSR-7` compatible response object (see :php:`Psr\\Http\\Message\\ResponseInterface`) and passes it back through the request handling stack. - -Since `PSR-7` requires response objects to be immutable, it no longer makes sense to expose the response object to the user via :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController::$response` and :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerContext->getResponse()`. - - -The following interfaces have been removed and are no longer usable: - -- :php:`TYPO3\\CMS\\Extbase\\Mvc\\ResponseInterface` - -The following classes have been removed and are no longer usable: - -- :php:`TYPO3\\CMS\\Extbase\\Mvc\\Response` - - -Impact -====== - -Since interface :php:`TYPO3\\CMS\\Extbase\\Mvc\\ResponseInterface` and :php:`TYPO3\\CMS\\Extbase\\Mvc\\Response` have been removed, they can no longer be used. - -Affected Installations -====================== - -All installations that: - -* declared classes that implemented the interface :php:`TYPO3\\CMS\\Extbase\\Mvc\\ResponseInterface` -* instantiated or extended class :php:`TYPO3\\CMS\\Extbase\\Mvc\\Response` -* accessed the request object through :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController::$response` or :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerContext->getResponse()` - -Migration -========= - -To regain full control over the response object, a PSR-7 compatible response object SHOULD be created in the controller action and returned instead of returning a string or void. - -Example: - -.. code-block:: php - - public function listAction() - { - // do your action stuff - return new \TYPO3\CMS\Core\Http\HtmlResponse($this->view->render()); - } - -Further: Method :php:`TYPO3\\CMS\\Extbase\\Mvc\\Response::addAdditionalHeaderData()` had been used to add additional header data such as css or js to the global TypoScriptFrontendController. This has to be done via :php:`TYPO3\\CMS\\Core\\Page\\AssetCollector` now. - -.. index:: PHP-API, NotScanned, ext:extbase diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92513-MethodSignatureChangeOfTYPO3CMSExtbaseMvcControllerControllerInterfaceprocessRequest.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-92513-MethodSignatureChangeOfTYPO3CMSExtbaseMvcControllerControllerInterfaceprocessRequest.rst deleted file mode 100644 index d9523ff3b13c40b3c72631aa8d7726e0ec2c8eb9..0000000000000000000000000000000000000000 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-92513-MethodSignatureChangeOfTYPO3CMSExtbaseMvcControllerControllerInterfaceprocessRequest.rst +++ /dev/null @@ -1,37 +0,0 @@ -.. include:: ../../Includes.txt - -======================================================================================================================= -Breaking: #92513 - Method signature change of TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerInterface::processRequest -======================================================================================================================= - -See :issue:`92513` - -Description -=========== - -The signature of method :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerInterface::processRequest` changed in the regard that no longer :php:`$request` and :php:`$response` are passed into it. Instead, only a :php:`$request` argument is needed. Additionally, that method now needs you to return a response. - - -Impact -====== - -This change affects all classes that either implement said interface directly (presumably none) and those classes (controllers) that override method :php:`processRequest()` of class :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController`. Those, that override said method will experience the following fatal error: `Declaration of ... must be compatible with TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface::processRequest(TYPO3\CMS\Extbase\Mvc\RequestInterface $request): TYPO3\CMS\Extbase\Mvc\ResponseInterface`. - - -Affected Installations -====================== - -All installations that override method :php:`processRequest()` of class :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController`. - - -Migration -========= - -There are two steps to migrate: - -- Remove the now superfluous :php:`$response` argument -- Return a response object. - -The latter is usually achieved by calling :php:`return parent::processRequest($request)` instead of just :php:`parent::processRequest($request)`. - -.. index:: PHP-API, NotScanned, ext:extbase diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92080-DeprecatedQueryGeneratorAndQueryView.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92080-DeprecatedQueryGeneratorAndQueryView.rst deleted file mode 100644 index 44984ed839e632514786eac1d30fee8053e4994f..0000000000000000000000000000000000000000 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92080-DeprecatedQueryGeneratorAndQueryView.rst +++ /dev/null @@ -1,37 +0,0 @@ -.. include:: ../../Includes.txt - -============================================================= -Deprecation: #92080 - Deprecated QueryGenerator and QueryView -============================================================= - -See :issue:`92080` -See :issue:`92129` - -Description -=========== - -The classes :php:`TYPO3\CMS\Core\Database\QueryGenerator` and -:php:`TYPO3\CMS\Core\Database\QueryView` have been deprecated. - - -Impact -====== - -Using the classes will log a deprecation warning. - - -Affected Installations -====================== - -Most of the classes have been used within the backend only, the methods -:php:`getTreelist()` have been used occasionally by backend extensions to recursively -fetch children of pages. Even if they are quite inflexible, some extensions may rely -on them. The extension scanner will find class usages with a strong match. - - -Migration -========= - -As most simple solutions, the :php:`getTreeList` methods could be copied over to an own extension. - -.. index:: Backend, PHP-API, FullyScanned, ext:core diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92815-ActionControllerforwardIsDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92815-ActionControllerforwardIsDeprecated.rst deleted file mode 100644 index 55657ad1002ba0eddf32423982a613cc88148b6e..0000000000000000000000000000000000000000 --- a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-92815-ActionControllerforwardIsDeprecated.rst +++ /dev/null @@ -1,74 +0,0 @@ -.. include:: ../../Includes.txt - -=============================================================== -Deprecation: #92815 - ActionController::forward() is deprecated -=============================================================== - -See :issue:`92815` - -Description -=========== - -Method :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController::forward()` is deprecated in favor of returning a :php:`TYPO3\\CMS\\Extbase\\Http\\ForwardResponse` in a controller action instead. - - -Impact -====== - -Calling :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController::forward()`, which itself throws a `TYPO3\\CMS\\Extbase\\Mvc\\Exception\\StopActionException` to initiate the abortion of the current request and to initiate a new request, will trigger a deprecation warning. - - -Affected Installations -====================== - -All installations that make use of the helper method :php:`TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController::forward()`. - - -Migration -========= - -Instead of calling this helper method, a controller action must return a :php:`TYPO3\\CMS\\Extbase\\Http\\ForwardResponse`. - -Example: - -.. code-block:: php - - <?php - - use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; - - class FooController extends ActionController - { - public function listAction() - { - // do something - - $this->forward('show'); - } - - // more actions here - } - - -.. code-block:: php - - <?php - - use Psr\Http\Message\ResponseInterface; - use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; - use TYPO3\CMS\Extbase\Http\ForwardResponse; - - class FooController extends ActionController - { - public function listAction(): ResponseInterface - { - // do something - - return new ForwardResponse('show'); - } - - // more actions here - } - - -.. index:: PHP-API, NotScanned, ext:extbase diff --git a/typo3/sysext/core/Documentation/Index.rst b/typo3/sysext/core/Documentation/Index.rst index caa87597410886e8747804146cc27435da277564..9976e75f7a370ac4b90ec866418e7cc7fdd556e9 100644 --- a/typo3/sysext/core/Documentation/Index.rst +++ b/typo3/sysext/core/Documentation/Index.rst @@ -14,6 +14,7 @@ Every change to the TYPO3 Core which might affect your site is documented here. Sitemap/Index Master + Changelog-11 Changelog-10 Changelog-9 Changelog-8 diff --git a/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php b/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php index 458ac841521cb796c3cb40ab96bc5320317e0043..ef1129a46e81e74cf70ab8c764d679ec875bec34 100644 --- a/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php +++ b/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php @@ -4533,7 +4533,7 @@ return [ 'maximumNumberOfArguments' => 4, 'restFiles' => [ 'Feature-92815-IntroduceForwardResponseForExtbase.rst', - 'Deprecation-92815-ActionControllerforwardIsDeprecated.rst', + 'Deprecation-92815-ActionControllerForward.rst', ], ], 'TYPO3\CMS\Core\Database\ReferenceIndex->generateRefIndexData' => [