This release contains almost 3 years of active development and it provides several improvements and fixes, including:
- Better commit order calculation
- More stable second level cache
- Strict testing and quality control
- PHP 7.1+ requirement
Stability
As of today, Doctrine ORM v2.6.x
is our stable distribution, and will receive regular bugfix releases.
The ORM team will now be able to focus completely on the v3.0
, which has no release schedule, therefore
we should not expect new features landing on v2.7.0
but only deprecation notices.
Doctrine ORM v2.5.14
will be the last bugfix release for the v2.5.x
series. Further releases will only
occur in the eventuality of a security issue being discovered.
Changes since 2.5.0
Total issues resolved: 444
Minor BC-Break
- 6216: Remove unused "$className" argument thanks to @malukenho
- 6325: Improve exception message for DQL single-valued association path expression to an inverse side (unsupported) thanks to @Isinlor
- 6500: Allow internal functions to be overridden. thanks to @ThePixelDeveloper
- 6556: Update ConsoleRunner's command list to include L2 cache and DBAL reserved keywords commands thanks to @lcobucci
- 6905: Setup: Switch Apc -> Apcu and Memcache -> Memcached thanks to @Majkl578
New Feature
- 1308: [DDC-3579] Allow override of inversedBy thanks to @z38
- 1343: Support embeddables in partial object query expression [DDC-3621] thanks to @krixon
- 1514: check if collection is empty without loading it thanks to @Metabor
- 4401: DDC-3580: [GH-1308] [DDC-3579] Allow override of inversedBy thanks to @doctrinebot
- 4475: DDC-3647: [GH-1354] [RFC] Added support for OneToMany with orphanRemoval. thanks to @doctrinebot
- 5934: Allow override of fetch for associations thanks to @patrick-mcdougle
- 5938: #5934 - add
fetch
option toAssociationOverride
in order to override fetch strategy for subclasses of entities thanks to @Ma27 - 6003: Expose
EntityPersister::count()
throughEntityRepository::count()
thanks to @phansys - 6397: This should fix Criteria startsWith and endsWith thanks to @svycka
Improvement
- 1228: Fixed many small phpcs issues thanks to @acrobat
- 1303: make QueryBuilder::getAllAliases public thanks to @mrkrstphr
- 1310: Allow symfony 3.0 components thanks to @nicolas-grekas
- 1344: Fix tests for SLC console commands failing due to console output decoration thanks to @billschaller
- 1357: Drop useless execution bit thanks to @DavidPrevot
- 1370: drop doctrine/common git submodule thanks to @TomasVotruba
- 1382: Patch second level cache association hydration thanks to @holtkamp
- 1384: Fix coding standard of
IdentityGenerator#generate()
thanks to @TomasVotruba - 1397: Add Expr::concat support for multiple arguments thanks to @giosh94mhz
- 1400: mysqli is supported by HHVM thanks to @photodude
- 1401: Remove HHVM-nightly builds thanks to @stof
- 1405: EntityManager#getReference throw ORMException for unrecognized id thanks to @taueres
- 1407: Add return to removeMethodTemplate thanks to @aivus
- 1433: Check for non-cacheable entities on metadata level, not at runtime thanks to @goetas
- 1451: composer: autoload via PSR-4 thanks to @TomasVotruba
- 1452: composer: dev is now by default thanks to @TomasVotruba
- 1457: Updated syntax for "integer" and "boolean" types thanks to @phansys
- 1466: Travis: Switch to container-based infrastructure thanks to @Majkl578
- 1470: [CI] Added dev requirement for "doctrine/coding-standard" thanks to @phansys
- 1472: Add test for MariaDB 5.5 and 10.1 on Travis thanks to @PowerKiKi
- 1474: Fix: Remove unused imports thanks to @localheinz
- 1482: Add type hint for entity manager thanks to @bocharsky-bw
- 1518: Added custom ID generator definition to the FieldBuilder thanks to @guiwoda
- 1545: Generic overall fixes thanks to @guilhermeblanco
- 1561: [DDC-4006] Inherit ID generator strategy mapping from embeddables thanks to @deeky666
- 1563: Fixing method name 'rollBack', which was documented as 'rollback' thanks to @rawkode
- 1570: [RFC] Tests around reported cases over DDC-2524 thanks to @guilhermeblanco
- 1574: deduplication of internal UnitOfWork methods thanks to @Ma27
- 1575: Add message to NonUniqueResultException thanks to @Alfredao
- 1579: Reduce code duplication in ProxyFactory::createInitializer thanks to @aschempp
- 4267: DDC-3458: [GH-1228] Fixed many small phpcs issues thanks to @doctrinebot
- 4405: DDC-3584: [GH-1310] Allow symfony 3.0 components thanks to @doctrinebot
- 4484: DDC-3655: [GH-1362] Readme: badges for 2.5 added; 2.3- dropped thanks to @doctrinebot
- 4494: DDC-3664: [GH-1369] Drop empty file thanks to @doctrinebot
- 4495: DDC-3665: [GH-1370] drop doctrine/common git submodule thanks to @doctrinebot
- 4499: DDC-3669: [GH-1373] Add note about "symfony/yaml" dependency for yml mappings thanks to @doctrinebot
- 4527: DDC-3694: [GH-1384] Fix coding standard of
IdentityGenerator#generate()
thanks to @doctrinebot - 4553: DDC-3717: [GH-1397] Add Expr::concat support for multiple arguments thanks to @doctrinebot
- 4562: DDC-3725: [GH-1400] pgsql and mysqli are supported by HHVM thanks to @doctrinebot
- 4563: DDC-3726: [GH-1401] Remove HHVM-nightly builds thanks to @doctrinebot
- 4569: DDC-3731: [GH-1405] EntityManager#getReference throw ORMException for unrecognized id thanks to @doctrinebot
- 4572: DDC-3734: [GH-1407] Add return to removeMethodTemplate thanks to @doctrinebot
- 4626: DDC-3783: [GH-1433] Check for non-cacheable entities on metadata level, not at runtime thanks to @doctrinebot
- 4658: DDC-3811: [GH-1451] composer: autoload via PSR-4 thanks to @doctrinebot
- 4659: DDC-3812: [GH-1452] composer: dev is now by default thanks to @doctrinebot
- 4672: DDC-3824: [GH-1457] Updated syntax for "integer" and "boolean" types thanks to @doctrinebot
- 4684: DDC-3835: [GH-1466] Travis: Switch to container-based infrastructure thanks to @doctrinebot
- 4691: DDC-3841: [GH-1470] [CI] Added dev requirement for "doctrine/coding-standard" thanks to @doctrinebot
- 4697: DDC-3847: [GH-1474] Fix: Remove unused imports thanks to @doctrinebot
- 4741: DDC-3887: [GH-1499] minor: removed useless line breaks thanks to @doctrinebot
- 4743: DDC-3889: GH-1482 - add EntityManagerInterface type-hint to repository constructor thanks to @doctrinebot
- 4771: DDC-3913: [GH-1514] check if collection is empty without loading it thanks to @doctrinebot
- 4775: DDC-3917: [GH-1518] Added custom ID generator definition to the FieldBuilder thanks to @doctrinebot
- 4792: DDC-3932: [GH-1526] Break on autoloader selected thanks to @doctrinebot
- 4840: DDC-3980: [GH-1545] [WIP] General fixes thanks to @doctrinebot
- 4849: DDC-3989: [GH-1550] [RFC] Added composer cache on travis thanks to @doctrinebot
- 4855: DDC-3994: [GH-1553] doc fix thanks to @doctrinebot
- 4873: DDC-4009: [GH-1563] Fixing method name 'rollBack', which was documented as 'rollback' thanks to @doctrinebot
- 4912: DDC-4159: [GH-1579] Reduce code duplication in ProxyFactory::createInitializer thanks to @doctrinebot
- 5548: Cleanup -
ClassMetadataInfo#getColumnNames()
simplification thanks to @Ocramius - 5557: Remove unnecessary namespaces imports and usage thanks to @malukenho
- 5579: Fix performance issue when using notify tracking policy and calling
flush($entity)
multiple times thanks to @xhuberty - 5580: Move from coveralls to scrutinizer coverage thanks to @Ocramius
- 5600: Remove dead code SQLWalker::walkCaseExpression thanks to @billschaller
- 5634: Remove duplicate code in .travis.yml thanks to @alexislefebvre
- 5651: Updated all commands to use the SymfonyStyle thanks to @hiddewie
- 5673: removed unused use statement thanks to @svycka
- 5713: Cleanup no longer used coveralls settings; use scrutinizer badges thanks to @OndraM
- 5740: Fix onNotSuccessfulTest skipping the latest query thanks to @guilliamxavier
- 5756: s/__tostring()/__toString() in Expr\OrderBy thanks to @whyte624
- 5796: Catch
Throwable
instead of just catchingException
thanks to @BenMorel - 5823: Optimize imports. Remove full qualified class names. Remove dead code. thanks to @munkie
- 5831: Multi get implementation in QueryCache thanks to @polyanin
- 5860: Removed hacky switch/case, migrated to if/else and early return statements thanks to @peter-gribanov
- 5862: Remove PHP 5.4 from travis builds thanks to @tPl0ch
- 5863: Remove EOL PHP 5.4 from
.travis.yml
andcomposer.json
- Fixes #5862 thanks to @tPl0ch - 5883: Make test suite compatible with PHPUnit 5.4. thanks to @sebastianbergmann
- 5884: Drop PHP 5.5 support thanks to @Ocramius
- 5886: removed some unused variables thanks to @ostrolucky
- 5910: Code cleanups: early return/internal function usage thanks to @ReenExe
- 5911: Scrutinizer clear code thanks to @ReenExe
- 5913: Clear code metadata info thanks to @ReenExe
- 5914: Cleanup
SqlWalker
code thanks to @ReenExe - 5977: Remove unneeded ternary operator from Query::contains thanks to @ostrolucky
- 5987: Add missing type hints, add strictness for some checks, remove some useless calls thanks to @phansys
- 6005: Improve functional test query logger thanks to @cvuorinen
- 6010: Update exception message at
EntityRepository::__call()
thanks to @phansys - 6014: As of HHVM 3.15 pgsql is supported, add php 7.1 to tests thanks to @photodude
- 6017: Avoid error when entityName isn't a string thanks to @j0k3r
- 6029: Misleading ORMInvalidArgumentException message thanks to @foaly-nr1
- 6038: Remove excessive identifier hashing generated string length checks thanks to @ReenExe
- 6068: Update docblock generation for nullable fields thanks to @phansys
- 6085: More specific named native query throw exceptions test thanks to @arjank
- 6121: Static Code Analysis with Php Inspections (EA Extended) thanks to @kalessil
- 6136: [DX] Add details about invalid Connection passed at creation of EntityManager. thanks to @SpacePossum
- 6141: Allow using objects as discriminators thanks to @lcobucci
- 6143: fixed #5622 - mysql 5.7 ONLY_FULL_GROUP_BY thanks to @chihiro-adachi
- 6162: Report that FROM and JOIN do not support Subqueries thanks to @SimonHeimberg
- 6164: EntityGenerator produces class with 2 empty lines at the end of the file thanks to @eyepin
- 6166: Normalise codebase with PHP 5.6 features thanks to @lcobucci
- 6204: Remove PHP 5 support thanks to @alcohol
- 6205: Remove support for PHP 5.x thanks to @railto
- 6231: Allow gearman environment vars in the concurrency test setup thanks to @gadelkareem
- 6232: Allow gearman environment vars in the concurrency test setup thanks to @gadelkareem
- 6245: Use
getMultiple()
to fetch associations as well in L2 cache fetch operations thanks to @lcobucci - 6286: Fix HHVM build according to Travis documentation thanks to @lcobucci
- 6377: Minimum dependencies thanks to @Sam-Burns
- 6378: PHPUnit 6 thanks to @Sam-Burns
- 6389: XSD definition improvements thanks to @mikeSimonson
- 6412: "Notice: Undefined offset: 0" when there is no ID Column defined thanks to @JarJak
- 6424: HHVM support thanks to @lcobucci
- 6433: Remove dead code in the schema tool thanks to @mpdude
- 6439: align equals signs thanks to @sensorario
- 6440: Initial PHPStan integration thanks to @ondrejmirtes
- 6442: Compute size of loaders in the test suite beforehand, and not on each iteration thanks to @sensorario
- 6451: Allow Symfony 4.0 thanks to @nicolas-grekas
- 6478: Fix YAML related tests thanks to @lcobucci
- 6479: Fix all risky tests thanks to @lcobucci
- 6481: Improve build extensions thanks to @lcobucci
- 6493: Minor fixes: typos, documentation, etc. thanks to @astepin
- 6507: Upgrade dependencies thanks to @lcobucci
- 6511: Define build failure conditions on scrutinizer thanks to @lcobucci
- 6515: Use the Travis' Trusty build environment thanks to @lcobucci
- 6535: [master] PHPStan integration - levels 0 + 1 thanks to @Majkl578
- 6569: Added a test case for postLoad on fetch-joined entities - fetch joined entities should have lifecycle events fired as well thanks to @stoccc
- 6570: Prevent Travis-CI failure if xdebug is not available thanks to @stloyd
- 6575: Move performance tests to phpbench thanks to @lcobucci
- 6581: Travis enhancements: Use Build Stages, added PHP 7.2 thanks to @Majkl578
- 6593: Mapped entity listeners are now processed by metadata exporters thanks to @tPl0ch
- 6598: Refinement of the XML DTD - using
orm:fqcn
for class names thanks to @mikeSimonson - 6601: Fix double spacing in "cascade persist missing" exception message thanks to @martin-georgiev
- 6606: Add message to NonUniqueResultException thanks to @lcobucci
- 6607: Be strict with risky tests thanks to @lcobucci
- 6630: Remove reliance on Symfony\Component\Yaml deprecated constants thanks to @Ocramius
- 6655: Use SymfonyStyle for command output thanks to @OskarStark
- 6691: Use newer PHP syntax thanks to @keradus
- 6703: Entity generator doesn't generate values for all supported options thanks to @lcp0578
- 6714: Remove unnecessary else thanks to @guiajlopes
- 6723: Remove
$overrideLocalValues
variable fromUnitOfWork#createEntity()
thanks to @Ocramius - 6731: #6723 Remove variable from UnitOfWork#createEntity() thanks to @guiajlopes
- 6734: Add DateInterval type parameter thanks to @ossinkine
- 6742: Add support second, minute, week, year on DATE_ADD and DATE_SUB thanks to @Legenyes
- 6772: Disallow orphan removal attribute on many-to-one thanks to @greg0ire
- 6780: getRepository actually returns ObjectRepository thanks to @aequasi
- 6801: Improve misleading ORMInvalidArgumentException message thanks to @foaly-nr1
- 6819: Pagination LimitSubqueryWalker optimization thanks to @plfort
- 6820: #6819 Optimize LimitSubqueryWalker thanks to @plfort
- 6826: Add Type::GUID to $typeAlias list in EntityGenerator thanks to @JKapitein
- 6843: Use new analyser on scrutinizer-ci thanks to @lcobucci
- 6844: Configure PHPCS thanks to @lcobucci
- 6849: Make entity generator generate values for all supported options thanks to @lcobucci
- 6862: Fix closing tag in Symfony UI messages thanks to @OskarStark
- 6887: Use stable packages thanks to @greg0ire
- 6889: Clean elses thanks to @carusogabriel
- 6892: Re-order attributes of relation complex types thanks to @thexpand
- 6895: Reduce complexity of LimitSubqueryWalker#walkSelectStatement() thanks to @lcobucci
- 6896: Run all code quality tools in the same stage thanks to @lcobucci
- 6897: Upgrade PHPStan to 0.9.x thanks to @lcobucci
- 6911: Require more up-to-date dependencies thanks to @lcobucci
Fixes
- 1337: Paginator OrderBy fix take 2 thanks to @billschaller
- 1345: Fix crashes in ConvertMappingCommand and GenerateEntitiesCommand... thanks to @billschaller
- 1346: Fix: generated IDs are converted to integer thanks to @pepakriz
- 1377: LimitSubqueryOutputWalker: fix aliasing of property in OrderBy from MappedSuperclass thanks to @fprochazka
- 1395: Fix for DDC-3697 and DDC-3701 thanks to @mpdude
- 1399: Fix for DDC-3719. thanks to @boskee
- 1441:
INSTANCE OF
now behaves correctly by including all possible child classes inIN()
filtering conditions thanks to @taueres - 1458: [Paginator] Fixed boolean casting thanks to @phansys
- 1463: Fixed issue when paginator orders by a subselect expression thanks to @ehimen
- 1521: [DDC-2922] Error when new entities are reachable through multiple paths but not all of them are marked cascade-persist thanks to @DHager
- 1526: Break on autoloader selected thanks to @zinovyev
- 1547: [RFC] fixes result cache setting query caching thanks to @guilhermeblanco
- 1549: [RFC] DDC-3697 thanks to @guilhermeblanco
- 1555: [RFC] DDC-3979 thanks to @guilhermeblanco
- 1559: Entity cache key is built differently on read than on write thanks to @guiwoda
- 2947: DDC-2248: Expire result cache functionality not implemented thanks to @doctrinebot
- 3247: DDC-2524: Wrong commit order with cascade remove and double association thanks to @doctrinebot
- 3468: DDC-2726: EventSubscriber PreUpdate Error Bug? thanks to @doctrinebot
- 3528: DDC-2780: IS [NOT] NULL conditions with JOINs thanks to @doctrinebot
- 4551: DDC-3715: [GH-1395] Fix for DDC-3697 thanks to @doctrinebot
- 4555: DDC-3719: Criteria won't work on non-owning side of many to many collection thanks to @doctrinebot
- 4576: DDC-3738: [GH-1409] Added PHPDoc return type false of next method in Hydration/IterableResult thanks to @doctrinebot
- 4580: DDC-3741: [GH-1411] Allow null to be passed to setHydrationCacheProfile thanks to @doctrinebot
- 4584: DDC-3745: OneToOne identity through foreign entity exception on flush thanks to @doctrinebot
- 4630: DDC-3787: [GH-1436] allow ManyToManyPersister to handle identification types thanks to @doctrinebot
- 4646: DDC-3800 #1441
INSTANCE OF
now behaves correctly by including all possible child classes inIN()
filtering conditions thanks to @doctrinebot - 4648: DDC-3802: [GH-1443] Unsigned thanks to @doctrinebot
- 4657: DDC-3810: [GH-1450] [DX] Link annotation ref to locking explanation thanks to @doctrinebot
- 4668: DDC-3820: [GH-1455] Update ExprTest.php thanks to @doctrinebot
- 4717: DDC-3865: [GH-1487] [DDC-3864] Support any ordering of fields in partial object query with embeddable thanks to @doctrinebot
- 4752: DDC-3897: [GH-1505] Fixed issue with entity manager when using LockMode::NONE thanks to @doctrinebot
- 4781: DDC-3922: [GH-1522] remove indexes overruled by primary key thanks to @doctrinebot
- 4802: DDC-3941: Compatibility issue with PHP 7.0 on proxy generation. thanks to @doctrinebot
- 4807: DDC-3946: [GH-1533] Fix argument type thanks to @doctrinebot
- 4827: DDC-3967: Identifier is cached with wrong type thanks to @doctrinebot
- 4835: DDC-3976: [GH-1542] Failing test: Owned side of a oneToMany relation doesn't evict its collection cache thanks to @doctrinebot
- 4838: DDC-3979: [GH-1544] DefaultEntityHydrator: Undefined index: targetToSourceKeyColumns thanks to @doctrinebot
- 4841: DDC-3982: [GH-1547] [RFC] fixes result cache setting query caching thanks to @doctrinebot
- 4846: DDC-3986: [Paginator] Invalid generated query with usage of output walkers thanks to @doctrinebot
- 4854: DDC-3993: [GH-1552] Collection cache key is built differently on read than on write thanks to @doctrinebot
- 4864: DDC-4000: [GH-1557] Reduce ambiguity in Entities description thanks to @doctrinebot
- 4865: DDC-4001: [GH-1558] [RFC] remove indexes overruled by primary key thanks to @doctrinebot
- 4867: DDC-4003: [GH-1559] Entity cache key is built differently on read than on write thanks to @doctrinebot
- 4868: DDC-4004: [GH-1560] Fix broken links thanks to @doctrinebot
- 4870: DDC-4006: ID generator strategy not inherited from embeddable thanks to @doctrinebot
- 4871: DDC-4007: [GH-1561] [DDC-4006] Inherit ID generator strategy mapping from embeddables thanks to @doctrinebot
- 4872: DDC-4008: [GH-1562] Fix empty expression on PHP 5.4 thanks to @doctrinebot
- 4888: DDC-4022: [GH-1574] deduplication of internal UnitOfWork methods thanks to @doctrinebot
- 5562: Second Level cache doesn't work properly with OneToOne association and inheritance thanks to @rafrsr
- 5590: Fix discriminator column defaults thanks to @billschaller
- 5605: UnitOfWork pre update invoke causes some times fatal errors thanks to @sr-amueller
- 5622: Mysql 5.7 requires order by clause in select DISTINCT statement (Paginator) thanks to @Devolicious
- 5638: Ddc 3719 fix and test thanks to @jeanCarloMachado
- 5668: Many to many criteria fixes thanks to @petitchevalroux
- 5680: DDC-2780 - Fixed issue with IS NULL on join aliases thanks to @byonchev
- 5684: Custom type ignored by identity generator thanks to @bharley
- 5686: Fixed test failing due to changes in AnnotationReader thanks to @mbeccati
- 5729: Fix typo thanks to @funivan
- 5793: SecondCacheLevel association and inheritance update problem thanks to @mpoiriert
- 5808: second-level-cache, entity-hydrator throws exception thanks to @floriansemm
- 5834: Fix
custom-id-generator
XSD class attribute type: s/NMTOKEN/string thanks to @ismailbaskin - 5853: Fix typo thanks to @lcobucci
- 5854: Default query cache using wrong object thanks to @lcobucci
- 5856: #5854 workaround to avoid populating Second Level Cache from DQL queries with multiple nested DQL aliases thanks to @Ocramius
- 5885: Partially reverting #5860 due to type juggling horrors thanks to @Ocramius
- 5887: Failing inverse One-to-One relationship using a custom data type thanks to @alexb-uk
- 5897: Check for Xcache availability from INI setting thanks to @mikaelz
- 5924: Allow empty string identifiers thanks to @Ocramius
- 5935: Fix #5684 - Fix mapping on insertion for autoincrement columns with custom types thanks to @mantiz
- 5973: This should fix MySQL 5.7 issues caused by ONLY_FULL_GROUP_BY thanks to @wucdbm
- 6020: Convert generated id value to its PHP representation. thanks to @renan
- 6129: XmlDriver incorrectly parses boolean option values thanks to @kalimatas
- 6130: #6129 Added unit test for boolean option values. thanks to @kalimatas
- 6142: Fix incompatibility w/ PHP7.2+ thanks to @mbeccati
- 6152: Use the correct types for generated ids thanks to @lcobucci
- 6217: Handle AssociationCacheEntry identifier thanks to @gadelkareem
- 6223: Appends cache namespace when it exists (for L2C regions) thanks to @lcobucci
- 6244: Make sure we're using the rootEntityName on all places thanks to @lcobucci
- 6251: Add missing group to DDC2660Test.php thanks to @mbeccati
- 6274: Fixing #5887 - lazy loading of one-to-one relationship with custom id object thanks to @Necsord
- 6284: #6217 when hydrating an entity with a composite primary key that is both an
EAGER
and aLAZY
association and also cached, theDefaultQueryCache
tries to pass L2 cache implementation detail objects to theUnitOfWork
thanks to @gadelkareem - 6287: Fix EntityManagerDecorator tests thanks to @lcobucci
- 6303:
ObjectHydrator
andArrayHydrator
incorrectly hydrate fields of child classes in a JTI when a field name collides thanks to @fullbl - 6304: Check if the discriminator value is
null
before converting it and setting intorowData
during hydration thanks to @fullbl - 6328: DDC-2780 - Fixed issue with IS NULL on join aliases thanks to @lcobucci
- 6356: Fix wrong variable name thanks to @gander
- 6392: Correct DQL
INSTANCE OF
to filter all possible child classes thanks to @Jean85 - 6402: Quote strategy not applied to foreign key columns thanks to @lemartin
- 6404: Fix quoting issues related to ticket #6402 thanks to @lemartin
- 6416: Fix quoting when using inheritance as well thanks to @lcobucci
- 6417: Fix expire result cache thanks to @lcobucci
- 6436: Pass the connections parameters for cache key generation thanks to @lcobucci
- 6441: Verify that the
fileLockRegionDirectory
passed to theDefaultCacheFactory
cannot be empty thanks to @sensorario - 6460: Getting embeddable should trigger entity initalization thanks to @mkosiedowski
- 6462: Fix #6460 - \Doctrine\ORM\Mapping\ClassMetadataInfo::hasField should return true for embedded fields thanks to @mkosiedowski
- 6468: Cascade persist order thanks to @1ed
- 6485: #5804 Versioning doesn't work with a custom type primary key thanks to @alle
- 6491: Fix Mock Implementations. thanks to @ThePixelDeveloper
- 6494: Add failing test for #6314 and PR #6356 thanks to @astepin
- 6496: #5804 #6485 Versioning doesn't work with a custom type primary key thanks to @astepin
- 6639: 2.6 (dev-master at present) excludes all stable versions of symfony/yaml thanks to @asgrim
- 6640: #6217 #6284 when hydrating an entity with a composite primary key that is both an
EAGER
and aLAZY
association and also cached, theDefaultQueryCache
tries to pass L2 cache implementation detail objects to theUnitOfWork
thanks to @Ocramius - 6651: Replacing direct
quote
model-set schema creation with actually existing model-set setup thanks to @Ocramius - 6652: Correcting the
SimpleInsertPerformanceBench
duplicate record issues when run with multiple revolutions/iterations thanks to @Ocramius - 6658: Drop explicit conflict with stable symfony/yaml thanks to @Majkl578
- 6759: Inverse side of OneToOne is loaded without identifier condition thanks to @janlanger
- 6760: #6759 showstopper one-to-one inverse not being loaded with correct identifier restrictions when defining
joinColumn
thanks to @Ocramius - 6767: Allow association mappings as IDs for joined-table inherited entity thanks to @Parent5446
Documentation
- 1305: Documentation : fix table prefix with STI thanks to @guillaumerobin
- 1341: [doc] Minor fixes and typos thanks to @javiereguiluz
- 1355: [Docs] TablePrefix example - Check for being the owning side thanks to @scaytrase
- 1358: Update docs for clear-cache commands thanks to @zerocrates
- 1360: Fixed misleading typo in Embeddables tutorial thanks to @stedekay
- 1362: Readme: badges for 2.5 added; 2.3- dropped thanks to @TomasVotruba
- 1366: [Documentation] typo fixes thanks to @shieldo
- 1368: Readme: coverage badge for 2.4 added thanks to @TomasVotruba
- 1379: Added missing 'new' keyword for logger instantiation thanks to @holtkamp
- 1385: duplicated param in phpdoc thanks to @TomasVotruba
- 1386: PersisterException: missing license added thanks to @TomasVotruba
- 1390: Document the ChainCache class thanks to @deviantintegral
- 1396: [Documentation] Initializing embeddables doc thanks to @Padam87
- 1404: Fix PHPDoc typo thanks to @stephan281094
- 1408: [doc] Remove unused variable from sample code thanks to @baileylo
- 1429: Update events.rst to reflect behaviour of preUpdate thanks to @hallabro
- 1442: Corrected bad class reference in "Adding own commands" thanks to @elazar
- 1444: Missing opening tags added in one of the tutorials thanks to @cezarykluczynski
- 1462: Add a note to documentation for transactional()'s return values thanks to @DHager
- 1473: Docs fix ref and title thanks to @ilyar
- 1483: Fix typo thanks to @longkey1
- 1485: Changed references from PHP6 to PHP7 thanks to @hasumedic
- 1496: Fix invalid return type in docblock thanks to @dagio
- 1497: Update DateTime cookbook code thanks to @PowerKiKi
- 1500: Update docs dependency install script and readme to target Ubuntu 14.04 thanks to @billschaller
- 1504: Updated docs for basic mapping thanks to @phansys
- 1506: Fix variable reference in phpdoc of ClassMetadataInfo thanks to @Tobion
- 1511: Fix class name: AbstractCache -> CacheProvider thanks to @BlueM
- 1516: Clarify @DiscriminatorMap requirement thanks to @brabeji
- 1520: Updated year range thanks to @aqnouch
- 1523: Documentation and case fixes in QueryBuilder thanks to @BenMorel
- 1528: Fixed typo in 9.6.7 of docs thanks to @sprain
- 1534: Use capital letter at the beginning of a sentence thanks to @senkal
- 1536: Minor - Fix PHP Doc - Update Expr.php thanks to @AngelFQC
- 1554: Fix a documentation error in the EntityManagerInterface#transactional() return value thanks to @tai2
- 1566: Fix typos in DQL doc thanks to @BenMorel
- 1808: DDC-1201: DQL Example about count(*) related entity is wrong thanks to @doctrinebot
- 2190: DDC-1555: Reference. 8 Work. with obj. Making "see "Transitive Persistence"" as link thanks to @doctrinebot
- 4488: DDC-3659: [GH-1366] [Documentation] typo fixes thanks to @doctrinebot
- 4493: DDC-3663: [GH-1368] Readme: coverage badge for 2.4 added thanks to @doctrinebot
- 4496: DDC-3666: [GH-1371] Readme: drop "Downloads" link thanks to @doctrinebot
- 4514: DDC-3682: [GH-1379] Added missing 'new' keyword for logger instantiation thanks to @doctrinebot
- 4528: DDC-3695: [GH-1385] duplicated param in phpdoc thanks to @doctrinebot
- 4531: DDC-3698: [GH-1386] PersisterException: missing license added thanks to @doctrinebot
- 4539: DDC-3704: [GH-1390] Document the ChainCache class thanks to @doctrinebot
- 4566: DDC-3729: [GH-1404] Fix PHPDoc typo thanks to @doctrinebot
- 4650: DDC-3804: [GH-1444] Missing opening tags added in one of the tutorials thanks to @doctrinebot
- 4677: DDC-3829: [GH-1462] Add a note to documentation for transactional()'s return values thanks to @doctrinebot
- 4696: DDC-3846: [GH-1473] Docs fix ref and title thanks to @doctrinebot
- 4705: DDC-3854: [GH-1483] fix typo thanks to @doctrinebot
- 4708: DDC-3857: [GH-1485] Changed references from PHP6 to PHP7 thanks to @doctrinebot
- 4736: DDC-3882: [GH-1497] Update DateTime cookbook code thanks to @doctrinebot
- 4742: DDC-3888: [GH-1500] Update docs dependency install script and readme to target Ubuntu 14.04 thanks to @doctrinebot
- 4751: DDC-3896: [GH-1504] Updated docs for basic mapping thanks to @doctrinebot
- 4753: DDC-3898: [GH-1506] Fix variable reference in phpdoc of ClassMetadataInfo thanks to @doctrinebot
- 4768: DDC-3910: [GH-1511] Fix class name: AbstractCache -> CacheProvider thanks to @doctrinebot
- 4773: DDC-3915: [GH-1516] Clarify @DiscriminatorMap reqirement thanks to @doctrinebot
- 4779: DDC-3920: [GH-1520] Updated year range thanks to @doctrinebot
- 4787: DDC-3928: [GH-1523] Documentation and case fixes in QueryBuilder thanks to @doctrinebot
- 4796: DDC-3936: [GH-1528] Fixed typo in 9.6.7 of docs thanks to @doctrinebot
- 4809: DDC-3948: [GH-1534] Use capital letter at the beginning of a sentence thanks to @doctrinebot
- 4819: DDC-3957: [GH-1536] Minor - Fix PHP Doc - Update Expr.php thanks to @doctrinebot
- 4856: DDC-3995: [GH-1554] Fix a documentation error in the EntityManagerInterface#transactional() return value thanks to @doctrinebot
- 4878: DDC-4013: [GH-1566] Fix typos in DQL doc thanks to @doctrinebot
- 5572: Guess missing words thanks to @greg0ire
- 5584: Fix broken links to blog post. thanks to @harikt
- 5585: Replacing the hardcoded year with a function call thanks to @mikeSimonson
- 5591: Removing 2.4 from README thanks to @Ocramius
- 5596: Wrong $saveMode parameter documentation in SchemaTool::updateSchema thanks to @dcb
- 5597: Fix documentation of schema tool's "save mode" thanks to @deeky666
- 5612: [Doc] Is it a typo? thanks to @issei-m
- 5620: "Class 'Doctrine\Tests\OrmFunctionalTestCase' not found" when trying to run PHPUnit thanks to @StanleySathler
- 5623: Update tests README thanks to @Jean85
- 5667: Add missing @throws tags thanks to @JeroenDeDauw
- 5670: Add precision on the time units thanks to @mikeSimonson
- 5675: Fixed broken links on getting-started tutorial thanks to @jeanCarloMachado
- 5677: Updating the Getting Started guide's documentation thanks to @natechicago
- 5734: Update tools.rst thanks to @amerryma
- 5736: Fix PHP syntax error in composite-primary-keys.rst thanks to @guilliamxavier
- 5771: Remove note on findBy not supporting entity thanks to @teohhanhui
- 5786: [documentation] Missing Embedded and Embeddable anotations in annotations reference index thanks to @Maks3w
- 5787: Fix bug: orderBy documentation thanks to @iBet7o
- 5805: Fix typo in documentation thanks to @borNfreee
- 5813: Add embedded and embeddable annotations in annotations reference index thanks to @jeanCarloMachado
- 5817: Added missing - in the in getting started docs. thanks to @primozcigler
- 5837: Use constant consistently thanks to @foaly-nr1
- 5873: Update query-builder.rst thanks to @vudaltsov
- 5882: PHP 5.4 compatibility issues thanks to @ic1011
- 5891: Fix typo in PHPDoc block of QueryBuilder.php thanks to @Chrisp1tv
- 5892: #5882 recommend using latest stable PHP version in the getting started guide thanks to @BreiteSeite
- 5898: Typo thanks to @radmax
- 5902: Fixed typo (serves => servers) thanks to @holtkamp
- 5918: Make setSQL and setDQL function calls case-sensitive. thanks to @tonynelson19
- 5931: Clarify language regarding ArrayCollections. thanks to @bitwombat
- 5942: Add @CustomIdGenerator to documentation thanks to @Erikvv
- 5947: Missing
ClassMetadataExporter
instantiation in the reverse engineering code samples thanks to @alexryderwhytewaters - 5948: Update association-mapping.rst to ease understanding of what associations mean thanks to @Michal-sk
- 5971: Wrong return type of getResult() thanks to @giginos
- 5972: Wrong return type of getResult() thanks to @giginos
- 6013: Documentation - Fix typo thanks to @guhelski
- 6025: Fix typo in batch-processing doc thanks to @ywarnier
- 6063: Fix PHP version in readme. thanks to @kormik
- 6065: Update Autoloader namespace [docs] thanks to @adiq
- 6070: Update events.rst thanks to @alexndlm
- 6080: Fixed typo + added link thanks to @ThomasLandauer
- 6087: Fix namespace thanks to @chihiro-adachi
- 6089: Remove duplicated enum type comment from declaration. thanks to @damour
- 6092: Updated a link (hopefully :-) thanks to @ThomasLandauer
- 6095: Fixed typo in annotations reference thanks to @mschroeder
- 6101: Add license checker to the build thanks to @malukenho
- 6120: Fixed typos regarding the strategy for composite keys (xml mapping) thanks to @mschroeder
- 6138: Added examples for version column in the xml and yml formats thanks to @WhiteEagle88
- 6145: Improving the documentation of enums as discriminators test thanks to @lcobucci
- 6171: Include example of a cascaded "persist" operation thanks to @ThomasLandauer
- 6179: Minor fixes to the 'getting started' page thanks to @biggianteye
- 6197: getSingleScalarResult() returns NULL when the query yields no results thanks to @BenMorel
- 6207: Documentation: Fixes missing namespaces on class call thanks to @gabidavila
- 6212: Fix wrong DQL example thanks to @malukenho
- 6215: Added link to
Transitive Persistence
thanks to @malukenho - 6219: Complete re-write of "Transitive persistence / Cascade Operations" thanks to @ThomasLandauer
- 6220: Fix annotations thanks to @enumag
- 6227: Minor formatting improvements thanks to @ThomasLandauer
- 6250: Note on Entity listeners thanks to @johndodev
- 6257: Adding a note about the
Doctrine\ORM\QueryBuilder#addCriteria()
method thanks to @weaverryan - 6260: Document the Custom option of the generated value annotation thanks to @mikeSimonson
- 6262: Fix a link to a ref in another page thanks to @mikeSimonson
- 6268: Fix annotation thanks to @enumag
- 6285: Fix typos and wording in NamingStrategy documentation thanks to @svencan
- 6326: [Documentation] Add column check-option to documentation thanks to @SenseException
- 6386: doc: fixed class name thanks to @chihiro-adachi
- 6395: Updated broken links thanks to @yannickl88
- 6399: Fix incorrect YAML example for versioning a field. thanks to @neobyteUK
- 6400: Fix incorrect YAML datetime version field. thanks to @neobyteUK
- 6410: Minor typo naming strategy documentation thanks to @PowerKiKi
- 6446: Update theme submodule thanks to @eibt
- 6456: Fixes and clarifications to Association Mapping document thanks to @bitwombat
- 6466: Update QueryBuilder docblock to reflect correct type of bound parameter type thanks to @fmagnan
- 6501: Clarify the impact of changing the fetch mode thanks to @mpdude
- 6508: [Doc] Fix links to api doc in the second level cache documentation page thanks to @magnetik
- 6545: Fix newline in annotation example in documentation thanks to @Landerstraeten
- 6562: Make minor English fixes. thanks to @bitwombat
- 6572: Add additional detail and clarifications on SELECT thanks to @bitwombat
- 6579: Document
string
as possible parameter type forExpr#between()
thanks to @Nek- - 6588: Updating docs to support for APCu as a cache driver thanks to @reypm
- 6632: The documentation does not mention the nullable default value for @column thanks to @Kwadz
- 6636: Mention the nullable default value for @column thanks to @Kwadz
- 6642: Fixed typo in DQL docs thanks to @radmax
- 6644: fixed typo into native-sql documentation thanks to @AlessandroMinoccheri
- 6685: Updating
Query#$_maxResults
to allow fornull
(no limit) thanks to @votemike - 6690: Clarify association mapping language thanks to @bitwombat
- 6695: Update table prefix docs thanks to @wshafer
- 6715: Promote nullable types from PHP 7.1 thanks to @PowerKiKi
- 6746: [DOCS] Emphasize that Embeddable can only contain simple fields thanks to @malarzm
- 6749: Use
EntityManagerInterface
in attribute's docblock to match with constructor thanks to @KonstantinKuklin - 6755: EntityManager::getReference() can return null thanks to @BenMorel
- 6764: fixed little typo inside documentation thanks to @AlessandroMinoccheri
- 6766: Moved explanation out of PHP-Codeblock... thanks to @ThomasLandauer
- 6778: Clarify docs for embedded and embeddable. thanks to @stevepetcu
- 6788: [Docs] Type::convertToDatabaseValue is always called thanks to @kejwmen
- 6800: Fix some grammar and outdated information in docs thanks to @ErikJson
- 6805: [Docs] Corrected NamingStrategy demo code to match example thanks to @yesdevnull
- 6894: README: Fix PHP version thanks to @Majkl578
- 6898: UPGRADE: Added method parenthesis, fixed method name thanks to @Majkl578