Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix "access array offset on value of type null" PHP 7.4 notices #7785

Merged
merged 4 commits into from
Sep 10, 2019

Conversation

mlocati
Copy link
Contributor

@mlocati mlocati commented Jul 31, 2019

These changes make the tests pass when running phpunit with PHP 7.4:

C:\Dev\Vendor\DoctrineORM>vendor\bin\phpunit
PHPUnit 6.5.13 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.4.0beta1
Configuration: C:\Dev\Vendor\DoctrineORM\phpunit.xml.dist

.............................................................   61 / 3311 (  1%)
.............................................................  122 / 3311 (  3%)
.............................................................  183 / 3311 (  5%)
.............................................................  244 / 3311 (  7%)
.............................................................  305 / 3311 (  9%)
.............................................................  366 / 3311 ( 11%)
..............................................S.........SSSS.  427 / 3311 ( 12%)
S............................................................  488 / 3311 ( 14%)
.............................................................  549 / 3311 ( 16%)
...............................................SS............  610 / 3311 ( 18%)
.............................................................  671 / 3311 ( 20%)
.............................................................  732 / 3311 ( 22%)
.............................................................  793 / 3311 ( 23%)
.............................................................  854 / 3311 ( 25%)
.............................................................  915 / 3311 ( 27%)
.............................................................  976 / 3311 ( 29%)
............................................................. 1037 / 3311 ( 31%)
S.SSSSSSSSSSSS............................................... 1098 / 3311 ( 33%)
............................................................. 1159 / 3311 ( 35%)
.................SS.................................S........ 1220 / 3311 ( 36%)
...S..............................S.......................... 1281 / 3311 ( 38%)
........................................................S.... 1342 / 3311 ( 40%)
............................................................. 1403 / 3311 ( 42%)
............................................................. 1464 / 3311 ( 44%)
.........................................................SS.. 1525 / 3311 ( 46%)
............S................................................ 1586 / 3311 ( 47%)
...............S............................................. 1647 / 3311 ( 49%)
............................................................. 1708 / 3311 ( 51%)
............................................................. 1769 / 3311 ( 53%)
............................................................. 1830 / 3311 ( 55%)
............................................................. 1891 / 3311 ( 57%)
............................................................. 1952 / 3311 ( 58%)
............................................................. 2013 / 3311 ( 60%)
............................................................. 2074 / 3311 ( 62%)
.............S...................SSS......................... 2135 / 3311 ( 64%)
....II........................S.................SSS.......... 2196 / 3311 ( 66%)
............................................................. 2257 / 3311 ( 68%)
............................................................. 2318 / 3311 ( 70%)
............................................................. 2379 / 3311 ( 71%)
............................................................. 2440 / 3311 ( 73%)
............................................................. 2501 / 3311 ( 75%)
............................................................. 2562 / 3311 ( 77%)
............................................................. 2623 / 3311 ( 79%)
............................................................. 2684 / 3311 ( 81%)
............................................................. 2745 / 3311 ( 82%)
............................................................. 2806 / 3311 ( 84%)
............................................................. 2867 / 3311 ( 86%)
............................................................. 2928 / 3311 ( 88%)
............................................................. 2989 / 3311 ( 90%)
............................................................. 3050 / 3311 ( 92%)
..........................................................S.. 3111 / 3311 ( 93%)
.....S.......S.......S.........................S............. 3172 / 3311 ( 95%)
S............................................................ 3233 / 3311 ( 97%)
............................................................. 3294 / 3311 ( 99%)
.................                                             3311 / 3311 (100%)

Time: 7.37 seconds, Memory: 144.00MB

There were 2 incomplete tests:

1) Doctrine\Tests\ORM\Mapping\StaticPHPMappingDriverTest::testSchemaDefinitionViaExplicitTableSchemaAnnotationProperty

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\StaticPHPMappingDriverTest.php:32

2) Doctrine\Tests\ORM\Mapping\StaticPHPMappingDriverTest::testSchemaDefinitionViaSchemaDefinedInTableNameInTableAnnotationProperty

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\StaticPHPMappingDriverTest.php:41

--

There were 45 skipped tests:

1) Doctrine\Tests\ORM\Functional\CompositePrimaryKeyTest::testCompositeCollectionMemberExpression
How to test this?

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\CompositePrimaryKeyTest.php:125

