Release Notes - Doctrine 2 - ORM - Version 2.4 - HTML format

Bug

  • [DDC-1734] - Uninitialized proxies cannot be serialized properly
  • [DDC-1844] - [GH-360] [DDC-1840] Implemented parameters as a collection.
  • [DDC-1884] - leftJoin via composite key part not hydrated if joining table solely consists of identifiers
  • [DDC-1978] - SQLParserUtils array_fill tries to create array with zero elements when empty parameter is bound
  • [DDC-1995] - "Query Exception: Invalid parameter number: number of bound variables does not match number of tokens" when using an "Instance Of" expression
  • [DDC-1996] - [GH-429] Ensure a parameter mapping entry exists for InstanceOf DQL expressions
  • [DDC-1998] - Problem when deleting with EntityManager->remove($entity)
  • [DDC-2000] - [GH-431] [ORM] Fix double semicolon
  • [DDC-2016] - DQL Parser fails in select clause
  • [DDC-2017] - [GH-438] Fixed Parser problem for SELECT (((3))) as ....
  • [DDC-2019] - addOrderBy function incomplete
  • [DDC-2020] - [GH-440] The schema tool now doesn't add a foreign constraint when subclassess of...
  • [DDC-2037] - [GH-450] fix some phpdoc
  • [DDC-2040] - [GH-453] Added missing exit codes in commands
  • [DDC-2044] - [GH-455] Fixed unique-constraint name in XML Exporter
  • [DDC-2047] - [GH-456] Optimize autoload prefix in composer.json
  • [DDC-2049] - [GH-458] Use cascade=all if all cascade options set
  • [DDC-2051] - after filtering an association by using ->matching(Criteria) original association changes
  • [DDC-2054] - [GH-461] [SchemaValidator] Fix typo
  • [DDC-2060] - [GH-465] Fixed a typo in ConcatFunction
  • [DDC-2062] - [GH-466] Use `protected` so EntityGenerator can be extended
  • [DDC-2066] - [GH-472] Fixed empty namespace in generated code when repository class do not have namespace
  • [DDC-2083] - [GH-482] user can set its own commands in the cli-config.php file
  • [DDC-2084] - EM#find() with association as PK
  • [DDC-2090] - MultiTableUpdateExecutor works incorrect with query cache enabled
  • [DDC-2091] - [GH-486] Fix DDC-2084
  • [DDC-2092] - [GH-487] Fix DDC-2069
  • [DDC-2094] - [GH-488] Fix DDC-2079
  • [DDC-2095] - [GH-489] Fixed coding standards in the Tools namespace
  • [DDC-2097] - [GH-490] fix StatementMock bindParam parameters
  • [DDC-2098] - [GH-491] remove unused classes
  • [DDC-2101] - [GH-492] Added NOT LIKE expression
  • [DDC-2106] - Notice trying to match a Criteria referencing a managed entity not yet persisted
  • [DDC-2108] - [GH-493] Do not add trailing whitespace to blank lines
  • [DDC-2117] - [GH-499] Speling: "invidiual" -> "individual"
  • [DDC-2127] - [GH-506] Fix DDC-2121
  • [DDC-2132] - [GH-509] SchemaTool ignoring 'fixed' option
  • [DDC-2136] - convert-mapping can't create YML from Annotation when Id column is a OneToOne relationship
  • [DDC-2137] - [GH-510] CS on QueryBuilder
  • [DDC-2138] - Foreign Keys in STI are wrong when same field is reused in different classes.
  • [DDC-2142] - [GH-513] Enumeration support
  • [DDC-2151] - [GH-515] Fixes sandbox cli: The helper "em" is not defined.
  • [DDC-2153] - [GH-517] Fix for DDC-1765
  • [DDC-2169] - [GH-524] EntityManagerDecorator base class as an extension point for EntityManager
  • [DDC-2172] - GENERATOR_TYPE_UUID missing in EntityGenerator.php
  • [DDC-2173] - [GH-525] Ensure onFlush and postFlush events are always called Edit
  • [DDC-2174] - [GH-526] [DDC-2172] Fix EntityGenerator get literal type
  • [DDC-2180] - [GH-527] Fix documentation for Doctrine\ORM\Query\AST\Node::dispatch()
  • [DDC-2181] - [GH-528] Documentation fixes
  • [DDC-2188] - DQL arithmetic priority is not considered in expression 'a/(b*c)'
  • [DDC-2191] - Bug in QueryBuilder::add() method, param $append has no effect for where/having DQL parts
  • [DDC-2201] - [GH-537] fixed problems with joined inheritance and composite keys
  • [DDC-2205] - Negative Values in Case Then expressions
  • [DDC-2208] - CASE WHEN ... WHEN doesn't work
  • [DDC-2209] - [GH-540] [DDC-2208] Fix DDC-2208
  • [DDC-2212] - [GH-542] [DDC-2205] Fix DDC-2205
  • [DDC-2214] - extra single quotation in sql when using EntityRepository::findBy
  • [DDC-2230] - Changes from DDC-1690 trigger a bug in entity merging
  • [DDC-2234] - WHERE <<custom function>> IS NULL ... doesn't work
  • [DDC-2235] - Single table inheritance discriminator in WHERE when using arbitrary join syntax
  • [DDC-2241] - [GH-549] [DDC-1376] Support for order by association when using findBy
  • [DDC-2247] - [GH-551] [DDC-2234] FUNCTION() IS NULL comparison
  • [DDC-2252] - Trying to delete ManyToMany relatrionship with composite keys.
  • [DDC-2256] - [GH-554] Fixed ObjectHydrator when namespace alias is given.
  • [DDC-2262] - [GH-559] [Paginator] Added support for order by scalar
  • [DDC-2268] - Lexer error using string functions inside CASE WHEN
  • [DDC-2270] - [GH-563] DDC-2268 - Regression test
  • [DDC-2271] - [GH-564] Fix a wrong return type
  • [DDC-2272] - [GH-565] Removed an unused local variable.
  • [DDC-2273] - [GH-566] Added missing return statement to AbstractCommand.
  • [DDC-2274] - [GH-567] Removed outdated methods in DatabasePlatformMock
  • [DDC-2276] - [GH-569] Hotfix/pre flush event args params
  • [DDC-2289] - [GH-575] Added YAML configuration example for "Simple Derived Identity" in Docs
  • [DDC-2291] - [GH-576] Update docs/en/reference/batch-processing.rst
  • [DDC-2294] - [GH-579] Unit tests: cleanup of outdated / unused / commented out code
  • [DDC-2298] - [GH-581] Removing submodules
  • [DDC-2304] - [GH-583] accept more than 2 parameters in CONCAT function
  • [DDC-2306] - Lazy loading associated entity's property causes identity loss when another association is set to fetch="EAGER"
  • [DDC-2311] - ManyToManyPersister fails to delete when entity uses FK ID
  • [DDC-2312] - [GH-586] Fix EntityManager doc
  • [DDC-2315] - [GH-587] Fixed the license and the added version for NewObjectExpression
  • [DDC-2326] - [GH-595] Fixed broken code block in documentation
  • [DDC-2327] - [GH-596] Missing link to a cookbook in the docs
  • [DDC-2328] - [GH-597] use the extended proxy interface in the same namespace
  • [DDC-2330] - [GH-599] Removed unnecessary "<?php" from the docs
  • [DDC-2334] - [GH-602] Added $isIdentifierColumn documentation
  • [DDC-2343] - [GH-608] Fixed typo
  • [DDC-2345] - convertObjectParameterToScalarValue() raises a notice
  • [DDC-2355] - [GH-618] [DDC-2188] Fix arithmetic priority
  • [DDC-2356] - [GH-619] [DDC-2090] Fix MultiTableUpdateExecutor with query cache
  • [DDC-2360] - [GH-622] Import EntityManager from proper namespace
  • [DDC-2366] - [GH-627] update document on Doctrine cache provider
  • [DDC-2369] - [GH-630] Hotfix for DDC-2359
  • [DDC-2377] - [GH-636] Fixed typos in documentation.
  • [DDC-2379] - [GH-637] Update association-mapping.rst
  • [DDC-2385] - [GH-640] [Paginator]Add hidden field ordering for postgresql
  • [DDC-2388] - Zend Optimizer Plus/opcache have overlap in config settings, annotations reader doesn't identify these properly
  • [DDC-2392] - [GH-644] Fixed typos
  • [DDC-2396] - [GH-646] Oracle Pagination bug when ordering is present
  • [DDC-2407] - AbstractExporter _getIdGeneratorTypeString does not know about the UUID generator
  • [DDC-2409] - Merge operation tries to add new detached entities to indentity map and load them as proxies
  • [DDC-2412] - [GH-651] Fixed typo in SQLFilter (use statement ClassMetadata)
  • [DDC-2415] - CustomIdGenerator not inherited from MappedSuperclass
  • [DDC-2417] - [GH-653] [DDC-2415] Fix CustomIdGenerator inheritance
  • [DDC-2419] - [GH-655] [DDC-2409] Fix merge association UnitOfWork::STATE_NEW
  • [DDC-2420] - [GH-656] [DDC-2235] Fix for using a LEFT JOIN onto an entity with single table inheritance
  • [DDC-2429] - Association-Override Problem in XSD Mapping?
  • [DDC-2430] - Incorrect results when using ->matching on PersistentCollection
  • [DDC-2432] - Entity can be initialized even if not found
  • [DDC-2435] - Column name with number and reserved character creates invalid query
  • [DDC-2438] - [GH-661] Update annotations-reference.rst
  • [DDC-2439] - [GH-662] Fixed a code block.
  • [DDC-2441] - Incorrect SQL Query being generated
  • [DDC-2442] - [GH-663] Adding failing test to demonstrate DDC-2432
  • [DDC-2446] - [GH-666] [DDC-2429] Fix xsd definition
  • [DDC-2451] - Entity listeners class don't work when metadatas are stored in cache
  • [DDC-2456] - [GH-669] Fixed generating column names for self referencing entity.
  • [DDC-2457] - [GH-670] [DDC-2451] Fix entity listeners serialization
  • [DDC-2458] - [GH-671] [DDC-2435] Fix column name with numbers and non alphanumeric characters.
  • [DDC-2460] - [GH-672] Simplification example
  • [DDC-2461] - [GH-673] Namespace based command names
  • [DDC-2468] - xml schema incomplete
  • [DDC-2470] - Sql Server error in createQuery using ORDER BY and setMaxResults
  • [DDC-2475] - ORDER BY on existing column is added, not replaced
  • [DDC-2476] - [GH-680] [wip] better reverse engineers the mapping metadata from a database
  • [DDC-2478] - PersisterException when matching Criteria expression isNull to ArrayCollection
  • [DDC-2488] - [GH-686] [DDC-2475] Replace OrderBy mapping when OrderByClause is given
  • [DDC-2489] - Missing semicolon in schema update tool, using dump-sql argument
  • [DDC-2492] - [GH-688] Implement QuoteStrategy on SqlWalker walkRangeVariableDeclaration
  • [DDC-2493] - [GH-689] [WIP][DDC-1995 ] Support metadata class as parameter for instance of expression
  • [DDC-2494] - Proxy getId not invoke convertToPHPValue on custom type
  • [DDC-2498] - [GH-690] [DDC-2494] Apply type conversion to meta columns
  • [DDC-2499] - [GH-691] IDENTITY function fix for Joined Inheritance
  • [DDC-2502] - [GH-694] [DDC-2478] Support null association comparison
  • [DDC-2503] - [GH-695] Implemented support for RepositoryFactory.
  • [DDC-2505] - [GH-697] Fix phpDoc syntax in ClassMetadataInfo.php
  • [DDC-2506] - WITH Conditionals on Class Table Inheritance LEFT JOINs are inserted incorrectly
  • [DDC-2513] - [GH-702] ANSI compliant quote strategy
  • [DDC-2517] - [GH-703] Clear visitedCollections
  • [DDC-2519] - Unable to DQL SELECT PARTIAL entity with association identifier
  • [DDC-2520] - [GH-705] [DDC-2519] Partial association identifier
  • [DDC-2521] - [GH-706] [DDC-1398] Extra-lazy get for indexed associations
  • [DDC-2533] - [GH-710] Fix extra lazy get
  • [DDC-2539] - ResultVariable cannot be used in Like expressions
  • [DDC-2542] - [GH-716] Appending the Paginator tree walker hint
  • [DDC-2548] - [GH-720] Allow to have non-distinct queries
  • [DDC-2564] - PersistentCollection - coll is not initialized for Collection methods
  • [DDC-2577] - [GH-737] Skip not mapped public properties in SchemaValidator
  • [DDC-2578] - [GH-738] Modified Hydrators to be per-query instances instead of a singleton-like approach
  • [DDC-2579] - BasicEntityPersister - delete bug
  • [DDC-2582] - [GH-741] Fixed DDC-1884.
  • [DDC-2587] - [GH-744] Corrected PHP type for "decimal" mapping type
  • [DDC-2607] - [GH-753] JoinedSubclassPersister doesn't properly bind on some versions of php
  • [DDC-2610] - [GH-755] corrected English grammar in docblocks
  • [DDC-2612] - [GH-757] Update resolve-target-entity-listener.rst
  • [DDC-2614] - [GH-758] Fixed DDC-2235.
  • [DDC-2622] - Paginator with ORDER BY not working in MSSQL
  • [DDC-2623] - [GH-763] Entity generator - trait in parent class
  • [DDC-2625] - [GH-764] Add table alias to column names
  • [DDC-2626] - [GH-765] Add table alias to column names for m2m persister (2.4)
  • [DDC-2627] - [GH-766] Add table alias to column names for m2m persister (master)
  • [DDC-2628] - [GH-767] Fixing missing table aliases when using Many2Many persister.
  • [DDC-2638] - [GH-770] Fix for entity generator discriminator column
  • [DDC-2640] - [GH-772] DO NOT OVERRIDE CUSTOM TREE WALKERS IN getIterator()
  • [DDC-2679] - SchemaTool ON DELETE CASCADE does not work with MSSQL
  • [DDC-2687] - Paginator with ORDER BY not working in MSSQL
  • [DDC-3401] - __load should not mark proxied entity as initialized when initialization fails

