Hi

Good work!

Not really a "proposed breaking change" but...

As a project leader for a 3rd party lib of NH Core (=NHibernate Envers), I 
would appreciate if you could put a pre-(pre-pre-?)alpha release of NH Core 4.0 
on nuget as soon as the code base is at least semi stable. There will be quite 
a lot work also in Envers code base to fix and I would prefer keeping NH Core 
source code out of the repo. And, of course, it'll also be good for people 
willing to do early user tests.

Thanks
Roger

PS: About your list of things to remove in NH Core - they all seem reasonable 
to me.


From: [email protected] 
[mailto:[email protected]] On Behalf Of Oskar Berggren
Sent: den 14 november 2012 13:52
To: [email protected]; [email protected]
Subject: [nhibernate-development] NHibernate now targets .Net 4 and breaking 
changes

A couple of days ago I merged the remaining work to make NHibernate target .Net 
4.0 to master. It now targets only .Net 4.0. I tried to set up the build 
scripts so that it would explicitly target .Net 4.0 even when 4.5 is installed 
on the build machine. Apart from the change in framework version, the big thing 
that this implies is that Iesi.Collections now have a much more limited role, 
with ISet<T> and HashSet<T> from the BCL being used instead.

I expected that when released, this will be NHibernate 4.0. For that, what I 
think is at least as important as new features is to take the opportunity to 
remove old obsolete code to make the code base leaner and ensure longterm 
maintainability.

PROPOSED BREAKING CHANGES
Please add to this list if you think of anything else that would be rarely used 
and no longer useful. Also, please speak up if you see an important reason to 
keep any of this.


Fix support for System.Transactions
There are a number of problems with the current implementation. Some are 
probably "simple" bugs that we can fix, but I fear there may also be design 
issues with the current approach.
https://nhibernate.jira.com/issues/?jql=labels%20%3D%20TransactionScope

Remove ManagedWebSessionContext.
I'm not aware of any reason to use this instead of WebSessionContext, which 
shares its API with the other context types.

Remove the classical HQL parser.
The ANTLR based parser has been in use since NH 2.1 (released summer 2009).

Remove support for persistent non-generic collections.
NHibernate have required generics support for a long time, and I'm not aware of 
any reason to prefer a non-generic collection over a generic one.


Remove obsolete ISession.SaveOrUpdateCopy()
Deprecated since NH 3.1. Merge() should be used instead. Various related 
removals, e.g. event listener.


Remove obsolete SybaseASA10Dialect, ASA10ClientDriver, ASAClientDriver and 
SQLiteDriver.
These all have direct replacements.


/Oskar

Reply via email to