@@ -75,6 +75,31 @@ Release notes - NHibernate - Version 5.3.0
7575 expressions.
7676 * `ICache` caches yielded by the session factory will be `CacheBase` wrappers around the cache actually
7777 provided by the cache provider, if it was not deriving from `CacheBase`.
78+ * Calling `IList.RemoveAt` or `IList<>.RemoveAt` on an uninitialized list with a negative number
79+ will now throw an `ArgumentOutOfRangeException`.
80+ * Calling `IList.RemoveAt` or `IList<>.RemoveAt` on an uninitialized list mapped as `lazy="extra"`
81+ with a number that is equal or higher that the current collection size will now throw an
82+ `ArgumentOutOfRangeException`.
83+ * Calling `IList.Insert` or `IList<>.Insert` on an uninitialized list with a negative number will
84+ now throw an `ArgumentOutOfRangeException`.
85+ * Calling `IList.Insert` or `IList<>.Insert` on an uninitialized list mapped as `lazy="extra"`
86+ with a number that is higher that the current collection size will now throw an
87+ `ArgumentOutOfRangeException`.
88+ * Getting or setting a value with `IList.this[int index]` or `IList<>.this[int index]` on an uninitialized
89+ list with a negative number will now throw an `ArgumentOutOfRangeException`.
90+ * Setting a value with `IList.this[int index]` or `IList<>.this[int index]` on an uninitialized list
91+ mapped as `lazy="extra"` with a number that is equal or higher that the current collection size will now
92+ throw an `ArgumentOutOfRangeException`.
93+ * Calling `IDictionary<,>.Add` or `ICollection<>.Add` on an uninitialized map mapped as `lazy="extra"` with
94+ a key that already exists will now throw an `ArgumentException`.
95+ * Calling `IDictionary<,>.Remove` or `ICollection<>.Remove` on an uninitialized map mapped as `lazy="extra"`
96+ with a key that does not exist will now return false.
97+ * Map dirtiness is now evaluated by `EqualityComparer<TValue>.Default` when setting an existing key value
98+ with `IDictionary<,>.this[]` on an initialized map.
99+ * Calling `ISet<>.Add` on an uninitialized set mapped as `lazy="extra"` with a transient element that
100+ already exists in the set will now return false.
101+ * Calling `ISet<>.Add` or `ICollection<>.Add` on an uninitialized set mapped as `lazy="true"` with a
102+ transient element that does not override `Equals` method will not initialize the collection.
78103
79104** Bug
80105
0 commit comments