TYPO3 v15 dev-main snapshot ()
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-83638:
|
||||
|
||||
===================================================================================
|
||||
Breaking: #83638 - Redirect functionality moved from sys_domain to redirects module
|
||||
===================================================================================
|
||||
|
||||
See :issue:`83638`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Records of type `sys_domain` previously provided the possibility to provide a redirect via the fields `redirectTo`,
|
||||
`redirectHttpStatusCode` and `prepend_params`. The functionality has been moved from `sys_domain` to the
|
||||
new `sys_redirect` database records.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The database fields `redirectTo`, `redirectHttpStatusCode` and `prepend_params` of table `sys_domain` have been removed.
|
||||
Domain selection logic has been simplified to not consider these fields anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations directly accessing the database fields `redirectTo`, `redirectHttpStatusCode` and `prepend_params` of
|
||||
table `sys_domain` and having configured redirects in `sys_domain`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
An upgrade wizard is provided to migrate `sys_domain` records with redirects to `sys_redirect` records.
|
||||
If you directly accessed the named database fields above, change the queries accordingly to select the corresponding
|
||||
`sys_redirect` records.
|
||||
|
||||
.. index:: Frontend, NotScanned
|
||||
@@ -0,0 +1,50 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-81852:
|
||||
|
||||
=====================================================
|
||||
Deprecation: #81852 - Deprecated Usage of EXT:rsaauth
|
||||
=====================================================
|
||||
|
||||
See :issue:`81852`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension rsaauth has been marked as deprecated. The reasons are:
|
||||
|
||||
* With the extension the password transmission is the only thing that is encrypted
|
||||
* Even though the transmission is encrypted, the public key exchange from server to client
|
||||
is not authenticated. This means an attacker in the middle can hand out a bogus public key
|
||||
to the client, which means that the password will then be encrypted with the key of the attacker
|
||||
* Session ids via cookies are still transferred unencrypted. Since (valid) session ids are almost
|
||||
as valuable as passwords, jumping through hoops to protect the password, but keeping the session
|
||||
id unencrypted, seems irrational (and is insecure).
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
An additional report checks the usage of the extension and if the backend is served via https.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 site using the extension rsaauth.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use https:// for any site, especially for pages which transfer passwords, including TYPO3 backend and frontend logins.
|
||||
|
||||
The usage of a secure connection is also enforced by the browsers which mark http:// pages that
|
||||
collect passwords or credit cards as insecure. In long-term all http:// sites will be marked as insecure.
|
||||
|
||||
After removing rsaauth, the :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['loginSecurityLevel']` and
|
||||
:php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['loginSecurityLevel']` must be set to :php:`normal`,
|
||||
otherwise login will not be possible.
|
||||
|
||||
.. index:: Backend, Frontend, NotScanned
|
||||
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-83503:
|
||||
|
||||
=====================================================
|
||||
Deprecation: #83503 - Deprecate unneeded RawValidator
|
||||
=====================================================
|
||||
|
||||
See :issue:`83503`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The `RawValidator` does not actually validate anything at all. It was meant to be some kind of NullObject to prevent a
|
||||
`NoSuchValidatorException` when resolving a validator from the detected type of a param. As these Exceptions are caught,
|
||||
the Validator has been marked as deprecated and will be removed in CMS 10.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If you rely on the `RawValidator` you will need to implement it yourself.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations that use the `RawValidator`. As the validator does not validate anything the chances are high that it
|
||||
does not affect anyone at all.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If needed, create the Validator yourself.
|
||||
|
||||
.. index:: PHP-API, PartiallyScanned
|
||||
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-83511:
|
||||
|
||||
=========================================================
|
||||
Deprecation: #83511 - Deprecate AbstractValidatorTestcase
|
||||
=========================================================
|
||||
|
||||
See :issue:`83511`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The class AbstractValidatorTestcase has been marked as deprecated and will be removed in CMS 10.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Test cases for validators that extend that class will no longer work.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations that make use of that class
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Put the logic of that test case into your own test cases.
|
||||
|
||||
.. index:: PHP-API, FullyScanned
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-83592:
|
||||
|
||||
=============================================================================
|
||||
Deprecation: #83592 - impexp: Removed "Maximum number of records" restriction
|
||||
=============================================================================
|
||||
|
||||
See :issue:`83592`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
When exporting pages or records using the "Export" interface of
|
||||
extension :php:`impexp`, the restriction to export only a maximum
|
||||
number of records has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The export module now exports any number of records. It is up
|
||||
to the user to restrict this in a sane way: During import the
|
||||
number of records influences import runtime. This heavily depends
|
||||
on given server performance, an artificial limit given by the system
|
||||
is not suitable.
|
||||
|
||||
On PHP level, two export related methods changed their signature:
|
||||
|
||||
* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->addRecordsForPid()` -
|
||||
Third method argument marked as deprecated
|
||||
|
||||
* :php:`TYPO3\CMS\Impexp\Controller\ImportExportController->exec_listQueryPid` -
|
||||
Third method argument marked as deprecated
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Backend interface users are probably not affected much: Users of the
|
||||
export module usually set the 'maximum number of records' value high
|
||||
enough to export everything they wanted already. The interface now
|
||||
just misses the according input fields.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
On PHP level, the extension scanner will find extensions that use
|
||||
the changed methods and checks if they are called with the
|
||||
correct number of arguments. Additionally, :php:`E_USER_DEPRECATED`
|
||||
errors are logged at runtime if using these methods the old way.
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned, ext:impexp
|
||||
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-83596:
|
||||
|
||||
=================================================================
|
||||
Deprecation: #83596 - impexp: Removed "Max file size" restriction
|
||||
=================================================================
|
||||
|
||||
See :issue:`83596`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
When exporting files using the "Export" interface of extension
|
||||
:php:`impexp`, the restriction to only export files of a certain
|
||||
maximum size has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
On PHP level, one class property has been marked as deprecated and is unused now:
|
||||
|
||||
* :php:`TYPO3\CMS\Impexp\Export->maxFileSize`
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Backend users are probably not affected much: Users of the
|
||||
export module usually set the 'max file size' value high
|
||||
enough to export everything they wanted already. The interface now
|
||||
just misses the according input fields and exports files of all sizes.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
On PHP level, the extension scanner will find extensions that
|
||||
still use the deprecated property.
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned, ext:impexp
|
||||
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-83606:
|
||||
|
||||
===================================================
|
||||
Deprecation: #83606 - impexp: Size handling removed
|
||||
===================================================
|
||||
|
||||
See :issue:`83606`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
When exporting or importing structures via extension :php:`impexp`,
|
||||
records and files wrote size information to export files and checked
|
||||
these during import. This functionality has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
This change has no impact on editors, on PHP level, two class
|
||||
properties have been marked as deprecated:
|
||||
|
||||
* :php:`TYPO3\CMS\Impexp\Export->maxRecordSize`
|
||||
|
||||
* :php:`TYPO3\CMS\Impexp\Export->maxExportSize`
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Using these properties in PHP has been deprecated, they will be removed
|
||||
with CMS 10. The extension scanner will find possible usages.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Don't access these properties anymore, they are ignored.
|
||||
|
||||
.. index:: Backend, PHP-API, FullyScanned, ext:impexp
|
||||
@@ -0,0 +1,23 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61170:
|
||||
|
||||
=====================================================
|
||||
Feature: #61170 - Add additional hook for record list
|
||||
=====================================================
|
||||
|
||||
See :issue:`61170`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
An additional hook has been added to `EXT:recordlist` to render content above any other content.
|
||||
|
||||
Example of usage
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['recordlist/Modules/Recordlist/index.php']['drawHeaderHook']['extkey'] = \Vendor\Extkey\Hooks\PageHook::class . '->render';
|
||||
|
||||
.. index:: Backend, LocalConfiguration
|
||||
@@ -0,0 +1,30 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83350:
|
||||
|
||||
===================================================
|
||||
Feature: #83350 - Add recursive filtering of arrays
|
||||
===================================================
|
||||
|
||||
See :issue:`83350`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The new method :php:`\TYPO3\CMS\Core\Utility\ArrayUtility::filterRecursive()` has been added as an enhancement to the
|
||||
`PHP function`_ :php:`array_filter()` to filter multidimensional arrays.
|
||||
|
||||
The method :php:`ArrayUtility::filterRecursive()` behaves just like :php:`array_filter()` and if no callback is defined,
|
||||
values are removed if they equal to boolean :php:`false`. See `converting to boolean`_.
|
||||
|
||||
.. _`PHP function`: https://secure.php.net/manual/en/function.array-filter.php
|
||||
.. _`converting to boolean`: https://secure.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Arrays can be filtered recursive using the new method.
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,45 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83429:
|
||||
|
||||
=================================
|
||||
Feature: #83429 - Feature Toggles
|
||||
=================================
|
||||
|
||||
See :issue:`83429`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In order to allow better support for alternative functionality while keeping old functionality, a new API
|
||||
for enabling installation-wide features - called "Feature Toggles" - has been added.
|
||||
|
||||
The new API checks against a system-wide option array within :php:`$TYPO3_CONF_VARS['SYS']['features']` which can be
|
||||
enabled system-wide. Both TYPO3 Core and Extensions can then provide alternative functionality for a certain
|
||||
feature.
|
||||
|
||||
Features are usually breaking changes for a minor version / sprint release, which site administrators can enable
|
||||
at their own risk, or stay fully compatible with third-party extensions by choosing not to enable them.
|
||||
|
||||
Examples for having features are:
|
||||
|
||||
* Throw exceptions on certain occasions instead of just returning a string message as error message.
|
||||
* Disable obsolete functionality which might still be used, but slows down the system.
|
||||
* Enable alternative `PageNotFound handling` for an installation.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Features are documented for TYPO3 Core. For extension authors, the API can be used for any custom
|
||||
feature provided by an extension:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
if (GeneralUtility::makeInstance(Features::class)->isFeatureEnabled('myFeatureName')) {
|
||||
// do custom processing
|
||||
}
|
||||
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83449:
|
||||
|
||||
======================================================================================
|
||||
Feature: #83449 - Make list of fields configurable in Pagetree overview in Info module
|
||||
======================================================================================
|
||||
|
||||
See :issue:`83449`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The available fields in the module "Pagetree overview" in the Info module by default ship with the entries
|
||||
"Basic settings", "Cache and age" and "Record overview".
|
||||
|
||||
By using `PageTsConfig` it is now possible to change the available fields and add additional entries to the selectbox.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
mod.web_info.fieldDefinitions {
|
||||
0 {
|
||||
label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_0
|
||||
fields = title,uid,alias,starttime,endtime,fe_group,target,url,shortcut,shortcut_mode
|
||||
}
|
||||
1 {
|
||||
label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_1
|
||||
fields = title,uid,###ALL_TABLES###
|
||||
}
|
||||
2 {
|
||||
label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_2
|
||||
fields = title,uid,table_tt_content,table_fe_users
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Next to using a list of fields from the `pages` table you can add counters for records in a given table by prefixing a
|
||||
table name with `table_` and adding it to the list of fields.
|
||||
|
||||
The string `###ALL_TABLES###` is replaced with a list of all table names an editor has access to.
|
||||
|
||||
|
||||
.. index:: Backend
|
||||
@@ -0,0 +1,28 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83461:
|
||||
|
||||
============================================================
|
||||
Feature: #83461 - Show fieldname next to title in debug mode
|
||||
============================================================
|
||||
|
||||
See :issue:`83461`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
If the configuration `['BE']['debug']` is enabled and the current user is an administrator, the name of a DB field
|
||||
is prepended to the title of each field generated by the `FormEngine`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The correct name of a field is important to know for developers and integrators. Examples are setting up access
|
||||
permissions or configuration using TsConfig.
|
||||
|
||||
Instead of looking into the source code of the browser, it is now possible to display those name by enabling the debug
|
||||
mode for the backend.
|
||||
|
||||
.. index:: Backend
|
||||
@@ -0,0 +1,47 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83529:
|
||||
|
||||
=====================================================
|
||||
Feature: #83529 - Execute hooks on backend user login
|
||||
=====================================================
|
||||
|
||||
See :issue:`83529`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
When a user successfully logs in to the backend of TYPO3, registered hooks are executed.
|
||||
Developers can register their hooks as shown below.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
// Register hook on successful BE user login
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauthgroup.php']['backendUserLogin'][] =
|
||||
\Vendor\MyExtension\Hooks\BackendUserLogin::class . '->dispatch';
|
||||
|
||||
|
||||
On user login, method :php:`dispatch()` of class :php:`\Vendor\MyExtension\Hooks\BackendUserLogin`
|
||||
is executed and the backend user array is passed as a parameter:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
public function dispatch(array $backendUser)
|
||||
{
|
||||
if (isset($backendUser['user']['username'])) {
|
||||
$username = $backendUser['user']['username'];
|
||||
$email = $backendUser['user']['email'];
|
||||
// do something...
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
TYPO3 core developers as well as extension developers can develop functions which will be executed
|
||||
when a backend user successfully logs in to the backend of TYPO3.
|
||||
A typical use case would be any type of notification service.
|
||||
|
||||
.. index:: PHP-API, LocalConfiguration
|
||||
@@ -0,0 +1,54 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83631:
|
||||
|
||||
=============================================================
|
||||
Feature: #83631 - System Extension "redirects" has been added
|
||||
=============================================================
|
||||
|
||||
See :issue:`83631`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new system extension "redirects" has been added, which ships flexible handling of HTTP redirects,
|
||||
useful both for marketers and site administrators.
|
||||
|
||||
It adds a new module called "Redirects" (under a new main module called "Site Management").
|
||||
|
||||
A new DB table "sys_redirect" has been added, which allows to configure a redirect from a source
|
||||
(host+path) to a destination target. The destination target can be any kind of Uri (used by the LinkService).
|
||||
|
||||
Any time a redirect is added or modified, a list of all redirects is added to the cache management,
|
||||
allowing to fetch all redirects at once, reducing the number of queries to the DB in the frontend to 1 query
|
||||
(or to one query to the file system, as the power lies in the caching framework).
|
||||
|
||||
A simple hit statistics counter is implemented as well.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A system extension "Redirects" was added with the following features:
|
||||
|
||||
* A new sub module "Redirects"
|
||||
* Possibility to add redirects with the following caveats
|
||||
|
||||
* Source may be a specific domain, domain with port or "any" domain
|
||||
* Source Path may be an absolute path (`/foo/bar/`) or a regular expression (`#f(.*?)#`)
|
||||
* Target may be selected with the link wizard (and may be a page, file, folder or external URL)
|
||||
|
||||
* The target can be forced to HTTPS only
|
||||
* The status code of the redirect can be configured per redirect
|
||||
* Existing GET variables can be kept through the redirect
|
||||
* Redirects can be set up for specific time frames or indefinitely
|
||||
* An `X-Redirect-By: TYPO3` header is added to each redirect initiated by the module
|
||||
* A simple database based hit counter shows how often a redirect was executed and may be manually reset
|
||||
|
||||
The default settings of TYPO3s cache backend allow for about 65.000 redirects.
|
||||
|
||||
If you have more (or in the future might have more) than 65.000 redirects it is advised to switch to a different cache
|
||||
backend like redis.
|
||||
|
||||
.. index:: Backend, Frontend
|
||||
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83637:
|
||||
|
||||
=========================================================
|
||||
Feature: #83637 - Added new main module "Site Management"
|
||||
=========================================================
|
||||
|
||||
See :issue:`83637`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new main module for the TYPO3 Backend "Site" (module key "site") has been added to the TYPO3 Core.
|
||||
|
||||
Its main purpose is to host submodules related to integrators and site maintainers to configure a website,
|
||||
language configuration, domains and routing.
|
||||
|
||||
For TYPO3 9.1, the system extension "redirects" adds URL redirects to the main module, if installed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
To add a new module to the Site main module, register a module within an extensions` :php:'ext_tables.php' file:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule(
|
||||
'site',
|
||||
'mymodule',
|
||||
'',
|
||||
'',
|
||||
[
|
||||
'routeTarget' => \MyVendor\MyPackage\Controller\MyModuleController::class . '::handleRequest',
|
||||
'access' => 'group,user',
|
||||
'name' => 'site_mymodule',
|
||||
'icon' => 'EXT:mypackage/Resources/Public/Icons/module_icon.svg',
|
||||
'labels' => 'LLL:EXT:mypackage/Resources/Private/Language/locallang_module_mymodule.xlf'
|
||||
]
|
||||
);
|
||||
|
||||
.. index:: Backend
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-83677:
|
||||
|
||||
=================================================================
|
||||
Feature: #83677 - Globally disable/enable redirect hit statistics
|
||||
=================================================================
|
||||
|
||||
See :issue:`83677`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The redirects module provides the optional feature to count hits on redirects.
|
||||
On most installations this will probably be achieved using analytics tools such as
|
||||
Google Analytics, Piwik or alike - for those not using any other ways of measuring,
|
||||
counting hits can be enabled with a feature switch.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Redirect hit counting can be enabled by setting
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
'SYS' => [
|
||||
'features' => [
|
||||
'redirects.hitCount' => true
|
||||
],
|
||||
],
|
||||
|
||||
Be aware that every hit on a redirect will result in an additional SQL `UPDATE` query.
|
||||
|
||||
.. index:: Database, Frontend, LocalConfiguration
|
||||
@@ -0,0 +1,42 @@
|
||||
:template: changelogOverview.html
|
||||
.. include:: /Includes.rst.txt
|
||||
.. _changelog-9-1:
|
||||
|
||||
9.1 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-*
|
||||
Reference in New Issue
Block a user