Releases: doctrine/orm
3.0.0
Release Notes for 3.0.0
After almost 8 years of work by many different contributors, we're incredibly proud to announce the release of Doctrine ORM 3.0.0!
Upgrade
We've written an upgrade guide, but the best way to prepare for the upgrade is to first upgrade to the latest 2.x version, and address any deprecation that is reported.
3.0.0
- Total issues resolved: 9
- Total pull requests resolved: 241
- Total contributors: 22
BC Break
- 11165: Allow XML validation to be disabled but keep it enabled by default. thanks to @jwage
- 11013: Enforce native type declarations thanks to @greg0ire
- 10998: Sever ties to common thanks to @greg0ire
- 10985: Remove partial syntax in DQL thanks to @greg0ire
- 10975: Change EntityPersister return type thanks to @greg0ire
- 10969: Use lazy ghosts unconditionally thanks to @greg0ire
- 10968: Reject ID collisions in identity map unconditionally thanks to @greg0ire
- 10964: Updated order of mapping attribute parameters thanks to @soltmar
- 10778: Disallow lifecycle callbacks on embedded classes thanks to @greg0ire
- 10777: Turn deprecation into an exception thanks to @greg0ire
- 10769: Remove Notify change tracking policy thanks to @greg0ire
- 10768: Enable XML validation unconditionally thanks to @greg0ire
- 10764: Cleanup bc layers thanks to @greg0ire
- 10741: Cleanup bc layers thanks to @greg0ire
- 10699: Narrow down parameter types for quote strategies thanks to @greg0ire
- 10667: Throw on invalid one to one thanks to @greg0ire
- 10520: Turn deprecation from #10470 into an exception in 3.0.x thanks to @mpdude
- 10509: Migrate the rest of the source code to PHP 8 syntax thanks to @greg0ire
- 10503: Migrate ClassMetadata to PHP 8 syntax thanks to @greg0ire
- 10500: Stop relying on underscores to indicate property visibility thanks to @greg0ire
- 10497: Migrate more classes to PHP 8 syntax thanks to @greg0ire
- 10496: Migrate database driver to PHP 8 syntax thanks to @greg0ire
- 10463: Make missing inheritance declaration a failure thanks to @mpdude
- 10448: Migrate ParserResult to PHP 8 syntax thanks to @greg0ire
- 10414: Remove concrete table inheritance thanks to @mpdude
- 10402: Migrate remaining exceptions to PHP 8 syntax thanks to @greg0ire
- 10380: Migrate exceptions to PHP 8 syntax thanks to @greg0ire
- 10375: Remove deprecated methods and classes thanks to @greg0ire
- 10347: Allow Lexer 3 thanks to @derrabus
- 10346: Modernize QueryExpressionVisitor thanks to @derrabus
- 10303: Remove
$entityAnnotationClasses
andgetReader()
thanks to @derrabus - 10272: Remove InExpression thanks to @derrabus
- 10196: Add
$lockMode
parameter toEntityManager::refresh()
thanks to @michnovka - 10192: Remove the Annotation interface thanks to @derrabus
- 10175: Remove DriverChain thanks to @derrabus
- 10172: Remove EntityManager::create() thanks to @derrabus
- 10151: Add native types to annotation classes thanks to @derrabus
- 10114: Remove SQL resultset mapping thanks to @greg0ire
- 10084: Migrate collections to PHP 8 syntax thanks to @greg0ire
- 10053: Add types to PersisterHelper thanks to @derrabus
- 10052: Add types to mapping builders thanks to @derrabus
- 9976: Add types to EntityListenerResolver thanks to @derrabus and @greg0ire
- 9962: Add types to ProxyFactory thanks to @derrabus and @greg0ire
- 9953: Resolve QueryBuilder deprecations thanks to @derrabus
- 9911: Show Expr::countDistinct() and Expr::concat() use variable-length argument lists thanks to @craigfrancis
- 9909: Show Expr::countDistinct() and Expr::concat() use variable-length argument lists thanks to @craigfrancis
- 9900: Migrate part of the tools namespace to PHP8 syntax thanks to @greg0ire
- 9852: Migrate Internal namespace to PHP8 thanks to @MarcBrillault and @greg0ire
- 9851: Migrate more code to PHP8 thanks to @greg0ire
- 9838: Stop allowing identity columns emulation thanks to @greg0ire
- 9828: migrate Tools/Schema* to php8.0 thanks to @MarcBrillault and @greg0ire
- 9798: Made setters parameters mandatory thanks to @derrabus
- 9755: Require new argument to joinColumnName() thanks to @greg0ire
- 9741: Make UnderscoreNamingStrategy number-aware only thanks to @greg0ire
- 9713: Remove last references to ClassMetadataInfo thanks to @greg0ire
- 9705: Remove support for Type::canRequireSQLConversion() thanks to @morozov
- 9665: Drop support for persistence 2 thanks to @derrabus
- 9662: Remove the doctrine binary thanks to @derrabus
- 9640: Remove console helper thanks to @derrabus
- 9631: Add native types to reflection property classes thanks to @derrabus
- 9614: Remove support for
ObjectManagerAware
thanks to @derrabus - 9597: Remove support for entity namespace aliases thanks to @greg0ire
- 9551: Split TreeWalker and SqlWalker thanks to @derrabus
- 9524: Add native types to SQLFilter thanks to @derrabus
- 9520: Remove
TreeWalkerChainIterator
thanks to @derrabus - 9515: Add native types to EntityRepository thanks to @derrabus
- 9508: Add native types to caches thanks to @derrabus
- 9502: Remove
Proxy
marker interface thanks to @derrabus - 9500: Remove quoting methods from ClassMetadata thanks to @derrabus
- 9498: Remove various deprecated methods and properties thanks to @derrabus
- 9490: Add native types to QueryBuilder thanks to @derrabus
- 9488: Remove ability to merge detached entities thanks to @derrabus
- 9485: Remove ability to flush the EM partially thanks to @derrabus
- 9471: Remove ability to clear the UoW partially thanks to @derrabus
- 9469: Add native types to persisters thanks to @derrabus
- 9456: Remove support for Doctrine Cache thanks to @derrabus
- 9450: Add more native types to entity manager implementations thanks to @derrabus
- 9447: Remove deprecated Setup class thanks to @derrabus
- 9428: Removing the deprecated Named (Native) Queries in Metadata/EntityRepository thanks to @sir-kain
- 9403: Remove MultiGetRegion and add native types to Region implementations thanks to @derrabus
- 9400: Add native types to CacheLogger implementations thanks to...
2.18.0
Release Notes for 2.18.0
Feature release (minor)
2.18.0
- Total issues resolved: 0
- Total pull requests resolved: 5
- Total contributors: 1
Improvement
-
11195: Use a more specific type for getSqlStatements() thanks to @greg0ire
-
11180: Allow doctrine/lexer 3 thanks to @greg0ire
-
11183: Remove remaining submodules thanks to @greg0ire
CI
2.17.5
Release Notes for 2.17.5
2.17.x bugfix release (patch)
2.17.5
- Total issues resolved: 0
- Total pull requests resolved: 3
- Total contributors: 3
Improvement
Test Suite
3.0.0-RC1
What's Changed
- Adds metadata field type and enumType validation against Entity property type by @yceruto in #11039
- AbstractSqlExecutor::__sleep should return property names by @kerbert101 in #11065
- Remove wrong assertion by @greg0ire in #11071
- XmlDriver: remove dead code by @staabm in #11085
- PHPStan 5.16.0, Symfony 7.0 by @derrabus in #11095
- Add compatibility with the Symfony 4.4 VarExporter by @cmodijk in #10948
- Fix JSON mapping linting against subset of builtin types by @norkunas in #11076
- Fix method name in code example by @flack in #11104
- Improve docs: INSTANCE OF needs class metadata as parameter value by @flaushi in #7963
- Fix: Typo by @localheinz in #11115
- Fix enum mapping validation by @yceruto in #11122
- Allow to skip property type validation by @derrabus in #11130
- Avoid an inconsistency in topological sort result order by @mpdude in #11086
- Mention in the limitations that private field names cannot be reused by @mpdude in #11134
- Remove inheritance by @greg0ire in #11142
- Remove irrelevant PHP version checks by @greg0ire in #11147
- Mention that
postRemove
may still see removed entities in in-memory collections by @mpdude in #11146 - Flatten directory tree on 3.0 by @greg0ire in #11140
- Do not defer eager collection loading when in iteration context by @bobvandevijver in #11082
- Include
ON DELETE CASCADE
associations in the delete order computation by @mpdude in #10913 - Fix
@SequenceGeneratorDefinition
inheritance, take 1 by @mpdude in #11050 - Keep the
declared
mapping information when using attribute overrides by @mpdude in #11135 - Remove redundant tags by @greg0ire in #11162
- Use foreach on iterable to prevent table locks during tests by @bobvandevijver in #11167
- Make Doctrine\Tests\ORM\Internal\Node autoloadable by @greg0ire in #11171
- Remove references to JIRA by @greg0ire in #11178
- Modernize code in documentation by @greg0ire in #11179
- Look for lib remnants in hidden files by @greg0ire in #11181
- Allow doctrine/lexer 3 by @greg0ire in #11180
- Throw exception when trying to use non-backed enum types by @thePanz in #11176
- Remove remaining submodules by @greg0ire in #11183
- Update branches in README by @derrabus in #11186
- Allow XML validation to be disabled but keep it enabled by default. by @jwage in #11165
- Remove XML validation disabling deprecation. by @jwage in #11187
- Ignore deprecations handled in next major by @greg0ire in #11191
Full Changelog: 3.0.0-beta2...3.0.0-RC1
2.17.4
Release Notes for 2.17.4
2.17.x bugfix release (patch)
2.17.4
- Total issues resolved: 0
- Total pull requests resolved: 7
- Total contributors: 5
Undeprecation
Improvement
Documentation
- 11186: Update branches in README thanks to @derrabus
- 11179: Modernize code in documentation thanks to @greg0ire
- 11178: Remove references to JIRA thanks to @greg0ire
Test Suite
2.17.3
Release Notes for 2.17.3
2.17.x bugfix release (patch)
2.17.3
- Total issues resolved: 0
- Total pull requests resolved: 8
- Total contributors: 3
Improvement
Bugfixes
- 11162: Remove redundant tags thanks to @greg0ire
- 11135: Keep the declared mapping information when using attribute overrides thanks to @mpdude
- 11082: Do not defer eager collection loading when in iteration context thanks to @bobvandevijver
- 11050: Fix @SequenceGeneratorDefinition inheritance, take 1 thanks to @mpdude
Test Suite
- 11142: Remove inheritance thanks to @greg0ire
Documentation
2.17.2
Release Notes for 2.17.2
2.17.x bugfix release (patch)
2.17.2
- Total issues resolved: 0
- Total pull requests resolved: 8
- Total contributors: 7
Improvement
- 11130: Allow to skip property type validation thanks to @derrabus
- 11115: Fix: Typo thanks to @localheinz
Bug
- 11122: Fix enum mapping validation thanks to @yceruto
- 11076: Fix JSON mapping linting against subset of builtin types thanks to @norkunas
- 10948: Add compatibility with the Symfony 4.4 VarExporter thanks to @cmodijk
Documentation
- 11104: Fix method name in code example thanks to @flack
- 7963: Improve docs: INSTANCE OF needs class metadata as parameter value thanks to @flaushi
Static Analysis
- 11095: PHPStan 5.16.0, Symfony 7.0 thanks to @derrabus
2.17.1
Release Notes for 2.17.1
2.17.x bugfix release (patch)
2.17.1
- Total issues resolved: 0
- Total pull requests resolved: 2
- Total contributors: 2
Bug
3.0.0-beta2
What's Changed
- Fix array parameters with DBAL 4 by @derrabus in #10995
- Cover calling
AbstractQuery::setParameter()
with an array parameter by @derrabus in #10996 - Updated order of mapping attribute parameters by @soltmar in #10964
- Remove schema visitors by @derrabus in #11001
- Undeprecate autoloader class by @greg0ire in #10999
- Remove redundant check by @dbu in #11006
- Implement proxy name resolver by @greg0ire in #11009
- Copy Debug class from doctrine/common by @greg0ire in #11000
- Use native return type declarations in Debug class by @greg0ire in #11012
- Sever ties to common by @greg0ire in #10998
- Prepare CI for stable DBAL 4 by @derrabus in #11011
- Address split of doctrine/common by @greg0ire in #11007
- Fix the support for enum types in the ResultSetMappingBuilder by @stof in #11018
- Make phpdoc accurate by @greg0ire in #11015
- Enforce native type declarations by @greg0ire in #11013
- Make serialized SQL executors forward compatible by @greg0ire in #11027
- Restore backward compatibility with previous format by @greg0ire in #11048
- Recommend SEQUENCE until doctrine/dbal 4 is released by @greg0ire in #11044
- Dynamically resolve AUTO to SEQUENCE or IDENTITY by @greg0ire in #11045
- Deprecate annotation classes for named queries by @derrabus in #11056
- Drop support for unserializing old serialization formats by @greg0ire in #10986
- [GH-1569] Optimize eager fetch for collections to batch query by @beberlei in #8391
- Fix calls to removed lock methods by @derrabus in #11061
- Prepare 2.17.0 by @derrabus in #11059
Full Changelog: 3.0.0-beta1...3.0.0-beta2
2.17.0
Release Notes for 2.17.0
Feature release (minor)
2.17.0
- Total issues resolved: 0
- Total pull requests resolved: 22
- Total contributors: 6
Documentation
- 11059: Prepare 2.17.0 thanks to @derrabus
- 10887: Add note about not-enabling lazy-ghosts thanks to @nicolas-grekas
Deprecation
- 11056: Deprecate annotation classes for named queries thanks to @derrabus
- 11027: Make serialized SQL executors forward compatible thanks to @greg0ire
- 10987: Deprecate EntityManager*::getPartialReference() thanks to @greg0ire
- 8931: Deprecate reliance on non-optimal defaults thanks to @greg0ire
Bug
Improvement
-
11044: Recommend SEQUENCE until doctrine/dbal 4 is released thanks to @greg0ire
-
11006: Remove redundant check thanks to @dbu
-
11000: Copy Debug class from doctrine/common thanks to @greg0ire
-
10990: Allow creating mocks of the
Query
class thanks to @derrabus -
10974: Remove partial object expression usage thanks to @beberlei
-
10946: Adds metadata field type validation against Entity property type thanks to @greg0ire
-
10919: Support Symfony 7 by adding return types conditionally thanks to @derrabus
-
10999: Undeprecate autoloader class thanks to @greg0ire
-
10989: Add method name in exception thanks to @greg0ire
-
8391: [GH-1569] Optimize eager fetch for collections to batch query thanks to @beberlei