Documentation

  • [DDC-1010] - Crash when fetching results from qb inside postLoad event
  • [DDC-1106] - Wrong inversedBy in example
  • [DDC-1872] - Evaluate @AssocationOverride/@AttributeOverride in context of Traits
  • [DDC-2198] - [GH-536] add missed branch
  • [DDC-2261] - [GH-558] Added missing mapping types
  • [DDC-2265] - [GH-561] fix typo in the documentation
  • [DDC-2266] - [GH-562] Fix error in QueryBuilder example
  • [DDC-2284] - [GH-573] [Documentation] Noted prePersist event only triggers on first persist
  • [DDC-2342] - [GH-607] Fixed typos
  • [DDC-2344] - [GH-609] Fixed typo.
  • [DDC-2358] - [GH-621] [doc] adding some more doc and examples for lifecycle event listeners and subscribers
  • [DDC-2367] - [GH-628] [Docs] Fix field name in inversedby parameter
  • [DDC-2368] - [GH-629] Fixed typos in Doctrine Mapping Types section.
  • [DDC-2371] - [GH-631] Fix typo in one of the orderBy examples.
  • [DDC-2386] - [GH-641] Added yml example in ordered-associations.rst
  • [DDC-2408] - [GH-649] Update coding standards
  • [DDC-2416] - [GH-652] Fixed entities path
  • [DDC-2473] - [GH-678] Fix an instance of doubled words in the docs
  • [DDC-2474] - [GH-679] Fix getting started doc to work with current version
  • [DDC-2486] - Getting started does not work with current release
  • [DDC-2491] - [GH-687] Fixed rendering
  • [DDC-2518] - [GH-704] added badges stable release and total downloads
  • [DDC-2583] - [GH-742] Cleaned up events.rst
  • [DDC-2609] - [GH-754] Fixed syntax highlighting in working-with-associations.rst
  • [DDC-2650] - [GH-775] Update create bug script

