Skip to content

Releases: doctrine-extensions/DoctrineExtensions

v3.17.1

07 Oct 22:31
v3.17.1
Compare
Choose a tag to compare

Fixed

  • Removed invalid @note annotation from AbstractLogEntry::$data, which was causing issues in projects using annotation parsers

v3.17.0

06 Oct 23:40
v3.17.0
Compare
Choose a tag to compare

Added

  • Support for doctrine/dbal >= 4.0 with all extensions, except Loggable

Changed

  • Extend Throwable from Gedmo\Exception interface

v3.16.1

25 Jun 16:22
Compare
Choose a tag to compare

Fixed

  • Restructure the SqlWalkerCompat trait to fix optimized autoloading

v3.16.0

24 Jun 18:30
Compare
Choose a tag to compare

Added

  • Support for doctrine/orm 3
  • Blameable: Added UUID in allowed types list for Blameable fields in Annotation
  • Blameable: Allow ascii_string to validTypes (issue #2726)
  • Sluggable: Allow ascii_string to validTypes
  • IpTraceable: Allow ascii_string to validTypes
  • Sluggable: Use TranslationWalker hint when looking for similar slugs (getSimilarSlugs method) for entities which implement Translatable interface and have uniqueOverTranslations: true Slug option (#100, #2530)

Deprecated

  • Support for defining mapping information from annotations has been deprecated and will be removed in 4.0, use PHP attributes mapping instead.

Fixed

  • Tree: Cascade remove not being triggered on entity children at MaterializedPath::removeNode().
  • Tree: Materialize Path strategy when using autogenerated identifiers.

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.