2) Doctrine\Tests\ORM\Functional\DatabaseDriverTest::testIssue2059
Platform does not support foreign keys.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\DatabaseDriverTest.php:31

3) Doctrine\Tests\ORM\Functional\DatabaseDriverTest::testLoadMetadataFromDatabase
Platform does not support foreign keys.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\DatabaseDriverTest.php:53

4) Doctrine\Tests\ORM\Functional\DatabaseDriverTest::testLoadMetadataWithForeignKeyFromDatabase
Platform does not support foreign keys.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\DatabaseDriverTest.php:84

5) Doctrine\Tests\ORM\Functional\DatabaseDriverTest::testDetectManyToManyTables
Platform does not support foreign keys.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\DatabaseDriverTest.php:118

6) Doctrine\Tests\ORM\Functional\DatabaseDriverTest::testLoadMetadataFromDatabaseDetail
Platform does not support foreign keys.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\DatabaseDriverTest.php:158

7) Doctrine\Tests\ORM\Functional\Locking\LockTest::testLockPessimisticWrite
Database Driver has no Write Lock support.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Locking\LockTest.php:140

8) Doctrine\Tests\ORM\Functional\Locking\LockTest::testLockPessimisticRead
Database Driver has no Write Lock support.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Locking\LockTest.php:172

9) Doctrine\Tests\ORM\Functional\SchemaTool\CompanySchemaTest::testDropPartSchemaWithForeignKeys
Foreign Key test

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\CompanySchemaTest.php:60

10) Doctrine\Tests\ORM\Functional\SchemaTool\DDC214Test::testCmsAddressModel
SQLite does not support ALTER TABLE statements.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\DDC214Test.php:25

11) Doctrine\Tests\ORM\Functional\SchemaTool\DDC214Test::testCompanyModel
SQLite does not support ALTER TABLE statements.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\DDC214Test.php:25

12) Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest::testGetCreateSchemaSql
The Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest requires the use of mysql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest.php:14

13) Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest::testGetCreateSchemaSql2
The Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest requires the use of mysql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest.php:14

14) Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest::testGetCreateSchemaSql3
The Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest requires the use of mysql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest.php:14

15) Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest::testGetCreateSchemaSql4
The Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest requires the use of mysql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\MySqlSchemaToolTest.php:14

16) Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest::testPostgresMetadataSequenceIncrementedBy10
The Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest requires the use of postgresql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest.php:16

17) Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest::testGetCreateSchemaSql
The Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest requires the use of postgresql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest.php:16

18) Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest::testGetCreateSchemaSql2
The Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest requires the use of postgresql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest.php:16

19) Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest::testGetCreateSchemaSql3
The Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest requires the use of postgresql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest.php:16

20) Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest::testGetDropSchemaSql
The Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest requires the use of postgresql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest.php:16

21) Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest::testUpdateSchemaWithPostgreSQLSchema
The Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest requires the use of postgresql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SchemaTool\PostgreSqlSchemaToolTest.php:16

22) Doctrine\Tests\ORM\Functional\SequenceEmulatedIdentityStrategyTest::testPreSavePostSaveCallbacksAreInvoked
This test is special to platforms emulating IDENTITY key generation strategy through sequences.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SequenceEmulatedIdentityStrategyTest.php:19

23) Doctrine\Tests\ORM\Functional\SequenceGeneratorTest::testHighAllocationSizeSequence
Only working for Databases that support sequences.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\SequenceGeneratorTest.php:18

24) Doctrine\Tests\ORM\Functional\Ticket\DDC1151Test::testQuoteForeignKey
This test is useful for all databases, but designed only for postgresql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Ticket\DDC1151Test.php:13

25) Doctrine\Tests\ORM\Functional\Ticket\DDC117Test::testOneToOneCascadePersist
Test only works with databases that prefer sequences as ID strategy.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Ticket\DDC117Test.php:270

26) Doctrine\Tests\ORM\Functional\Ticket\DDC1360Test::testSchemaDoubleQuotedCreate
PostgreSQL only test.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Ticket\DDC1360Test.php:15

27) Doctrine\Tests\ORM\Functional\Ticket\DDC2182Test::testPassColumnOptionsToJoinColumns
This test is useful for all databases, but designed only for mysql.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Ticket\DDC2182Test.php:10

28) Doctrine\Tests\ORM\Functional\Ticket\DDC758Test::testManyToManyMergeAssociationAdds
Destroys testsuite

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Ticket\DDC758Test.php:14

