Releases: doctrine/orm
v2.6.4
This release fixes many bugs (including a performance regression) and makes the v2.x series compatible with PHP 7.4.
- Total issues resolved: 11
- Total pull requests resolved: 32
- Total contributors: 30
Improvement
- 7785: Fix "access array offset on value of type null" PHP 7.4 notices thanks to @mlocati
- 7142: Rename this repository to doctrine/orm thanks to @greg0ire
Bug
- 7821: Bug: #7820 paginator ignores dbal type conversions in identifiers thanks to @Ocramius
- 7778: Guard L2C regions against corrupted data thanks to @umpirsky
- 7767: PersistentCollection::matching() does not respect the collections native sorting thanks to @stephanschuler
- 7766: Respect collection orderBy meta when matching() thanks to @stephanschuler
- 7761: Do not modify UOW on PersistentCollection::clear() when owner has DEFFERED_EXPLICIT change tracking policy thanks to @paxal
- 7750: Fix incorrect return of null values in L2C thanks to @AlexSmerw
- 7737: Fix MEMBER_OF comparison when using criteria in query builder thanks to @Smartel1
- 7735: Null in fields value in Cached Entity several times on day on high-load project. thanks to @AlexSmerw
- 7630: Fix #7629 -
scheduledForSynchronization
leaks memory when using@ORM\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
thanks to @yethee - 7528: Prevent
UnitOfWork
lookup for DBAL types specified inDoctrine\ORM\Query#setParameter()
thanks to @Ocramius - 7322: JoinedSubclassPersister pass identifier types on delete thanks to @dennisenderink and @fred-jan
- 7266: Call to a member function resolveAssociationEntries() on boolean {"detail":"[object] (Symfony\Component\Debug\Exception\FatalThrowableError(code: 0): Call to a member function resolveAssociationEntries() on boolean at /www/vendor/doctrine/orm/lib/Doctrine/ORM/Cache/DefaultQueryCache.php:140)"} thanks to @mingmingxianseng
- 4632: DDC-3789: Paginator does not convert entity ids if they are value objects thanks to @doctrinebot
Documentation
- 7818: Add note into docs about not using SimpleAnnotationReader thanks to @SenseException
- 7791: Fix preFlush event documentation stating incorrectly that flush can be called safely thanks to @Steveb-p
- 7753: Add ORM annotations in getting-started docs thanks to @SenseException and @wajdijurry
- 7744: Fixed a typo-error thanks to @noobshow
- 7732: [Documentation] Missing comma fix thanks to @lchrusciel
- 7729: Update DATE_ADD and DATE_SUB docs thanks to @JoppeDC
- 7672: Added cross-links to relevant documentation thanks to @jschaedl
- 7612: Update ordered-associations.rst thanks to @spirlici
- 7610: Change APC to OPcache in improving-performance.rst thanks to @smtchahal
- 7596: Correct method names and broken link in docs thanks to @mbessolov
- 7577: Fix of single link to dbal docs in advanced-configuration.rst thanks to @SenseException
- 7572: Remove codeigniter Framework example thanks to @SenseException
- 7571: Fix typo in inheritance mappings docs thanks to @batwolf
- 7557: Change Stackoverflow tag to doctrine-orm thanks to @malarzm
- 7551: [2.6] Migrate repository name doctrine/doctrine2 -> doctrine/orm thanks to @Majkl578
- 7530: Documentation error typo fix: s/Used-defined/User-Defined thanks to @vladyslavstartsev
- 7519: #7518 Fixed type mismatch between
EntityRepository#__construct()
and its documented constructor arguments thanks to @koftikes - 7518:
EntityRepository::__construct()
expectsDoctrine\ORM\EntityManager
instead of actual requiredEntityManagerInterface
thanks to @koftikes - 7490: Fix broken link thanks to @vladyslavstartsev
- 7483: Fixed a minor syntax issue thanks to @javiereguiluz
CI
v2.6.3
This release provides fixes for many things, specially:
- Regression in commit order calculation
- BC-break in
EntityManager#find()
using optimistic lock outside of
transaction - PHP 7.3 compatibility issues
- Total issues resolved: 8
- Total pull requests resolved: 26
- Total contributors: 26
Documentation
- 7472: fix incorrect phpdoc typehint thanks to @seferov
- 7465: Fixes tiny typo in the 'Working with DateTime instances' documentation thanks to @unguul
- 7444: Fixed URLs of doctrine-mapping.xsd in docs thanks to @Naitsirch
- 7441: $hydrationMode throughout can be a string as well as int (for custom modes) thanks to @asgrim
- 7435: Fix a typo on Documentation thanks to @oguzdumanoglu
- 7434: Removed FAQ paragraph stating public variables are disallowed thanks to @Naitsirch and @flaushi
- 7423: Update association-mapping.rst thanks to @ThomasLandauer
- 7421: JIRA to Github issues on Limitations and Known Issues thanks to @seferov
- 7412: Some formatting improvements thanks to @ThomasLandauer
- 7411: Autoload error when following the Getting Started Guide thanks to @ThomasLandauer
- 7401: [docs] Fix docblock in
inheritance-mapping.rst
thanks to @bobdenotter - 7397: Update getting-started.rst thanks to @eibt
- 7394: Class 'Doctrine\Common\Persistence\Mapping\Driver\AnnotationDriver' not found thanks to @ekosynth
- 7378: Typo fix thanks to @BenMorel
- 7377: Fix query andX doctype thanks to @sserbin
- 7374: Deprecation message in documentation for YAML thanks to @SenseException and @iltar
- 7360: Document getPartialReference() properly thanks to @lcobucci
Bug
- 7471: Fix parameter value processing for objects with unloaded metadata thanks to @alcaeus
- 7367: Fix for BC break in 2.6.2 when calling EM::find() with LockMode::OPTIMISTIC outside of a TX thanks to @timdev
- 7328: Handle removed parameters by tree walker in Paginator thanks to @plfort
- 7325: Make code php 7.3 lint-compatible thanks to @paxal
- 7317: [XML] Fix default value of many-to-many order-by to ASC thanks to @alexdenvir
- 7260: Fix the handling of circular references in the commit order calculator thanks to @stof
- 6830: fix applying column options on foreign key columns thanks to @Tobion
Improvement
- 7428: CI: Test against PHP 7.3 thanks to @Majkl578
- 7363: Fix compatibility with phan thanks to @philippe-unitiz
- 7345: Correct DOMDocument constructor in test thanks to @guilliamxavier
- 7307: Fix remaining usages of deprecated ClassLoader and Inflector from doctrine/common thanks to @Majkl578 and @simonwelsh
v2.6.2
2.6.2
This release provides fixes for:
- a regression in parsing of DQL with aggregate functions as arguments in other functions,
- pessimistic locking without running transaction,
- using non-deprecated Lexer and Inflector.
- Total issues resolved: 3
- Total pull requests resolved: 7
- Total contributors: 5
Bug
- 7296: Fix #7286: StringPrimary no longer accepts aggregate functions as argument thanks to @Majkl578 and @NothingWeAre
- 7291: [2.6] Fix for #7068: EntityManager::find() with pessimistic lock should check for transaction thanks to @Majkl578 and @madwizard-thomas
- 7274: Use non-deprecated version of Lexer and Inflector thanks to @Majkl578
- 7190: Fix wrong type in phpdoc of
Doctrine\ORM\Id\AbstractIdGenerator#generate()
thanks to @Tobion - 7146: [XML] Fix default value of one-to-many order-by to ASC thanks to @Awkan
Improvement
Documentation
v2.6.1
This release provides fixes for:
- a regression in parsing of
DELETE
DQL queries without a DQL alias - a regression in hydration of fields of intermediate classes multi-level single-/multi-table-inheritance
- a call to an undefined
Doctrine\Common\Cache\MemcachedCache::setMemcache()
method in the setup tooling - persistence order for entities with identity through associated entity
- some persistence issues with join columns with special characters in them, which need to be quoted
- incorrect SQL parameter type binding in the basic entity persister
- versioned entity version fields caching within the second level cache
Total issues resolved: 23
- 6043: Identity through foreign Entities - persist thanks to @Gorjunov
- 6531: Cannot persist parent entity if OneToOne shares the same id thanks to @davidbarratt
- 6701: Fix identity through foreign entities thanks to @vhenzl
- 6939: Error for delete query without alias since 2.6.0 thanks to @dmaicher
- 6971: Exception Call to undefined method Doctrine\Common\Cache\MemcachedCache::setMemcache() thanks to @rolando-caldas
- 6988: Inheritance middle-layer doesn't get hydrated thanks to @kbond
- 6997: ManyToManyPersister fails to remove join table entry if there is multiple join columns thanks to @NicolaF
- 7002: Flush new entity with relation when use relation in composite key throws ORMInvalidArgumentException thanks to @samplestudio
- 7003: Cannot persist new entity if primary key contains a foreign key and the referenced object is in state new and its id is not assigned thanks to @NicolaF
- 7012: Fixed updating of entity with quoted identifier join column thanks to @janlanger
- 7021: Fix incorrect variable reference thanks to @lcobucci
- 7031: Tests failing in February (QueryDqlFunctionTest::testDateAdd with "month" dataset) thanks to @Majkl578
- 7032: QueryDqlFunctionTest: Increase delta for testDateAdd() to work in February thanks to @Majkl578
- 7051: Bugfix: Hydrate subclasses of subclasses thanks to @technetium
- 7053: Fixed parser rejecting valid DQL thanks to @carnage
- 7055: Fix date issues once and for all thanks to @lcobucci
- 7059: Querying abstract class in the middle of a hierarchy returns NULL instead of objects thanks to @BenMorel
- 7062: BasicEntityPersister confuses association types with PDO datatypes thanks to @mariusklocke
- 7067: ORM second level cache and version (locking) thanks to @wtorsi
- 7069: Test for Second level cache with Version, DDC #7067 thanks to @wtorsi
- 7077: Fix BC-break on delete without alias DQL thanks to @lcobucci
- 7082: Add failing test for issue #7062 - BasicEntityPersister confuses association types with PDO datatypes thanks to @mariusklocke
- 7093: Fix updating entities with quoted identifier association thanks to @lcobucci
v2.6.0
This release contains almost 3 years of active development and it provides several improvements and fixes, including:
- Better commit order calculation
- More stable second level cache
- Strict testing and quality control
- PHP 7.1+ requirement
Stability
As of today, Doctrine ORM v2.6.x
is our stable distribution, and will receive regular bugfix releases.
The ORM team will now be able to focus completely on the v3.0
, which has no release schedule, therefore
we should not expect new features landing on v2.7.0
but only deprecation notices.
Doctrine ORM v2.5.14
will be the last bugfix release for the v2.5.x
series. Further releases will only
occur in the eventuality of a security issue being discovered.
Changes since 2.5.0
Total issues resolved: 444
Minor BC-Break
- 6216: Remove unused "$className" argument thanks to @malukenho
- 6325: Improve exception message for DQL single-valued association path expression to an inverse side (unsupported) thanks to @Isinlor
- 6500: Allow internal functions to be overridden. thanks to @ThePixelDeveloper
- 6556: Update ConsoleRunner's command list to include L2 cache and DBAL reserved keywords commands thanks to @lcobucci
- 6905: Setup: Switch Apc -> Apcu and Memcache -> Memcached thanks to @Majkl578
New Feature
- 1308: [DDC-3579] Allow override of inversedBy thanks to @z38
- 1343: Support embeddables in partial object query expression [DDC-3621] thanks to @krixon
- 1514: check if collection is empty without loading it thanks to @Metabor
- 4401: DDC-3580: [GH-1308] [DDC-3579] Allow override of inversedBy thanks to @doctrinebot
- 4475: DDC-3647: [GH-1354] [RFC] Added support for OneToMany with orphanRemoval. thanks to @doctrinebot
- 5934: Allow override of fetch for associations thanks to @patrick-mcdougle
- 5938: #5934 - add
fetch
option toAssociationOverride
in order to override fetch strategy for subclasses of entities thanks to @Ma27 - 6003: Expose
EntityPersister::count()
throughEntityRepository::count()
thanks to @phansys - 6397: This should fix Criteria startsWith and endsWith thanks to @svycka
Improvement
- 1228: Fixed many small phpcs issues thanks to @acrobat
- 1303: make QueryBuilder::getAllAliases public thanks to @mrkrstphr
- 1310: Allow symfony 3.0 components thanks to @nicolas-grekas
- 1344: Fix tests for SLC console commands failing due to console output decoration thanks to @billschaller
- 1357: Drop useless execution bit thanks to @DavidPrevot
- 1370: drop doctrine/common git submodule thanks to @TomasVotruba
- 1382: Patch second level cache association hydration thanks to @holtkamp
- 1384: Fix coding standard of
IdentityGenerator#generate()
thanks to @TomasVotruba - 1397: Add Expr::concat support for multiple arguments thanks to @giosh94mhz
- 1400: mysqli is supported by HHVM thanks to @photodude
- 1401: Remove HHVM-nightly builds thanks to @stof
- 1405: EntityManager#getReference throw ORMException for unrecognized id thanks to @taueres
- 1407: Add return to removeMethodTemplate thanks to @aivus
- 1433: Check for non-cacheable entities on metadata level, not at runtime thanks to @goetas
- 1451: composer: autoload via PSR-4 thanks to @TomasVotruba
- 1452: composer: dev is now by default thanks to @TomasVotruba
- 1457: Updated syntax for "integer" and "boolean" types thanks to @phansys
- 1466: Travis: Switch to container-based infrastructure thanks to @Majkl578
- 1470: [CI] Added dev requirement for "doctrine/coding-standard" thanks to @phansys
- 1472: Add test for MariaDB 5.5 and 10.1 on Travis thanks to @PowerKiKi
- 1474: Fix: Remove unused imports thanks to @localheinz
- 1482: Add type hint for entity manager thanks to @bocharsky-bw
- 1518: Added custom ID generator definition to the FieldBuilder thanks to @guiwoda
- 1545: Generic overall fixes thanks to @guilhermeblanco
- 1561: [DDC-4006] Inherit ID generator strategy mapping from embeddables thanks to @deeky666
- 1563: Fixing method name 'rollBack', which was documented as 'rollback' thanks to @rawkode
- 1570: [RFC] Tests around reported cases over DDC-2524 thanks to @guilhermeblanco
- 1574: deduplication of internal UnitOfWork methods thanks to @Ma27
- 1575: Add message to NonUniqueResultException thanks to @Alfredao
- 1579: Reduce code duplication in ProxyFactory::createInitializer thanks to @aschempp
- 4267: DDC-3458: [GH-1228] Fixed many small phpcs issues thanks to @doctrinebot
- 4405: DDC-3584: [GH-1310] Allow symfony 3.0 components thanks to @doctrinebot
- 4484: DDC-3655: [GH-1362] Readme: badges for 2.5 added; 2.3- dropped thanks to @doctrinebot
- 4494: DDC-3664: [GH-1369] Drop empty file thanks to @doctrinebot
- 4495: DDC-3665: [GH-1370] drop doctrine/common git submodule thanks to @doctrinebot
- 4499: DDC-3669: [GH-1373] Add note about "symfony/yaml" dependency for yml mappings thanks to @doctrinebot
- 4527: DDC-3694: [GH-1384] Fix coding standard of
IdentityGenerator#generate()
thanks to @doctrinebot - 4553: DDC-3717: [GH-1397] Add Expr::concat support for multiple arguments thanks to @doctrinebot
- 4562: DDC-3725: [GH-1400] pgsql and mysqli are supported by HHVM thanks to @doctrinebot
- 4563: DDC-3726: [GH-1401] Remove HHVM-nightly builds thanks to @doctrinebot
- 4569: DDC-3731: [GH-1405] EntityManager#getReference throw ORMException for unrecognized id thanks to @doctrinebot
- 4572: DDC-3734: [GH-1407] Add return to removeMethodTemplate thanks to @doctrinebot
- 4626: DDC-3783: [GH-1433] Check for non-cacheable entities on metadata level, not at runtime thanks to @doctrinebot
- 4658: DDC-3811: [GH-1451] composer: autoload via PSR-4 thanks to @doctrinebot
- 4659: DDC-3812: [GH-1452] composer: dev is now by default thanks to @doctrinebot
- 4672: DDC-3824: [GH-1457] Updated syntax for "integer" and "boolean" types thanks to @doctrinebot
- 4684: DDC-3835: [GH-1466] Travis: Switch to container-based infrastructure thanks to @doctrinebot
- 4691: DDC-3841: [GH-1470] [CI] Added dev requirement for "doctrine/coding-standard" thanks to @doctrinebot
- 4697: DDC-3847: [GH-1474] Fix: Remove unused imports thanks to @doctrinebot
- [4741: DDC-3887: [GH-1499] minor: removed useless line breaks](https://github.com/doctrine/doctrine2/issues...
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