|
1 |
| -Build 5.3.2 |
| 1 | +Build 5.3.3 |
| 2 | +============================= |
| 3 | + |
| 4 | +Release notes - NHibernate - Version 5.3.3 |
| 5 | + |
| 6 | +16 issues were resolved in this release. |
| 7 | + |
| 8 | +** Bug |
| 9 | + |
| 10 | + * #2519 Fix parameter caching for Linq provider |
| 11 | + * #2515 InvalidCastException for Linq query with subquery |
| 12 | + * #2514 Entity with field interceptor are not correctly passed as Linq parameters |
| 13 | + * #2512 Linq queries with a condition after a projection on a collection fail |
| 14 | + * #2511 Linq Fetch over component after fetching a many-to-one throws exception |
| 15 | + * #2508 OnPreUpdateCollection - Passed entity instance X is not of expected type Y |
| 16 | + * #2499 Cast operation fails when an enum is mapped as an AnsiString |
| 17 | + * #2490 Unnecessary cast in sql with Linq are causing performance issues |
| 18 | + * #2488 Fix parameter detection for Equals and CompareTo methods for Linq provider |
| 19 | + * #2485 Throw entity not mapped exception for entity join in hql if possible |
| 20 | + * #2484 Entity Joins are not polymorphic in hql |
| 21 | + * #2476 Hashset add returns true instead of false |
| 22 | + * #2474 Fetch all lazy properties when entity is already loaded fails |
| 23 | + * #2471 AsQueryable() on collection throws if applied after Where statement |
| 24 | + |
| 25 | +** Task |
| 26 | + |
| 27 | + * #2482 Add missing possible breaking changes for #2010 |
| 28 | + * #2527 Release 5.3.3 |
| 29 | + |
| 30 | +As part of releasing 5.3.3, two missing 5.3.0 possible breaking changes have been added, about |
| 31 | +uninitialized extra lazy collections and SQLite schema validation. See 5.3.0 possible breaking changes. |
| 32 | + |
| 33 | +Build 5.3.2 |
2 | 34 | =============================
|
3 | 35 |
|
4 | 36 | Release notes - NHibernate - Version 5.3.2
|
@@ -69,12 +101,40 @@ Release notes - NHibernate - Version 5.3.0
|
69 | 101 | stored as `REAL` instead of `NUMERIC`. Both are binary floating point types, excepted that `NUMERIC`
|
70 | 102 | stores integral values as `INTEGER`. This change may cause big integral decimal values to lose more
|
71 | 103 | precision in SQLite.
|
| 104 | + * SQLite: non supported SQL type names previously used by NHibernate, resulting in unexpected actual typing, |
| 105 | + have been fixed. This causes databases generated by a previous NHibernate version to fail schema validation |
| 106 | + by 5.3 or higher versions. See #2507 for more information. |
72 | 107 | * Custom dialects used for databases that do not support cross join will have to override
|
73 | 108 | `SupportsCrossJoin` property and set it to `false`.
|
74 | 109 | * `VisitorParameters.ConstantToParameterMap` may contain the same parameter for multiple constant
|
75 | 110 | expressions.
|
76 | 111 | * `ICache` caches yielded by the session factory will be `CacheBase` wrappers around the cache actually
|
77 | 112 | provided by the cache provider, if it was not deriving from `CacheBase`.
|
| 113 | + * Calling `IList.RemoveAt` or `IList<>.RemoveAt` on an uninitialized list with a negative number |
| 114 | + will now throw an `ArgumentOutOfRangeException`. |
| 115 | + * Calling `IList.RemoveAt` or `IList<>.RemoveAt` on an uninitialized list mapped as `lazy="extra"` |
| 116 | + with a number that is equal or higher that the current collection size will now throw an |
| 117 | + `ArgumentOutOfRangeException`. |
| 118 | + * Calling `IList.Insert` or `IList<>.Insert` on an uninitialized list with a negative number will |
| 119 | + now throw an `ArgumentOutOfRangeException`. |
| 120 | + * Calling `IList.Insert` or `IList<>.Insert` on an uninitialized list mapped as `lazy="extra"` |
| 121 | + with a number that is higher that the current collection size will now throw an |
| 122 | + `ArgumentOutOfRangeException`. |
| 123 | + * Getting or setting a value with `IList.this[int index]` or `IList<>.this[int index]` on an uninitialized |
| 124 | + list with a negative number will now throw an `ArgumentOutOfRangeException`. |
| 125 | + * Setting a value with `IList.this[int index]` or `IList<>.this[int index]` on an uninitialized list |
| 126 | + mapped as `lazy="extra"` with a number that is equal or higher that the current collection size will now |
| 127 | + throw an `ArgumentOutOfRangeException`. |
| 128 | + * Calling `IDictionary<,>.Add` or `ICollection<>.Add` on an uninitialized map mapped as `lazy="extra"` with |
| 129 | + a key that already exists will now throw an `ArgumentException`. |
| 130 | + * Calling `IDictionary<,>.Remove` or `ICollection<>.Remove` on an uninitialized map mapped as `lazy="extra"` |
| 131 | + with a key that does not exist will now return false. |
| 132 | + * Map dirtiness is now evaluated by `EqualityComparer<TValue>.Default` when setting an existing key value |
| 133 | + with `IDictionary<,>.this[]` on an initialized map. |
| 134 | + * Calling `ISet<>.Add` on an uninitialized set mapped as `lazy="extra"` with a transient element that |
| 135 | + already exists in the set will now return false. |
| 136 | + * Calling `ISet<>.Add` or `ICollection<>.Add` on an uninitialized set mapped as `lazy="true"` with a |
| 137 | + transient element that does not override `Equals` method will not initialize the collection. |
78 | 138 |
|
79 | 139 | ** Bug
|
80 | 140 |
|
|
0 commit comments