Skip to content

Commit 47e47ec

Browse files
Release 5.2.0
1 parent a56e683 commit 47e47ec

File tree

5 files changed

+227
-6
lines changed

5 files changed

+227
-6
lines changed

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 5.1.3.{build}
1+
version: 5.2.0.{build}
22
image: Visual Studio 2017
33
environment:
44
matrix:

build-common/NHibernate.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<Import Project="DotNetSdkMono.props" />
33
<PropertyGroup>
44
<VersionMajor Condition="'$(VersionMajor)' == ''">5</VersionMajor>
5-
<VersionMinor Condition="'$(VersionMinor)' == ''">1</VersionMinor>
6-
<VersionPatch Condition="'$(VersionPatch)' == ''">3</VersionPatch>
5+
<VersionMinor Condition="'$(VersionMinor)' == ''">2</VersionMinor>
6+
<VersionPatch Condition="'$(VersionPatch)' == ''">0</VersionPatch>
77
<VersionSuffix Condition="'$(VersionSuffix)' == ''"></VersionSuffix>
88

99
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)</VersionPrefix>

build-common/common.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414
<!-- This is used only for build folder -->
1515
<!-- TODO: Either remove or refactor to use NHibernate.props -->
16-
<property name="project.version" value="5.1.3" overwrite="false" />
17-
<property name="project.version.numeric" value="5.1.3" overwrite="false" />
16+
<property name="project.version" value="5.2.0" overwrite="false" />
17+
<property name="project.version.numeric" value="5.2.0" overwrite="false" />
1818

1919
<!-- properties used to connect to database for testing -->
2020
<include buildfile="nhibernate-properties.xml" />

doc/reference/master.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<bookinfo>
4040
<title>NHibernate - Relational Persistence for Idiomatic .NET</title>
4141
<subtitle>NHibernate Reference Documentation</subtitle>
42-
<releaseinfo>5.1</releaseinfo>
42+
<releaseinfo>5.2</releaseinfo>
4343
</bookinfo>
4444

4545
<toc />

releasenotes.txt

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,227 @@ Build 5.2.0
33

44
Release notes - NHibernate - Version 5.2.0
55

