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,56 @@
.. include:: /Includes.rst.txt
.. _breaking-66429:
======================================================
Breaking: #66429 - Remove IdentityMap from persistence
======================================================
See :issue:`66429`
Description
===========
The `IdentityMap` class and its usage has been removed from the Extbase persistence.
Impact
======
Upgraded installations will throw a `ReflectionException`. Accessing the previously existing `IdentityMap`
properties within `DataMapper` and `Repository` will now fail. Creating `IdentityMap` instances is not possible
anymore.
Affected Installations
======================
All installations, especially extensions using the `IdentityMap` class directly or accessing the properties within
`DataMapper` or `Repository`.
Migration
=========
The Extbase reflection cache of existing installations needs to be cleared once.
Existing code can be migrated to the persistence `Session` class which provides a drop-in replacement for the
`IdentityMap`.
Usage example
=============
How to use the `Session` class to retrieve objects by an identifier:
.. code-block:: php
$session = GeneralUtility::makeInstance(ObjectManager::class)->get(\TYPO3\CMS\Extbase\Persistence\Generic\Session::class);
$session->registerObject($object, $identifier);
if ($session->hasIdentifier($identifier)) {
$object = $session->getObjectByIdentifier($identifier, $className);
}
.. index:: PHP-API, ext:extbase