TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:09 +02:00
commit af8cc155b5
6818 changed files with 642608 additions and 0 deletions
@@ -0,0 +1,69 @@
.. include:: /Includes.rst.txt
.. _breaking-VersionState-1687856333:
==============================================================
Breaking: #101175 - Convert VersionState to native backed enum
==============================================================
See :issue:`101175`
Description
===========
The class :php:`\TYPO3\CMS\Core\Versioning\VersionState` is now
converted to a native PHP backed enum.
Impact
======
Since :php:`\TYPO3\CMS\Core\Versioning\VersionState` is no longer
a class, the existing class constants are no longer available, but are
enum instances instead.
In addition it's not possible to instantiate it anymore or call
the :php:`equals()` method.
Affected installations
======================
TYPO3 code using the following code:
Using the following class constants:
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::DEFAULT_STATE`
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::NEW_PLACEHOLDER`
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::DELETE_PLACEHOLDER`
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::MOVE_POINTER`
Class instantiation:
- :php:`new \TYPO3\CMS\Core\Versioning\(VersionState::*->value)`
where * denotes one of the enum values.
Method invocation:
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::cast()`
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::cast()->equals()`
Migration
=========
Use the new syntax for getting the values:
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::DEFAULT_STATE->value`
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::NEW_PLACEHOLDER->value`
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::DELETE_PLACEHOLDER->value`
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::MOVE_POINTER->value`
Class instantiation should be replaced by:
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::tryFrom($row['t3ver_state'])`
Method invocation of :php:`cast()`/:php:`equals()` should be replaced by:
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::tryFrom(...)`
- :php:`\TYPO3\CMS\Core\Versioning\VersionState::tryFrom(...) === VersionState::MOVE_POINTER`
.. index:: Backend, NotScanned, ext:backend, ext:core, ext:frontend, ext:workspaces