NHibernate 3.1GA Released
12 March 2011
Fabio Maulo’s put up the NHibernate 3.1GA release on www.nhforge.org. So far I’ve upgraded my code with minimal issues. Here are the release notes:
Build 3.1.0.GA (rev5425)
=============================
** Known BREAKING CHANGES from NH3.0.0.GA to NH3.1.0.GA
##### Design time #####
* [NH-2481] - Deprecated: ISession.SaveOrUpdateCopy methods - use ISession.Merge methods instead
##### Run time #####
* [NH-2481] - An exception will now be thrown when an entity references a transient entity and cascade="merge|all" is not configured on the association
##### Possible Breaking Changes #####
* [NH-2461] - Signature change for IQuery.SetParameterList
* [NH-2556] - NH is too tolerante to incorrect naming when access="field.XXX" is used
** Sub-task
* [NH-2525] - Wrong parameter used for limit claues in MySQL
** Bug
* [NH-1985] - NHibernate is allowing deletion of immutable objects
* [NH-2037] - Reattaching an entity with many-to-one inside a natural-id
* [NH-2130] - Reporting query containing sum crashes when there are no rows
* [NH-2179] - String constants are not useable in Linq query projection
* [NH-2203] - problem with orderby in linq query
* [NH-2280] - LINQ Query on Composite key creates invalid SQL
* [NH-2311] - .Any() extension method does not work in most cases
* [NH-2362] - GroupBy with multiple fields fails with exception
* [NH-2375] - OfType with a where clause fails with a NotSupportedException
* [NH-2381] - Fetch clause fails with a NotSupportedException
* [NH-2386] - Unecessary update / invalid SQL generated when collection updated with a versioned (generated) parent entity
* [NH-2400] - Linq query fail when using contains from an empty Collection
* [NH-2407] - Linq provider doesn't support enums in VB.NET
* [NH-2412] - OrderBy generates an inner join instead a left join
* [NH-2433] - When using extensions methods with generic parameters the provider uses the first use even if the generic parameter is different.
* [NH-2441] - Logical bool values are not mapped properly (query execution returns incorrect result with SQLite)
* [NH-2443] - Error compiling NH with ShowBuildMenu.bat -> Cannot run Tests
* [NH-2450] - Multi Query in MySQL no longer working in 3.0 (was in 2.1)
* [NH-2459] - LINQ provider query plan cache issue with use of type check expression .Where(o=>o is SomeType)
* [NH-2460] - version generator is not working with DateTime2 data type.
* [NH-2464] - NHibernate DLLs not built with optimization in 'release' mode.
* [NH-2467] - Futures in 3.0.0.GA go bananas when using PostgreSQL
* [NH-2470] - PersistentIdentifierBag not creating snapshot correctly for new collections.
* [NH-2482] - SerializationException when writing object to viewstate
* [NH-2484] - Regression - Binary Blob SerializationException - MSSQL 2k8 / varbinary(max)
* [NH-2499] - Case statement does not handle multiple when clauses
* [NH-2501] - Case statement does not allow a parameter in the first then clause
* [NH-2503] - HQL subselect with addition fails
* [NH-2507] - LINQ queries tha compare enumeration values with /checked+ compiler option throw NotSupportedException
* [NH-2512] - QueryOver with Where clause and Take crashes
* [NH-2524] - Linq converts enums to integers prematurely
* [NH-2529] - Linq on Informix using take gives an exception
* [NH-2536] - Second call to OfType don't change the query
* [NH-2543] - IQueryOver support is not implemented for IStatelessSession
* [NH-2549] - Disposing an Stateless Session that has already been closed causes a SessionException
* [NH-2555] - Linq with Contains doesn't work with read only collections
* [NH-2556] - NH is too tolerante to incorrect naming when access="field.XXX" is used
** Improvement
* [NH-1342] - Very slow inserts for large BLOB
* [NH-2023] - Batch operations - introduce SetBatchSize for IStatelessSession
* [NH-2098] - Support for transaction isolation levels in stateless sessions.
* [NH-2211] - Stateless Session Linq Support
* [NH-2228] - Cascading StaleStateException doesn't show which Entity caused the problem
* [NH-2425] - Cache the XmlSerializer for HbmMapping class
* [NH-2449] - Add IStatelessSession.BeginTransaction(IsolationLevel) Method
* [NH-2454] - Add auto-quote settings to main documentation
* [NH-2455] - Centralization of proxy check to IProxyFactoryFactory (better support for static proxy)
* [NH-2457] - Ability to use DetachedCriteria from stateless session
* [NH-2461] - Allow parameter list as ienumerable and simplify IQuery
* [NH-2471] - ShowBuildMenu.bat and Windows XP
* [NH-2481] - Merge can fail when there is a transient entity reachable by multiple paths and at least one path does not cascade on merge
* [NH-2502] - Fetch/Cacheable Should be Allowed to be Called Anywhere
* [NH-2508] - Deprecate the ISession.SaveAndUpdateCopy API
* [NH-2522] - ILMerge Antlr and ReLinq
* [NH-2537] - Implement camelcase-m-underscore naming strategy
* [NH-2557] - Improves log message, of CustomType not serializable, by adding additional data
** New Feature
* [NH-908] - Implement read-only entities
* [NH-2410] - Port from Hibernate
** Patch
* [NH-2153] - Unused parameter in SetCommandTimeout method in DriverBase
* [NH-2172] - Unrecognised method call in expression when using QueryOver queries in VB.Net
* [NH-2445] - Add IStatelessSession.IsOpen and IStatelessSession.IsConnected
* [NH-2473] - EntityName + inheritance doesn't work
* [NH-2474] - Xsd for on subclass missing
* [NH-2478] - Docs for
* [NH-2513] - SetMaxResults issue with DB2400Dialect
** Task
* [NH-2506] - Fix first example of ternary association in documentation
* [NH-2541] - Upgrade ReLinq to 1.13.93