Logo

NHibernate

The object-relational mapper for .NET

NHibernate 5.1 Released

NHibernate 5.1.0 is now released.

For a list of resolved issues & pull requests, see the milestone or the release notes.

Binaries are available on NuGet and SourceForge:

  • https://sourceforge.net/projects/nhibernate/files/NHibernate/5.1.0/
  • https://www.nuget.org/packages/NHibernate/5.1.0
Highlights
  • NHibernate has gained two new target frameworks: .Net Core 2.0 and .Net Standard 2.0. NHibernate NuGet package provides them, along with the .Net framework 4.6.1 build. For these new frameworks, some additional specificities or limitations apply:
    • Binary serialization is not supported - the user shall implement serialization surrogates for System.Type, FieldInfo, PropertyInfo, MethodInfo, ConstructorInfo, Delegate, etc.
    • SqlClient, Odbc, Oledb drivers are converted to ReflectionBasedDriver to avoid the extra dependencies.
    • CallSessionContext uses a static AsyncLocal field to mimic the CallContext behavior.
    • System transactions (transaction scopes) are untested, due to the lack of data providers supporting them.
  • 114 issues were resolved in this release.
Possible Breaking Changes
  • Since Ingres9Dialect is now supporting sequences, the enhanced-sequence identifier generator will default to using a sequence instead of a table. Revert to previous behavior by using its force_table_use parameter.
  • Some overridable methods of the Dialect base class and of MsSql2000Dialect have been obsoleted in favor of new methods. Dialects implementors need to override the replacing methods if they were overriding the obsolete ones, which are:
    • Dialect.GetIfNotExistsCreateConstraint(Table table, string name), replaced by GetIfNotExistsCreateConstraint(string catalog, string schema, string table, string name).
    • Dialect.GetIfNotExistsCreateConstraintEnd(Table table, string name), replaced by GetIfNotExistsCreateConstraintEnd(string catalog, string schema, string table, string name).
    • Dialect.GetIfExistsDropConstraint(Table table, string name), replaced by GetIfExistsDropConstraint(string catalog, string schema, string table, string name).
    • Dialect.GetIfExistsDropConstraintEnd(Table table, string name), replaced by GetIfExistsDropConstraintEnd(string catalog, string schema, string table, string name).
    • MsSql2000Dialect.GetSelectExistingObject(string name, Table table), replaced by GetSelectExistingObject(string catalog, string schema, string table, string name).

Huge thanks to everyone involved in this release.


Posted Sat, 17 March 2018 12:07:09 PM by hazzik
Filed under: Release Notes

comments powered by Disqus
© NHibernate Community 2018