Releases: doctrine/orm
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
v2.4.6
v2.4.5
v2.4.4
v2.4.0
[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-1995] - "Query Exception: Invalid parameter number: number of bound variables does not match number of tokens" when using an "Instance Of" expression
[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-2019] - addOrderBy function incomplete
[DDC-2020] - [GH-440] The schema tool now doesn't add a foreign constraint when subclassess of...
[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-2062] - [GH-466] Use protected
so EntityGenerator can be extended
[DDC-2083] - [GH-482] user can set its own commands in the cli-config.php file
[DDC-2090] - MultiTableUpdateExecutor works incorrect with query cache enabled
[DDC-2091] - [GH-486] Fix DDC-2084
[DDC-2106] - Notice trying to match a Criteria referencing a managed entity not yet persisted
[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-2181] - [GH-528] Documentation fixes
[DDC-2188] - DQL arithmetic priority is not considered in expression 'a/(b*c)'
[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-2214] - extra single quotation in sql when using EntityRepository::findBy
[DDC-2234] - WHERE <> IS NULL ... doesn't work
[DDC-2235] - Single table inheritance discriminator in WHERE when using arbitrary join syntax
[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-2268] - Lexer error using string functions inside CASE WHEN
[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-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-2326] - [GH-595] Fixed broken code block in documentation
[DDC-2327] - [GH-596] Missing link to a cookbook in the docs
[DDC-2330] - [GH-599] Removed unnecessary "<?php" from the docs
[DDC-2334] - [GH-602] Added $isIdentifierColumn documentation
[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-2385] - [GH-640] [Paginator]Add hidden field ordering for postgresql
[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-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-2470] - Sql Server error in createQuery using ORDER BY and setMaxResults
[DDC-2475] - ORDER BY on existing column is added, not replaced
[DDC-2478] - PersisterException when matching Criteria expression isNull to ArrayCollection
[DDC-2488] - [GH-686] [DDC-2475] Replace OrderBy mapping when OrderByClause is given
[DDC-2493] - [GH-689] [WIP][DDC-1995 ] Support metadata class as parameter for instance of expression
[DDC-2505] - [GH-697] Fix phpDoc syntax in ClassMetadataInfo.php
[DDC-2506] - WITH Conditionals on Class Table Inheritance LEFT JOINs are inserted incorrectly
[DDC-2517] - [GH-703] Clear visitedCollections
[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-2623] - [GH-763] Entity generator - trait in parent class
[DDC-2638] - [GH-770] Fix for entity generator discriminator column
[DDC-2640] - [GH-772] DO NOT OVERRIDE CUSTOM TREE WALKERS IN getIterator()
[DDC-1872] - Evaluate @AssocationOverride/@AttributeOverride in context of Traits
[DDC-2265] - [GH-561] fix typo in the documentation
[DDC-2266] - [GH-562] Fix error in QueryBuilder example
[DDC-2358] - [GH-621] [doc] adding some more doc and examples for lifecycle event listeners and subscribers
[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
[DDC-717] - Do not use files when using proxy autogeneration
[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-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-2313] - Deep clone for DBAL QueryBuilder
[DDC-2320] - [GH-591] Remove dead code
[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-1574] - Support operator 'new' in DQL
[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