Releases: doctrine/orm
v2.5.14
This version backports bugfixes related to the generation of queries with joins and configuration of the result set cache profile of a query.
Total issues resolved: 2
Bug
v2.5.13
This release fixes several small issues found on the next minor release of the ORM (v2.6.0) that we could easily backport to v2.5.x.
Total issues resolved: 13
- 5904: Fixed overwriting explicit cache namespace thanks to @JanJakes
- 6167: Fails to insert to a PostgreSQL master-slave config due to SequenceGenerator(NEXTVAL) issues thanks to @mkurzeja
- 6168: Fixed #6167 - Forced SELECT NEXTVAL to be run on master thanks to @mkurzeja
- 6682: SequenceGenerator crashes with non-numeric value encountered when using XML Driver thanks to @alextech
- 6683: Supply default values for optional values in sequence mapping if omitted by driver. thanks to @alextech
- 6699: setParameter issue when mixing :name and ?0 syntax thanks to @Seb33300
- 6705: Fix parameter name comparison in AbstractQuery regarding different types (fixes #6699) thanks to @Majkl578
- 6740: Fix operator when using criteria on ManyToMany thanks to @mduplouy
- 6810: BasicEntityPersister::count() return type contract violation in 2.5.x branch thanks to @vkurdin
- 6818: BasicEntityPersister::count() return type fix thanks to @vkurdin
- 6821: Make test suite compatible with PHP 7.2 thanks to @remicollet
- 6848: Fixed overwriting explicit cache namespace thanks to @lcobucci
- 6852: Backport #6167 from 2.6 to 2.5.x branch thanks to @gigi
v2.5.12
v2.5.11
This release reduces the version constraints on the doctrine/instantiator
dependency,
effectively allowing any doctrine/instantiator
version to be installed.
Total issues resolved: 1
v2.5.10
This release fixes an issue related to a long standing issue with how
PHP handles loading of external XML entities (https://bugs.php.net/bug.php?id=62577).
Total issues resolved: 2
v2.5.9
This release fixes a couple regression introduced by
v2.5.7 and v2.5.8.
Specifically, AbstractHydrator#hydrateAll()
was raising
E_NOTICE
errors due to it not being registered with the
EventManager
, yet trying to remove itself from the
registered listeners. #6623
In addition to that, having embeddable final
classes
would cause errors being raised while trying to generate
proxies. The ORM will no longer attempt to generate proxies
for embeddables. #6625
Total issues resolved: 3
v2.5.8
This release solves a bug introduced while backporting
#6464 and #6475.
Specifically, a dangling undefined variable remained in the
code, causing some SqlWalker
functionality to misbehave.
The undefined variable wasn't noticed due to it being placed
in an empty()
expression.
Total issues resolved: 1
v2.5.7
This release fixes a number of bugs detected in the current stable
release of the ORM.
This patch introduces compatibility with Doctrine DBAL 2.6.x. #6580
The most critical issue being fixed is a bug
in Doctrine\ORM\PersistentCollection
, causing duplicate data
to be persisted when a collection is both marked as initialized
and dirty, and more entries are added to it via
the Doctrine\Common\Collections\Collection#add()
API. #6613 #6614
#6616
The return value of Doctrine\ORM\PersistentCollection#removeElement()
was sometimes an object
or null, causing some applications to crash when PHP is run within the context of
declare(strict_types=1);` #6550
Memory leak issues with the hydrator process were fixed: the
hydrator object was never being garbage collected due to it
being registered with a Doctrine\Common\EventManager
instance
to listen for the Doctrine\ORM\Events::onClear
event. #1515
The Doctrine\ORM\Tools\Pagination\CountOutputWalker
was producing
invalid SQL for queries containing a GROUP BY
clause. #6243
The SQL generated for a DQL query containing a JTI (Joined Table
Inheritance) selection and a WITH
clause applied to a JOIN
condition was invalid on PostgreSQL. #6475
The Doctrine\ORM\Tools\Console\MetadataFilter
was not detecting
all metadata matching the filter regular expression. #5715
The Doctrine\ORM\Tools\SchemaTool
was raising notices due to
invalid lookup for a discriminator column length, which may
not be defined in all mappings. #5798
Total issues resolved: 18
- 1515: DDC-3146 Remove
onClear
event listener from abstract hydrator in cleanup function, otherwise causing hydrator GC to not kick in thanks to @emiel-silverstreet - 1541: Type annotation correction in
ResultSetMappingBuilder#addJoinedEntityFromClassMetadata()
$relation
(should bestring
) thanks to @aleeeftw - 3925: DDC-3146: Hydrator memory leak when using iterator thanks to @doctrinebot
- 4772: DDC-3914: #1515 DDC-3146 Remove event listener from abstract hydrator in cleanup function thanks to @doctrinebot
- 5715: Fix
MetadataFilter
regression after #507 (#2815) not testing filters after first one thanks to @guilliamxavier - 5745:
PersistentCollection#removeElement()
returnsobject
ornull
instead of boolean thanks to @holtkamp - 5798: Fix undefined index for discriminator column
length
attribute inSchemaTool
thanks to @sergeyfedotov - 6243: Fix
CountOutputWalker
for queries containing aGROUP BY
clause, which was producing invalid SQL thanks to @enumag - 6362: Undefined Property error in ObjectHydrator when using JOIN WITH thanks to @SirWaddles
- 6367: Correct hydration of resultsets coming from DQL queries where the root of the selection is aliased and also the root of an inheritance thanks to @SirWaddles
- 6381: Corrected
LoadClassMetadataEventArgs
@method
annotations to reflect actual returned types thanks to @ElisDN - 6464: Query builder yields invalid SQL with JOINED inheritance type on PostgreSQL thanks to @stesie
- 6475: Fix invalid sql generated for CTI JOINs when INNER JOIN'ing with a
WITH
clause thanks to @stesie - 6550: Fix return value of
PersistentCollection#removeElement()
for extra-lazy collections: should bebool
thanks to @alcaeus - 6580: Allow DBAL 2.6 and common 2.8 to be installed thanks to @Tobion
- 6613: There is the fail "UNIQUE constraint failed" with a LAZY collection thanks to @Sysaninster
- 6614:
UNIQUE constraint failed
errors when manipulating aLAZY
collection and callingtoArray()
on it thanks to @Sysaninster - 6616: #6613 #6614 correct handling of new elements added to an initialized (yet dirty) collection thanks to @Ocramius
v2.5.6
This release relaxes doctrine/common
requirements
in order to allow installation of versions that support PHP 7.1 features in proxy class
generation. Please note that a similar requirement relaxation still needs to be applied to
doctrine/dbal
in order to allow installation of
the latest doctrine/common
versions. #6156
This version also backports some fixes around the eviction of the second level cache entries
of inverse side associations in one-to-many - many-to-one mappings. #6159
Further fixes were applied in order to have child classes in inheritance mapping share the
same timestamp region when the second level cache is enabled. #6028
Also, Doctrine\ORM\EntityManager#merge()
now triggers Doctrine\ORM\Events::prePersist
listeners with the merged entity state whenever an internal Doctrine\ORM\UnitOfWork#persist()
call is implied. #6177.
Total issues resolved: 8
- 5570: Fix PrePersist EventListener when using merge instead of persist
- 6028: Make child entity share the timestamp region with parent class
- 6110: Clear $this->collection even when empty, to reset keys
- 6156: Allow doctrine/common 2.7
- 6159: #5821 Backport #1551 - Fixed support for inverse side second level cache
- 6174: Merging a new entity with PrePersist event make changes in callback not be considered
- 6177: Fix #6174 #5570: merging new entities should also trigger prepersist lifecycle callbacks with merged entity data
- 6178: Backport #6177 - fix #6174 #5570: merging new entities should also trigger prepersist lifecycle callbacks with the merged data
v2.5.5
This release includes a big amount of bugfixes.
Specifically, following issues were fixed:
- Embeddable classes are now allowed in inheritance trees 4097
- Removed some object hash collisions caused by entity merging 1465
- Allowed usage of mathematical operators in DQL
HAVING
clauses 5598 - Fixed cloning of proxies with private properties at multiple inheritance levels 5755
- Entity insertions are correctly cleared when a specific entity is to be cleared 5849
- Corrected hydration of fetch-joins that use composite keys 5762
- Metadata exporters now only export the owning side metadata in a one-to-one relation 5858
- Corrected hydration of JTI entities when
NULL
is retrieved for asimple_array
orjson_array
field 5989 - Correctly expire L2 cache query caches, based on entity region cache timestamp 6001
Total issues resolved: 18
- 1465: spl_object_hash conflict on Merge
- 4097: DDC-3303: @ORM\Embedded does not work with extending classes
- 4277: DDC-3467: Embeddable in inheritance must currently be protected
- 5598: HAVING clause with variable and *, / math operators
- 5599: Fix #5598 issue with /, * in DQL not translating query components properly
- 5689: Avoid conflicts due to spl_object_hash
- 5755: Error on entity clone for MappedSuperclass fields
- 5762: fetch join using composite key on join entity fails to hydrate correctly
- 5768: Fixes #5755 - Parent class fields are not cloned
- 5776: add functional test and bug fix for issue #5762
- 5849:
UnitOfWork#clear()
doesn't clearentityInsertions
whenentityName
is passed - 5850: Clear
UnitOfWork#$entityInsertions
for specific entityName - 5858: Exporters should only inspect
joinColumns
for owning side in bi-directional OneToOne - 5867: Allow the usage of embedded objects on parent classes
- 5975: Fix hydration after fetch join on entity with composite primary key
- 5989:
SimpleObjectHydrator
produces wrong values with inheritance table and simple array type - 6001: Make second level cache query cache rely on entity region timestamp
- 6004: Fix hydration in a joined inheritance with simple array or json array