$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 (#2670)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) annotationNested::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.getNextSiblings() (#2518)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.Primarily marks Doctrine Extensions as conflicting with ORM 2.10 due to breaking Translations. Big thanks to @phansys for help identifying and fixing! 🙌🏼
Doctrine\DBAL\Types\Type at Gedmo\Translatable\Mapping\Event\Adapter\ORM::foreignKey() (#2250)composer.json, resolving minor function parameter deprecations #2194How can I help you explore Laravel packages today?