29) Doctrine\Tests\ORM\Functional\Ticket\DDC758Test::testManyToManyMergeAssociationRemoves
Destroys testsuite

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Ticket\DDC758Test.php:14

30) Doctrine\Tests\ORM\Functional\Ticket\DDC933Test::testLockCTIClass
It should not run on in-memory databases

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\Ticket\DDC933Test.php:25

31) Doctrine\Tests\ORM\Functional\UUIDGeneratorTest::testGenerateUUID
Currently restricted to MySQL platform.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Functional\UUIDGeneratorTest.php:15

32) Doctrine\Tests\ORM\Mapping\PHPMappingDriverTest::testDiscriminatorColumnDefaults
PHP Mapping Drivers have no defaults.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\AbstractMappingDriverTest.php:423

33) Doctrine\Tests\ORM\Mapping\PHPMappingDriverTest::testDiscriminatorColumnDefaultLength
PHP Mapping Drivers have no defaults.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\AbstractMappingDriverTest.php:1044

34) Doctrine\Tests\ORM\Mapping\PHPMappingDriverTest::testDiscriminatorColumnDefaultType
PHP Mapping Drivers have no defaults.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\AbstractMappingDriverTest.php:1059

35) Doctrine\Tests\ORM\Mapping\PHPMappingDriverTest::testDiscriminatorColumnDefaultName
PHP Mapping Drivers have no defaults.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\AbstractMappingDriverTest.php:1074

36) Doctrine\Tests\ORM\Mapping\StaticPHPMappingDriverTest::testDiscriminatorColumnDefaults
PHP Mapping Drivers have no defaults.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\AbstractMappingDriverTest.php:423

37) Doctrine\Tests\ORM\Mapping\StaticPHPMappingDriverTest::testDiscriminatorColumnDefaultLength
PHP Mapping Drivers have no defaults.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\AbstractMappingDriverTest.php:1044

38) Doctrine\Tests\ORM\Mapping\StaticPHPMappingDriverTest::testDiscriminatorColumnDefaultType
PHP Mapping Drivers have no defaults.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\AbstractMappingDriverTest.php:1059

39) Doctrine\Tests\ORM\Mapping\StaticPHPMappingDriverTest::testDiscriminatorColumnDefaultName
PHP Mapping Drivers have no defaults.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Mapping\AbstractMappingDriverTest.php:1074

40) Doctrine\Tests\ORM\Tools\Export\AnnotationClassMetadataExporterTest::testFieldsAreProperlySerialized
Test not available for annotation driver

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Tools\Export\AbstractClassMetadataExporterTest.php:222

41) Doctrine\Tests\ORM\Tools\Export\AnnotationClassMetadataExporterTest::testCascadeAllCollapsed
Test not available for annotation driver

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Tools\Export\AbstractClassMetadataExporterTest.php:372

42) Doctrine\Tests\ORM\Tools\Export\PhpClassMetadataExporterTest::testFieldsAreProperlySerialized
Test not available for php driver

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Tools\Export\AbstractClassMetadataExporterTest.php:222

43) Doctrine\Tests\ORM\Tools\Export\PhpClassMetadataExporterTest::testCascadeAllCollapsed
Test not available for php driver

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Tools\Export\AbstractClassMetadataExporterTest.php:372

44) Doctrine\Tests\ORM\Tools\Export\YamlClassMetadataExporterTest::testFieldsAreProperlySerialized
Test not available for yaml driver

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Tools\Export\AbstractClassMetadataExporterTest.php:222

45) Doctrine\Tests\ORM\Tools\Pagination\CountOutputWalkerTest::testCountQueryOrderBySqlServer
SQLServer only test.

C:\Dev\Vendor\DoctrineORM\tests\Doctrine\Tests\ORM\Tools\Pagination\CountOutputWalkerTest.php:61

OK, but incomplete, skipped, or risky tests!
Tests: 3311, Assertions: 12266, Skipped: 45, Incomplete: 2.

SenseException
SenseException previously approved these changes Aug 16, 2019
Copy link
Member

@lcobucci lcobucci left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mlocati thanks for your contribution, I've found a few improvement points but things look good.

