Skip to content

Tags: iansltx/doctrine2

Tags

v2.6.0

Toggle v2.6.0's commit message

Verified

This tag was signed with the committer’s verified signature.
lcobucci Luís Cobucci
This release contains almost 3 years of active development and it pro…

…vides

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](https://github.com/doctrine/doctrine2/pull/6216) thanks to @malukenho
- [6325: Improve exception message for DQL single-valued association path expression to an inverse side (unsupported)](https://github.com/doctrine/doctrine2/pull/6325) thanks to @Isinlor
- [6500: Allow internal functions to be overridden.](https://github.com/doctrine/doctrine2/pull/6500) thanks to @ThePixelDeveloper
- [6556: Update ConsoleRunner's command list to include L2 cache and DBAL reserved keywords commands](https://github.com/doctrine/doctrine2/pull/6556) thanks to @lcobucci
- [6905: Setup: Switch Apc -> Apcu and Memcache -> Memcached](https://github.com/doctrine/doctrine2/pull/6905) thanks to @Majkl578

**New Feature**

- [1308: [DDC-3579] Allow override of inversedBy](https://github.com/doctrine/doctrine2/pull/1308) thanks to @z38
- [1343: Support embeddables in partial object query expression [DDC-3621]](https://github.com/doctrine/doctrine2/pull/1343) thanks to @krixon
- [1514: check if collection is empty without loading it](https://github.com/doctrine/doctrine2/pull/1514) thanks to @Metabor
- [4401: DDC-3580: [GH-1308] [DDC-3579] Allow override of inversedBy](https://github.com/doctrine/doctrine2/issues/4401) thanks to @doctrinebot
- [4475: DDC-3647: [GH-1354] [RFC] Added support for OneToMany with orphanRemoval.](https://github.com/doctrine/doctrine2/issues/4475) thanks to @doctrinebot
- [5934: Allow override of fetch for associations](https://github.com/doctrine/doctrine2/issues/5934) thanks to @patrick-mcdougle
- [5938: #5934 - add `fetch` option to `AssociationOverride` in order to override fetch strategy for subclasses of entities](https://github.com/doctrine/doctrine2/pull/5938) thanks to @Ma27
- [6003: Expose `EntityPersister::count()` through `EntityRepository::count()`](https://github.com/doctrine/doctrine2/pull/6003) thanks to @phansys
- [6397: This should fix Criteria startsWith and endsWith](https://github.com/doctrine/doctrine2/pull/6397) thanks to @svycka

**Improvement**

- [1228: Fixed many small phpcs issues](https://github.com/doctrine/doctrine2/pull/1228) thanks to @acrobat
- [1303: make QueryBuilder::getAllAliases public](https://github.com/doctrine/doctrine2/pull/1303) thanks to @mrkrstphr
- [1310: Allow symfony 3.0 components](https://github.com/doctrine/doctrine2/pull/1310) thanks to @nicolas-grekas
- [1344: Fix tests for SLC console commands failing due to console output decoration](https://github.com/doctrine/doctrine2/pull/1344) thanks to @billschaller
- [1357: Drop useless execution bit](https://github.com/doctrine/doctrine2/pull/1357) thanks to @DavidPrevot
- [1370: drop doctrine/common git submodule](https://github.com/doctrine/doctrine2/pull/1370) thanks to @TomasVotruba
- [1382: Patch second level cache association hydration](https://github.com/doctrine/doctrine2/pull/1382) thanks to @holtkamp
- [1384: Fix coding standard of `IdentityGenerator#generate()`](https://github.com/doctrine/doctrine2/pull/1384) thanks to @TomasVotruba
- [1397: Add Expr::concat support for multiple arguments](https://github.com/doctrine/doctrine2/pull/1397) thanks to @giosh94mhz
- [1400: mysqli is supported by HHVM](https://github.com/doctrine/doctrine2/pull/1400) thanks to @photodude
- [1401: Remove HHVM-nightly builds](https://github.com/doctrine/doctrine2/pull/1401) thanks to @stof
- [1405: EntityManager#getReference throw ORMException for unrecognized id](https://github.com/doctrine/doctrine2/pull/1405) thanks to @taueres
- [1407: Add return to removeMethodTemplate](https://github.com/doctrine/doctrine2/pull/1407) thanks to @aivus
- [1433: Check for non-cacheable entities on metadata level, not at runtime](https://github.com/doctrine/doctrine2/pull/1433) thanks to @goetas
- [1451: composer: autoload via PSR-4](https://github.com/doctrine/doctrine2/pull/1451) thanks to @TomasVotruba
- [1452: composer: dev is now by default](https://github.com/doctrine/doctrine2/pull/1452) thanks to @TomasVotruba
- [1457: Updated syntax for "integer" and "boolean" types](https://github.com/doctrine/doctrine2/pull/1457) thanks to @phansys
- [1466: Travis: Switch to container-based infrastructure](https://github.com/doctrine/doctrine2/pull/1466) thanks to @Majkl578
- [1470: [CI] Added dev requirement for "doctrine/coding-standard"](https://github.com/doctrine/doctrine2/pull/1470) thanks to @phansys
- [1472: Add test for MariaDB 5.5 and 10.1 on Travis](https://github.com/doctrine/doctrine2/pull/1472) thanks to @PowerKiKi
- [1474: Fix: Remove unused imports](https://github.com/doctrine/doctrine2/pull/1474) thanks to @localheinz
- [1482: Add type hint for entity manager](https://github.com/doctrine/doctrine2/pull/1482) thanks to @bocharsky-bw
- [1518: Added custom ID generator definition to the FieldBuilder](https://github.com/doctrine/doctrine2/pull/1518) thanks to @guiwoda
- [1545: Generic overall fixes](https://github.com/doctrine/doctrine2/pull/1545) thanks to @guilhermeblanco
- [1561: [DDC-4006] Inherit ID generator strategy mapping from embeddables](https://github.com/doctrine/doctrine2/pull/1561) thanks to @deeky666
- [1563: Fixing method name 'rollBack', which was documented as 'rollback'](https://github.com/doctrine/doctrine2/pull/1563) thanks to @rawkode
- [1570: [RFC] Tests around reported cases over DDC-2524](https://github.com/doctrine/doctrine2/pull/1570) thanks to @guilhermeblanco
- [1574: deduplication of internal UnitOfWork methods](https://github.com/doctrine/doctrine2/pull/1574) thanks to @Ma27
- [1575: Add message to NonUniqueResultException](https://github.com/doctrine/doctrine2/pull/1575) thanks to @Alfredao
- [1579: Reduce code duplication in ProxyFactory::createInitializer](https://github.com/doctrine/doctrine2/pull/1579) thanks to @aschempp
- [4267: DDC-3458: [GH-1228] Fixed many small phpcs issues](https://github.com/doctrine/doctrine2/issues/4267) thanks to @doctrinebot
- [4405: DDC-3584: [GH-1310] Allow symfony 3.0 components](https://github.com/doctrine/doctrine2/issues/4405) thanks to @doctrinebot
- [4484: DDC-3655: [GH-1362] Readme: badges for 2.5 added; 2.3- dropped](https://github.com/doctrine/doctrine2/issues/4484) thanks to @doctrinebot
- [4494: DDC-3664: [GH-1369] Drop empty file](https://github.com/doctrine/doctrine2/issues/4494) thanks to @doctrinebot
- [4495: DDC-3665: [GH-1370] drop doctrine/common git submodule](https://github.com/doctrine/doctrine2/issues/4495) thanks to @doctrinebot
- [4499: DDC-3669: [GH-1373] Add note about "symfony/yaml" dependency for yml mappings](https://github.com/doctrine/doctrine2/issues/4499) thanks to @doctrinebot
- [4527: DDC-3694: [GH-1384] Fix coding standard of `IdentityGenerator#generate()`](https://github.com/doctrine/doctrine2/issues/4527) thanks to @doctrinebot
- [4553: DDC-3717: [GH-1397] Add Expr::concat support for multiple arguments](https://github.com/doctrine/doctrine2/issues/4553) thanks to @doctrinebot
- [4562: DDC-3725: [GH-1400] pgsql and mysqli are supported by HHVM](https://github.com/doctrine/doctrine2/issues/4562) thanks to @doctrinebot
- [4563: DDC-3726: [GH-1401] Remove HHVM-nightly builds](https://github.com/doctrine/doctrine2/issues/4563) thanks to @doctrinebot
- [4569: DDC-3731: [GH-1405] EntityManager#getReference throw ORMException for unrecognized id](https://github.com/doctrine/doctrine2/issues/4569) thanks to @doctrinebot
- [4572: DDC-3734: [GH-1407] Add return to removeMethodTemplate](https://github.com/doctrine/doctrine2/issues/4572) thanks to @doctrinebot
- [4626: DDC-3783: [GH-1433] Check for non-cacheable entities on metadata level, not at runtime](https://github.com/doctrine/doctrine2/issues/4626) thanks to @doctrinebot
- [4658: DDC-3811: [GH-1451] composer: autoload via PSR-4](https://github.com/doctrine/doctrine2/issues/4658) thanks to @doctrinebot
- [4659: DDC-3812: [GH-1452] composer: dev is now by default](https://github.com/doctrine/doctrine2/issues/4659) thanks to @doctrinebot
- [4672: DDC-3824: [GH-1457] Updated syntax for "integer" and "boolean" types](https://github.com/doctrine/doctrine2/issues/4672) thanks to @doctrinebot
- [4684: DDC-3835: [GH-1466] Travis: Switch to container-based infrastructure](https://github.com/doctrine/doctrine2/issues/4684) thanks to @doctrinebot
- [4691: DDC-3841: [GH-1470] [CI] Added dev requirement for "doctrine/coding-standard"](https://github.com/doctrine/doctrine2/issues/4691) thanks to @doctrinebot
- [4697: DDC-3847: [GH-1474] Fix: Remove unused imports](https://github.com/doctrine/doctrine2/issues/4697) thanks to @doctrinebot
- [4741: DDC-3887: [GH-1499] minor: removed useless line breaks](https://github.com/doctrine/doctrine2/issues/4741) thanks to @doctrinebot
- [4743: DDC-3889: GH-1482 - add EntityManagerInterface type-hint to repository constructor](https://github.com/doctrine/doctrine2/issues/4743) thanks to @doctrinebot
- [4771: DDC-3913: [GH-1514] check if collection is empty without loading it](https://github.com/doctrine/doctrine2/issues/4771) thanks to @doctrinebot
- [4775: DDC-3917: [GH-1518] Added custom ID generator definition to the FieldBuilder](https://github.com/doctrine/doctrine2/issues/4775) thanks to @doctrinebot
- [4792: DDC-3932: [GH-1526] Break on autoloader selected](https://github.com/doctrine/doctrine2/issues/4792) thanks to @doctrinebot
- [4840: DDC-3980: [GH-1545] [WIP] General fixes](https://github.com/doctrine/doctrine2/issues/4840) thanks to @doctrinebot
- [4849: DDC-3989: [GH-1550] [RFC] Added composer cache on travis](https://github.com/doctrine/doctrine2/issues/4849) thanks to @doctrinebot
- [4855: DDC-3994: [GH-1553] doc fix](https://github.com/doctrine/doctrine2/issues/4855) thanks to @doctrinebot
- [4873: DDC-4009: [GH-1563] Fixing method name 'rollBack', which was documented as 'rollback'](https://github.com/doctrine/doctrine2/issues/4873) thanks to @doctrinebot
- [4912: DDC-4159: [GH-1579] Reduce code duplication in ProxyFactory::createInitializer](https://github.com/doctrine/doctrine2/issues/4912) thanks to @doctrinebot
- [5548: Cleanup - `ClassMetadataInfo#getColumnNames()` simplification](https://github.com/doctrine/doctrine2/pull/5548) thanks to @Ocramius
- [5557: Remove unnecessary namespaces imports and usage](https://github.com/doctrine/doctrine2/pull/5557) thanks to @malukenho
- [5579: Fix performance issue when using notify tracking policy and calling `flush($entity)` multiple times](https://github.com/doctrine/doctrine2/pull/5579) thanks to @xhuberty
- [5580: Move from coveralls to scrutinizer coverage](https://github.com/doctrine/doctrine2/pull/5580) thanks to @Ocramius
- [5600: Remove dead code SQLWalker::walkCaseExpression](https://github.com/doctrine/doctrine2/pull/5600) thanks to @billschaller
- [5634: Remove duplicate code in .travis.yml](https://github.com/doctrine/doctrine2/pull/5634) thanks to @alexislefebvre
- [5651: Updated all commands to use the SymfonyStyle](https://github.com/doctrine/doctrine2/pull/5651) thanks to @hiddewie
- [5673: removed unused use statement](https://github.com/doctrine/doctrine2/pull/5673) thanks to @svycka
- [5713: Cleanup no longer used coveralls settings; use scrutinizer badges](https://github.com/doctrine/doctrine2/pull/5713) thanks to @OndraM
- [5740: Fix onNotSuccessfulTest skipping the latest query](https://github.com/doctrine/doctrine2/pull/5740) thanks to @guilliamxavier
- [5756: s/__tostring()/__toString() in Expr\OrderBy](https://github.com/doctrine/doctrine2/pull/5756) thanks to @whyte624
- [5796: Catch `Throwable` instead of just catching `Exception`](https://github.com/doctrine/doctrine2/pull/5796) thanks to @BenMorel
- [5823: Optimize imports. Remove full qualified class names. Remove dead code.](https://github.com/doctrine/doctrine2/pull/5823) thanks to @munkie
- [5831: Multi get implementation in QueryCache](https://github.com/doctrine/doctrine2/pull/5831) thanks to @polyanin
- [5860: Removed hacky switch/case, migrated to if/else and early return statements](https://github.com/doctrine/doctrine2/pull/5860) thanks to @peter-gribanov
- [5862: Remove PHP 5.4 from travis builds](https://github.com/doctrine/doctrine2/issues/5862) thanks to @tPl0ch
- [5863: Remove EOL PHP 5.4 from `.travis.yml` and `composer.json` - Fixes #5862](https://github.com/doctrine/doctrine2/pull/5863) thanks to @tPl0ch
- [5883: Make test suite compatible with PHPUnit 5.4.](https://github.com/doctrine/doctrine2/pull/5883) thanks to @sebastianbergmann
- [5884: Drop PHP 5.5 support](https://github.com/doctrine/doctrine2/pull/5884) thanks to @Ocramius
- [5886: removed some unused variables](https://github.com/doctrine/doctrine2/pull/5886) thanks to @ostrolucky
- [5910: Code cleanups: early return/internal function usage](https://github.com/doctrine/doctrine2/pull/5910) thanks to @ReenExe
- [5911: Scrutinizer clear code](https://github.com/doctrine/doctrine2/pull/5911) thanks to @ReenExe
- [5913: Clear code metadata info](https://github.com/doctrine/doctrine2/pull/5913) thanks to @ReenExe
- [5914: Cleanup `SqlWalker` code](https://github.com/doctrine/doctrine2/pull/5914) thanks to @ReenExe
- [5977: Remove unneeded ternary operator from Query::contains](https://github.com/doctrine/doctrine2/pull/5977) thanks to @ostrolucky
- [5987: Add missing type hints, add strictness for some checks, remove some useless calls](https://github.com/doctrine/doctrine2/pull/5987) thanks to @phansys
- [6005: Improve functional test query logger](https://github.com/doctrine/doctrine2/pull/6005) thanks to @cvuorinen
- [6010: Update exception message at `EntityRepository::__call()`](https://github.com/doctrine/doctrine2/pull/6010) thanks to @phansys
- [6014: As of HHVM 3.15 pgsql is supported, add php 7.1 to tests](https://github.com/doctrine/doctrine2/pull/6014) thanks to @photodude
- [6017: Avoid error when entityName isn't a string](https://github.com/doctrine/doctrine2/pull/6017) thanks to @j0k3r
- [6029: Misleading ORMInvalidArgumentException message](https://github.com/doctrine/doctrine2/issues/6029) thanks to @foaly-nr1
- [6038: Remove excessive identifier hashing generated string length checks](https://github.com/doctrine/doctrine2/pull/6038) thanks to @ReenExe
- [6068: Update docblock generation for nullable fields](https://github.com/doctrine/doctrine2/pull/6068) thanks to @phansys
- [6085: More specific named native query throw exceptions test](https://github.com/doctrine/doctrine2/pull/6085) thanks to @arjank
- [6121: Static Code Analysis with Php Inspections (EA Extended)](https://github.com/doctrine/doctrine2/pull/6121) thanks to @kalessil
- [6136: [DX] Add details about invalid Connection passed at creation of EntityManager.](https://github.com/doctrine/doctrine2/pull/6136) thanks to @SpacePossum
- [6141: Allow using objects as discriminators](https://github.com/doctrine/doctrine2/pull/6141) thanks to @lcobucci
- [6143: fixed #5622 - mysql 5.7 ONLY_FULL_GROUP_BY](https://github.com/doctrine/doctrine2/pull/6143) thanks to @chihiro-adachi
- [6162: Report that FROM and JOIN do not support Subqueries](https://github.com/doctrine/doctrine2/pull/6162) thanks to @SimonHeimberg
- [6164: EntityGenerator produces class with 2 empty lines at the end of the file](https://github.com/doctrine/doctrine2/pull/6164) thanks to @eyepin
- [6166: Normalise codebase with PHP 5.6 features](https://github.com/doctrine/doctrine2/pull/6166) thanks to @lcobucci
- [6204: Remove PHP 5 support](https://github.com/doctrine/doctrine2/pull/6204) thanks to @alcohol
- [6205: Remove support for PHP 5.x](https://github.com/doctrine/doctrine2/pull/6205) thanks to @railto
- [6231: Allow gearman environment vars in the concurrency test setup](https://github.com/doctrine/doctrine2/pull/6231) thanks to @gadelkareem
- [6232: Allow gearman environment vars in the concurrency test setup](https://github.com/doctrine/doctrine2/pull/6232) thanks to @gadelkareem
- [6245: Use `getMultiple()` to fetch associations as well in L2 cache fetch operations](https://github.com/doctrine/doctrine2/pull/6245) thanks to @lcobucci
- [6286: Fix HHVM build according to Travis documentation](https://github.com/doctrine/doctrine2/pull/6286) thanks to @lcobucci
- [6377: Minimum dependencies](https://github.com/doctrine/doctrine2/pull/6377) thanks to @Sam-Burns
- [6378: PHPUnit 6](https://github.com/doctrine/doctrine2/pull/6378) thanks to @Sam-Burns
- [6389: XSD definition improvements](https://github.com/doctrine/doctrine2/pull/6389) thanks to @mikeSimonson
- [6412: "Notice: Undefined offset: 0" when there is no ID Column defined](https://github.com/doctrine/doctrine2/pull/6412) thanks to @JarJak
- [6424: HHVM support](https://github.com/doctrine/doctrine2/issues/6424) thanks to @lcobucci
- [6433: Remove dead code in the schema tool](https://github.com/doctrine/doctrine2/pull/6433) thanks to @mpdude
- [6439: align equals signs](https://github.com/doctrine/doctrine2/pull/6439) thanks to @sensorario
- [6440: Initial PHPStan integration](https://github.com/doctrine/doctrine2/pull/6440) thanks to @ondrejmirtes
- [6442: Compute size of loaders in the test suite beforehand, and not on each iteration](https://github.com/doctrine/doctrine2/pull/6442) thanks to @sensorario
- [6451: Allow Symfony 4.0](https://github.com/doctrine/doctrine2/pull/6451) thanks to @nicolas-grekas
- [6478: Fix YAML related tests](https://github.com/doctrine/doctrine2/pull/6478) thanks to @lcobucci
- [6479: Fix all risky tests](https://github.com/doctrine/doctrine2/pull/6479) thanks to @lcobucci
- [6481: Improve build extensions](https://github.com/doctrine/doctrine2/pull/6481) thanks to @lcobucci
- [6493: Minor fixes: typos, documentation, etc.](https://github.com/doctrine/doctrine2/pull/6493) thanks to @astepin
- [6507: Upgrade dependencies](https://github.com/doctrine/doctrine2/pull/6507) thanks to @lcobucci
- [6511: Define build failure conditions on scrutinizer](https://github.com/doctrine/doctrine2/pull/6511) thanks to @lcobucci
- [6515: Use the Travis' Trusty build environment](https://github.com/doctrine/doctrine2/pull/6515) thanks to @lcobucci
- [6535: [master] PHPStan integration - levels 0 + 1](https://github.com/doctrine/doctrine2/pull/6535) thanks to @Majkl578
- [6569: Added a test case for postLoad on fetch-joined entities - fetch joined entities should have lifecycle events fired as well](https://github.com/doctrine/doctrine2/pull/6569) thanks to @stoccc
- [6570: Prevent Travis-CI failure if xdebug is not available](https://github.com/doctrine/doctrine2/pull/6570) thanks to @stloyd
- [6575: Move performance tests to phpbench](https://github.com/doctrine/doctrine2/pull/6575) thanks to @lcobucci
- [6581: Travis enhancements: Use Build Stages, added PHP 7.2](https://github.com/doctrine/doctrine2/pull/6581) thanks to @Majkl578
- [6593: Mapped entity listeners are now processed by metadata exporters](https://github.com/doctrine/doctrine2/pull/6593) thanks to @tPl0ch
- [6598: Refinement of the XML DTD - using `orm:fqcn` for class names](https://github.com/doctrine/doctrine2/pull/6598) thanks to @mikeSimonson
- [6601: Fix double spacing in "cascade persist missing" exception message](https://github.com/doctrine/doctrine2/pull/6601) thanks to @martin-georgiev
- [6606: Add message to NonUniqueResultException](https://github.com/doctrine/doctrine2/pull/6606) thanks to @lcobucci
- [6607: Be strict with risky tests](https://github.com/doctrine/doctrine2/pull/6607) thanks to @lcobucci
- [6630: Remove reliance on Symfony\Component\Yaml deprecated constants](https://github.com/doctrine/doctrine2/pull/6630) thanks to @Ocramius
- [6655: Use SymfonyStyle for command output](https://github.com/doctrine/doctrine2/pull/6655) thanks to @OskarStark
- [6691: Use newer PHP syntax](https://github.com/doctrine/doctrine2/pull/6691) thanks to @keradus
- [6703: Entity generator doesn't generate values for all supported options](https://github.com/doctrine/doctrine2/issues/6703) thanks to @lcp0578
- [6714: Remove unnecessary else](https://github.com/doctrine/doctrine2/pull/6714) thanks to @guiajlopes
- [6723: Remove `$overrideLocalValues` variable from `UnitOfWork#createEntity()`](https://github.com/doctrine/doctrine2/issues/6723) thanks to @Ocramius
- [6731: #6723 Remove  variable from UnitOfWork#createEntity()](https://github.com/doctrine/doctrine2/pull/6731) thanks to @guiajlopes
- [6734: Add DateInterval type parameter](https://github.com/doctrine/doctrine2/pull/6734) thanks to @ossinkine
- [6742: Add support second, minute, week, year on DATE_ADD and DATE_SUB](https://github.com/doctrine/doctrine2/pull/6742) thanks to @Legenyes
- [6772: Disallow orphan removal attribute on many-to-one](https://github.com/doctrine/doctrine2/pull/6772) thanks to @greg0ire
- [6780: getRepository actually returns ObjectRepository](https://github.com/doctrine/doctrine2/pull/6780) thanks to @aequasi
- [6801: Improve misleading ORMInvalidArgumentException message](https://github.com/doctrine/doctrine2/pull/6801) thanks to @foaly-nr1
- [6819: Pagination LimitSubqueryWalker optimization](https://github.com/doctrine/doctrine2/issues/6819) thanks to @plfort
- [6820: #6819 Optimize LimitSubqueryWalker](https://github.com/doctrine/doctrine2/pull/6820) thanks to @plfort
- [6826: Add Type::GUID to $typeAlias list in EntityGenerator](https://github.com/doctrine/doctrine2/pull/6826) thanks to @JKapitein
- [6843: Use new analyser on scrutinizer-ci](https://github.com/doctrine/doctrine2/pull/6843) thanks to @lcobucci
- [6844: Configure PHPCS](https://github.com/doctrine/doctrine2/pull/6844) thanks to @lcobucci
- [6849: Make entity generator generate values for all supported options](https://github.com/doctrine/doctrine2/pull/6849) thanks to @lcobucci
- [6862: Fix closing tag in Symfony UI messages](https://github.com/doctrine/doctrine2/pull/6862) thanks to @OskarStark
- [6887: Use stable packages](https://github.com/doctrine/doctrine2/pull/6887) thanks to @greg0ire
- [6889: Clean elses](https://github.com/doctrine/doctrine2/pull/6889) thanks to @carusogabriel
- [6892: Re-order attributes of relation complex types](https://github.com/doctrine/doctrine2/pull/6892) thanks to @thexpand
- [6895: Reduce complexity of LimitSubqueryWalker#walkSelectStatement()](https://github.com/doctrine/doctrine2/pull/6895) thanks to @lcobucci
- [6896: Run all code quality tools in the same stage](https://github.com/doctrine/doctrine2/pull/6896) thanks to @lcobucci
- [6897: Upgrade PHPStan to 0.9.x](https://github.com/doctrine/doctrine2/pull/6897) thanks to @lcobucci
- [6911: Require more up-to-date dependencies](https://github.com/doctrine/doctrine2/pull/6911) thanks to @lcobucci

**Fixes**

- [1337: Paginator OrderBy fix take 2](https://github.com/doctrine/doctrine2/pull/1337) thanks to @billschaller
- [1345: Fix crashes in ConvertMappingCommand and GenerateEntitiesCommand...](https://github.com/doctrine/doctrine2/pull/1345) thanks to @billschaller
- [1346: Fix: generated IDs are converted to integer](https://github.com/doctrine/doctrine2/pull/1346) thanks to @pepakriz
- [1377: LimitSubqueryOutputWalker: fix aliasing of property in OrderBy from MappedSuperclass](https://github.com/doctrine/doctrine2/pull/1377) thanks to @fprochazka
- [1395: Fix for DDC-3697 and DDC-3701](https://github.com/doctrine/doctrine2/pull/1395) thanks to @mpdude
- [1399: Fix for DDC-3719.](https://github.com/doctrine/doctrine2/pull/1399) thanks to @boskee
- [1441: `INSTANCE OF` now behaves correctly by including all possible child classes in `IN()` filtering conditions](https://github.com/doctrine/doctrine2/pull/1441) thanks to @taueres
- [1458: [Paginator] Fixed boolean casting](https://github.com/doctrine/doctrine2/pull/1458) thanks to @phansys
- [1463: Fixed issue when paginator orders by a subselect expression](https://github.com/doctrine/doctrine2/pull/1463) thanks to @ehimen
- [1521: [DDC-2922] Error when new entities are reachable through multiple paths but not all of them are marked cascade-persist](https://github.com/doctrine/doctrine2/pull/1521) thanks to @DHager
- [1526: Break on autoloader selected](https://github.com/doctrine/doctrine2/pull/1526) thanks to @zinovyev
- [1547: [RFC] fixes result cache setting query caching](https://github.com/doctrine/doctrine2/pull/1547) thanks to @guilhermeblanco
- [1549: [RFC] DDC-3697](https://github.com/doctrine/doctrine2/pull/1549) thanks to @guilhermeblanco
- [1555: [RFC] DDC-3979](https://github.com/doctrine/doctrine2/pull/1555) thanks to @guilhermeblanco
- [1559: Entity cache key is built differently on read than on write](https://github.com/doctrine/doctrine2/pull/1559) thanks to @guiwoda
- [2947: DDC-2248: Expire result cache functionality not implemented](https://github.com/doctrine/doctrine2/issues/2947) thanks to @doctrinebot
- [3247: DDC-2524: Wrong commit order with cascade remove and double association](https://github.com/doctrine/doctrine2/issues/3247) thanks to @doctrinebot
- [3468: DDC-2726: EventSubscriber PreUpdate Error Bug?](https://github.com/doctrine/doctrine2/issues/3468) thanks to @doctrinebot
- [3528: DDC-2780: IS [NOT] NULL conditions with JOINs](https://github.com/doctrine/doctrine2/issues/3528) thanks to @doctrinebot
- [4551: DDC-3715: [GH-1395] Fix for DDC-3697](https://github.com/doctrine/doctrine2/issues/4551) thanks to @doctrinebot
- [4555: DDC-3719: Criteria won't work on non-owning side of many to many collection](https://github.com/doctrine/doctrine2/issues/4555) thanks to @doctrinebot
- [4576: DDC-3738: [GH-1409] Added PHPDoc return type false of next method in Hydration/IterableResult](https://github.com/doctrine/doctrine2/issues/4576) thanks to @doctrinebot
- [4580: DDC-3741: [GH-1411] Allow null to be passed to setHydrationCacheProfile](https://github.com/doctrine/doctrine2/issues/4580) thanks to @doctrinebot
- [4584: DDC-3745: OneToOne identity through foreign entity exception on flush](https://github.com/doctrine/doctrine2/issues/4584) thanks to @doctrinebot
- [4630: DDC-3787: [GH-1436] allow ManyToManyPersister to handle identification types](https://github.com/doctrine/doctrine2/issues/4630) thanks to @doctrinebot
- [4646: DDC-3800 #1441 `INSTANCE OF` now behaves correctly by including all possible child classes in `IN()` filtering conditions](https://github.com/doctrine/doctrine2/issues/4646) thanks to @doctrinebot
- [4648: DDC-3802: [GH-1443] Unsigned](https://github.com/doctrine/doctrine2/issues/4648) thanks to @doctrinebot
- [4657: DDC-3810: [GH-1450] [DX] Link annotation ref to locking explanation](https://github.com/doctrine/doctrine2/issues/4657) thanks to @doctrinebot
- [4668: DDC-3820: [GH-1455] Update ExprTest.php](https://github.com/doctrine/doctrine2/issues/4668) thanks to @doctrinebot
- [4717: DDC-3865: [GH-1487] [DDC-3864] Support any ordering of fields in partial object query with embeddable](https://github.com/doctrine/doctrine2/issues/4717) thanks to @doctrinebot
- [4752: DDC-3897: [GH-1505] Fixed issue with entity manager when using LockMode::NONE](https://github.com/doctrine/doctrine2/issues/4752) thanks to @doctrinebot
- [4781: DDC-3922: [GH-1522] remove indexes overruled by primary key](https://github.com/doctrine/doctrine2/issues/4781) thanks to @doctrinebot
- [4802: DDC-3941: Compatibility issue with PHP 7.0 on proxy generation.](https://github.com/doctrine/doctrine2/issues/4802) thanks to @doctrinebot
- [4807: DDC-3946: [GH-1533] Fix argument type](https://github.com/doctrine/doctrine2/issues/4807) thanks to @doctrinebot
- [4827: DDC-3967: Identifier is cached with wrong type](https://github.com/doctrine/doctrine2/issues/4827) thanks to @doctrinebot
- [4835: DDC-3976: [GH-1542] Failing test: Owned side of a oneToMany relation doesn't evict its collection cache](https://github.com/doctrine/doctrine2/issues/4835) thanks to @doctrinebot
- [4838: DDC-3979: [GH-1544] DefaultEntityHydrator: Undefined index: targetToSourceKeyColumns](https://github.com/doctrine/doctrine2/issues/4838) thanks to @doctrinebot
- [4841: DDC-3982: [GH-1547] [RFC] fixes result cache setting query caching](https://github.com/doctrine/doctrine2/issues/4841) thanks to @doctrinebot
- [4846: DDC-3986: [Paginator] Invalid generated query with usage of output walkers](https://github.com/doctrine/doctrine2/issues/4846) thanks to @doctrinebot
- [4854: DDC-3993: [GH-1552] Collection cache key is built differently on read than on write](https://github.com/doctrine/doctrine2/issues/4854) thanks to @doctrinebot
- [4864: DDC-4000: [GH-1557] Reduce ambiguity in Entities description](https://github.com/doctrine/doctrine2/issues/4864) thanks to @doctrinebot
- [4865: DDC-4001: [GH-1558] [RFC] remove indexes overruled by primary key](https://github.com/doctrine/doctrine2/issues/4865) thanks to @doctrinebot
- [4867: DDC-4003: [GH-1559] Entity cache key is built differently on read than on write](https://github.com/doctrine/doctrine2/issues/4867) thanks to @doctrinebot
- [4868: DDC-4004: [GH-1560] Fix broken links](https://github.com/doctrine/doctrine2/issues/4868) thanks to @doctrinebot
- [4870: DDC-4006: ID generator strategy not inherited from embeddable](https://github.com/doctrine/doctrine2/issues/4870) thanks to @doctrinebot
- [4871: DDC-4007: [GH-1561] [DDC-4006] Inherit ID generator strategy mapping from embeddables](https://github.com/doctrine/doctrine2/issues/4871) thanks to @doctrinebot
- [4872: DDC-4008: [GH-1562] Fix empty expression on PHP 5.4](https://github.com/doctrine/doctrine2/issues/4872) thanks to @doctrinebot
- [4888: DDC-4022: [GH-1574] deduplication of internal UnitOfWork methods](https://github.com/doctrine/doctrine2/issues/4888) thanks to @doctrinebot
- [5562: Second Level cache doesn't work properly with OneToOne association and inheritance](https://github.com/doctrine/doctrine2/issues/5562) thanks to @rafrsr
- [5590: Fix discriminator column defaults](https://github.com/doctrine/doctrine2/pull/5590) thanks to @billschaller
- [5605: UnitOfWork pre update invoke causes some times fatal errors](https://github.com/doctrine/doctrine2/issues/5605) thanks to @sr-amueller
- [5622: Mysql 5.7 requires order by clause in select DISTINCT statement (Paginator)](https://github.com/doctrine/doctrine2/issues/5622) thanks to @Devolicious
- [5638: Ddc 3719 fix and test](https://github.com/doctrine/doctrine2/pull/5638) thanks to @jeanCarloMachado
- [5668: Many to many criteria fixes](https://github.com/doctrine/doctrine2/pull/5668) thanks to @petitchevalroux
- [5680: DDC-2780 - Fixed issue with IS NULL on join aliases](https://github.com/doctrine/doctrine2/pull/5680) thanks to @byonchev
- [5684: Custom type ignored by identity generator](https://github.com/doctrine/doctrine2/issues/5684) thanks to @bharley
- [5686: Fixed test failing due to changes in AnnotationReader](https://github.com/doctrine/doctrine2/pull/5686) thanks to @mbeccati
- [5729: Fix typo](https://github.com/doctrine/doctrine2/pull/5729) thanks to @funivan
- [5793: SecondCacheLevel association and inheritance update problem](https://github.com/doctrine/doctrine2/issues/5793) thanks to @mpoiriert
- [5808: second-level-cache, entity-hydrator throws exception](https://github.com/doctrine/doctrine2/issues/5808) thanks to @floriansemm
- [5834: Fix `custom-id-generator` XSD class attribute type: s/NMTOKEN/string](https://github.com/doctrine/doctrine2/pull/5834) thanks to @ismailbaskin
- [5853: Fix typo](https://github.com/doctrine/doctrine2/pull/5853) thanks to @lcobucci
- [5854: Default query cache using wrong object](https://github.com/doctrine/doctrine2/issues/5854) thanks to @lcobucci
- [5856: #5854 workaround to avoid populating Second Level Cache from DQL queries with multiple nested DQL aliases](https://github.com/doctrine/doctrine2/pull/5856) thanks to @Ocramius
- [5885: Partially reverting #5860 due to type juggling horrors](https://github.com/doctrine/doctrine2/pull/5885) thanks to @Ocramius
- [5887: Failing inverse One-to-One relationship using a custom data type](https://github.com/doctrine/doctrine2/issues/5887) thanks to @alexb-uk
- [5897: Check for Xcache availability from INI setting](https://github.com/doctrine/doctrine2/pull/5897) thanks to @mikaelz
- [5924: Allow empty string identifiers](https://github.com/doctrine/doctrine2/pull/5924) thanks to @Ocramius
- [5935: Fix #5684 - Fix mapping on insertion for autoincrement columns with custom types](https://github.com/doctrine/doctrine2/pull/5935) thanks to @mantiz
- [5973: This should fix MySQL 5.7 issues caused by ONLY_FULL_GROUP_BY](https://github.com/doctrine/doctrine2/pull/5973) thanks to @wucdbm
- [6020: Convert generated id value to its PHP representation.](https://github.com/doctrine/doctrine2/pull/6020) thanks to @renan
- [6129: XmlDriver incorrectly parses boolean option values](https://github.com/doctrine/doctrine2/issues/6129) thanks to @kalimatas
- [6130: #6129 Added unit test for boolean option values.](https://github.com/doctrine/doctrine2/pull/6130) thanks to @kalimatas
- [6142: Fix incompatibility w/ PHP7.2+](https://github.com/doctrine/doctrine2/pull/6142) thanks to @mbeccati
- [6152: Use the correct types for generated ids](https://github.com/doctrine/doctrine2/pull/6152) thanks to @lcobucci
- [6217: Handle AssociationCacheEntry identifier](https://github.com/doctrine/doctrine2/pull/6217) thanks to @gadelkareem
- [6223: Appends cache namespace when it exists (for L2C regions)](https://github.com/doctrine/doctrine2/pull/6223) thanks to @lcobucci
- [6244: Make sure we're using the rootEntityName on all places](https://github.com/doctrine/doctrine2/pull/6244) thanks to @lcobucci
- [6251: Add missing group to DDC2660Test.php](https://github.com/doctrine/doctrine2/pull/6251) thanks to @mbeccati
- [6274: Fixing #5887 - lazy loading of one-to-one relationship with custom id object](https://github.com/doctrine/doctrine2/pull/6274) thanks to @Necsord
- [6284: #6217 when hydrating an entity with a composite primary key that is both an `EAGER` and a `LAZY` association and also cached, the `DefaultQueryCache` tries to pass L2 cache implementation detail objects to the `UnitOfWork`](https://github.com/doctrine/doctrine2/pull/6284) thanks to @gadelkareem
- [6287: Fix EntityManagerDecorator tests](https://github.com/doctrine/doctrine2/pull/6287) thanks to @lcobucci
- [6303: `ObjectHydrator` and `ArrayHydrator` incorrectly hydrate fields of child classes in a JTI when a field name collides](https://github.com/doctrine/doctrine2/issues/6303) thanks to @fullbl
- [6304: Check if the discriminator value is `null` before converting it and setting into `rowData` during hydration](https://github.com/doctrine/doctrine2/pull/6304) thanks to @fullbl
- [6328: DDC-2780 - Fixed issue with IS NULL on join aliases](https://github.com/doctrine/doctrine2/pull/6328) thanks to @lcobucci
- [6356: Fix wrong variable name](https://github.com/doctrine/doctrine2/pull/6356) thanks to @gander
- [6392: Correct DQL `INSTANCE OF` to filter all possible child classes](https://github.com/doctrine/doctrine2/pull/6392) thanks to @Jean85
- [6402: Quote strategy not applied to foreign key columns](https://github.com/doctrine/doctrine2/issues/6402) thanks to @lemartin
- [6404: Fix quoting issues related to ticket #6402](https://github.com/doctrine/doctrine2/pull/6404) thanks to @lemartin
- [6416: Fix quoting when using inheritance as well](https://github.com/doctrine/doctrine2/pull/6416) thanks to @lcobucci
- [6417: Fix expire result cache](https://github.com/doctrine/doctrine2/pull/6417) thanks to @lcobucci
- [6436: Pass the connections parameters for cache key generation](https://github.com/doctrine/doctrine2/pull/6436) thanks to @lcobucci
- [6441: Verify that the `fileLockRegionDirectory` passed to the `DefaultCacheFactory` cannot be empty](https://github.com/doctrine/doctrine2/pull/6441) thanks to @sensorario
- [6460: Getting embeddable should trigger entity initalization](https://github.com/doctrine/doctrine2/issues/6460) thanks to @mkosiedowski
- [6462: Fix #6460 - \Doctrine\ORM\Mapping\ClassMetadataInfo::hasField should return true for embedded fields](https://github.com/doctrine/doctrine2/pull/6462) thanks to @mkosiedowski
- [6468: Cascade persist order](https://github.com/doctrine/doctrine2/issues/6468) thanks to @1ed
- [6485: #5804 Versioning doesn't work with a custom type primary key](https://github.com/doctrine/doctrine2/pull/6485) thanks to @alle
- [6491: Fix Mock Implementations.](https://github.com/doctrine/doctrine2/pull/6491) thanks to @ThePixelDeveloper
- [6494: Add failing test for #6314  and PR #6356](https://github.com/doctrine/doctrine2/pull/6494) thanks to @astepin
- [6496: #5804 #6485 Versioning doesn't work with a custom type primary key](https://github.com/doctrine/doctrine2/pull/6496) thanks to @astepin
- [6639: 2.6 (dev-master at present) excludes all stable versions of symfony/yaml](https://github.com/doctrine/doctrine2/issues/6639) thanks to @asgrim
- [6640: #6217 #6284 when hydrating an entity with a composite primary key that is both an `EAGER` and a `LAZY` association and also cached, the `DefaultQueryCache` tries to pass L2 cache implementation detail objects to the `UnitOfWork` ](https://github.com/doctrine/doctrine2/pull/6640) thanks to @Ocramius
- [6651: Replacing direct `quote` model-set schema creation with actually existing model-set setup](https://github.com/doctrine/doctrine2/pull/6651) thanks to @Ocramius
- [6652: Correcting the `SimpleInsertPerformanceBench` duplicate record issues when run with multiple revolutions/iterations](https://github.com/doctrine/doctrine2/pull/6652) thanks to @Ocramius
- [6658: Drop explicit conflict with stable symfony/yaml](https://github.com/doctrine/doctrine2/pull/6658) thanks to @Majkl578
- [6759: Inverse side of OneToOne is loaded without identifier condition](https://github.com/doctrine/doctrine2/pull/6759) thanks to @janlanger
- [6760: #6759 showstopper one-to-one inverse not being loaded with correct identifier restrictions when defining `joinColumn`](https://github.com/doctrine/doctrine2/pull/6760) thanks to @Ocramius
- [6767: Allow association mappings as IDs for joined-table inherited entity](https://github.com/doctrine/doctrine2/pull/6767) thanks to @Parent5446

**Documentation**

- [1305: Documentation : fix table prefix with STI](https://github.com/doctrine/doctrine2/pull/1305) thanks to @guillaumerobin
- [1341: [doc] Minor fixes and typos](https://github.com/doctrine/doctrine2/pull/1341) thanks to @javiereguiluz
- [1355: [Docs] TablePrefix example - Check for being the owning side](https://github.com/doctrine/doctrine2/pull/1355) thanks to @scaytrase
- [1358: Update docs for clear-cache commands](https://github.com/doctrine/doctrine2/pull/1358) thanks to @zerocrates
- [1360: Fixed misleading typo in Embeddables tutorial](https://github.com/doctrine/doctrine2/pull/1360) thanks to @stedekay
- [1362: Readme: badges for 2.5 added; 2.3- dropped](https://github.com/doctrine/doctrine2/pull/1362) thanks to @TomasVotruba
- [1366: [Documentation] typo fixes](https://github.com/doctrine/doctrine2/pull/1366) thanks to @shieldo
- [1368: Readme: coverage badge for 2.4 added](https://github.com/doctrine/doctrine2/pull/1368) thanks to @TomasVotruba
- [1379: Added missing 'new' keyword for logger instantiation](https://github.com/doctrine/doctrine2/pull/1379) thanks to @holtkamp
- [1385: duplicated param in phpdoc](https://github.com/doctrine/doctrine2/pull/1385) thanks to @TomasVotruba
- [1386: PersisterException: missing license added](https://github.com/doctrine/doctrine2/pull/1386) thanks to @TomasVotruba
- [1390: Document the ChainCache class](https://github.com/doctrine/doctrine2/pull/1390) thanks to @deviantintegral
- [1396: [Documentation] Initializing embeddables doc](https://github.com/doctrine/doctrine2/pull/1396) thanks to @Padam87
- [1404: Fix PHPDoc typo](https://github.com/doctrine/doctrine2/pull/1404) thanks to @stephan281094
- [1408: [doc] Remove unused variable from sample code](https://github.com/doctrine/doctrine2/pull/1408) thanks to @baileylo
- [1429: Update events.rst to reflect behaviour of preUpdate](https://github.com/doctrine/doctrine2/pull/1429) thanks to @hallabro
- [1442: Corrected bad class reference in "Adding own commands"](https://github.com/doctrine/doctrine2/pull/1442) thanks to @elazar
- [1444: Missing opening tags added in one of the tutorials](https://github.com/doctrine/doctrine2/pull/1444) thanks to @cezarykluczynski
- [1462: Add a note to documentation for transactional()'s return values](https://github.com/doctrine/doctrine2/pull/1462) thanks to @DHager
- [1473: Docs fix ref and title](https://github.com/doctrine/doctrine2/pull/1473) thanks to @ilyar
- [1483: Fix typo](https://github.com/doctrine/doctrine2/pull/1483) thanks to @longkey1
- [1485: Changed references from PHP6 to PHP7](https://github.com/doctrine/doctrine2/pull/1485) thanks to @hasumedic
- [1496: Fix invalid return type in docblock](https://github.com/doctrine/doctrine2/pull/1496) thanks to @dagio
- [1497: Update DateTime cookbook code](https://github.com/doctrine/doctrine2/pull/1497) thanks to @PowerKiKi
- [1500: Update docs dependency install script and readme to target Ubuntu 14.04](https://github.com/doctrine/doctrine2/pull/1500) thanks to @billschaller
- [1504: Updated docs for basic mapping](https://github.com/doctrine/doctrine2/pull/1504) thanks to @phansys
- [1506: Fix variable reference in phpdoc of ClassMetadataInfo](https://github.com/doctrine/doctrine2/pull/1506) thanks to @Tobion
- [1511: Fix class name: AbstractCache -> CacheProvider](https://github.com/doctrine/doctrine2/pull/1511) thanks to @BlueM
- [1516: Clarify @DiscriminatorMap requirement](https://github.com/doctrine/doctrine2/pull/1516) thanks to @brabeji
- [1520: Updated year range](https://github.com/doctrine/doctrine2/pull/1520) thanks to @aqnouch
- [1523: Documentation and case fixes in QueryBuilder](https://github.com/doctrine/doctrine2/pull/1523) thanks to @BenMorel
- [1528: Fixed typo in 9.6.7 of docs](https://github.com/doctrine/doctrine2/pull/1528) thanks to @sprain
- [1534: Use capital letter at the beginning of a sentence](https://github.com/doctrine/doctrine2/pull/1534) thanks to @senkal
- [1536: Minor - Fix PHP Doc - Update Expr.php](https://github.com/doctrine/doctrine2/pull/1536) thanks to @AngelFQC
- [1554: Fix a documentation error in the EntityManagerInterface#transactional() return value](https://github.com/doctrine/doctrine2/pull/1554) thanks to @tai2
- [1566: Fix typos in DQL doc](https://github.com/doctrine/doctrine2/pull/1566) thanks to @BenMorel
- [1808: DDC-1201: DQL Example about count(*) related entity is wrong](https://github.com/doctrine/doctrine2/issues/1808) thanks to @doctrinebot
- [2190: DDC-1555: Reference. 8 Work. with obj. Making "see "Transitive Persistence"" as link](https://github.com/doctrine/doctrine2/issues/2190) thanks to @doctrinebot
- [4488: DDC-3659: [GH-1366] [Documentation] typo fixes](https://github.com/doctrine/doctrine2/issues/4488) thanks to @doctrinebot
- [4493: DDC-3663: [GH-1368] Readme: coverage badge for 2.4 added](https://github.com/doctrine/doctrine2/issues/4493) thanks to @doctrinebot
- [4496: DDC-3666: [GH-1371] Readme: drop "Downloads" link](https://github.com/doctrine/doctrine2/issues/4496) thanks to @doctrinebot
- [4514: DDC-3682: [GH-1379] Added missing 'new' keyword for logger instantiation](https://github.com/doctrine/doctrine2/issues/4514) thanks to @doctrinebot
- [4528: DDC-3695: [GH-1385] duplicated param in phpdoc](https://github.com/doctrine/doctrine2/issues/4528) thanks to @doctrinebot
- [4531: DDC-3698: [GH-1386] PersisterException: missing license added](https://github.com/doctrine/doctrine2/issues/4531) thanks to @doctrinebot
- [4539: DDC-3704: [GH-1390] Document the ChainCache class](https://github.com/doctrine/doctrine2/issues/4539) thanks to @doctrinebot
- [4566: DDC-3729: [GH-1404] Fix PHPDoc typo](https://github.com/doctrine/doctrine2/issues/4566) thanks to @doctrinebot
- [4650: DDC-3804: [GH-1444] Missing opening tags added in one of the tutorials](https://github.com/doctrine/doctrine2/issues/4650) thanks to @doctrinebot
- [4677: DDC-3829: [GH-1462] Add a note to documentation for transactional()'s return values](https://github.com/doctrine/doctrine2/issues/4677) thanks to @doctrinebot
- [4696: DDC-3846: [GH-1473] Docs fix ref and title](https://github.com/doctrine/doctrine2/issues/4696) thanks to @doctrinebot
- [4705: DDC-3854: [GH-1483] fix typo](https://github.com/doctrine/doctrine2/issues/4705) thanks to @doctrinebot
- [4708: DDC-3857: [GH-1485] Changed references from PHP6 to PHP7](https://github.com/doctrine/doctrine2/issues/4708) thanks to @doctrinebot
- [4736: DDC-3882: [GH-1497] Update DateTime cookbook code](https://github.com/doctrine/doctrine2/issues/4736) thanks to @doctrinebot
- [4742: DDC-3888: [GH-1500] Update docs dependency install script and readme to target Ubuntu 14.04](https://github.com/doctrine/doctrine2/issues/4742) thanks to @doctrinebot
- [4751: DDC-3896: [GH-1504] Updated docs for basic mapping](https://github.com/doctrine/doctrine2/issues/4751) thanks to @doctrinebot
- [4753: DDC-3898: [GH-1506] Fix variable reference in phpdoc of ClassMetadataInfo](https://github.com/doctrine/doctrine2/issues/4753) thanks to @doctrinebot
- [4768: DDC-3910: [GH-1511] Fix class name: AbstractCache -> CacheProvider](https://github.com/doctrine/doctrine2/issues/4768) thanks to @doctrinebot
- [4773: DDC-3915: [GH-1516] Clarify @DiscriminatorMap reqirement](https://github.com/doctrine/doctrine2/issues/4773) thanks to @doctrinebot
- [4779: DDC-3920: [GH-1520] Updated year range](https://github.com/doctrine/doctrine2/issues/4779) thanks to @doctrinebot
- [4787: DDC-3928: [GH-1523] Documentation and case fixes in QueryBuilder](https://github.com/doctrine/doctrine2/issues/4787) thanks to @doctrinebot
- [4796: DDC-3936: [GH-1528] Fixed typo in 9.6.7 of docs](https://github.com/doctrine/doctrine2/issues/4796) thanks to @doctrinebot
- [4809: DDC-3948: [GH-1534] Use capital letter at the beginning of a sentence](https://github.com/doctrine/doctrine2/issues/4809) thanks to @doctrinebot
- [4819: DDC-3957: [GH-1536] Minor - Fix PHP Doc - Update Expr.php](https://github.com/doctrine/doctrine2/issues/4819) thanks to @doctrinebot
- [4856: DDC-3995: [GH-1554] Fix a documentation error in the EntityManagerInterface#transactional() return value](https://github.com/doctrine/doctrine2/issues/4856) thanks to @doctrinebot
- [4878: DDC-4013: [GH-1566] Fix typos in DQL doc](https://github.com/doctrine/doctrine2/issues/4878) thanks to @doctrinebot
- [5572: Guess missing words](https://github.com/doctrine/doctrine2/pull/5572) thanks to @greg0ire
- [5584: Fix broken links to blog post.](https://github.com/doctrine/doctrine2/pull/5584) thanks to @harikt
- [5585: Replacing the hardcoded year with a function call](https://github.com/doctrine/doctrine2/pull/5585) thanks to @mikeSimonson
- [5591: Removing 2.4 from README](https://github.com/doctrine/doctrine2/pull/5591) thanks to @Ocramius
- [5596: Wrong $saveMode parameter documentation in SchemaTool::updateSchema](https://github.com/doctrine/doctrine2/issues/5596) thanks to @dcb
- [5597: Fix documentation of schema tool's "save mode"](https://github.com/doctrine/doctrine2/pull/5597) thanks to @deeky666
- [5612: [Doc] Is it a typo?](https://github.com/doctrine/doctrine2/pull/5612) thanks to @issei-m
- [5620: "Class 'Doctrine\Tests\OrmFunctionalTestCase' not found" when trying to run PHPUnit](https://github.com/doctrine/doctrine2/issues/5620) thanks to @StanleySathler
- [5623: Update tests README](https://github.com/doctrine/doctrine2/pull/5623) thanks to @Jean85
- [5667: Add missing @throws tags](https://github.com/doctrine/doctrine2/pull/5667) thanks to @JeroenDeDauw
- [5670: Add precision on the time units](https://github.com/doctrine/doctrine2/pull/5670) thanks to @mikeSimonson
- [5675: Fixed broken links on getting-started tutorial](https://github.com/doctrine/doctrine2/pull/5675) thanks to @jeanCarloMachado
- [5677: Updating the Getting Started guide's documentation](https://github.com/doctrine/doctrine2/pull/5677) thanks to @natechicago
- [5734: Update tools.rst](https://github.com/doctrine/doctrine2/pull/5734) thanks to @amerryma
- [5736: Fix PHP syntax error in composite-primary-keys.rst](https://github.com/doctrine/doctrine2/pull/5736) thanks to @guilliamxavier
- [5771: Remove note on findBy not supporting entity](https://github.com/doctrine/doctrine2/pull/5771) thanks to @teohhanhui
- [5786: [documentation] Missing Embedded and Embeddable anotations in annotations reference index](https://github.com/doctrine/doctrine2/issues/5786) thanks to @Maks3w
- [5787: Fix bug: orderBy documentation](https://github.com/doctrine/doctrine2/pull/5787) thanks to @iBet7o
- [5805: Fix typo in documentation](https://github.com/doctrine/doctrine2/pull/5805) thanks to @borNfreee
- [5813: Add embedded and embeddable annotations in annotations reference index](https://github.com/doctrine/doctrine2/pull/5813) thanks to @jeanCarloMachado
- [5817: Added missing - in the in getting started docs.](https://github.com/doctrine/doctrine2/pull/5817) thanks to @primozcigler
- [5837: Use constant consistently](https://github.com/doctrine/doctrine2/pull/5837) thanks to @foaly-nr1
- [5873: Update query-builder.rst](https://github.com/doctrine/doctrine2/pull/5873) thanks to @vudaltsov
- [5882: PHP 5.4 compatibility issues](https://github.com/doctrine/doctrine2/issues/5882) thanks to @ic1011
- [5891: Fix typo in PHPDoc block of QueryBuilder.php](https://github.com/doctrine/doctrine2/pull/5891) thanks to @Chrisp1tv
- [5892: #5882 recommend using latest stable PHP version in the getting started guide](https://github.com/doctrine/doctrine2/pull/5892) thanks to @BreiteSeite
- [5898: Typo](https://github.com/doctrine/doctrine2/pull/5898) thanks to @radmax
- [5902: Fixed typo (serves => servers)](https://github.com/doctrine/doctrine2/pull/5902) thanks to @holtkamp
- [5918: Make setSQL and setDQL function calls case-sensitive.](https://github.com/doctrine/doctrine2/pull/5918) thanks to @tonynelson19
- [5931: Clarify language regarding ArrayCollections.](https://github.com/doctrine/doctrine2/pull/5931) thanks to @bitwombat
- [5942: Add @CustomIdGenerator to documentation](https://github.com/doctrine/doctrine2/pull/5942) thanks to @Erikvv
- [5947: Missing `ClassMetadataExporter` instantiation in the reverse engineering code samples](https://github.com/doctrine/doctrine2/pull/5947) thanks to @alexryderwhytewaters
- [5948: Update association-mapping.rst to ease understanding of what associations mean](https://github.com/doctrine/doctrine2/pull/5948) thanks to @Michal-sk
- [5971: Wrong return type of getResult()](https://github.com/doctrine/doctrine2/issues/5971) thanks to @giginos
- [5972: Wrong return type of getResult()](https://github.com/doctrine/doctrine2/pull/5972) thanks to @giginos
- [6013: Documentation - Fix typo](https://github.com/doctrine/doctrine2/pull/6013) thanks to @guhelski
- [6025: Fix typo in batch-processing doc](https://github.com/doctrine/doctrine2/pull/6025) thanks to @ywarnier
- [6063: Fix PHP version in readme.](https://github.com/doctrine/doctrine2/pull/6063) thanks to @kormik
- [6065: Update Autoloader namespace [docs]](https://github.com/doctrine/doctrine2/pull/6065) thanks to @adiq
- [6070: Update events.rst](https://github.com/doctrine/doctrine2/pull/6070) thanks to @alexndlm
- [6080: Fixed typo + added link](https://github.com/doctrine/doctrine2/pull/6080) thanks to @ThomasLandauer
- [6087: Fix namespace](https://github.com/doctrine/doctrine2/pull/6087) thanks to @chihiro-adachi
- [6089: Remove duplicated enum type comment from declaration.](https://github.com/doctrine/doctrine2/pull/6089) thanks to @damour
- [6092: Updated a link (hopefully :-)](https://github.com/doctrine/doctrine2/pull/6092) thanks to @ThomasLandauer
- [6095: Fixed typo in annotations reference](https://github.com/doctrine/doctrine2/pull/6095) thanks to @mschroeder
- [6101: Add license checker to the build](https://github.com/doctrine/doctrine2/pull/6101) thanks to @malukenho
- [6120: Fixed typos regarding the strategy for composite keys (xml mapping)](https://github.com/doctrine/doctrine2/pull/6120) thanks to @mschroeder
- [6138: Added examples for version column in the xml and yml formats](https://github.com/doctrine/doctrine2/pull/6138) thanks to @WhiteEagle88
- [6145: Improving the documentation of enums as discriminators test](https://github.com/doctrine/doctrine2/pull/6145) thanks to @lcobucci
- [6171: Include example of a cascaded "persist" operation](https://github.com/doctrine/doctrine2/pull/6171) thanks to @ThomasLandauer
- [6179: Minor fixes to the 'getting started' page](https://github.com/doctrine/doctrine2/pull/6179) thanks to @biggianteye
- [6197: getSingleScalarResult() returns NULL when the query yields no results](https://github.com/doctrine/doctrine2/pull/6197) thanks to @BenMorel
- [6207: Documentation: Fixes missing namespaces on class call](https://github.com/doctrine/doctrine2/pull/6207) thanks to @gabidavila
- [6212: Fix wrong DQL example](https://github.com/doctrine/doctrine2/pull/6212) thanks to @malukenho
- [6215: Added link to `Transitive Persistence`](https://github.com/doctrine/doctrine2/pull/6215) thanks to @malukenho
- [6219: Complete re-write of "Transitive persistence / Cascade Operations"](https://github.com/doctrine/doctrine2/pull/6219) thanks to @ThomasLandauer
- [6220: Fix annotations](https://github.com/doctrine/doctrine2/pull/6220) thanks to @enumag
- [6227: Minor formatting improvements](https://github.com/doctrine/doctrine2/pull/6227) thanks to @ThomasLandauer
- [6250: Note on Entity listeners](https://github.com/doctrine/doctrine2/pull/6250) thanks to @johndodev
- [6257: Adding a note about the `Doctrine\ORM\QueryBuilder#addCriteria()` method](https://github.com/doctrine/doctrine2/pull/6257) thanks to @weaverryan
- [6260: Document the Custom option of the generated value annotation](https://github.com/doctrine/doctrine2/pull/6260) thanks to @mikeSimonson
- [6262: Fix a link to a ref in another page](https://github.com/doctrine/doctrine2/pull/6262) thanks to @mikeSimonson
- [6268: Fix annotation](https://github.com/doctrine/doctrine2/pull/6268) thanks to @enumag
- [6285: Fix typos and wording in NamingStrategy documentation](https://github.com/doctrine/doctrine2/pull/6285) thanks to @svencan
- [6326: [Documentation] Add column check-option to documentation](https://github.com/doctrine/doctrine2/pull/6326) thanks to @SenseException
- [6386: doc: fixed class name](https://github.com/doctrine/doctrine2/pull/6386) thanks to @chihiro-adachi
- [6395: Updated broken links](https://github.com/doctrine/doctrine2/pull/6395) thanks to @yannickl88
- [6399: Fix incorrect YAML example for versioning a field.](https://github.com/doctrine/doctrine2/pull/6399) thanks to @neobyteUK
- [6400: Fix incorrect YAML datetime version field.](https://github.com/doctrine/doctrine2/pull/6400) thanks to @neobyteUK
- [6410: Minor typo naming strategy documentation](https://github.com/doctrine/doctrine2/pull/6410) thanks to @PowerKiKi
- [6446: Update theme submodule](https://github.com/doctrine/doctrine2/pull/6446) thanks to @eibt
- [6456: Fixes and clarifications to Association Mapping document](https://github.com/doctrine/doctrine2/pull/6456) thanks to @bitwombat
- [6466: Update QueryBuilder docblock to reflect correct type of bound parameter type](https://github.com/doctrine/doctrine2/pull/6466) thanks to @fmagnan
- [6501: Clarify the impact of changing the fetch mode](https://github.com/doctrine/doctrine2/pull/6501) thanks to @mpdude
- [6508: [Doc] Fix links to api doc in the second level cache documentation page](https://github.com/doctrine/doctrine2/pull/6508) thanks to @magnetik
- [6545: Fix newline in annotation example in documentation](https://github.com/doctrine/doctrine2/pull/6545) thanks to @Landerstraeten
- [6562: Make minor English fixes.](https://github.com/doctrine/doctrine2/pull/6562) thanks to @bitwombat
- [6572: Add additional detail and clarifications on SELECT](https://github.com/doctrine/doctrine2/pull/6572) thanks to @bitwombat
- [6579: Document `string` as possible parameter type for `Expr#between()`](https://github.com/doctrine/doctrine2/pull/6579) thanks to @Nek-
- [6588: Updating docs to support for APCu as a cache driver](https://github.com/doctrine/doctrine2/pull/6588) thanks to @reypm
- [6632: The documentation does not mention the nullable default value for @column](https://github.com/doctrine/doctrine2/issues/6632) thanks to @Kwadz
- [6636: Mention the nullable default value for @column](https://github.com/doctrine/doctrine2/pull/6636) thanks to @Kwadz
- [6642: Fixed typo in DQL docs](https://github.com/doctrine/doctrine2/pull/6642) thanks to @radmax
- [6644: fixed typo into native-sql documentation](https://github.com/doctrine/doctrine2/pull/6644) thanks to @AlessandroMinoccheri
- [6685: Updating `Query#$_maxResults` to allow for `null` (no limit)](https://github.com/doctrine/doctrine2/pull/6685) thanks to @votemike
- [6690: Clarify association mapping language](https://github.com/doctrine/doctrine2/pull/6690) thanks to @bitwombat
- [6695: Update table prefix docs](https://github.com/doctrine/doctrine2/pull/6695) thanks to @wshafer
- [6715: Promote nullable types from PHP 7.1](https://github.com/doctrine/doctrine2/pull/6715) thanks to @PowerKiKi
- [6746: [DOCS] Emphasize that Embeddable can only contain simple fields](https://github.com/doctrine/doctrine2/pull/6746) thanks to @malarzm
- [6749: Use `EntityManagerInterface` in attribute's docblock to match with constructor](https://github.com/doctrine/doctrine2/pull/6749) thanks to @KonstantinKuklin
- [6755: EntityManager::getReference() can return null](https://github.com/doctrine/doctrine2/pull/6755) thanks to @BenMorel
- [6764: fixed little typo inside documentation](https://github.com/doctrine/doctrine2/pull/6764) thanks to @AlessandroMinoccheri
- [6766: Moved explanation out of PHP-Codeblock...](https://github.com/doctrine/doctrine2/pull/6766) thanks to @ThomasLandauer
- [6778: Clarify docs for embedded and embeddable.](https://github.com/doctrine/doctrine2/pull/6778) thanks to @stevepetcu
- [6788: [Docs] Type::convertToDatabaseValue is always called](https://github.com/doctrine/doctrine2/pull/6788) thanks to @kejwmen
- [6800: Fix some grammar and outdated information in docs](https://github.com/doctrine/doctrine2/pull/6800) thanks to @ErikJson
- [6805: [Docs] Corrected NamingStrategy demo code to match example](https://github.com/doctrine/doctrine2/pull/6805) thanks to @yesdevnull
- [6894: README: Fix PHP version](https://github.com/doctrine/doctrine2/pull/6894) thanks to @Majkl578
- [6898: UPGRADE: Added method parenthesis, fixed method name](https://github.com/doctrine/doctrine2/pull/6898) thanks to @Majkl578

v2.5.14

Toggle v2.5.14's commit message

Verified

This tag was signed with the committer’s verified signature.
lcobucci Luís Cobucci
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

- [6748: Fix missing null check on `AbstractQuery#setResultCacheProfile()`](doctrine#6748) thanks to @KonstantinKuklin
- [6812: Fix syntax error when join unrelated entity with discriminator entity](doctrine#6812) thanks to @Deltachaos

v2.5.13

Toggle v2.5.13's commit message

Verified

This tag was signed with the committer’s verified signature.
lcobucci Luís Cobucci
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](doctrine#5904) thanks to @JanJakes
- [6167: Fails to insert to a PostgreSQL master-slave config due to SequenceGenerator(NEXTVAL) issues](doctrine#6167) thanks to @mkurzeja
- [6168: Fixed doctrine#6167 - Forced SELECT NEXTVAL to be run on master](doctrine#6168) thanks to @mkurzeja
- [6682: SequenceGenerator crashes with non-numeric value encountered when using XML Driver](doctrine#6682) thanks to @alextech
- [6683: Supply default values for optional values in sequence mapping if omitted by driver.](doctrine#6683) thanks to @alextech
- [6699: setParameter issue when mixing :name and ?0 syntax](doctrine#6699) thanks to @Seb33300
- [6705: Fix parameter name comparison in AbstractQuery regarding different types (fixes doctrine#6699)](doctrine#6705) thanks to @Majkl578
- [6740: Fix operator when using criteria on ManyToMany](doctrine#6740) thanks to @mduplouy
- [6810: BasicEntityPersister::count() return type contract violation in 2.5.x branch](doctrine#6810) thanks to @vkurdin
- [6818: BasicEntityPersister::count() return type fix](doctrine#6818) thanks to @vkurdin
- [6821: Make test suite compatible with PHP 7.2](doctrine#6821) thanks to @remicollet
- [6848: Fixed overwriting explicit cache namespace](doctrine#6848) thanks to @lcobucci
- [6852: Backport doctrine#6167 from 2.6 to 2.5.x branch](doctrine#6852) thanks to @gigi

v2.5.12

Toggle v2.5.12's commit message
Preparing v2.5.12 release

v2.5.11

Toggle v2.5.11's commit message

Verified

This tag was signed with the committer’s verified signature.
Ocramius Marco Pivetta
This release reduces the version constraints on the `doctrine/instant…

…iator` dependency,

effectively allowing any `doctrine/instantiator` version to be installed.

Total issues resolved: **1**

- [6635: Allow installation of `doctrine/instantiator:^1.0.1`](doctrine#6635) thanks to @davidbarratt

v2.5.10

Toggle v2.5.10's commit message

Verified

This tag was signed with the committer’s verified signature.
Ocramius Marco Pivetta
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**

- [3788: DDC-3020: `simplexml_load_file()`: I/O warning: failed to load external in `XmlDriver`](doctrine#3788) thanks to @doctrinebot
- [6633: `XmlDriver`: Avoid PHP bug #62577 by avoiding `simplexml_load_file()`](doctrine#6633) thanks to @apapsch

v2.5.9

Toggle v2.5.9's commit message

Verified

This tag was signed with the committer’s verified signature.
Ocramius Marco Pivetta
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. [doctrine#6623](doctrine#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. [doctrine#6625](doctrine#6623)

Total issues resolved: **3**

- [6623: Ensure that `AbstractHydrator#hydrateAll()` detaches the hydrator from the event manager](doctrine#6623) thanks to @echo511
- [6625: Proxy generation for embedded/transient classes](doctrine#6625) thanks to @bendavies
- [6626: doctrine#6625 Skip proxy generation for embeddable classes](doctrine#6626) thanks to @issei-m

v2.5.8

Toggle v2.5.8's commit message

Verified

This tag was signed with the committer’s verified signature.
Ocramius Marco Pivetta
This release solves a bug introduced while backporting

[doctrine#6464](doctrine#6464)
and [doctrine#6475](doctrine#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**

- [6621: Fixed usage of undefined variable in `empty()` expression in `SqlWalker`](doctrine#6621) thanks to @Powerhamster

v2.5.7

Toggle v2.5.7's commit message

Verified

This tag was signed with the committer’s verified signature.
Ocramius Marco Pivetta
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. [doctrine#6580](doctrine#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. [doctrine#6613](doctrine#6613) [doctrine#6614](doctrine#6614)
[doctrine#6616](doctrine#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);` [doctrine#6550](doctrine#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. [doctrine#1515](doctrine#1515)

The `Doctrine\ORM\Tools\Pagination\CountOutputWalker` was producing
invalid SQL for queries containing a `GROUP BY` clause. [doctrine#6243](doctrine#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. [doctrine#6475](doctrine#6475)

The `Doctrine\ORM\Tools\Console\MetadataFilter` was not detecting
all metadata matching the filter regular expression. [doctrine#5715](doctrine#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. [doctrine#5798](doctrine#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](doctrine#1515) thanks to @emiel-silverstreet
- [1541: Type annotation correction in `ResultSetMappingBuilder#addJoinedEntityFromClassMetadata()` `$relation` (should be `string`)](doctrine#1541) thanks to @aleeeftw
- [3925: DDC-3146: Hydrator memory leak when using iterator](doctrine#3925) thanks to @doctrinebot
- [4772: DDC-3914: doctrine#1515 DDC-3146 Remove event listener from abstract hydrator in cleanup function](doctrine#4772) thanks to @doctrinebot
- [5715: Fix `MetadataFilter` regression after doctrine#507 (doctrine#2815) not testing filters after first one](doctrine#5715) thanks to @guilliamxavier
- [5745: `PersistentCollection#removeElement()` returns `object` or `null` instead of boolean](doctrine#5745) thanks to @holtkamp
- [5798: Fix undefined index for discriminator column `length` attribute in `SchemaTool`](doctrine#5798) thanks to @sergeyfedotov
- [6243: Fix `CountOutputWalker` for queries containing a `GROUP BY` clause, which was producing invalid SQL](doctrine#6243) thanks to @enumag
- [6362: Undefined Property error in ObjectHydrator when using JOIN WITH](doctrine#6362) 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](doctrine#6367) thanks to @SirWaddles
- [6381: Corrected `LoadClassMetadataEventArgs` `@method` annotations to reflect actual returned types](doctrine#6381) thanks to @ElisDN
- [6464: Query builder yields invalid SQL with JOINED inheritance type on PostgreSQL](doctrine#6464) thanks to @stesie
- [6475: Fix invalid sql generated for CTI JOINs when INNER JOIN'ing with a `WITH` clause](doctrine#6475) thanks to @stesie
- [6550: Fix return value of `PersistentCollection#removeElement()` for extra-lazy collections: should be `bool`](doctrine#6550) thanks to @alcaeus
- [6580: Allow DBAL 2.6 and common 2.8 to be installed](doctrine#6580) thanks to @Tobion
- [6613: There is the fail "UNIQUE constraint failed" with a LAZY collection](doctrine#6613) thanks to @Sysaninster
- [6614: `UNIQUE constraint failed` errors when manipulating a `LAZY` collection and calling `toArray()` on it](doctrine#6614) thanks to @Sysaninster
- [6616: doctrine#6613 doctrine#6614 correct handling of new elements added to an initialized (yet dirty) collection](doctrine#6616) thanks to @Ocramius

v2.5.6

Toggle v2.5.6's commit message

Verified

This tag was signed with the committer’s verified signature.
Ocramius Marco Pivetta
This release relaxes [`doctrine/common`](https://github.com/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`](https://github.com/doctrine/dbal) in order to allow installation of
the latest `doctrine/common` versions. [doctrine#6156](doctrine#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. [doctrine#6159](doctrine#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. [doctrine#6028](doctrine#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. [doctrine#6177](doctrine#6177).

Total issues resolved: **8**

- [5570: Fix PrePersist EventListener when using merge instead of persist](doctrine#5570)
- [6028: Make child entity share the timestamp region with parent class](doctrine#6028)
- [6110: Clear $this->collection even when empty, to reset keys](doctrine#6110)
- [6156: Allow doctrine/common 2.7](doctrine#6156)
- [6159: doctrine#5821 Backport doctrine#1551 - Fixed support for inverse side second level cache](doctrine#6159)
- [6174: Merging a new entity with PrePersist event make changes in callback not be considered](doctrine#6174)
- [6177: Fix doctrine#6174 doctrine#5570: merging new entities should also trigger prepersist lifecycle callbacks with merged entity data](doctrine#6177)
- [6178: Backport doctrine#6177 - fix doctrine#6174 doctrine#5570: merging new entities should also trigger prepersist lifecycle callbacks with the merged data](doctrine#6178)