Tags: mlocati/doctrine2
Tags
This release provides fixes for: - a regression in parsing of DQL with aggregate functions as arguments in other functions, - pessimistic locking without running transaction, - using non-deprecated Lexer and Inflector. - Total issues resolved: **3** - Total pull requests resolved: **7** - Total contributors: **5** Bug: - [7296: Fix doctrine#7286: StringPrimary no longer accepts aggregate functions as argument](doctrine#7296) thanks to @Majkl578 and @NothingWeAre - [7291: &doctrine#91;2.6&doctrine#93; Fix for doctrine#7068: EntityManager::find() with pessimistic lock should check for transaction](doctrine#7291) thanks to @Majkl578 and @madwizard-thomas - [7274: Use non-deprecated version of Lexer and Inflector](doctrine#7274) thanks to @Majkl578 - [7190: Fix wrong type in phpdoc of `Doctrine\ORM\Id\AbstractIdGenerator#generate()`](doctrine#7190) thanks to @Tobion - [7146: &doctrine#91;XML&doctrine#93; Fix default value of one-to-many order-by to ASC](doctrine#7146) thanks to @Awkan Improvement: - [7290: Fix compatibility with DBAL 2.8 (doctrine/dbal#3157)](doctrine#7290) thanks to @Majkl578 Documentation: - [7276: Add UPGRADE note for EntityRepository::count()](doctrine#7276) thanks to @Majkl578
This release provides fixes for: * a regression in parsing of `DELETE` DQL queries without a DQL alias * a regression in hydration of fields of intermediate classes multi-level single-/multi-table-inheritance * a call to an undefined `Doctrine\Common\Cache\MemcachedCache::setMemcache()` method in the setup tooling * persistence order for entities with identity through associated entity * some persistence issues with join columns with special characters in them, which need to be quoted * incorrect SQL parameter type binding in the basic entity persister * versioned entity version fields caching within the second level cache Total issues resolved: **23** - [6043: Identity through foreign Entities - persist](doctrine#6043) thanks to @Gorjunov - [6531: Cannot persist parent entity if OneToOne shares the same id](doctrine#6531) thanks to @davidbarratt - [6701: Fix identity through foreign entities](doctrine#6701) thanks to @vhenzl - [6939: Error for delete query without alias since 2.6.0](doctrine#6939) thanks to @dmaicher - [6971: Exception Call to undefined method Doctrine\Common\Cache\MemcachedCache::setMemcache()](doctrine#6971) thanks to @rolando-caldas - [6988: Inheritance middle-layer doesn't get hydrated](doctrine#6988) thanks to @kbond - [6997: ManyToManyPersister fails to remove join table entry if there is multiple join columns](doctrine#6997) thanks to @NicolaF - [7002: Flush new entity with relation when use relation in composite key throws ORMInvalidArgumentException](doctrine#7002) thanks to @samplestudio - [7003: Cannot persist new entity if primary key contains a foreign key and the referenced object is in state new and its id is not assigned](doctrine#7003) thanks to @NicolaF - [7012: Fixed updating of entity with quoted identifier join column](doctrine#7012) thanks to @janlanger - [7021: Fix incorrect variable reference](doctrine#7021) thanks to @lcobucci - [7031: Tests failing in February (QueryDqlFunctionTest::testDateAdd with "month" dataset)](doctrine#7031) thanks to @Majkl578 - [7032: QueryDqlFunctionTest: Increase delta for testDateAdd() to work in February](doctrine#7032) thanks to @Majkl578 - [7051: Bugfix: Hydrate subclasses of subclasses](doctrine#7051) thanks to @technetium - [7053: Fixed parser rejecting valid DQL](doctrine#7053) thanks to @carnage - [7055: Fix date issues once and for all](doctrine#7055) thanks to @lcobucci - [7059: Querying abstract class in the middle of a hierarchy returns NULL instead of objects](doctrine#7059) thanks to @BenMorel - [7062: BasicEntityPersister confuses association types with PDO datatypes](doctrine#7062) thanks to @mariusklocke - [7067: ORM second level cache and version (locking)](doctrine#7067) thanks to @wtorsi - [7069: Test for Second level cache with Version, DDC doctrine#7067](doctrine#7069) thanks to @wtorsi - [7077: Fix BC-break on delete without alias DQL](doctrine#7077) thanks to @lcobucci - [7082: Add failing test for issue doctrine#7062 - BasicEntityPersister confuses association types with PDO datatypes](doctrine#7082) thanks to @mariusklocke - [7093: Fix updating entities with quoted identifier association](doctrine#7093) thanks to @lcobucci
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 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
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
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
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
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
PreviousNext