6+
154 issues were resolved in this release.
7+
8+
##### Possible Breaking Changes #####
9+
* Mappings mixing column elements and formula elements were taking into account
10+
only the formula elements. They will now take into account all elements.
11+
* Mappings mixing column elements and/or formula elements with a column attribute
12+
or a formula attribute were silently ignoring the attribute. They will now throw.
13+
* Mappings mixing a column attribute and a formula attribute were silently doing
14+
some best effort logic, either considering this as a two columns mapping, the
15+
second one being the formula (most cases), or only taking into account the
16+
formula (case of the `<element>` mapping). They will now throw.
17+
* NHibernate StringType has gained case-sensitivity and culture parameters.
18+
Previously it was ignoring parameters. This type may change its behavior
19+
for any mapping having defined parameters for this type. See #1833.
20+
* Mapping a dynamic component with a Hashtable property instead of an
21+
IDictionary is no more supported.
22+
* Querying a dynamic entity as a Hashtable instead of an IDictionary is no more
23+
supported.
24+
* With PostgreSQL, a HQL query using the bitwise xor operator "^" or "bxor"
25+
was exponentiating the arguments instead. It will now correctly apply the xor
26+
operator. (# operator in PostgreSQL SQL.)
27+
* Auto-generated constraint names will not be the same than the ones generated
28+
with previous NHibernate versions under .Net Framework. (Under .Net Core those
29+
names were anyway changing at each run.) The new ones will be the same
30+
whatever the runtime used for generating them.
31+
* Some generated PK names may change, if a table name has a quoting symbol at
32+
precise 13th character.
33+
* The WcfOperationSessionContext has been removed from .Net Core and .Net
34+
Standard builds. See #1842.
35+
* Some types cache representations have changed. Out-of-process second level
36+
caches should be cleared after upgrading NHibernate, if some of those types
37+
were cached. The concerned types are: CultureInfoType, TypeType, UriType,
38+
XDocType, XmlDocType.
39+
* Dialect.GetIdentitySelectString was called by the entity persisters with
40+
inverted parameter values: the table name in the column parameter, and the
41+
column name in the table parameter. No built-in dialects were using the
42+
parameter values. External dialects which were using it inverted (causing issues
43+
to collection persisters, which have always supplied them correctly) needs
44+
to be accordingly adjusted.
45+
* Users providing through an IObjectFactory some custom logic for instantiating
46+
value types will now need to supply their own result transformer if they were
47+
using AliasToBeanResultTransformer with value types, or their own entity
48+
tuplizer if they were using value types as entities.
49+
* Users providing through an IObjectFactory some custom logic for instantiating
50+
their custom session contexts will have to implement
51+
ICurrentSessionContextWithFactory and add a parameterless public constructor
52+
to their custom context, and move their custom instantiation logic from
53+
IObjectsFactory.CreateInstance(Type, object[]) to
54+
IObjectsFactory.CreateInstance(Type).
55+
* Various *Binding classes of NHibernate will now always have their protected
56+
dialect field null. (These classes are not expected to be derived by users,
57+
as there is no way to use custom descendants with NHibernate.)
58+
* AbstractPersistentCollection.AfterInitialize does no more perform queued
59+
operations. Queued operations are now run by a later call to a new method,
60+
ApplyPendingOperations. Concrete custom implementations relying on the queued
61+
operations to be done by their base AfterInitialize will need to be changed
62+
accordingly.
63+
64+
Not yet merged and not counted: #1836, #1793
65+
66+
** Bug
67+
68+
* #1900 Do not generate FK on non-generated unique constraint
69+
* #1886 Superfluous SQL casts generated in FirebirdClientDriver
70+
* #1885 Process classes accordingly to inheritance path in mapping by code
71+
* #1884 Fix attempt of static proxies to call base method for abstract classes
72+
* #1874 Item in child collection not being removed
73+
* #1872 Fix property ref handling
74+
* #1870 Update build-menu options in documentation
75+
* #1867 Fix registration of current_date for some dialects
76+
* #1859 Fix filter & where fragment appended after lock hint
77+
* #1855 Fix NotNullUnique not taken into account for single column
78+
* #1849 Loquatious QueryCache constraint should be an IQueryCacheFactory constraint
79+
* #1824 property-ref on a component's property causes "wrong number of columns" error
80+
* #1821 Allow using ICompositeUserType for collection element mappings in Mapping By Code
81+
* #1818 Handle DbDataReaders that do not support GetSchemaTable
82+
* #1812 Fix the <any/> handling without meta-values
83+
* #1809 Update the mapping documentation
84+
* #1799 Default value of 'proxyfactory.factory_class' in the documentation
85+
* #1774 HQL and LINQ query by the type on with meta-type "string" fails
86+
* #1769 Table mapping for UniqueColumn uses unstable GetHashCode() method
87+
* #1764 Fix configuration schema forbidding custom bytecode provider
88+
* #1760 Support formula on one-to-many map-key
89+
* #1756 Fix unsaved-value for assigned identifiers
90+
* #1753 Fix possible InvalidCastException in ActionQueue
91+
* #1751 Avoid completing the same transaction twice
92+
* #1748 Fix a bad setting naming about transaction scopes
93+
* #1745 Remove obsoleted hibernate configuration prefix
94+
* #1744 Reconnect lazy property proxy on deserialization
95+
* #1737 Remove a binary breaking change introduced in #305
96+
* #1728 Generate a correct proxy for interfaces
97+
* #1727 Fix a null-ref exception with no-proxy one-to-one
98+
* #1726 Fix serialization exception when run on .NET Core 2.1
99+
* #1719 Cascade delete-orphan on no-proxy null association fails
100+
* #1706 Entity Projection: Fixed AsEntity() for root entity
101+
* #1704 GroupBy to custom class fails with ArgumentException
102+
* #1696 Fixed CriteriaImpl.Clone for readonly query
103+
* #1692 Update base_mapping.xml
104+
* #1673 Bitwise xor treated as pow with PostgreSQL
105+
* #1654 Fix the url to the quickstart of DocBook
106+
* #1635 IdentitySelectString implementation is inconsistent
107+
* #1612 Fix TypedValue not always using adequate comparer with SetParameterList
108+
* #1609 Schema validation using SQLite and a specific schema fails
109+
* #1344 NH-3864 - Cacheable Multicriteria/Future'd query with aliased join throw exception
110+
* #1339 NH-3823 - Initialization of Set with Lazy=Extra causes pending additions to disappear
111+
* #1338 NH-3806 - Saving entities with proxy associations leads to fetching associated entities
112+
* #1300 NH-3403 - Wrong parameter size in query with MsSql2000Dialect,MsSql2005Dialect and MsSql2008Dialect
113+
* #1293 NH-3350 - Duplicate records using Future()
114+
* #1278 NH-3189 - IManyToOneMapper lacks method to add columns AND formula into a single relationship
115+
* #1214 NH-2180 - Many-To-Many with Property-ref fails to get subitems with FetchMode Join
116+
* #1201 NH-1316 - PostgreSQL dialect use of lastval to retrieve last inserted "id" not safe with Triggers
117+
* #1182 NH-3860 - Missing EntityName in IManyToOneMapper
118+
* #1170 NH-3646 - Incorrect query when items removed from a collection of components contain null values
119+
* #1163 NH-3545 - SchemaValidator fails for PostgreSql sequences
120+
* #1151 NH-3426 - Wrong result when converting Guid to string
121+
* #1121 NH-3095 - Cast from mapped long field to enum leads to 'Specified cast not valid'
122+
* #1096 NH-2836 - SchemaValidator throws with SqlCe4 if db-schema set
123+
* #1037 NH-3749 - Unnecessary comma in CREATE TABLE statement
124+
* #1016 NH-3007 - Informix dialect generates incorrect boolean constants
125+
* #1000 NH-2558 - NoViableAltException with boolean expression in OrderBy clause
126+
127+
** New Feature
128+
129+
* #1892 Allow disabling Firebird driver parameter casting
130+
* #1879 LINQ Coalesce and Conditional on Properties
131+
* #1854 Add SQL Anywhere 17 support
132+
* #1848 Add in ByCode support of all type mappings on Id
133+
* #1833 Parametrize string type comparer
134+
* #1830 Add a Linux build menu
135+
* #1796 Support CacheMode in QueryBatch
136+
* #1786 Document future results
137+
* #1772 Support futures with stateless session
138+
* #1752 Async ISynchronization
139+
* #1742 Add new DB2CoreDriver to use with IBM.Data.DB2.Core provider
140+
* #1693 Implement SurrogateSelector
141+
* #1690 Bitwise xor not supported by SQLite
142+
* #1682 Add support for System.MathF methods
143+
* #1662 Add support for SAP HANA
144+
* #1633 Added support for batching 2nd level cache operations when loading entities and collections
145+
* #1631 Create UtcTicks and UtcDbTimestamp types
146+
* #1599 Full control of entities fetching in Criteria
147+
* #1381 NHibernate's IQuery is missing AddSynchronizedQuerySpace
148+
* #920 NH-3991 - Support for Sybase ASE ADO.NET 4 Provider
149+
* #897 NH-2187 - ElementAt LINQ extension method is not supported.
150+
* #838 NH-3805 - Add support for string indexer property (get_Chars)
151+
* #819 NH-3088 - Support the item operator [] on lists in linq queries
152+
153+
** Improvement
154+
155+
* #1901 Add ability to use dynamic entities as C# dynamic
156+
* #1890 Merge two logs in one
157+
* #1875 Improve exception message in case of duplicated column
158+
* #1869 Replace an O(n) lookup in LINQ query parsing by an O(1) one
159+
* #1846 Remove dependency on System.Security.Permissions package for .NET Standard and .NET Core
160+
* #1842 Remove WcfOperationSessionContext from .Net Core and .Net Standard
161+
* #1838 Cannot add HqlJoin to HqlFrom
162+
* #1827 Include the query in loader PostInstantiate QueryException
163+
* #1819 Append the batched sql statement when StaleStateException occurs
164+
* #1814 Mark proxy assembly with IgnoresAccessChecksToAttribute to allow implementing non public interfaces
165+
* #1808 Support mixed formulas and columns
166+
* #1792 Obsolete HolderInstantiator
167+
* #1788 Implement multiple get and put for query cache and query batch
168+
* #1785 Update user types documentation
169+
* #1782 Refactor BugTestCase
170+
* #1781 Clean-up IObjectsFactory usages
171+
* #1778 Allow to use dynamic objects as dynamic components
172+
* #1777 Replace ICache interface by a CacheBase class
173+
* #1776 Make cache types serialization friendly
174+
* #1775 Start/Stop required db-service for TeamCity
175+
* #1770 Make obsolete abstract virtual
176+
* #1767 Allow generic dictionaries for dynamic entities
177+
* #1765 Provide cacheable representations for all NHibernate built-in types
178+
* #1762 Remove duplicated and obsolete interceptor documentation
179+
* #1761 Update mapping documentation
180+
* #1759 Support mixed formulas and columns in By Code
181+
* #1736 Remove excessive rowIdAlias parameter in Loader
182+
* #1713 Update contributing guidelines
183+
* #1712 Support IEquatable in LINQ provider
184+
* #1710 Rationalize DateTimeOffset read and write
185+
* #1709 Lazy properties static proxy
186+
* #1703 Remove dialect instantiation in AddDeserializedMapping
187+
* #1700 Single place to specify TargetFrameworks
188+
* #1699 Add ability to load types from in-memory-only assemblies
189+
* #1698 Document setting the logger factory programmatically
190+
* #1694 Implement CollectionHelper.GetHashCode that accepts IEqualityComparer
191+
* #1689 Purge more Invariant culture usages
192+
* #1671 Decouple configuration of IObjectsFactory from BytecodeProvider
193+
* #1666 Handle multi-queries support in FutureBatch
194+
* #1656 Allow any cache.* property in NHibernate configuration
195+
* #1641 Add cross platform build for full .NET Framework
196+
* #1452 Async After-/BeforeTransactionCompletion
197+
* #874 NH-3543 - Enhanced Db2 driver to support multi query
198+
* #865 NH-2428 - Session.MultiCriteria and FlushMode.Auto inside transaction
199+
* #840 NH-3835 - Future/MultiCriteria 2nd level caching
200+
* #822 NH-3150 - Select Post Insert Generator Improvements
201+
* #755 NH-3670 - Dynamic component should allow generic dictionary
202+
* #752 NH-3541 - Future queries of Criteria API/QueryOver are batched separately from other query methods
203+
* #696 Upgrade to ReLinq 2.2.0
204+
* #415 Add check to ensure that IUserCollectionType.Instantiate returns uninitialized collection
205+
206+
** Task
207+
208+
* #1863 Release 5.2.0
209+
* #1823 Run tests for SQLite on .NET Core
210+
* #1783 Obsolete MultiQuery and MultiCriteria
211+
* #1773 Obsolete unused version related methods of SByteType
212+
* #1771 Obsolete unused "xml" type methods
213+
* #1743 Merge 5.1.3 into master
214+
* #1739 Upgrade to AsyncGenerator 0.8.2.7
215+
* #1688 Merge 5.1.2 into master
216+
* #1687 Update NUnit to 3.10.1
217+
* #881 NH-3358 - Document all attributes for the element tag
218+
219+
** Tests
220+
221+
* #1887 Test ref and out methods with static proxy
222+
* #1724 NH-2716 - Modify test case for discarding the alleged bug
223+
* #1584 Test Parent property is not accessible in queries
224+
* #1531 Test for Merging a bidirectional list creates unnecessary UPDATE statement
225+
* #1440 Test case for ComposedId Entity with Lazy Property is not proxified
226+
* #1414 Test ISession.IsDirty() should not trigger cascade saving
6227

7228
As part of releasing 5.2.0, a misnamed setting in 5.0.0 release notes has been fixed:
8229
transaction.use_connection_on_system_events correct name is transaction.use_connection_on_system_prepare

0 commit comments

Comments
 (0)