Improvement

  • [DDC-717] - Do not use files when using proxy autogeneration
  • [DDC-1180] - Indexed Associations: foreign key (association) cannot be used as indexBy field
  • [DDC-1245] - Check if Entity implements EventSubscriber to allow access to EM
  • [DDC-1376] - Foreign key not available to order when using findBy()
  • [DDC-1398] - loading one item at a time when indexBy and EXTRA_LAZY fetch mode is used on a collection
  • [DDC-1956] - [GH-413] code refactorings on persister
  • [DDC-1981] - ProxyFactory does not throw exceptions that are verbose enough (hard to debug)
  • [DDC-1992] - [GH-428] Add QueryBuilder::addCriteria() for Criteria - QueryBuilder bridge
  • [DDC-2124] - [GH-503] added unsigned mapping to SchemaTool options
  • [DDC-2125] - [GH-504] Proposed fix for DDC-1241
  • [DDC-2186] - PreFlushEventArgs not passed by ClassMetadataInfo::invokeLifecycleCallbacks()
  • [DDC-2187] - [GH-531] use base events
  • [DDC-2215] - [GH-543] Make doctrine a Light-weight distribution package in Composer
  • [DDC-2233] - [GH-548] Fix for DDC-2203
  • [DDC-2277] - [GH-570] Deprecation of PEAR/GIT/TAR autoloading
  • [DDC-2293] - [GH-578] Fix for wrong return types in documentation.
  • [DDC-2313] - Deep clone for DBAL QueryBuilder
  • [DDC-2320] - [GH-591] Remove dead code
  • [DDC-2325] - [GH-594] Use inflector in EntityGenerator
  • [DDC-2333] - [GH-601] Add 'contains' comparison
  • [DDC-2359] - ClassMetadataFactory::wakeupReflection() is called twice
  • [DDC-2384] - [GH-639] Added abillity to use metacolumn as indexBy
  • [DDC-2459] - ANSI compliant quote strategy.
  • [DDC-2482] - [GH-683] Explicitely state what the problem is
  • [DDC-2534] - [GH-711] Coveralls code coverage
  • [DDC-2807] - Add support for char fields in the ORM layer

New Feature

  • [DDC-1574] - Support operator 'new' in DQL
  • [DDC-1863] - [GH-366] [PoC] Arbitrary join support
  • [DDC-1955] - Support for @EntityListeners
  • [DDC-1979] - [GH-422] DDC-1574 - "new" operator
  • [DDC-1980] - [GH-423] DDC-1955 - @EntityListeners
  • [DDC-2055] - Helper to generate SQL SELECT clause for Native Query
  • [DDC-2056] - [GH-462] [DDC-2055] Generate SELECT clause from ResultSetMappingBuilder
  • [DDC-2202] - [GH-538] IDENTITY() Support composite primary key

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.