$handlePostFlushEvent parameter to SoftDeleteableListener::__construct() to enable or disable handling of the postFlush event (#2958)postFlush event is disabled by default (#2958)behat/transliterator with symfony/string for default transliteration and urlization steps (#2985)ClassMetadata::getFieldValue() and ClassMetadata::setFieldValue() methods to support doctrine/orm >= 3.4 (#2966)doctrine/mongodb-odm ^2.11 (#2945)doctrine/orm to ^2.20 || ^3.3doctrine/orm ^2.20 || ^3.3 that caused the translation walker to produce queries with duplicated LIMIT clauses (issue #2917)doctrine/persistence ^4.0doctrine/dbal >= 4.0 that caused MariaDB to improperly attempt LONGTEXT casting in TranslationWalker (issue #2887)[@note](https://github.com/note) annotation from AbstractLogEntry::$data, which was causing issues in projects using annotation parsersdoctrine/dbal >= 4.0 with all extensions, except LoggableThrowable from Gedmo\Exception interfacedoctrine/orm 3TranslationWalker hint when looking for similar slugs (getSimilarSlugs method) for entities which implement Translatable interface and have uniqueOverTranslations: true Slug option (#100, #2530)MaterializedPath::removeNode().Gedmo\SoftDeleteable\Event\PreSoftDeleteEventArgs and
Gedmo\SoftDeleteable\Event\PostSoftDeleteEventArgs classes.psr/clock implementation into event adapters
that create new DateTimeInterface objects (SoftDeleteable and Timestampable)[@internal](https://github.com/internal) annotation from Gedmo\Mapping\Driver\AttributeReader.Gedmo\SoftDeleteable\Event\PreSoftDeleteEventArgs and
Gedmo\SoftDeleteable\Event\PostSoftDeleteEventArgs classes to preSoftDelete and postSoftDelete events.createLifecycleEventArgsInstance() method on Gedmo\Mapping\Event\AdapterInterface
implementations is deprecated, use your own subclass of Doctrine\Persistence\Event\LifecycleEventArgs as needed.[@template](https://github.com/template) and [@template-extends](https://github.com/template-extends) annotations to the Tree repositoriesGedmo\Mapping\Event\Adapter\ORM::getObjectManager() and getObject() on EventArgs that do not implement getObjectManager() and getObject() (such as old EventArgs implementing getEntityManager() and getEntity())Gedmo\Uploadable\Event\UploadableBaseEventArgs::getEntityManager() and getEntity(). Call getObjectManager() and getObject() instead.XML Driver that did not allow to retrieve from the entity definition the mappedBy and inversedBy fields.setSibling() and getSibling() methods in the Node interface through the BC [@method](https://github.com/method) annotation$sortByField and $direction parameters at AbstractTreeRepository::recover()$data array in annotation classes at Gedmo\Mapping\Annotation\
namespaceTranslationProxy::__set() (from TranslationProxy to void)Node::$sibling property, which is deprecated as of PHP >= 8.2TranslationProxy::__set() in order to honor its original signature (void)Node interface in classes that are used as nodesGedmo\Tool\WrapperInterface::getIdentifier() method without the second argument ($flatten) is deprecated and will
be required in version 4.0LoggableListener[@note](https://github.com/note) annotation$options as parameter 2 in getPathQueryBuilder() to specify whether you want the starting node included or notgetPathAsString() method to entity repositoryverify() in case you want to verify a single tree in a forestrecoverFast() method for where speed is more important than safety and entity manager staterecover() for sibling order, tree root in a forest, verification skip and auto-flushingNested::ALLOWED_NODE_POSITIONS constant in order to expose the available node positionsdoctrine/collections 2.0doctrine/event-manager 2.0LogEntryInterface interface in order to be implemented by log entry modelsTranslatableListener::getTranslatableLocale()[@final](https://github.com/final) and [@internal](https://github.com/internal) annotations were added to all non base classes, which means that extending
these classes is deprecated and can not be inherited in version 4.0.Comparable::compareTo() is deprecated in SortableListener::postFlush().
This will not be accepted in version 4.0.Doctrine\Common\Annotations\Reader or Gedmo\Mapping\Driver\AttributeReader instance will be required.Gedmo\DoctrineExtensions::registerAnnotations() is deprecated and will be removed in 4.0, the method has been no-op'd as all
supported doctrine/annotations versions support autoloadingLoggableListener::ACTION_CREATE, LoggableListener::ACTION_UPDATE and LoggableListener::ACTION_REMOVE
are deprecated. Use LogEntryInterface::ACTION_CREATE, LogEntryInterface::ACTION_UPDATE and LogEntryInterface::ACTION_REMOVE
instead.null to abs() functionnull as argument 8 to Nested::shiftRangeRL()
---
DateTimeImmutable fieldschildrenQueryBuilder() to allow specifying sort order separately for each fieldreorder() methodClosureTreeRepository::removeFromTree() and NestedTreeRepository::removeFromTree() when something fails in the transaction, it uses the code from the original exception to construct the \Gedmo\Exception\RuntimeException instance instead of null.preg_match() (#2473)AbstractMaterializedPath::removeNode() and AbstractMaterializedPath::getChildren()ClassMetadataFactory::getCacheDriver() method.appendNumber renaming for files without extension (#2228)FileInfoInterface::getSize() return type declaration (#2413).null.Translation entity to speed up searches using
Gedmo\Translatable\Entity\Repository\TranslationRepository::findTranslations() method.Gedmo\Mapping\Event\AdapterInterface::getObject() method.AbstractClassMetadataFactory::getCacheDriver() method.doctrine/mongodb-odm >= 2.2Gedmo\Translatable\Document\Repository\TranslationRepository::findObjectByTranslatedField()
method accessing a non-existing key.Gedmo\Tool\Logging\DBAL\QueryAnalizer class without replacement.Gedmo\Mapping\Event\AdapterInterface::__call() method.Gedmo\Tool\Wrapper\AbstractWrapper::clear() method.Gedmo\Tool\Wrapper\WrapperInterface::populate() method.setCacheItemPool()
on the extension listener passing an instance of Psr\Cache\CacheItemPoolInterface.fallback attribute of the translatable
element in the XML mapping.activate-locking attribute of the tree
element in the XML mapping.append_id, starts_with_separator and
ends_with_separator attributes of the tree-path element in the XML mapping.Gedmo\SoftDeleteable\Query\TreeWalker\Exec\MultiTableDeleteExecutor::__construct() requires a Doctrine\ORM\Mapping\ClassMetadata instance.tree-path-hash fields in XML mapping.ClosureTreeRepository::cleanUpClosure() and Closure::updateNode().Gedmo\Mapping\Driver\Xml::_loadMappingFile() behavior in scenarios where libxml_disable_entity_loader(true) was previously
called.versioned fields at attribute-override in XML mapping.Gedmo\Mapping\Driver\File::$_paths property and Gedmo\Mapping\Driver\File::setPaths() method are deprecated and will
be removed in version 4.0, as they are not used.--config option to fix-cs Composer script.replaceRelative() and replaceInverseRelative() at Gedmo\Sluggable\Mapping\Event\Adapter\ODM if the
query result does not implement Doctrine\ODM\MongoDB\Iterator\Iterator.Doctrine\ORM\UnitOfWork relies on SPL object IDs instead of hashes, thus we need to adapt our codebase in order to be compatible with this change.
As Doctrine\ODM\MongoDB\UnitOfWork from doctrine/mongodb-odm still uses spl_object_hash(), all spl_object_hash() calls were replaced by spl_object_id() to make it work with both ORM and ODM managers.Doctrine\DBAL\Types\Type at Gedmo\Translatable\Mapping\Event\Adapter\ORM::foreignKey() (#2250)composer.json, resolving minor function parameter deprecations #2194/lib/Gedmo to /srcdoctrine/common 3.0 and doctrine/persistence 2.0\Zend_date date format #2163Zend Framework to Laminas #2163Changes below marked ⚠️ may also be breaking, if you have extended DoctrineExtensions.
ext-mongodb PHP extension. Usage of ext-mongo is deprecated and will be removed in the next major version.\MongoDate replaced with MongoDB\BSON\UTCDateTimenull parameter from Doctrine\Common\Cache\Cache::save() calls (#1996)How can I help you explore Laravel packages today?