lib/Doctrine/ORM/Query/Parser.php Outdated Show resolved Hide resolved
lib/Doctrine/ORM/Query/Parser.php Outdated Show resolved Hide resolved
lib/Doctrine/ORM/Query/Parser.php Outdated Show resolved Hide resolved
lib/Doctrine/ORM/Tools/Export/Driver/YamlExporter.php Outdated Show resolved Hide resolved
@lcobucci
Copy link
Member

@mlocati can you also rebase the branch to sync it with the latest state of 2.6?

@mlocati
Copy link
Contributor Author

mlocati commented Aug 19, 2019

@mlocati can you also rebase the branch to sync it with the latest state of 2.6?

Done.

@lcobucci
Copy link
Member

Do you need help solving the coding standard violations or can you handle them?

@@ -1464,7 +1464,7 @@ public function GroupByItem()
// We need to check if we are in a IdentificationVariable or SingleValuedPathExpression
$glimpse = $this->lexer->glimpse();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we're missing |null in the return of this method too, could you please check it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this method too

Do you mean Parser::GroupByItem() or AbstractLexer::glimpse() (that already has @return array|null)?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mlocati
Copy link
Contributor Author

mlocati commented Aug 19, 2019

Do you need help solving the coding standard violations or can you handle them?

Done.

@mlocati
Copy link
Contributor Author

mlocati commented Aug 19, 2019

Do you need help solving the coding standard violations or can you handle them?

Well, actually yes: how can I fix https://travis-ci.org/doctrine/orm/jobs/573711977#L623 ? I tried @var array|null, @var array | null, @var \array|null, and @var \array | null...

@lcobucci
Copy link
Member

Well, actually yes: how can I fix https://travis-ci.org/doctrine/orm/jobs/573711977#L623 ? I tried @var array|null, @var array | null, @var \array|null, and @var \array | null...

@mlocati it seems like it's complaining about the order of @todo and @var and asking for us to be more specific about what the array contains. I think that array<string, string>|null could be used there.

@mlocati
Copy link
Contributor Author

mlocati commented Aug 19, 2019

@mlocati it seems like it's complaining about the order of @todo and @var and asking for us to be more specific about what the array contains. I think that array<string, string>|null could be used there.

@lcobucci thanks! That did the trick

@nikic
Copy link

nikic commented Sep 8, 2019

Small ping :)

SenseException
SenseException previously approved these changes Sep 10, 2019
Copy link
Member

@SenseException SenseException left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approvement from my side. Anything you want to add to the PR @lcobucci?

@lcobucci
Copy link
Member

Anything you want to add to the PR @lcobucci?

Yes, we should add PHP 7.4 (7.4snapshot) to the CI config and squash to commits 😄
I'll quickly handle that 👍

@lcobucci lcobucci merged commit 61ff45f into doctrine:2.6 Sep 10, 2019
@lcobucci
Copy link
Member

@mlocati 🚢
Thanks for your help here!

@mlocati mlocati deleted the php74-fixes branch September 10, 2019 14:14
Voziv added a commit to ratehub/doctrine2 that referenced this pull request Oct 22, 2019
v2.6.4

