Skip to content

v2.6.0

@lcobucci lcobucci tagged this 20 Dec 00:38
…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
Assets 2