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
