Doctrine ORM 2.5.0 Release

Posted on April 2, 2015 by Marco Pivetta


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 -#963 SQLFilter -- allows to check if a parameter was set
  • DDC-3004 -#966 Simplify build matrix
  • DDC-3005 -Events::postLoad fires without filled associations
  • DDC-3014 -#973 Added index flags support in annotation, xml & yaml mapping drivers.
  • DDC-3032 -#980 Added options attribute export to Annotation, Xml & Yaml exporters.
  • DDC-3039 -#983 Added MEMBER OF and INSTANCE OF to ExpressionBuilder
  • DDC-3068 -EntityManager::find does not accept an array of object as a primary key
  • DDC-3070 -#1001 DDC-3005 Defer invoking of postLoad event to the end of hydration cycle.
  • DDC-3076 -#1006 Handling invalid discriminator values
  • DDC-3114 -#1026 Remove some redundant clauses
  • DDC-3133 -#1036 Move space addition to implementation.
  • DDC-3138 -#1037 I can't look at those semicolons, sorry ;-)
  • DDC-3150 -#1047 Minor grammatical corrections
  • DDC-3178 -#1064 remove on-update from join-column
  • DDC-3249 -#1105 Add support for nesting embeddables
  • DDC-3257 -#1112 DefaultRepositoryFactory: single repository for aliased entities
  • DDC-3258 -#1113 Added support for composite primary key on findBy methods and Criteria
  • DDC-3274 -Improve schema validator error message
  • DDC-3275 -#1121 DDC-3274 Improve schema validator error message for invalid bi-directional relations
  • DDC-3276 -#1122 Support arithmetic expressions in COUNT()
  • DDC-3304 -[EntityGenerator] Embeddables properties and methods are broken
  • DDC-3305 -#1133 [Embeddables] Improved exception message
  • DDC-3307 -#1135 DDC-3304 Add support for embeddables in entity generator
  • DDC-3418 -Indexes not inherited from mapped superclass
  • DDC-3457 -#1227 Ensure query cache is not ArrayCache in production
  • DDC-3461 -#1229 Identity in onetoone association builder
  • DDC-3477 -#1238 Avoid prefixing columns when false is assigned to column-prefix
  • DDC-3479 -#1240 Include IDs in the exception message to ease debugging
  • DDC-3483 -#1243 Fixed phpunit tests autoload requirements and moved to composer autoload-dev
  • DDC-3486 -#1245 Implemented support for one to many extra lazy with joined inheritance.
  • DDC-3487 -#1246 Moved delete() and update() to proper locations.
  • DDC-3490 -#1248 improved error handling for invalid association values #2
  • DDC-3492 -#1249 Support for extra lazy get for both owning and inverse side on many to many associations.
  • DDC-3495 -#1251 travis: optimize to run coverage only once
  • DDC-3496 -#1252 Include className in calls to NamingStrategy joinColumnName method
  • DDC-3501 -#1255 Cleanup: PHP 5.3 support end
  • DDC-3504 -#1258 Classify persisters into more granular namespaces.
  • DDC-3514 -LimitSubqueryOutputWalker should not duplicate orderBy clauses
  • DDC-3521 -#1269 DDC-3520 self-update composer before install
  • DDC-3528 -#1274 PersistentCollection now extends AbstractLazyCollection.
  • DDC-3541 -#1286 Removing XDebug from non-coverage builds
  • DDC-3546 -#1289 Improve test suite
  • DDC-3549 -#1292 Mark getSelectConditionStatementColumnSQL method as private
  • DDC-3588 -#1314 DATE_ADD
    • Support for seconds
  • DDC-3590 -#1316 Allow to join non-public schema tables
  • DDC-3594 -#1319 travis: PHP 7.0 nightly added
  • DDC-3607 -#1326 Allow AssociationBuilder to set a relation as orphan removal
  • DDC-3630 -#1343 Support embeddables in partial object query expression DDC-3621
  • DDC-2850 -Allow cascaded clearing of Entities associated to the indicated Entity

