Skip to content

Releases: doctrine-extensions/DoctrineExtensions

v3.15.0

12 Feb 15:20
Compare
Choose a tag to compare

Added

  • SoftDeleteable: Gedmo\SoftDeleteable\Event\PreSoftDeleteEventArgs and
    Gedmo\SoftDeleteable\Event\PostSoftDeleteEventArgs classes.
  • Add support for injecting a psr/clock implementation into event adapters
    that create new DateTimeInterface objects (SoftDeleteable and Timestampable)

Changed

  • Make doctrine/annotations an optional dependency.
  • Remove @internal annotation from Gedmo\Mapping\Driver\AttributeReader.

Deprecated

  • Do not add type-hinted parameters Gedmo\SoftDeleteable\Event\PreSoftDeleteEventArgs and
    Gedmo\SoftDeleteable\Event\PostSoftDeleteEventArgs classes to preSoftDelete and postSoftDelete events.
  • The createLifecycleEventArgsInstance() method on Gedmo\Mapping\Event\AdapterInterface
    implementations is deprecated, use your own subclass of Doctrine\Persistence\Event\LifecycleEventArgs as needed.

Fixed

  • Add conflict against "doctrine/orm" >= 3.
  • Add conflict against "doctrine/dbal" => 4.

v3.14.0

03 Dec 09:12
Compare
Choose a tag to compare

Added

  • Support for Symfony 7
  • Tree: Added @template and @template-extends annotations to the Tree repositories

Changed

  • Dropped support for PHP < 7.4
  • Dropped support for Symfony < 5.4
  • Dropped support for doctrine/dbal < 3.2

Deprecated

  • Calling Gedmo\Mapping\Event\Adapter\ORM::getObjectManager() and getObject() on EventArgs that do not implement getObjectManager() and getObject() (such as old EventArgs implementing getEntityManager() and getEntity())
  • Calling Gedmo\Uploadable\Event\UploadableBaseEventArgs::getEntityManager() and getEntity(). Call getObjectManager() and getObject() instead.

v3.13.0

06 Sep 17:25
v3.13.0
Compare
Choose a tag to compare

Fixed

  • References: fixed condition in XML Driver that did not allow to retrieve from the entity definition the mappedBy and inversedBy fields (#2670)
  • Fix bug collecting metadata for inherited mapped classes (#2651)

v3.12.0

08 Jul 20:42
v3.12.0
Compare
Choose a tag to compare

Added

  • Tree: setSibling() and getSibling() methods in the Node interface through the BC @method annotation
  • Tree: Support array of fields and directions in the $sortByField and $direction parameters at AbstractTreeRepository::recover()
  • Loggable: Support for composite identifiers

Changed

  • Named arguments have precedence over the values passed in the $data array in annotation classes at Gedmo\Mapping\Annotation\ namespace
  • Removed conflict against "doctrine/cache" < 1.11, as this library is not used
  • Return type from TranslationProxy::__set() (from TranslationProxy to void)

Fixed

  • Tree: Creation of dynamic Node::$sibling property, which is deprecated as of PHP >= 8.2
  • Return type from TranslationProxy::__set() in order to honor its original signature (void)

Deprecated

  • Tree: Not implementing Node interface in classes that are used as nodes
  • Implementing the Gedmo\Tool\WrapperInterface::getIdentifier() method without the second argument ($flatten) is deprecated and will be required in version 4.0

v3.11.1

20 Feb 19:26
v3.11.1
Compare
Choose a tag to compare

Fixed

  • Loggable: Remove unfixable deprecation when extending LoggableListener
  • Remove unfixable deprecations when extending repository classes
  • Fix error caused by the attempt of "doctrine/annotations" parsing a @note annotation

v3.11.0

26 Jan 00:17
v3.11.0
Compare
Choose a tag to compare

Added

  • Tree: Add Nested::ALLOWED_NODE_POSITIONS constant in order to expose the available node positions
  • Support for doctrine/collections 2.0
  • Support for doctrine/event-manager 2.0
  • Loggable: Add LogEntryInterface interface in order to be implemented by log entry models

Fixed

  • Sortable: Fix return value check of Comparable interface (#2541)
  • Uploadable: Retrieve the correct metadata when uploading entities of different classes (#2071)
  • Translatable: Fix property existence check at TranslatableListener::getTranslatableLocale()

Deprecated

  • In order to close the API, @final and @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.
  • Sortable: Accepting a return type other than "integer" from Comparable::compareTo() is deprecated in SortableListener::postFlush().
    This will not be accepted in version 4.0.
  • Deprecate the annotation reader being allowed to be any object.
    In 4.0, a 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 autoloading
  • Loggable: Constants LoggableListener::ACTION_CREATE, LoggableListener::ACTION_UPDATE and LoggableListener::ACTION_REMOVE
    are deprecated. Use LogEntryInterface::ACTION_CREATE, LogEntryInterface::ACTION_UPDATE and LogEntryInterface::ACTION_REMOVE
    instead.

v3.10.0

14 Nov 20:29
v3.10.0
Compare
Choose a tag to compare

Changed

  • Bump "doctrine/event-manager" dependency from ^1.0 to ^1.2.

Fixed

  • Tree: TreeRoot without "rootIdentifierMethod" when calling getNextSiblings() (#2518)
  • Sortable: Fix duplicated positions when manually updating position on more than one object (#2439)

v3.9.0

22 Sep 02:40
v3.9.0
Compare
Choose a tag to compare

Fixed

  • Tree: Allow sorting children by a ManyToOne relation (#2492)
  • Tree: Fix passing null to abs() function
  • Timestampable: Use an attribute in Timestampable attribute docs

Deprecated

  • Tree: Passing null as argument 8 to Nested::shiftRangeRL()

v3.8.0

17 Jul 12:08
v3.8.0
Compare
Choose a tag to compare

Added

  • Sluggable: Add support for DateTimeImmutable fields
  • Tree: [NestedSet] childrenQueryBuilder() to allow specifying sort order separately for each field
  • Tree: [NestedSet] Added option to reorder only direct children in reorder() method

Changed

  • Tree: In ClosureTreeRepository::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.

Fixed

  • Sluggable: Cast slug to string before passing it as argument 2 to preg_match() (#2473)
  • Sortable: [SortableGroup] Fix sorting date columns in SQLite (#2462).
  • PHPDoc of AbstractMaterializedPath::removeNode() and AbstractMaterializedPath::getChildren()
  • Retrieving the proper metadata cache from Doctrine when using a CacheWarmer.

v3.7.0

17 May 07:04
Compare
Choose a tag to compare

Added

  • Add support for doctrine/persistence 3

Changed

  • Removed call to deprecated ClassMetadataFactory::getCacheDriver() method.
  • Dropped support for doctrine/mongodb-odm < 2.3.
  • Make doctrine/cache an optional dependency.

Fixed

  • Loggable: Fix appendNumber renaming for files without extension (#2228)