Commit f67d0c13 authored by Christian Kuhn's avatar Christian Kuhn
Browse files

[TASK] Changelog docs: Re-add v7 files into v8 & master

As proposed in
https://decisions.typo3.org/t/core-changelog-documentation-workflow-revised
the v7 Changelog files are merged back into v8 and master.

Change-Id: I83b238aa24c5cfb2b3bf5450f178b438a84f3618
Resolves: #83363
Releases: master, 8.7
Reviewed-on: https://review.typo3.org/55127

Tested-by: default avatarTYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
parent 48792c87
......@@ -41,15 +41,16 @@ for i in `find typo3/sysext/core/Documentation/Changelog -name "*.rst" -type f`;
# This regex needs to check that the ..index:: line a) holds valid content and b) is
# the last line in the checked file
INDEX=""
if ! [[ "$fileContent" =~ '.. index:: '((FullyScanned|PartiallyScanned|NotScanned|TypoScript|TSConfig|TCA|FlexForm|LocalConfiguration|Fluid|FAL|Database|JavaScript|PHP-API|Frontend|Backend|CLI|RTE|ext:([a-z|A-Z|_|0-9]*))([,|[:space:]]{2})?)+$ ]]; then
INDEX="no or wrong index"
index_message="insert '.. index:: <at least one valid keyword>' at last line of the file. See Build/Scripts/validateRstFiles.sh for allowed keywords"
outputFileToStream=1;
if ! [[ "$i" =~ (Changelog\/7\.[0-99]+\/|Changelog\/7\.6\.x\/) ]]; then
if ! [[ "$fileContent" =~ '.. index:: '((FullyScanned|PartiallyScanned|NotScanned|TypoScript|TSConfig|TCA|FlexForm|LocalConfiguration|Fluid|FAL|Database|JavaScript|PHP-API|Frontend|Backend|CLI|RTE|ext:([a-z|A-Z|_|0-9]*))([,|[:space:]]{2})?)+$ ]]; then
INDEX="no or wrong index"
index_message="insert '.. index:: <at least one valid keyword>' at last line of the file. See Build/Scripts/validateRstFiles.sh for allowed keywords"
outputFileToStream=1;
fi
fi
# All Deprecation- / Breaking- files since v9 must have one of the tags FullyScanned|PartiallyScanned|NotScanned
if ! [[ "$i" =~ (Changelog\/8\.[0-99]+\/|Changelog\/master\/Feature-|Changelog\/master\/Important-|Changelog\/[0-99]+\.[0-99]+\/Feature-|Changelog\/[0-99]+\.[0-99]+\/Important-) ]]; then
SCANMATCHES=0
if ! [[ "$i" =~ (Changelog\/8\.[0-99]+\/|Changelog\/7\.[0-99]+\/|Changelog\/7\.6\.x\/|Changelog\/master\/Feature-|Changelog\/master\/Important-|Changelog\/[0-99]+\.[0-99]+\/Feature-|Changelog\/[0-99]+\.[0-99]+\/Important-) ]]; then
if ! [[ "$fileContent" =~ ('.. index:: '.*(FullyScanned|PartiallyScanned|NotScanned)+.*) ]]; then
INDEX="missing FullyScanned / PartiallyScanned / NotScanned tag"
index_message="insert '.. index:: <at least one valid keyword and either FullyScanned, PartiallyScanned or NotScanned>' at last line of the file. See Build/Scripts/validateRstFiles.sh for allowed keywords"
......
:orphan:
.. include:: Includes.txt
============
ChangeLog v7
============
Every change to the TYPO3 Core which might affect your site is documented here.
.. toctree::
:titlesonly:
Changelog/7.6.x/Index
Changelog/7.6/Index
Changelog/7.5/Index
Changelog/7.4/Index
Changelog/7.3/Index
Changelog/7.2/Index
Changelog/7.1/Index
Changelog/7.0/Index
.. include:: ../../Includes.txt
==================================================
Breaking: #19737 - Prefer root templates for pages
==================================================
See :issue:`19737`
Description
===========
The Core now gives templates having set the root-flag precedence over normal extension templates.
This ignores the fact that normally the first template of the current page is chosen, following their sorting.
This improves user experience as the user expects the root template to be the one with highest priority.
Impact
======
Pages where multiple templates are present not having a root-template as the topmost template
in the list will encounter different results when templates are evaluated.
Affected installations
======================
Installations with pages where multiple templates are present not having a/the root-template as the topmost template.
Migration
=========
Ensure the templates have correct flags set.
.. include:: ../../Includes.txt
====================================
Breaking: #33805 - ClickMenu Rewrite
====================================
See :issue:`33805`
Description
===========
The ClickMenu has seen some major changes under the hood. This implies some refactoring within JavaScript where existing
functionality is replaced by a AMD Module based on jQuery. The following JS methods are now replaced by respective
methods:
- showClickmenu_raw()
- Clickmenu.show()
- Clickmenu.populateData()
The new functionality is available via a global JavaScript object called TYPO3.ClickMenu which has equal
functions.
Additionally the ClickMenu is now used via AJAX completely, all non-AJAX calls are not supported anymore.
Impact
======
All third-party extensions using alt_clickmenu.php directly in the backend, or using the above JavaScript calls directly.
Affected installations
======================
Any installation using extensions having Backend modules using JavaScript functions for the ClickMenu inline
and installations using extensions using alt_clickmenu.php directly.
Migration
=========
Any use of "Clickmenu.show()" etc should be avoided and channelled through the according DocumentTemplate methods.
- BackendUtility::wrapClickMenuOnIcon()
- DocumentTemplate->getContextMenuCode()
If a backend module without a DocumentTemplate (with e.g. Extbase/Fluid) is used, this is done with a separate class
and related data attribute:
.. code-block:: html
<a href="#" class="t3-js-clickmenutrigger" data-table="be_users" data-uid="{record.uid}" data-listframe="1">
.. include:: ../../Includes.txt
=============================================
Breaking: #42543 - Default TypoScript Removed
=============================================
See :issue:`42543`
Description
===========
The default TypoScript :code:`styles.insertContent` was removed without substitution.
Impact
======
Frontend output may change.
Affected installations
======================
A TYPO3 instance is affected if its TypoScript operates with :code:`styles.insertContent`. This is pretty unlikely since the styles segment was hidden in the TypoScript Object Browser.
Migration
=========
Either remove usage of :code:`styles.insertContent` or add a snippet at an early point in TypoScript for backwards compatibility.
.. code-block:: typoscript
styles.insertContent = CONTENT
styles.insertContent {
table = tt_content
select {
orderBy = sorting
where = colPos=0
languageField = sys_language_uid
}
}
.. include:: ../../Includes.txt
=============================================================
Breaking: #53542 - Removal of deprecated code in sysext fluid
=============================================================
See :issue:`53542`
Description
===========
ContainerViewHelper
-------------------
The following options have been removed from the ViewHelper:
* `enableJumpToUrl`
* `addCssFile`, use `includeCssFiles` instead
* `addJsFile`, use `includeJsFiles` instead
AbstractBackendViewHelper
-------------------------
The usage of `$GLOBALS['SOBE']` is removed for retrieving the DocumentTemplate instance.
Use `->getDocInstance()` instead.
TemplateView
------------
The following methods have been removed:
* `getTemplateRootPath()` is removed, use `getTemplateRootPaths()` instead
* `getPartialRootPath()` is removed, use `setPartialRootPaths()` instead
* `getLayoutRootPath()` is removed, use `getLayoutRootPaths()` instead
Impact
======
A call to any of the aforementioned methods by third party code will result in a fatal PHP error.
Affected installations
======================
Any installation which contains third party code still using these deprecated methods.
Migration
=========
Replace the calls with the suggestions outlined above.
.. include:: ../../Includes.txt
===================================================
Breaking: #53658 - option alternateBgColors removed
===================================================
See :issue:`53658`
Description
===========
The PageTSConfig option :code:`mod.web_list.alternateBgColors` is removed without substitution.
Impact
======
Extensions that extend the DatabaseRecordList and are using the property :code:`alternateBgColors`
The option in the TableListViewHelper has been deprecated and will be removed in TYPO3 CMS 8.
Affected installations
======================
A TYPO3 instance is affected if a 3rd party extension uses the removed property.
Migration
=========
Remove the call to the removed property.
.. include:: ../../Includes.txt
==================================================================
Breaking: #54409 - RTE "acronym" button was renamed "abbreviation"
==================================================================
See :issue:`54409`
Description
===========
The "acronym" tag being deprecated, the RTE "acronym" button was renamed "abbreviation".
Accordingly, the RTE Acronym plugin was renamed Abbreviation.
Impact
======
The "abbreviation" button may not appear in the RTE toolbar, if configured as "acronym" in Page TSconfig, TCA special configuration options and/or User TSconfig.
Possible undefined PHP class errors.
Possible Javascript or file not found errors.
Affected installations
======================
An installation is affected if the "acronym" button was configured in Page TSconfig and/or User TSconfig.
An installation is affected if a 3rd party extension refers to the "acronym" button in TCA special configuration options.
An installation is affected if a 3rd party extension refers to class TYPO3\CMS\Rtehtmlarea\Extension\Acronym
An installation is affected if a 3rd party extension loads the JavaScript file of the Acronym plugin: EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Acronym.js
Migration
=========
There is no immediate impact on the RTE configuration in Page TSconfig and TCA special configuration options until the automatic conversion of existing references to "acronym" is removed in TYPO3 CMS 8.0.
Intallations may run the upgrade wizard of the Install tool to migrate the contents of Page TSconfig, replacing "acronym" by "abbreviation".
Note that this string replacement will apply to all contents of PageTSconfig.
The migration of PageTSconfig may also be done manually.
User TSconfig must be modified to refer to "abbreviation" instead of "acronym".
Any affected 3rd party extension must be modified to refer to the "abbreviation" button rather than "acronym" in TCA special configuration options.
Any affected 3rd party extension must be modified to refer to class TYPO3\CMS\Rtehtmlarea\Extension\Abbreviation rather than TYPO3\CMS\Rtehtmlarea\Extension\Acronym
Any affected 3rd party extension must be modified to load EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Abbreviation.js rather than EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Acronym.js
.. include:: ../../Includes.txt
===============================================
Breaking: #57382 - Remove old flash message API
===============================================
See :issue:`57382`
Description
===========
The old flash message API is removed.
Impact
======
Extensions relying on the old (static) flash message queue API will not work anymore.
Extbase removes the protected old flashMessageContainer.
Affected installations
======================
Any installation that uses an extension relying on the old API.
Migration
=========
Change the API calls to not be of static kind anymore.
Extbase extensions have to use `getFlashMessageQueue()` of the controllerContext
.. include:: ../../Includes.txt
=================================================================
Breaking: #57396 - Deprecated Extbase Property Mapper was removed
=================================================================
See :issue:`57396`
Description
===========
A new Property Mapper that mapped request arguments to controller action arguments
was introduced in Extbase 1.4 and the old one was deprecated at the same time.
Along with the mapping, the validation API has also been changed.
The rewritten property mapper is turned on by default since TYPO3 6.2
Now the old mapping and validation API is completely removed.
Impact
======
Extbase extensions that relied on the internal behaviour of the deprecated property mapper
or make use of the old validation API will stop working or may not work as expected any more.
Affected installations
======================
Extbase extensions that turned off the introduced feature switch with the TypoScript setting
:code:`features.rewrittenPropertyMapper = 0` because they relied on internal behavior of the old property mapper
will stop working.
Migration
=========
Manual migration of extension code might be required, especially when own validators using the old
validation API were used.
.. include:: ../../Includes.txt
===============================================================
Breaking: #59659 - Removal of deprecated code in sysext backend
===============================================================
See :issue:`59659`
Description
===========
Flexforms
---------
Flexform xml that still contains the old "<tx_templavoila><title>" code has to be adapted.
The "<tx_templavoila>" elements needs to be removed.
Wizard registration
-------------------
Wizard registration in TCA must not contain the "script=some/path/script.php" definition anymore.
The new API for registering wizards is to set "module[name]=module_name".
Removed PHP methods
-------------------
* `AbstractRecordList::writeBottom()` is removed without replacement. The functionality is not needed anymore.
* `SpriteGenerator::setOmmitSpriteNameInIconName()` is removed in favor of `setOmitSpriteNameInIconName()`
* `DocumentTemplate::isCMlayers()` is removed without replacement. The functionality is obsolete.
* `DocumentTemplate::getFileheader()` is removed. Use `getResourceHeader()` instead.
* `BackendUtility::displayWarningMessages()` is removed without replacement. The functionality was moved to ext:aboutmodules.
* `IconUtility::getIconImage()` is removed without replacement. Use sprite icon API instead.
* `PageLayoutView::getSelectedBackendLayoutUid()` is removed. Use `BackendLayoutView::getSelectedCombinedIdentifier()` instead.
* `ClickMenu::menuItemsForClickMenu()` is removed without replacement. The functionality is obsolete.
Removed JS functions
--------------------
* `showClickmenu_noajax()` is removed. Use `Clickmenu.ajax = false; showClickmenu_raw();` instead.
* `setLayerObj()` is replaced with `Clickmenu.populateData()`.
* `hideEmpty()` is replaced with `Clickmenu.hideAll()`.
* `hideSpecific()` is replaced with `Clickmenu.hide()`. E.g. `Clickmenu.hide('contentMenu1');`
* `showHideSelectorBoxes()` is replaced with `toggleSelectorBoxes()`.
Impact
======
A call to any of the aforementioned methods by third party code will result in
a fatal PHP error.
Affected installations
======================
Any installation which contains third party code still using these deprecated methods.
Migration
=========
Replace the calls with the suggestions outlined above.
.. include:: ../../Includes.txt
=================================================================
Breaking: #59966 - Extension Configuration cache-flushing changed
=================================================================
See :issue:`59966`
Description
===========
On saving the configuration of an extension, the system cache group has been flushed.
This is inefficient as this includes also the classes cache, but most changes will
never need this cache to be cleared.
We optimize this for the common case and stop flushing caches after configuration changes completely.
Impact
======
Extensions which relied on cache-clearing after configuration changes may require a manual cache flush.
Affected installations
======================
Any installation that uses extensions relying on automatic cache flush after extension configuration changes.
Migration
=========
Extensions requiring a cache flush after configuration changes need to implement a slot
for the `afterExtensionConfigurationWrite` signal which allows individual cache flush actions.
.. include:: ../../Includes.txt
=========================================
Breaking: #60063 - Felogin Plugin Removed
=========================================
See :issue:`60063`
Description
===========
File EXT:felogin/pi1/class.tx_felogin_pi1.php was removed.
Impact
======
- A require in PHP of this file throws a fatal error.
- An :code:`includeLibs` TypoScript setting to this file raises a warning.
Affected installations
======================
A TYPO3 instance is affected if a 3rd party extension requires EXT:felogin/pi1/class.tx_felogin_pi1.php or if an includeLibs TypoScript setting to this file is set.
Migration
=========
Remove the require line in PHP and includeLibs line in TypoScript, they are obsolete.
.. include:: ../../Includes.txt
============================================================
Breaking: #60135 - Recursive stdWrap is now only called once
============================================================
See :issue:`60135`
Description
===========
If recursive stdWrap configuration was used, the stdWrap method was called twice, although the content
was only rendered once. This performance overhead is now removed.
Impact
======
If a recursive stdWrap configuration is used, which sets or acts on a global state like registers,
the resulting rendering can now be different because the global state is now modified only once.
Affected installations
======================
A TYPO3 instance is affected if there is TypoScript code like:
::
page.1 = TEXT
page.1 {
value = Counter:
append = TEXT
append.data = register:Counter
stdWrap.append = LOAD_REGISTER
stdWrap.append {
Counter.cObject = TEXT
Counter.cObject.data = register:Counter
Counter.cObject.wrap = |+1
Counter.prioriCalc = 1
}
}
..
This now correctly outputs `Counter:1` instead of `Counter:2`
Migration
=========
The usage of recursive stdWrap TypoScript configuration needs to be checked and probably adapted to fit the fixed behavior.
.. include:: ../../Includes.txt
=================================================================
Breaking: #60152 - GeneralUtility::formatSize is now locale aware
=================================================================
See :issue:`60152`
Description
===========
The :code:`GeneralUtility::formatSize()` method now adheres to the currently set locale and
selects the correct decimal separator symbol.
This also applies to the TypoScript option :code:`stdWrap.bytes`, which uses the method internally,
as well as the Filelist content element type.
Impact
======