Bugfix

  • 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 -#615 Update SqlWalker.php
  • DDC-2372 -#632 entity generator - ignore trait properties and methods
  • DDC-2504 -#696 extra lazy joined test
  • DDC-2559 -#728 Color message like the update tools
  • DDC-2561 -#729 add missing hint about lifecycle callback
  • DDC-2562 -#730 To avoid "SpacingAfterParams" error with PHPCS Symfony2 coding standard
  • DDC-2566 -#732 Update working-with-associations.rst
  • DDC-2568 -#733 Update Parser.php
  • DDC-2572 -ResolveTargetEntityListener does not work as documented.
  • DDC-2573 -#735 Fix proxy performance test
  • DDC-2575 -Hydration bug
  • DDC-2580 -#739 Fix DDC-2579
  • DDC-2581 -#740 Synchronized support of FilterCollection with ODM by adding missing method
  • DDC-2584 -#743 Added coverage to DDC-2524. Updated DDC-1719 to fix related DBAL bug.
  • DDC-2588 -#745 Update basic-mapping.rst
  • DDC-2591 -#747 fix some file mode 755->644
  • DDC-2592 -#748 Add hour to DATE_ADD and DATE_SUB
  • DDC-2603 -#751 Added coverage for querying support during postLoad.
  • DDC-2604 -#752 ORM side fixes.
  • DDC-2616 -#759 Fixed out of sync code examples in getting-started.rst
  • DDC-2624 -ManyToManyPersister fails to handle cloned PeristentCollections
  • DDC-2652 -#777 Fixed typo in mapping documentation
  • DDC-2653 -#778 Fixed typo in property mapping
  • DDC-2654 -#779 Fixed grammar in custom data types
  • DDC-2656 -#780 DDC-2655 Don't let getOneOrNullResult throw NoResultException
  • DDC-2668 -DQL TRIM function is not converted into TRIM SQL correctly
  • DDC-2673 -#785 Update dql-custom-walkers.rst
  • DDC-2676 -#786 Minor updates while reading the basic-mapping page
  • DDC-2678 -#787 Update DDC719Test.php to be compatible with MsSQL
  • DDC-2681 -#790 HHVM compatibility: func_get_args
  • DDC-2682 -#791 Implemented "contains" operator for Criteria expressions
  • DDC-2683 -#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 -#795 Update query-builder.rst
  • DDC-2699 -#797 CS fixes
  • DDC-2700 -#798 Identifier can be empty for MappedSuperclasses
  • DDC-2702 -#799 remove unused test case
  • DDC-2704 -When using Discriminator EntityManager#merge fails
  • DDC-2706 -#801 Update SqlWalker.php fixed wrong GROUP BY clause on SQL Server platform
  • DDC-2707 -#802 Respect unsigned fields when tables get converted to entities.
  • DDC-2711 -#803 Appended newline to (newly) generated files for PSR2 compatibility
  • DDC-2716 -#808 Second level cache
  • DDC-2718 -#809 Fix DDC-1514 test
  • DDC-2720 -#811 Update SingleScalarHydrator error message
  • DDC-2722 -#812 [Doc] add direct links to dbal and dql documentation
  • DDC-2728 -#815 Remove unused use statement
  • DDC-2732 -#816 Options not respected for ID Fields in XML Mapping Driver
  • DDC-2737 -#817 Removed "minimum-stability" : "dev" from composer.json
  • DDC-2738 -#818 Clarified tutorial context in section introducing orm:scehma-tool:* commnads
  • DDC-2740 -#819 Fixes a Fatal Error when using a subexpression in parenthesis
  • DDC-2741 -#820 Added support for field options to FieldBuilder
  • DDC-2750 -#822 DDC-2748 DQL expression "in" not working with Collection
  • DDC-2753 -#824 s/PostgreSQLPlatform/PostgreSqlPlatform/
  • DDC-2757 -Manual transcation handling not possible when transaction fails, documentation gives wrong example
  • DDC-2759 -ArrayHydration: Only first entity in OneToMany association is hydrated
  • DDC-2760 -#827 Added a failing test case for DDC-2759.
  • DDC-2764 -An orderBy on Criteria leads to DQL semantical error
  • DDC-2765 -#830 DDC-2764 Prefix criteria orderBy with rootAlias
  • DDC-2769 -#832 Added "readOnly: true" to YAML reference
  • DDC-2771 -#834 Add example use of repositoryClass in YAML
  • DDC-2774 -#836 Update annotations-reference.rst
  • DDC-2775 -Bug with cascade remove
  • DDC-2782 -#842 Added EntityManager query creation tests
  • DDC-2790 -#845 Don't compute changeset for entities that are going to be deleted
  • DDC-2792 -#846 joinColumn is not required in manyToMany
  • DDC-2798 -#849 Error with Same Field, Multiple Values, Criteria and QueryBuilder
  • DDC-2799 -#850 Event listener to programmatically attach entity listeners.
  • DDC-2811 -#854 fix relative path to doctrine/common
  • DDC-2812 -#856 Fix dependency for tests/Doctrine/Tests/ORM/Functional/ReferenceProxyTest.php
  • DDC-2827 -#864 Updated parser to support aggegrate functions in null comparisons
  • DDC-2831 -#866 Mentioning the 'refresh' cascading property in the documentation list
  • DDC-2843 -SchemaTool update SQL always contains queries to set default value on columns, even if they haven't changed.
  • DDC-2847 -#871 XCache cannot be flushed on the CLI -> for pretty much the same reason as APC
  • DDC-2853 -#873 Try running unit tests on HHVM
  • DDC-2855 -#875 Adding tests that confirm that DDC-2845 is fixed
  • DDC-2856 -#876 Fixing wrong key for allowing HHVM failures
  • DDC-2862 -When update cached entitiy, entity lost OneToOne relationship
  • DDC-2866 -#883 DDC-2862 Fix non initialized association proxy
  • DDC-2867 -#884 [SLC] Fix cache misses using one-to-one inverse side
  • DDC-2869 -#886 DDC-1256 Fix applying ON/WITH conditions to first join in Class Table Inheritance
  • DDC-2875 -#890 [DBAL-563] Add general IDENTITY generator type support for sequence emulating platforms
  • DDC-2876 -#891 Allow to not generate extra use
  • DDC-2878 -#893 autoGenerate arg from bool to int
  • DDC-2880 -#894 Fix typos -QueryBuilder
  • DDC-2884 -#896 Ensure elements preceed
  • DDC-2885 -#897 Respected 'inheritanceType' at Entity level
  • DDC-2889 -#900 Fix connection mock fetchColumn signature
  • DDC-2890 -Paginator generates invalid sql for some dql with setUseOutputWalkers(false) and \$fetchJoinCollection = true
  • DDC-2903 -#906 removed erroneous tip
  • DDC-2907 -#907 DDC-1632 OneToMany Fetch eager
  • DDC-2908 -#908 DDC-2862 Fix lazy association load
  • DDC-2913 -#909 Fix DatabaseDriverTest on SQL Server
  • DDC-2914 -#910 DDC-2310 Fix SQL generation on table lock hint capable platforms
  • DDC-2916 -#911 fix foreach coding style
  • DDC-2919 -LockMode::NONE evaluation inconsistencies in ORM
  • DDC-2921 -#912 Avoid PersistentCollection::isEmpty() to fully load the collection.
  • DDC-2931 -OneToOne self-referencing fails when loading referenced objects
  • DDC-2933 -#917 DDC-2931
  • DDC-2934 -#918 Fix use of function in OrderBy
  • DDC-2935 -#919 tests for DDC-2890
  • DDC-2937 -#920 SingleScalarHydrator reports ambiguous error.
  • DDC-2943 -Paginator not work with second level cache in Doctrine 2.5
  • DDC-2946 -#926 Feature/console em helper interface
  • DDC-2947 -#927 s/EntityManager/EntityManagerInterface/ in a few places
  • DDC-2948 -#928 Support PHPUnit 3.8+ Compatibility
  • DDC-2952 -#932 DDC-2919 Make lock mode usage consistent
  • DDC-2956 -#934 faild test with multiple HINT_CUSTOM_TREE_WALKERS
  • DDC-2957 -#935 Remove incorrect (outdated) validation for public fields in SchemaValidator
  • DDC-2958 -#936 Making testing dependencies explicit
  • DDC-2961 -#938 Missing join-tables added in example
  • DDC-2967 -#943 Validate embeddables do not contain other embeddables.
  • DDC-2968 -#944 Fixed InputOption modes
  • DDC-2969 -#945 Fix CS
  • DDC-2971 -#947 Cleaned up further unused imports.
  • DDC-2974 -#950 Can cache empty collections
  • DDC-2975 -#951 More informational entity not found exception
  • DDC-2976 -#952 Add DB-level onDelete CASCADE example
  • DDC-2989 -ORM should allow custom index names for foreign associations.
  • DDC-2996 -UnitOfWork::recomputeSingleEntityChangeSet() will not add a new change set
  • DDC-2997 -#960 allow passing EntityManagerInterface when creating a HelperSet
  • DDC-2998 -#961 DDC-2984 Provide TestCase to reproduce bug
  • DDC-3002 -#964 DDC-2943 [SLC] Disable slc for pagination queries
  • DDC-3003 -#965 [SLC] Add support for criteria
  • DDC-3008 -#967 [SLC] Add query builder options
  • DDC-3009 -#968 Test: Add failing test
  • DDC-3010 -#969 [Doc] added note about Criteria limits on PersistentCollection
  • DDC-3012 -#971 [SLC] Fix query association proxy
  • DDC-3013 -#972 Capitalize @GeneratedValue (annotations-reference.rst)
  • DDC-3015 -#974 [SLC] Resolve association cache entry
  • DDC-3018 -DQL “NEW” Operator and Literal type "String"
  • DDC-3021 -#976 Add cache invalidation strategy to AbstractQuery
  • DDC-3023 -#977 Fix wrong annotation
  • DDC-3028 -#978 DDC-2987 Enable empty prefixes for inlined embeddable
  • DDC-3033 -Regression in computeChangeSets (ManyToMany relation)
  • DDC-3038 -#982 Failing Test (since commit 53a5a48aed7d87aa1533c0bcbd72e41b686527d8)
  • DDC-3041 -#984 Use boolean values for 'unique' attribute
  • DDC-3042 -select issue field names with numbers
  • DDC-3045 -SQL Injection in Persister API
  • DDC-3047 -XML Exporter driver does not export association fetch-mode
  • DDC-3049 -#988 Exporter support for association fetch modes
  • DDC-3054 -#991 Ability to define custom functions with callback instead of class name
  • DDC-3058 -#993 Update JoinColumn.php
  • DDC-3060 -#995 Allow cascaded clearing of associated Entities
  • DDC-3061 -#996 DDC-3027 Embedded in MappedSuperclass
  • DDC-3065 -Generated 'IN' clause doesn't handle 'null' values (needs to add 'IS NULL' check)
  • DDC-3067 -#999 DDC-3065 null value in in criteria support
  • DDC-3069 -#1000 DDC-3068 EntityManager::find accept array of object as id
  • DDC-3071 -#1002 Fixed wrongly initialized property.
  • DDC-3074 -#1004 Removed all useless occurrence of require_once TestInit.php
  • DDC-3075 -#1005 Added support of the subselect expressions into NEW expressions
  • DDC-3078 -Doctrine::__construct is in an interface
  • DDC-3080 -#1008 DDC-3078 SLC Cache interface ctor removal
  • DDC-3081 -#1009 HHVM compatibility
  • DDC-3082 -#1010 Fixed validation message
  • DDC-3085 -NULL comparison are not supported for result variables in the HAVING clause
  • DDC-3092 -#1012 Ddc 3078 slc cache interface ctor removal
  • DDC-3093 -#1013 Remove SimpleXmlElement hack
  • DDC-3095 -#1014 Update second level cache doc
  • DDC-3100 -#1018 DBAL-878 Wrong mapping type
  • DDC-3103 -Is embedded class information in ClassMetadata is not stored when serializing.
  • DDC-3106 -#1023 DDC-3027 Avoid duplicated mapping using Embedded in MappedSuperclass
  • DDC-3107 -#1024 [Persister] Remove the insertSql cache
  • DDC-3108 -Criteria cannot reference a joined tables' fields when used with an ORM QueryBuilder
  • DDC-3118 -#1028 Add method getAssociationsByType to ClassMetadata
  • DDC-3120 -Warning: Erroneous data format for unserializing PHP5.6+
  • DDC-3123 -Extra updates are not cleaned after execution
  • DDC-3124 -#1030 DDC-3123 extra updates cleanup
  • DDC-3129 -#1032 Add support for optimized contains
  • DDC-3143 -#1041 Allow all EntityManagerInterface implementations
  • DDC-3151 -#1048 Fix typo in exception message
  • DDC-3152 -Generating methods does not check for existing methods with different case
  • DDC-3160 -Regression in reComputeSingleEntityChangeset
  • DDC-3177 -#1063 singularize variable name on add/remove methods for EntityGenerator
  • DDC-3190 -#1071 Setup::createConfiguration breaks Cache interface contract
  • DDC-3191 -#1072 Fix attempt of traversing bool in FileLockRegion
  • DDC-3192 -Custom types do not get converted to PHP Value when result is gotten from custom query
  • DDC-3198 -#1075 Fixed query cache id generation: added platform to hash
  • DDC-3199 -#1076 Fix switch non-uniform syntax
  • DDC-3210 -#1080 possible fix for DDC-2021
  • DDC-3214 -#1082 added more informative error messages when invalid parameter count
  • DDC-3223 -Failing test (get id return string type)
  • DDC-3225 -#1087 Remove the error control operator
  • DDC-3227 -#1088 Fix the composer autoload paths for the doctrine CLT
  • DDC-3233 -#1092 Arbitrary Join count walkers solution
  • DDC-3237 -#1096 Changes for grammar and clarity
  • DDC-3239 -#1097 expandParameters/getType in BasicEntityPersister seems to really cover just few cases
  • DDC-3240 -#1098 #DDC-1590: Fix Inheritance in Code-Generation
  • DDC-3254 -#1111 Fix inheritance hierarchy wrong exception message
  • DDC-3269 -#1120 DDC-3205 Metadata info
  • DDC-3272 -EntityGenerator writes 'MappedSuperClass' instead of 'MappedSuperclass'
  • DDC-3278 -#1123 Fixed the structure of the reverse-engineered mapping
  • DDC-3283 -#1125 Update improving-performance.rst
  • DDC-3288 -#1126 Fixed new line in docblock
  • DDC-3293 -XML Mappings disallow disabling column prefix for embeddables
  • DDC-3302 -#1132 DDC-3272 entity generator mapped superclass casing
  • DDC-3310 -#1138 Join column index names
  • DDC-3318 -#1143 Fixed a bug so that a versioned entity with a oneToOne id can be created
  • DDC-3322 -#1146 Allow orderBy to reference associations
  • DDC-3336 -Undefined property: Doctrine::\$field
  • DDC-3341 -SessionValidator gives an error message on orderBy association, but it is no error.
  • DDC-3343 -PersistentCollection::removeElement schedules an entity for deletion when relationship is EXTRA_LAZY, with orphanRemoval false.
  • DDC-3346 -findOneBy returns an object with partial collection for the properties with mapping oneToMany/Fetch Eager
  • DDC-3350 -#1160 #1159 -multiple entity managers per repository factory should be supported
  • DDC-3355 -#1164 [QueryBuilder] Remove unused method parameters to run on HHVM/PHP7
  • DDC-3358 -#1166 Fixing HHVM+XSD validation tests as of documented HHVM inconsistencies
  • DDC-3368 -#1172 Don't initialize detached proxies when merging them.
  • DDC-3370 -#1173 Fix merging of entities with associations to identical entities.
  • DDC-3378 -#1176 Support merging entities with composite identities defined through to-one associations
  • DDC-3379 -#1177 Ensure metadata cache is not ArrayCache in production
  • DDC-3380 -#1178 Fixing associations using UUIDs
  • DDC-3387 -#1182 #1086 identifier type in proxies
  • DDC-3394 -UOW CreateEntity failure with zerofill columns
  • DDC-3404 -#1188 Fixed counting exception
  • DDC-3419 -#1196 Inherit indexes from mapped superclass
  • DDC-3425 -#1202 Checks key exists rather than isset
  • DDC-3427 -Doctrineexplicitly accepts EntityManager
  • DDC-3428 -#1204 Fix sequence-generator in MetaData exporter for XML Driver.
  • DDC-3429 -#1205 Hotfix -#1200 symfony 2.7 deprecation fixes
  • DDC-3430 -#1206 matching should not change critera
  • DDC-3431 -#1207 Embedded classes reflection new instance creation with internal PHP classes
  • DDC-3432 -#1208 DDC-3427
    • class metadata factory should accept EntityManagerInterface instances
  • DDC-3433 -#1210 DDC-3336
    • undefined property with paginator walker and scalar expression in ORDER BY clause
  • DDC-3434 -LimitSubqueryOutputWalker does not retain correct ORDER BY expression fields when dealing with HIDDEN sort fields
  • DDC-3435 -#1211 DDC-3434
    • paginator ignores HIDDEN fields in ORDER BY query
  • DDC-3436 -#1212 DDC-3108 Fix regression where join aliases were no longer accessible in Criteria expressions
  • DDC-3437 -#1213 fix instantiation of embedded object in ReflectionEmbeddedProperty
  • DDC-3439 -#1216 test XML export driver, the field options, for #1214
  • DDC-3452 -#1222 Embeddables in metadata builder
  • DDC-3454 -#1224 Updated setParameters function for not replace all parameters
  • DDC-3466 -#1233 [Minor] Refactoring to avoid duplicate code
  • DDC-3470 -#1235 Consistent return type confirming with interface
  • DDC-3478 -#1239 Fix index duplication for unique association join columns
  • DDC-3482 -#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 -#1250 Test case for "class" keyword
  • DDC-3502 -#1256 DDC-3493
    • fixed EntityGenerator parsing for php 5.5 "::class" syntax
  • DDC-3506 -#1259 Hotfix: Cache region should not mutate injected cache instance settings
  • DDC-3513 -#1262 Fixes the broken DQL command
  • DDC-3517 -#1265 Fix error undefined index "targetEntity" in persister
  • DDC-3524 -#1272 DDC-2704 -merge inherited transient properties - merge properties into uninitialized proxies
  • DDC-3534 -#1280 DDC-3346 #1277 find one with eager loads is failing
  • DDC-3536 -#1281 Hotfix/#1169 extra lazy one to many should not delete referenced entities
  • DDC-3538 -#1283 #1267 -order by broken in pagination logic (reverts #1220)
  • DDC-3544 -#1288 Hotfix -#1169 - extra lazy one to many must be no-op when not doing orphan removal
  • DDC-3551 -#1294 Avoid Connection error when calling ClassMetadataFactor::getAllMetadata()
  • DDC-3554 -#1295 Fix join when recreation of query from parts.
  • DDC-3564 -#1301 Add failing test with ToOne SL2 association
  • DDC-3566 -#1302 Store column values of not cache-able associations
  • DDC-3585 -#1311 DDC-3582 Wrong class is instantiated when using nested embeddables
  • DDC-3586 -#1312 Add proper pluralization into UpdateCommand
  • DDC-3587 -#1313 Added programmatical support to define indexBy on root aliases.
  • DDC-3597 -#1321 embeddedClasses support in mapped superclasses
  • DDC-3606 -#1325 fixed PostgreSQL and Oracle pagination issues
  • DDC-3608 -#1327 Properly generate default value from yml & xml mapping
  • DDC-3616 -#1333 Allow DateTimeImmutable as parameter value
  • DDC-3619 -spl_object_hash collision
  • DDC-3622 -#1336 Fix UoW warning with custom id object types
  • DDC-3623 -#1337 Paginator OrderBy fix take 2
  • DDC-3624 -#1338 DDC-3619 Update identityMap when entity gets managed again
  • DDC-3625 -#1339 DDC-2224 Honor convertToDatabaseValueSQL() in DQL query parameters
  • DDC-3629 -#1342 Paginator functional tests
  • DDC-3631 -#1344 Fix tests for SLC console commands failing due to console output decoration
  • DDC-3632 -#1345 Fix crashes in ConvertMappingCommand and GenerateEntitiesCommand...
  • DDC-3634 -#1346 Fix: generated IDs are converted to integer
  • DDC-3641 -#1350 Assigned default value to array
  • DDC-3643 -#1352 fix EntityGenerator RegenerateEntityIfExists
  • DDC-3645 -#1353 Paginator fixes take3
  • DDC-3650 -#1357 Drop useless execution bit

Documentation

Please report any issues you may have with the update on the mailing list or on JIRA.