Releases: doctrine/orm
v2.5.2
Release Notes - Doctrine 2 - ORM - Version 2.5.2
Bug
- [DDC-3677] - [GH-1375] DDC-3671 prevent duplicate unique index
- [DDC-3899] - [GH-1507] Fixed wrong property name
- [DDC-3908] - [GH-1510] Fix cache storage related test issues (due to doctrine/cache 1.5.0 changes)
- [DDC-3911] - [GH-1512] Backport of "LimitSubqueryOutputWalker: fix aliasing of property in OrderBy from MappedSuperclass"
- [DDC-3973] - [GH-1540] [DDC-3711] Correct Error on manyToMany with composite primary key + add Tests
Documentation
Improvement
v2.5.1
Release Notes - Doctrine 2 - ORM - Version 2.5.1
Bug
- [DDC-3096] - JoinColumn definition does not regard column type with value translation
- [DDC-3330] - Bad Pagination - rows with sorted collection
- [DDC-3658] - [GH-1365] fix rare query test failures due to nondeterminism without order by clause
- [DDC-3667] - Fetch-joining a collection that has a field with a default value of `array` causes a fatal error
- [DDC-3670] - [GH-1374] Fix DDC767Test failing on php7 + pg94
- [DDC-3680] - [GH-1377] Failing test case for broken paginator case
- [DDC-3683] - [GH-1380] Fix issue with second-level-cache tests and versioned entities
- [DDC-3684] - [GH-1381] Fixes ClassMetadata wakeupReflection with embeddable and StaticReflectio...
- [DDC-3689] - [GH-1382] Patch second level cache association hydration
- [DDC-3690] - PersistentCollection uses private property
- [DDC-3699] - [GH-1387] Fix skipping properties if they are listed after a not loaded relation.
- [DDC-3756] - [GH-1416] [2.5][Bug] Fix ConvertDoctrine1Schema->getMetadata
- [DDC-3778] - [GH-1430] "INSTANCE OF" example doesn't match description.
- [DDC-3831] - [GH-1463] Fixed issue when paginator orders by a subselect expression
- [DDC-3919] - Schema creation problem on PostgreSQL
Documentation
v2.4.8
Release Notes - Doctrine 2 - ORM - Version 2.4.8
Bug
- [DDC-3310] - [GH-1138] Join column index names
- [DDC-3343] - `PersistentCollection::removeElement` schedules an entity for deletion when relationship is EXTRA_LAZY, with `orphanRemoval` false.
- [DDC-3464] - [GH-1231] Backport 'Merge pull request #1098 from encoder32/DDC-1590' to 2.4 branch
- [DDC-3482] - [GH-1242] Attempting to lock a proxy object fails as UOW doesn't init proxy first
- [DDC-3493] - New (PHP 5.5) "class" keyword - wrong parsing by EntityGenerator
- [DDC-3494] - [GH-1250] Test case for "class" keyword
- [DDC-3500] - [GH-1254] Fix applying ON/WITH conditions to first join in Class Table Inheritance
- [DDC-3502] - [GH-1256] DDC-3493 - fixed EntityGenerator parsing for php 5.5 "::class" syntax
- [DDC-3518] - [GH-1266] [2.4] Fix schema generation in the test suite
- [DDC-3537] - [GH-1282] Hotfix/#1169 extra lazy one to many should not delete referenced entities (backport to 2.4)
- [DDC-3551] - [GH-1294] Avoid Connection error when calling ClassMetadataFactor::getAllMetadata()
- [DDC-3560] - [GH-1300] [2.4] #1169 DDC-3343 one-to-omany persister deletes only on EXTRA_LAZY plus orphanRemoval
- [DDC-3608] - [GH-1327] Properly generate default value from yml & xml mapping
- [DDC-3619] - spl_object_hash collision
- [DDC-3624] - [GH-1338] [DDC-3619] Update identityMap when entity gets managed again
- [DDC-3643] - [GH-1352] fix EntityGenerator RegenerateEntityIfExists
Improvement
v2.5.0
Doctrine ORM 2.5.0 Release
We are happy to announce the immediate availability of Doctrine ORM 2.5.0
.
This release spans over almost 2 years of development, and is a major effort
by the team and the community to make the ORM more robust and performant.
457 issues were resolved in this release,
so we are very proud of the work being done by the community and the core team.
What is new in 2.5.x?
Doctrine ORM 2.5.0 comes with a set of major improvements:
- The Second-level Cache, a component that greatly improves ORM performance
- Embeddable classes, allowing for a more fine-grained design of your entities without having
to resort to one-to-one associations for Value Objects - Entity type specific event listeners, for improved event handling performance
- Improvements in the Criteria Collection filtering API, now also supporting
EXTRA_LAZY
filtering
What has to be done to upgrade to 2.5.x?
Some Backwards incompatible changes were also involved in this release: to read them, along with
a more extensive list of the 2.5.0 changes, please consult
the upgrade notes.
Stability
We currently do not have a release schedule for Doctrine ORM 2.6.0
.
As of today, Doctrine ORM 2.5.x
is our stable distribution, and will receive regular bugfix releases.
Doctrine ORM 2.4.8
will be the last bugfix release for the 2.4.x
series. Further releases will only
occur in the eventuality of a security issue being discovered.
We will also keep patching previous versions of the ORM in the eventuality of a security issue being
discovered.
Installation
You can install this version of the ORM by using Composer and the
following composer.json
contents:
{
"require": {
"doctrine/orm": "2.5.0"
}
}
Changes since 2.4.0
This is a list of issues resolved in 2.5.0
since 2.4.0
:
New Feature
- DDC-93 - It would be nice if we could have support for ValueObjects
- DDC-1149 - Optimize OneToMany and ManyToMany without join
- DDC-1216 - A way to mark an entity to always use result cache. Like @UseResultCache class annotation.
- DDC-1247 - Implement AnnotationDriver::addExcludePath
- DDC-1563 - Result cache for repository queries
- DDC-2021 - Array Data in Member OF
- DDC-2773 - #835 Value objects (Based on #634)
- DDC-2959 - #937 Extra-lazy for containsKey on collections
- DDC-3117 - #1027 Support for Partial Indexes for PostgreSql and Sqlite
- DDC-3161 - #1054 SQLFilters enahancements
- DDC-3186 - #1069 added method to be able to reuse the console application
- DDC-3231 - #1089 Entity repository generator default repository
- DDC-3300 - #1130 Added resolve entities support in discrim. map
- DDC-3385 - #1181 Support fetching entities by aliased name
- DDC-3462 - #1230 Allow dumping SQL query when passing DQL on cli
- DDC-3503 - #1257 Resolve target entity also in discriminator map (allows interfaces and custom names in discriminator map)
- DDC-3567 - #1303 make QueryBuilder::getAllAliases public
Improvement
- DDC-54 - Trigger postLoad events and callbacks after associations have been initialized
- DDC-1590 - Fix Inheritance in Code-Generation
- DDC-1787 - Fix for JoinedSubclassPersister, multiple inserts with versioning throws an optimistic locking exception
- DDC-1858 - LIKE and IS NULL operators not supported in HAVING clause
- DDC-2052 - Custom tree walkers are not allowed to add new components to the query
- DDC-2061 - Matching Criteria on a PersistentCollection only works on OneToMany associations
- DDC-2128 - #507 Now MetaDataFilter takess also regexp. For example whern you want to
- DDC-2183 - Second Level Cache improvements
- DDC-2210 - PHP warning in ProxyFactory when renaming proxy file
- DDC-2217 - Return a lazy collection from PersistentCollection::match($criteria)
- DDC-2319 - #590 DQL Query: process ArrayCollection values to ease development
- DDC-2534 - #711 Coveralls code coverage
- DDC-2538 - #713 Quick grammar fix
- DDC-2544 - #717 Allow query parameters starting with an underscore
- DDC-2546 - #719 Access properties via static:: instead of self::.
- DDC-2615 - LIKE operator not supported in HAVING clause
- DDC-2636 - Handle SQLite with dot notation in @table and @jointable
- DDC-2639 - #771 Added indexBy option to createQueryBuilder
- DDC-2770 - #833 Generate-Entities-Console-Command: Adding an 'avoid backup' flag
- DDC-2789 - #844 Teach orm:validate-schema to --skip-mapping and --skip-sync
- DDC-2794 - the Paginator does not support arbitrary join
- DDC-2814 - #858 lifts an unnecessary restriction on ResultSetMappingBuilder
- DDC-2824 - #863 The new configuration option: defaultQueryHints
- DDC-2861 - #881 Fix persistence exception on a table with a schema on a platform without schema support
- DDC-2865 - #882 Efficient counting on Criteria
- DDC-2868 - #885 Add support for ManyToMany Criteria
- DDC-2926 - #914 added license badge
- DDC-2970 - #946 Cleaned up unused imports
- DDC-2981 - Multi get for second level cache (Doctrine Cache related)
- DDC-2982 - #954 Multi Get support for Second Level Cache
- DDC-2984 - Support Custom DBAL types to be used as identifiers
- DDC-2991 - #957 makes doctrine less dependent upon the symfony yaml component
- DDC-2999 - #962 Stop executeDeletions when there is nothing to to delete anymore
- [DDC-3000](http://www.doctrine-project.org/jira...
v2.5.0-RC2
Doctrine ORM 2.5.0-RC2 Release Candidate
We are happy to announce the immediate availability of Doctrine ORM 2.5.0-RC2
.
This is a release candidate meant to allow users and contributors to verify the
stability of the next iteration of the ORM.
We encourage all of our users to help us by trying out this release.
Please report any possible problems or incompatibilities that may have been
introduced during development.
What is new in 2.5.x?
We are currently in the process of documenting all the changes and new features that were
introduced in Doctrine ORM 2.5.x.
You can find the current state of the 2.5.0 changes overview in
the upgrade notes.
Release RoadMap
We expect to release following versions of the ORM in the next days:
2.5.0
on2015-04-02
Please note that these dates may change depending on the availability of our team.
Installation
You can install this version of the ORM by using Composer and the
following composer.json
contents:
{
"require": {
"doctrine/orm": "2.5.0-RC2"
},
"minimum-stability": "dev"
}
Changes since 2.5.0-RC1
This is a list of issues solved in 2.5.0-RC2
since 2.5.0-RC1
:
- DDC-3643
#1352 FixEntityGenerator
RegenerateEntityIfExists
logic - DDC-3645
#1353
DDC-3637
#1347
DDC-3642
#1351
Paginator logic fixes (complex queries/sorting/db support)
Please report any issues you may have with the update on the mailing list or on
Jira.
v2.5.0-RC1
Doctrine ORM 2.5.0-RC1 Release Candidate
We are happy to announce the immediate availability of Doctrine ORM 2.5.0-RC1
.
This is a release candidate meant to allow users and contributors to verify the
stability of the next iteration of the ORM.
We encourage all of our users to help us by trying out this release.
Please report any possible problems or incompatibilities that may have been
introduced during development.
What is new in 2.5.x?
We are currently in the process of documenting all the changes and new features that were
introduced in Doctrine ORM 2.5.x.
You can find the current state of the 2.5.0 changes overview in
the upgrade notes.
Release RoadMap
We expect to release following versions of the ORM in the next days:
2.5.0
on2015-04-02
Please note that these dates may change depending on the availability of our team.
Installation
You can install this version of the ORM by using Composer and the
following composer.json
contents:
{
"require": {
"doctrine/orm": "2.5.0-RC1"
},
"minimum-stability": "dev"
}
Changes since 2.5.0-beta2
This is a list of issues solved in 2.5.0-RC1
since 2.5.0-beta1
:
- DDC-3632
#1345 Fix crashes inConvertMappingCommand
and
GenerateEntitiesCommand
when using entities with joined table inheritance - DDC-3634
#1346 Fix: generated IDs are converted to integer even
when they are big integers - DDC-3630
DDC-3621
#1343 Support embeddables in partial object query expression - DDC-3623
DDC-3629
#1337
#1342 Paginator functional tests and sorting corrections - DDC-2224
DDC-3625
#1339 HonorconvertToDatabaseValueSQL()
in DQL query
parameters and caches
Please report any issues you may have with the update on the mailing list or on
Jira.
v2.5.0-beta1
Doctrine ORM 2.5.0-beta1 Pre-Release
We are happy to announce the immediate availability Doctrine ORM 2.5.0-beta1
.
This is a pre-release meant to allow users and contributors to try out the new
upcoming features of the ORM.
We encourage all of our users to help us by trying out this beta release.
Please report any possible problems or incompatibilities that may have been
introduced during development.
Starting from this release, no more new features or breaking changes will be allowed
into the repository until 2.6.x
development starts.
What is new in 2.5.x?
We are currently in the process of documenting all the changes and new features that were
introduced in Doctrine ORM 2.5.x.
You can find the current state of the 2.5.0 changes overview in
the upgrade notes.
Release RoadMap
We expect to release following versions of the ORM in the next days:
2.5.0-RC1
on2015-03-25
2.5.0
on2015-04-02
Please note that these dates may change depending on the availability of our team.
We also apologize for the major delays in this beta release, which are caused by
the scarce availability of the core team in these months.
Installation
You can install this version of the ORM by using Composer and the
following composer.json
contents:
{
"require": {
"doctrine/orm": "2.5.0-beta1"
},
"minimum-stability": "dev"
}
Changes since 2.5.0-alpha2
This is a list of issues solved in 2.5.0-beta2
since 2.5.0-alpha2
:
- DDC-3452 Embeddables Support for ClassMetadataBuilder
- DDC-3551 Load platform lazily in ClassMetadataFactory to avoid database connections.
- DDC-3258 Improve suport for composite primary keys and assocations as keys.
- DDC-3554 Allow to recreate DQL QueryBuilder from parts.
- DDC-3461 Allow setting association as primary key in ClassMetadataBuilder API with
makePrimaryKey()
. - DDC-3587 Added programmatical support to define indexBy on root aliases.
- DDC-3588 Add support for seconds in
DATE_ADD
DQL function. - DDC-3585 Fix instantiation of nested embeddables.
- DDC-3607 Add support for orphan removal in ClassMetadataBuilder/AssocationBuilder
- DDC-3597 Add support for embeddables in MappedSuperclasses.
- DDC-3616 Add support for DateTimeImmutable in Query parameter detection.
- DDC-3622 Improve support for objects as primary key by casting to string in UnitOfWork.
- DDC-3619 Update IdentityMap when entity gets managed again fixing
spl_object_hash
collision. - DDC-3608 Fix bug in EntityGenerator to XML/YML with default values.
- DDC-3590 Fix bug in PostgreSQL with naming strategy of non-default schema tables.
- DDC-3566 Fix bug in Second-Level Cache with association identifiers.
- DDC-3528 Have
PersistentCollection
implementAbstractLazyCollection
from doctrine/collections. - DDC-3567 Allow access to all aliases for a QueryBuilder.
Please report any issues you may have with the update on the mailing list or on
Jira.
v2.5.0-alpha2
Doctrine ORM 2.5.0-alpha2 Pre-Release
We are happy to announce the immediate availability Doctrine ORM 2.5.0-alpha2
.
This is a pre-release meant to allow users and contributors to try out the new
upcoming features of the ORM.
We encourage all of our users to help us by trying out this alpha release.
Please report any possible problems or incompatibilities that may have been
introduced during development.
This pre-release is not yet at feature-freeze, therefore we urge contributors to contact
us if there is any change that requires our attention before we reach the beta (feature-freeze)
release stage.
What is new in 2.5.x?
We are currently in the process of documenting all the changes and new features that were
introduced in Doctrine ORM 2.5.x.
You can find the current state of the 2.5.0 changes overview in
the upgrade notes.
Release RoadMap
We expect to release following versions of the ORM in the next days:
2.5.0-beta1
on2015-02-02
2.5.0-beta2
on2015-02-09
2.5.0
on2015-02-16
Please note that these dates may change depending on the availability of our team.
Additionally, we will delay the release if any newly introduced critical bugs are
detected, as it already happened with this 2.5.0-alpha2
release.
Installation
You can install this version of the ORM by using Composer and the
following composer.json
contents:
{
"require": {
"doctrine/orm": "2.5.0-alpha2"
},
"minimum-stability": "dev"
}
Changes since 2.5.0-alpha1
This is a list of issues solved in 2.5.0-alpha2
since 2.5.0-alpha1
:
- DDC-3517
GH-1265 Fix error undefined
index "targetEntity" - DDC-3516
GH-1264 Add Changelog/Migration
to 2.5 documentation chapter. - DDC-3520
DDC-3521
GH-1269self-update
composer
before install - DDC-3526
GH-1273 Incorrect@throws
doc. ingetSingleScalarResult
- DDC-3465
GH-1232 Explicit example of
partial indexes - DDC-3300
DDC-3503
GH-1130
GH-1232 Resolve target entity
also in discriminator map (allows interfaces and custom names in discriminator map) - DDC-3378
GH-1176 Support merging entities
with composite identities defined through to-one associations - DDC-3533
GH-1279 Fixed typos and grammar
in the second level cache documentation - DDC-3343
DDC-3536
DDC-3544
GH-1281
GH-1288
GH-1169 Entities should not be
deleted when usingEXTRA_LAZY
andone-to-many
- DDC-3538
DDC-3519
GH-1283
GH-1267 Reverted
#1220 <https://github.com/doctrine/doctrine2/pull/1220>
_, fixed order in
pagination logic - DDC-2704
DDC-3524
GH-1272 merge inherited transient
properties - merge properties into uninitialized proxies - DDC-3346
DDC-3531
DDC-3534
GH-1280
GH-1277 fixedfindOne*
operations when using aEAGER
*-to-many
association - DDC-3541
GH-1286 Removing XDebug from
non-coverage builds - DDC-3546
GH-1289 Improve test suite performance
Please report any issues you may have with the update on the mailing list or on
Jira.
v2.5.0-alpha1
Doctrine 2 - ORM - Version 2.5.0-alpha1
This is the first pre-release of Doctrine ORM 2.5.0.
These release notes are provisional and not yet complete: use them as reference to help us discovering any possible problem/conflict between this release and your usage of this library.
As of current date, version 2.5.0 of the ORM is not yet feature-freeze, therefore we encourage all contributors to contact us if there is anything that should make it into 2.5.0.
Expected release schedule:
- 2015-01-20 -
v2.5.0-alpha2
(if necessary) - 2015-01-23 -
v2.5.0-beta1
(feature freeze) - 2015-01-26 -
v2.5.0-beta2
(if necessary, depending on discovered/fixed bugs) - 2015-01-29 -
v2.5.0-RC1
(if no more bugs are discovered/fixed meanwhile) - 2015-02-01 -
v2.5.0
(if no more bugs are discovered/fixed meanwhile)
Issue summary:
New Feature
- [DDC-93] - It would be nice if we could have support for ValueObjects
- [DDC-1149] - Optimize OneToMany and ManyToMany without join
- [DDC-1216] - A way to mark an entity to always use result cache. Like @UseResultCache class annotation.
- [DDC-1247] - Implement AnnotationDriver::addExcludePath
- [DDC-1563] - Result cache for repository queries
- [DDC-2021] - Array Data in Member OF
- [DDC-2773] - [GH-835] Value objects (Based on #634)
- [DDC-2959] - [GH-937] Extra-lazy for containsKey on collections
- [DDC-3117] - [GH-1027] Support for Partial Indexes for PostgreSql and Sqlite
- [DDC-3161] - [GH-1054] SQLFilters enahancements
- [DDC-3186] - [GH-1069] added method to be able to reuse the console application
- [DDC-3231] - [GH-1089] Entity repository generator default repository
- [DDC-3385] - [GH-1181] Support fetching entities by aliased name
- [DDC-3462] - [GH-1230] Allow dumping SQL query when passing DQL on cli
Bug
- [DDC-1624] - Locking CTI doesnt work on SQL Server
- [DDC-2310] - Recent changes to DBAL SQL Server platform lock hinting breaks ORM SqlWalker in DQL queries with joins
- [DDC-2352] - [GH-615] Update SqlWalker.php
- [DDC-2372] - [GH-632] entity generator - ignore trait properties and methods
- [DDC-2504] - [GH-696] extra lazy joined test
- [DDC-2559] - [GH-728] Color message like the update tools
- [DDC-2561] - [GH-729] add missing hint about lifecycle callback
- [DDC-2562] - [GH-730] To avoid "SpacingAfterParams" error with PHPCS Symfony2 coding standard
- [DDC-2566] - [GH-732] Update working-with-associations.rst
- [DDC-2568] - [GH-733] Update Parser.php
- [DDC-2572] - ResolveTargetEntityListener does not work as documented.
- [DDC-2573] - [GH-735] Fix proxy performance test
- [DDC-2575] - Hydration bug
- [DDC-2580] - [GH-739] Fix DDC-2579
- [DDC-2581] - [GH-740] Synchronized support of FilterCollection with ODM by adding missing method
- [DDC-2584] - [GH-743] Added coverage to DDC-2524. Updated DDC-1719 to fix related DBAL bug.
- [DDC-2588] - [GH-745] Update basic-mapping.rst
- [DDC-2591] - [GH-747] fix some file mode 755->644
- [DDC-2592] - [GH-748] Add hour to DATE_ADD and DATE_SUB
- [DDC-2603] - [GH-751] Added coverage for querying support during postLoad.
- [DDC-2604] - [GH-752] ORM side fixes.
- [DDC-2616] - [GH-759] Fixed out of sync code examples in getting-started.rst
- [DDC-2624] - ManyToManyPersister fails to handle cloned PeristentCollections
- [DDC-2652] - [GH-777] Fixed typo in mapping documentation
- [DDC-2653] - [GH-778] Fixed typo in property mapping
- [DDC-2654] - [GH-779] Fixed grammar in custom data types
- [DDC-2656] - [GH-780] [DCC-2655] Don't let getOneOrNullResult throw NoResultException
- [DDC-2668] - DQL TRIM function is not converted into TRIM SQL correctly
- [DDC-2673] - [GH-785] Update dql-custom-walkers.rst
- [DDC-2676] - [GH-786] Minor updates while reading the basic-mapping page
- [DDC-2678] - [GH-787] Update DDC719Test.php to be compatible with MsSQL
- [DDC-2681] - [GH-790] HHVM compatibility: func_get_args
- [DDC-2682] - [GH-791] Implemented "contains" operator for Criteria expressions
- [DDC-2683] - [GH-792] [DDC-2668] Fix trim leading zero string
- [DDC-2689] - Doctrine ORM test suite failing on MySQL
- [DDC-2690] - Doctrine ORM test suite failing on PostgresSQL
- [DDC-2696] - [GH-795] Update query-builder.rst
- [DDC-2699] - [GH-797] CS fixes
- [DDC-2700] - [GH-798] Identifier can be empty for MappedSuperclasses
- [DDC-2702] - [GH-799] remove unused test case
- [DDC-2706] - [GH-801] Update SqlWalker.php fixed wrong GROUP BY clause on SQL Server platform
- [DDC-2707] - [GH-802] Respect unsigned fields when tables get converted to entities.
- [DDC-2711] - [GH-803] Appended newline to (newly) generated files for PSR2 compatibility
- [DDC-2716] - [GH-808] Second level cache
- [DDC-2718] - [GH-809] Fix DDC-1514 test
- [DDC-2720] - [GH-811] Update SingleScalarHydrator error message
- [DDC-2722] - ...
2.4.7
Total issues resolved: 6
- 925: DDC-2310 DDC-2675 - Fix SQL generation on table lock hint capable platforms DDC-2310 DDC-2675
- 1191: DDC-3409 DDC-2846 - Documenting interface methods (based on entity manager) DDC-3409 DDC-2846
- 1188: DDC-3404 - Fixed
Paginator
parameter counting exception DDC-3404 - 1210: DDC-3336 -
Undefined property: Doctrine\ORM\Query\AST\SimpleArithmeticExpression::$field
DDC-3336 - 1211: DDC-3434 -
Paginator
ignoresHIDDEN
fields inORDER BY
query DDC-3434 - 1202: DDC-3425 - Checks key exists rather than
isset
- allownull
values in column options DDC-3425