[![Build Status](https://travis-ci.org/doctrine/orm.svg?branch=v2.6.4)](https://travis-ci.org/doctrine/orm)

In this release we've fixes many bugs (including a performance regression) and
made the v2.x series compatible with PHP 7.4.

--------------------------------------------

- Total issues resolved: **11**
- Total pull requests resolved: **32**
- Total contributors: **30**

Improvement
-----------

 - [7785: Fix &quot;access array offset on value of type null&quot; PHP 7.4 notices](doctrine#7785) thanks to @mlocati
 - [7142: Rename this repository to doctrine/orm](doctrine#7142) thanks to @greg0ire

Bug
------------------

 - [7821: Bug: doctrine#7820 paginator ignores dbal type conversions in identifiers](doctrine#7821) thanks to @Ocramius
 - [7778: Guard L2C regions against corrupted data](doctrine#7778) thanks to @umpirsky
 - [7767: PersistentCollection::matching() does not respect the collections native sorting](doctrine#7767) thanks to @stephanschuler
 - [7766: Respect collection orderBy meta when matching()](doctrine#7766) thanks to @stephanschuler
 - [7761: Do not modify UOW on PersistentCollection::clear() when owner has DEFFERED&doctrine#95;EXPLICIT change tracking policy](doctrine#7761) thanks to @paxal
 - [7750: Fix incorrect return of null values in L2C](doctrine#7750) thanks to @AlexSmerw
 - [7737: Fix MEMBER&doctrine#95;OF comparison when using criteria in query builder](doctrine#7737) thanks to @Smartel1
 - [7735: Null in fields value in Cached Entity several times on day on high-load project.](doctrine#7735) thanks to @AlexSmerw
 - [7630: Fix doctrine#7629 - `scheduledForSynchronization` leaks memory when using `@ORM\ChangeTrackingPolicy(&quot;DEFERRED&doctrine#95;EXPLICIT&quot;)`](doctrine#7630) thanks to @yethee
 - [7528: Prevent `UnitOfWork` lookup for DBAL types specified in `Doctrine\ORM\Query#setParameter()`](doctrine#7528) thanks to @Ocramius
 - [7322: JoinedSubclassPersister pass identifier types on delete](doctrine#7322) thanks to @dennisenderink and @fred-jan
 - [7266: Call to a member function resolveAssociationEntries() on boolean {&quot;detail&quot;:&quot;&doctrine#91;object&doctrine#93; (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to a member function resolveAssociationEntries() on boolean at /www/vendor/doctrine/orm/lib/Doctrine/ORM/Cache/DefaultQueryCache.php:140)&quot;}](doctrine#7266) thanks to @mingmingxianseng
 - [4632: DDC-3789: Paginator does not convert entity ids if they are value objects](doctrine#4632) thanks to @doctrinebot

Documentation
-------------

 - [7818: Add note into docs about not using SimpleAnnotationReader](doctrine#7818) thanks to @SenseException
 - [7791: Fix preFlush event documentation stating incorrectly that flush can be called safely](doctrine#7791) thanks to @Steveb-p
 - [7753: Add ORM annotations in getting-started docs](doctrine#7753) thanks to @SenseException and @wajdijurry
 - [7744: Fixed a typo-error](doctrine#7744) thanks to @noobshow
 - [7732: &doctrine#91;Documentation&doctrine#93; Missing comma fix](doctrine#7732) thanks to @lchrusciel
 - [7729: Update DATE&doctrine#95;ADD and DATE&doctrine#95;SUB docs](doctrine#7729) thanks to @JoppeDC
 - [7672: Added cross-links to relevant documentation](doctrine#7672) thanks to @jschaedl
 - [7612: Update ordered-associations.rst](doctrine#7612) thanks to @spirlici
 - [7610: Change APC to OPcache in improving-performance.rst ](doctrine#7610) thanks to @smtchahal
 - [7596: Correct method names and broken link in docs](doctrine#7596) thanks to @mbessolov
 - [7577: Fix of single link to dbal docs in advanced-configuration.rst](doctrine#7577) thanks to @SenseException
 - [7572: Remove codeigniter Framework example](doctrine#7572) thanks to @SenseException
 - [7571: Fix typo in inheritance mappings docs](doctrine#7571) thanks to @batwolf
 - [7557: Change Stackoverflow tag to doctrine-orm](doctrine#7557) thanks to @malarzm
 - [7551: &doctrine#91;2.6&doctrine#93; Migrate repository name doctrine/doctrine2 -&gt; doctrine/orm](doctrine#7551) thanks to @Majkl578
 - [7530: Documentation error typo fix: s/Used-defined/User-Defined](doctrine#7530) thanks to @vladyslavstartsev
 - [7519: doctrine#7518 Fixed type mismatch between `EntityRepository#&doctrine#95;&doctrine#95;construct()` and its documented constructor arguments](doctrine#7519) thanks to @koftikes
 - [7518: `EntityRepository::&doctrine#95;&doctrine#95;construct()` expects `Doctrine\ORM\EntityManager` instead of actual required `EntityManagerInterface`](doctrine#7518) thanks to @koftikes
 - [7490: Fix broken link](doctrine#7490) thanks to @vladyslavstartsev
 - [7483: Fixed a minor syntax issue](doctrine#7483) thanks to @javiereguiluz

CI
-----------------

 - [7794: Fix test compatibility with DBAL 2.10.x-dev](doctrine#7794) thanks to @lcobucci
 - [7731: Replace custom install script with add-on](doctrine#7731) thanks to @greg0ire
 - [7473: Incremental CS checks in 2.x branches](doctrine#7473) thanks to @Majkl578
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants