Bug
- [DDC-100] - Default values are not escaped
- [DDC-135] - With/on extra join clauses are not yet processed properly by SqlWalker
- [DDC-142] - Join columns can't be quoted
- [DDC-163] - Not unique alias error when using the same manyToMany relation from two entity with different alias
- [DDC-214] - schema-tool --complete-update throw PDOException on DROP INDEX
- [DDC-220] - 'Ambiguous column: 7 ERROR: column reference "created_by_person_id" is ambiguous at character 466' if ManyToMany through a mapping class is used which extends a base class
- [DDC-247] - can't set "nullable" using xml mapping
- [DDC-257] - Typo: @UniqueCosntraint and "yml" instead of XML in docs
- [DDC-258] - DiscriminatorMap Ordering Affects Mapping
- [DDC-261] - Object population from OneToOne association
- [DDC-266] - Example for removing objects by value from a collection is wrong or ambiguous
- [DDC-268] - ClassMetadataInfo called non-existent exception method. Also: DoctrineException removed from ORM\Mapping
- [DDC-279] - Custom repository method find returns a empty associated class
- [DDC-282] - Evaluate use of (bool) in XML-Driver
- [DDC-284] - Function 'in' of class Expr does not work with an array of strings as parameter
- [DDC-289] - Owning Side OneToMany through Join-Table fails with MappingException
- [DDC-290] - OCI8 triggers Warnings on invalid SQL or DB failures (Integrity Constraints)
- [DDC-297] - XCache caching backend doesn't work: XCache doesn't support storing objects (+patch)
- [DDC-299] - Wrong parsing of 'on-delete' and 'on-update' attributes of join columns in xml mapping driver
- [DDC-301] - Column in Table used as PrimaryKey should be set to notnull = true
- [DDC-302] - Fix or Remove AbstractSchemaManager convenience Alter Table Functionality
- [DDC-303] - Wrong SQL generated for Drop Foreign Key on Oracle
- [DDC-304] - Mapping Exporter From Database Driver fails on Oracle
- [DDC-307] - MOD() DQL generates SQL SQRT() function
- [DDC-309] - ReflectionException when using AbstractQuery::iterate()
- [DDC-311] - YAML-Driver does not support hasLifecycleCallbacks
- [DDC-316] - [PATCH] The command line interface does not support limit or offset flags for DQL queries.
- [DDC-317] - Using a function only in hydration returns only one result
- [DDC-318] - AnnotationDriver::getAllClassNames() can incorrectly return empty array
- [DDC-328] - Query and Result Cache have to depend on HydrationMode
- [DDC-329] - Reverse Engineering with Foreign Keys that have more than one column
- [DDC-330] - SIZE(collection) generates wrong SQL with COUNT over several fields
- [DDC-332] - GROUP BY in Inheritance Scenario fails
- [DDC-334] - QueryBuilder throws QueryException when Expr\Comparison with 'LIKE' operator was added in where clause
- [DDC-339] - Parser incorrectly assumes arithmetic expression when finding lower(something)
- [DDC-340] - DQL Keywords as Model Properties
- [DDC-342] - @ManyToMany pointing to a Joined Inheritance Hierachy fails
- [DDC-344] - Table names are not escaped
- [DDC-345] - Lifecycle callbacks break properties on cascade=persist
- [DDC-347] - UnitOfWork should close the EntityManager when an exception occurs during commit().
- [DDC-348] - AbstractFileDriver: _findMappingFile - no Exception thrown if file doesnt exist
- [DDC-351] - JoinedSubclassPersister uses id field name in query 'DELETE FROM...'
- [DDC-352] - JOINED inheritance doesn't remove child object
- [DDC-353] - Doctrine thrown exception, when it is trying to remove not initialized proxy.
- [DDC-359] - Specified, but empty CLI Options --option= causes Notice undefined offset: 0 [Test case for CliController included]
- [DDC-362] - Missing namespace declaration in __call function of EntityRepository.php
- [DDC-363] - "Entity must be managed" exception thrown trying to persist a Proxy entity
- [DDC-367] - PHP Warning: strpos() expects parameter 1 to be string, array given in ORM/Mapping/ClassMetadataInfo.php on line 1466
- [DDC-368] - Bulk-Update on CTI CompanyEmployee raises Note
- [DDC-370] - CTI Retrieval of Scalar fields does not use correct table alias
- [DDC-371] - Some associations not included in a HINT_REFRESH joined query are selected afterwards
- [DDC-373] - Improper use of ternary operator in EntityManager::create()
- [DDC-375] - Subselect in SELECT generate error in SQL
- [DDC-377] - I broke Oracle Test-Suite with Advanced DQL Testsuite
- [DDC-381] - InvalidArgumentException: New entity detected during merge. Persist the new entity before merging.
- [DDC-382] - Doctrine\ORM\Query\Expr->substr does not work
- [DDC-388] - Private properties in @MappedSupperclass don't work
- [DDC-396] - SchemaDiff not working well when using ON UPDATE RESTRICT
- [DDC-399] - Doctrine\DBAL\DBALException: Type XXX already exists.
- [DDC-401] - Documentation for Bootstrapping lists deprecated classes
- [DDC-406] - A detached entity can not be removed, on @OneToOne cascade={"remove"}
- [DDC-409] - Mapping onDelete="CASCADE" and onUpdate="CASCADE" from annotation file to YAML and XML
- [DDC-411] - Bug in PHPDriver and INHERITANCE_TYPE_JOINED
- [DDC-412] - YAML can't handle multiple lifecycle events with one method
- [DDC-416] - [patch] findBy() and @InheritanceType("JOINED")
- [DDC-420] - AnnotationExporter misquotes repositoryClass value
- [DDC-422] - Unable to add entity in @ManyToMany association when owning entity is extended from another entity
- [DDC-425] - E_NOTICE in Doctrine/ORM/UnitOfWork.php when using DateTime w/ DQL
- [DDC-429] - AritmethicPrimary doesn't handle IdentificationVariable as stated in EBNF
- [DDC-433] - @ChangeTrackingPolicy values are not converted to integers
- [DDC-434] - GeneratedValue does not default to 'AUTO'
- [DDC-439] - Error in CLI utility with YAML files
- [DDC-444] - Deferred explicit policy doesn't update data
- [DDC-449] - ClassMetadata Exporter Refactorings broke DatabaseDriverTest
- [DDC-454] - Failure in Schema Diff ForeignKey handling when several tables are added
- [DDC-456] - Wrong implementation of loading metadata from cache
- [DDC-457] - MappingException::classIsNotAValidEntityOrMapperSuperClass does not exist
- [DDC-462] - Missing EntityGenerator namespace use
- [DDC-464] - EntityGenerator generates classes with typo
- [DDC-477] - Schema tool does not support STI - attempts duplicate table creation
- [DDC-478] - $qb->expr()->between("alias.myfield", $minValue, $maxValue) cannot be parsed into valid SQL
- [DDC-479] - MEMBER OF generates wrong SQL
- [DDC-483] - DiscriminatorMap misbehaves when key are Integer
- [DDC-484] - ProxyException.php not using a use case
- [DDC-485] - Doctrine\DBAL\Connection::_bindTypedValues() must implement interface Doctrine\DBAL\Driver\Statement
- [DDC-491] - Quoting Patch completly wrecked OCI8 support
- [DDC-497] - find() and findAll() on Repository do not work when SINGLE_TABLE inheritance is used
- [DDC-498] - orm:schema-tool --update fails (errno: 150 on MySQL 5.1.41) attempting to drop foreign keys when not necessary
- [DDC-500] - Single Table Inheritance Selects
- [DDC-502] - Remove "mapping-path" from cli schema tool commands
- [DDC-506] - Schema tool no longer creates AUTO_INCREMENT primary keys in MySQL
- [DDC-507] - Schema tool --dump-sql (and others) are broken
- [DDC-508] - CLI help arguments are super confusing, vague, and outright wrong
- [DDC-512] - LEFT JOIN of extended null entity cause empty result [testcase included]
- [DDC-526] - Abstract Type needs method "getEmptyValue"
- [DDC-615] - Single table inhertiance not working when base class is/starts-with "Module"
Improvement
- [DDC-79] - Allow constructor arguments in persistable models
- [DDC-125] - Include Query Hints in DQL Query Cache
- [DDC-139] - onUpdate Event arguments
- [DDC-156] - Allow custom platform implementations
- [DDC-160] - Index annotation documentation
- [DDC-177] - Throw exception if ON/WITH join condition override/extension is used on a fetch-join with HYDRATE_OBJECT
- [DDC-193] - Remove ClassMetadataInfo#inverseMappings
- [DDC-195] - Ordering of associations
- [DDC-255] - Add the PHP 5.3 version of the symfony yaml component for better compatibility with the Doctrine autoloader
- [DDC-259] - Generated SQL should end with a ';'
- [DDC-270] - Provide documentation for connection options
- [DDC-271] - Add optional "columnDefinition" to joinColumn definition
- [DDC-277] - Remove support for default values
- [DDC-278] - Add columnDefinition attribute to Schema XML
- [DDC-283] - Evaluate triggering events in Schema-Tool
- [DDC-292] - Couldn't EntityPersister compute many methods only once?
- [DDC-305] - Add AbstractPlatform::getTruncateTableSql() abstraction
- [DDC-312] - Improve View support of Doctrine\DBAL package
- [DDC-313] - Remove all the unnecessary stuff from Schema and Platform, like Triggers
- [DDC-319] - Complete DQL Functions Support
- [DDC-335] - Refactor DQL EBNF to use JOIN FETCH as syntax for fetch joins only
- [DDC-341] - Add Composite Model-Set and Test-Suite
- [DDC-350] - EntityManager::persist behaves undefined if a non-object is passed.
- [DDC-354] - Set parameter on NativeQuery shouldn't quote numbers
- [DDC-355] - [Patch] Throw exception if class in DiscriminatorMap is unknown
- [DDC-356] - [Patch] Driver refactoring, part 1
- [DDC-358] - Improve UnitOfWork Event-Trigger Capabilities
- [DDC-366] - Provide namespace aliasing through the AnnotationReader
- [DDC-376] - XML Mapping Driver 'inheritance-type' attribute requires numerical values not names
- [DDC-384] - Add support for Entity namespacing globally
- [DDC-394] - Enable method chaining on EntityManager::persist
- [DDC-395] - Explicitly mark constructors public
- [DDC-414] - Improve Performance of onUpdate Event Listeners
- [DDC-421] - Add getFieldValue on ClassMetadata class
- [DDC-423] - Update Doctrine\Common\Collection\Collection
- [DDC-442] - Wrong mapping type shown in one of the examples used in the Optimistic Locking documentation for D2
- [DDC-452] - Add section about IdGenerators in Basic Mapping Chapter
- [DDC-469] - Handle adding of tasks better
- [DDC-471] - Poor description of @ChangeTrackingPolicy in Annotations Reference
- [DDC-474] - Confusing examples for @ManyToMany in Annotations Reference
- [DDC-475] - Outdated information on class loading
- [DDC-492] - Doctrine\ORM\Query\TreeWalkerAdapter needs to provide access to private $_query member
- [DDC-510] - Refactor Metadata Configuration
- [DDC-539] - Change 'believe' to 'belief'
New Feature
- [DDC-126] - Design Query and AbstactQuery as Fluent Interface
- [DDC-294] - Implement "postConnect" Event in Doctrine\DBAL\Connection
- [DDC-343] - Make it possible to force reloading of instanciated models
- [DDC-374] - Implement DriverChain Mapping Driver
- [DDC-379] - Implement entity aliases
- [DDC-397] - Implement orm:generate-repositories task
- [DDC-489] - Doctrine 2 Cookbook addition: Integrating with CodeIgniter
Task
- [DDC-10] - Complete association-mapping chapter
- [DDC-12] - Enhance "Working with objects" chapter
- [DDC-37] - Add annotation reference to documentation
- [DDC-92] - Remove DoctrineException and introduce Doctrine\ORM\ORMException and Doctrine\DBAL\DBALException instead
- [DDC-189] - Implement SqlWalker::walkSingleValuedAssociationPathExpression()
- [DDC-288] - Remove deprecated flush modes.
- [DDC-467] - Remove capitalization of first namespace character
- [DDC-468] - Add validation to CLI Tasks
Sub-task
- [DDC-295] - Create Oracle Session Init "postConnect" EventSubscriber
- [DDC-296] - Create Mysql Session Init "postConnect" EventSubscriber
- [DDC-320] - Fix Implementation of SUBSTRING in DQL across platforms
- [DDC-321] - Provide way to hook PHP functions into Sqlite as part of Functions API
- [DDC-322] - Fix Implementation of TRIM in DQL across platforms
- [DDC-323] - Fix implementation of MOD in DQL using SqLite
- [DDC-324] - Fix Implementation of SQRT in DQL using SqLite
- [DDC-325] - Fix Implementation of LOCATE in DQL for all platforms
- [DDC-336] - Add @OrderBy(sql) to Mapping Drivers
- [DDC-337] - Add ORDER BY clause to collection persister SQL generation
- [DDC-338] - Change DQL Parser to comply with ordered collections
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.