Skip to content

Commit ba52c3f

Browse files
fixup! NH-4000 - Release notes.
1 parent f72df96 commit ba52c3f

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

releasenotes.txt

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@
2424
types. (IDbCommand => DbCommand, ...)
2525
* The Date NHibernate type will no more replace by null values below its base value (which was year 1753).
2626
Its base value is now DateTime.MinValue. Its configuration parameter is obsolete.
27+
* NHibernate type DateTimeType, which is the default for a .Net DateTime, does no more cut milliseconds.
28+
Use DateTimeNoMsType if you wish to have milliseconds cut. It applies to its Local/Utc counterparts too.
29+
* LocalDateTimeType and UtcDateTimeType do no more accept being set with value having a non-matching kind,
30+
they throw instead.
31+
* DbTimestamp will now round the retrieved value according to Dialect.TimestampResolutionInTicks.
32+
* When an object typed property is mapped to a NHibernate timestamp, setting an invalid object in the
33+
property will now throw at flush instead of replacing it with DateTime.Now.
2734
* Transaction scopes handling has undergone a major rework. See NH-4011 for full details.
2835
** More transaction promotion to distributed may occur if you use the "flush on commit" feature with
2936
transaction scopes. Explicitly flush your session instead. Ensure it does not occur by disabling
@@ -47,6 +54,9 @@
4754
changes. See https://github.com/nhibernate/nhibernate-core/pull/568 changes to test files for examples.
4855
* NHibernate Linq internals have undergone some minor changes which may breaks custom Linq providers due
4956
to method signature changes and additional methods to implement.
57+
* IMapping interface has an additional Dialect member. ISessionFactoryImplementor has lost it, since it
58+
gains it back through IMapping.
59+
* IDriver.ExpandQueryParameters and DriverBase.CloneParameter take an additional argument.
5060
* NullableType, its descendent (notably all PrimitiveType) and IUserType value getters and setters now
5161
take the session as an argument. This should mainly impact custom types implementors.
5262
* EmitUtil is now internal and has been cleaned of unused members.
@@ -64,13 +74,21 @@
6474
* Sessions concrete classes constructors have been changed. (It is not expected for them to be used
6575
directly.)
6676
* Obsolete setting interceptors.beforetransactioncompletion_ignore_exceptions is dropped.
77+
* SQL Server 2008+ dialects now use datetime2 instead of datetime for all date time types, including
78+
timestamp. This can be reverted with sql_types.keep_datetime setting.
79+
* SQL Server 2008+ timestamp resolution is now 100ns in accordance with datetime2 capabilities, down from
80+
10ms previously. This can be reverted with sql_types.keep_datetime setting.
81+
* Oracle 9g+ dialects now use timestamp(7) for all date time types, instead of timestamp(4).
82+
* Oracle 9g+ timestamp resolution is now 100ns in accordance with timestamp(7) capabilities, down from
83+
100µs previously.
6784
* Oracle: Hbm2dll will no-more choose N- prefixed types for typing Unicode string columns by default.
6885
This can be changed with oracle.use_n_prefixed_types_for_unicode setting, which will furthermore
6986
control DbCommand parameters typing accordingly. See NH-4062.
7087
* SqlServerCe: the id generator "native" will now resolve as table-hilo instead of identity.
7188
* Firebird: timestamp resolution is now 1ms.
7289
* PostgreSQL: if Npgsql v3 or later is used, time DbParameters will be fetch with TimeSpan instead of
7390
DateTime.
91+
* ODBC: String parameter length will no more be specified by the OdbcDriver.
7492

7593
** Sub-task
7694
* [NH-3956] - Native SQL query plan may get wrong plan
@@ -104,6 +122,7 @@
104122
* [NH-3850] - .Count(), .Any() and other aggregates return only first result on polymorphic queries
105123
* [NH-3885] - ThreadSafeDictionary is not threadsafe
106124
* [NH-3889] - Coalesce on entity in sub-select causes incorrect SQL
125+
* [NH-3895] - Problem with DateTime fractional seconds on ODBC for MS SQL Server
107126
* [NH-3911] - Reflection Optimizer tries to cast values to getter type in setter
108127
* [NH-3913] - Component has bag of child components. Child property mapping ignored
109128
* [NH-3931] - Invalid order of child inserts when using TPH inheritance
@@ -128,6 +147,9 @@
128147
* [NH-4038] - Mapping a TimeSpan in a collection component mapping maps as a BIGINT
129148
* [NH-4046] - Default length too short for variable length types with SAP Anywhere / ASE
130149
* [NH-4077] - Possible race condition in ActionQueue.ExecuteActions
150+
* [NH-4083] - ODBC nvarchar parameter corruption
151+
* [NH-4084] - DbTimestamp cause stale update exception
152+
* [NH-4086] - TimeType may lose fractional seconds
131153

132154
** New Feature
133155
* [NH-1530] - Add support for XmlDocType and XDocType for Oracle
@@ -172,8 +194,8 @@
172194
* [NH-3744] - Fixed spelling of ContraintOrderedTableKeyColumnClosure method
173195
* [NH-3750] - Use NuGet to refer to Remotion.Linq (unmerge ReMotion.Linq)
174196
* [NH-3877] - Target .NET 4.6.1
175-
* [NH-3884] - Default DateTimeType can not be overridden for SQL queries
176197
* [NH-3900] - Upgrade to Nunit 3.x
198+
* [NH-3919] - Clean up and harmonize datetime types with regards to different dialects
177199
* [NH-3927] - Switch to SemVer version scheme
178200
* [NH-3932] - Merge() may fire unnecessary updates if collection and version mapping exists
179201
* [NH-3943] - Use NuGet to reference packages instead of local copies

0 commit comments

Comments
 (0)