|
1 |
| -Build 5.3.14 |
| 1 | +Build 5.4.0 |
| 2 | +============================= |
| 3 | + |
| 4 | +Release notes - NHibernate - Version 5.4.0 |
| 5 | + |
| 6 | +** Highlights |
| 7 | + * NHibernate has gained three new target frameworks: .Net 6, .Net Framework 4.8 and .Net Standard 2.1. NHibernate NuGet package |
| 8 | + provides them, along with the older targets, .Net Core 2.0, .Net Framework 4.6.1 and .Net Standard 2.0. These new targets allow |
| 9 | + some NHibernate optimizations for applications using them. The same limitations apply for .Net 6 and .Net Standard 2.1 as for |
| 10 | + .Net Core 2.0 and .Net Standard 2.0, see NHibernate 5.1.0 release notes. |
| 11 | + * A new batching strategy is available, minimizing the batching memory footprint. See #2959. Using it may increase CPU usage. |
| 12 | + * 201 issues were resolved in this release. |
| 13 | + |
| 14 | + ##### Possible Breaking Changes ##### |
| 15 | + * Linq and criteria queries on unmapped entities will throw instead of returning an empty result list. See #1106, #1095. |
| 16 | + * The second level cache UpdateTimestampsCache does not use locks anymore. This may slightly increase the number of cases |
| 17 | + where stale data is returned by the query cache. See #2742. |
| 18 | + * Equality and hashcode access on uninitialized persistent collections will no more trigger their loading. See #2461. |
| 19 | + * DB2CoreDriver now uses named parameters instead of positional ones. See #2546. |
| 20 | + |
| 21 | +** Bug |
| 22 | + |
| 23 | + * #3198 EntityUpdateAction increments version despite veto on update |
| 24 | + * #3189 Support proxies of classes with init properties |
| 25 | + * #3188 No way of detecting if AutoFlush performed in added AutoFlushEventListener |
| 26 | + * #3176 Cached entity always fetches lazy properties with read-write concurrency strategy |
| 27 | + * #3156 Evaluation failure when using `Nullable` without a value in LINQ |
| 28 | + * #3150 LINQ query dynamic component by interface hangs the application |
| 29 | + * #3109 Fix table group join issue with subclasses |
| 30 | + * #3104 Inner Join fails with left Outer Join when referenced in Where clause |
| 31 | + * #3076 Nested group by results in "A recognition error occured" |
| 32 | + * #2968 Fix QueryStatistics.ExecutionAvgTime calculation |
| 33 | + * #2827 Fix BadImageFormatException in dynamic proxies for abstract classes and interfaces |
| 34 | + * #2822 "A recognition error ocurred" querying by a nullable component with more than N properties |
| 35 | + * #2758 Fix AmbiguousMatchException in ClearPool with FirebirdClient 6.6.0 and above |
| 36 | + * #2750 Using System.Transaction with IStatelessSession doesn't always flush batches to database |
| 37 | + * #2738 Unused Left Join in LINQ throws exception |
| 38 | + * #2717 MappingByCode discriminator column with string type throws exception |
| 39 | + * #2675 Fix collection lazy loading with composite keys on subclass columns |
| 40 | + * #2672 Linq query failure with left joins |
| 41 | + * #2619 InvalidOperationException in ProxyGenerator for class with generic non-virtual method |
| 42 | + * #2614 Obvious bug in two HQLQueryPlan classes with distinction Set |
| 43 | + * #2594 Wrong SQL produced by DML LINQ when using a select clause for a property referencing the outer select |
| 44 | + * #2555 Add spaces around concat operator |
| 45 | + * #2552 One-to-one second level cache issue |
| 46 | + * #2548 Mark DB2Dialect as not supporting null columns in unique constraint |
| 47 | + * #2547 Fix paging in DB2Dialect |
| 48 | + * #2540 Unable to use external predicate in subquery |
| 49 | + * #2534 Fix asymmetrical SqlType.Equals |
| 50 | + * #2454 ConditionalProjection containing the correlation to outer query fails to determine projection type |
| 51 | + * #2330 join on multiple conditions |
| 52 | + * #2201 Fetch Join generates incorrect SQL joins for the same entity type |
| 53 | + * #2092 Projection and join fetch in hql leads to duplicated column aliases |
| 54 | + * #1365 NH-3288 - Stale data checking does not work for one-to-one associations |
| 55 | + * #1349 NH-3893 - HQL parse error of a query with 'left' or 'right' function |
| 56 | + * #1326 NH-3622 - Fetching in query causes incorrect/missing joins in subquery |
| 57 | + * #1316 NH-3530 - memory when using default_batch_fetch_size |
| 58 | + * #1235 NH-2785 - StaleStateExceptions discarded on optional <join> table |
| 59 | + * #1215 NH-2208 - Error with filters on joined-subclass as many-to-one |
| 60 | + * #1209 NH-2049 - Error with filters on joined-subclass as one-to-one |
| 61 | + * #1180 NH-3847 - ConditionalProjection throws "Both true and false projections must return the same types" when the types are the same |
| 62 | + * #1106 NH-2978 - LINQ: Queries for unmapped entity types return empty result set |
| 63 | + * #1075 NH-2239 - Wrong OrderBy in generated SQL when using ICriteria, Eager fetching and order by clauses in collection mappings |
| 64 | + * #1072 NH-2174 - Invalid SQL is generated for OneToMany collections |
| 65 | + * #1062 NH-1893 - Trigger-Identity with Dynamic Insert throws ORA-01036 (10g) |
| 66 | + |
| 67 | +** New Feature |
| 68 | + |
| 69 | + * #2959 Support Dynamic BatchFetchStyle |
| 70 | + * #2744 Set which entities classes should never be cached, even indirectly |
| 71 | + * #2737 Add more left join support |
| 72 | + * #2645 Allow specifying the size of the query plan cache |
| 73 | + * #2641 Avoid InvalidCastException with Oracle number high precision values |
| 74 | + * #2551 Add support for joining a subquery in hql |
| 75 | + * #2545 Table group joins for subclasses in Criteria |
| 76 | + * #2486 Add Projections.Select in Criteria |
| 77 | + * #2361 Table group joins support in hql |
| 78 | + |
| 79 | +** Improvement |
| 80 | + |
| 81 | + * #3184 Support caching queries with autodiscovered types |
| 82 | + * #3177 Disable default caching in tests |
| 83 | + * #3160 Allow internal entity classess/interfaces in .NET Standard 2.0 |
| 84 | + * #3133 Automatically generate async code on pull request |
| 85 | + * #3127 Register IType CLR types as aliases |
| 86 | + * #3116 Simplify SqlGenerator.FromFragmentSeparator |
| 87 | + * #3114 Exclude generated async files from Deepsource analysis |
| 88 | + * #3106 Skip table group join processing for implicit join |
| 89 | + * #3091 Use GitReleaseManager dotnet tool |
| 90 | + * #3083 Update SHFB in order to build documentation without MSBuild |
| 91 | + * #3050 Add .NET Standard 2.1 target |
| 92 | + * #3027 Avoid allocations on lock in SyncCacheLock |
| 93 | + * #3000 Add .NET 6 and .NET Framework 4.8 targets |
| 94 | + * #2990 Use inner join instead of implicit join for implied entity joins |
| 95 | + * #2957 Avoid lambda compilation as much as possible |
| 96 | + * #2948 Avoid lambda compilation for member access expressions in LINQ |
| 97 | + * #2947 LINQ queries triggers JIT a bit too much |
| 98 | + * #2920 Add parameter type to ADO exception |
| 99 | + * #2804 Projections.Conditional for CASE expressions with multiple conditions |
| 100 | + * #2752 Change cascade style for DefaultDirtyCheckEventListener to persist to avoid flushing the session |
| 101 | + * #2742 Remove locks from UpdateTimestampsCache |
| 102 | + * #2723 Avoid double param type guessing and better NULL parameter handling in LINQ |
| 103 | + * #2706 Set the rolledBack flag when disposing active transactions |
| 104 | + * #2700 Potential improvement to AliasToBeanResultTransformer |
| 105 | + * #2621 Regression bug with enums used as parameter for string column |
| 106 | + * #2571 Default value for CancellationToken in IQueryBatch.GetResultAsync |
| 107 | + * #2568 Support internal entity classes by proxy factory |
| 108 | + * #2556 Register right function for Firebird and PostgreSQL |
| 109 | + * #2546 Enable named parameters on DB2CoreDriver |
| 110 | + * #2539 Skip no longer needed moving ON condition to Where clause in LINQ |
| 111 | + * #2538 Remove no longer needed alias substitution for filtered many-to-many collection in hql |
| 112 | + * #2518 Support Aggregate subqueries with paging on MS SQL Server |
| 113 | + * #2510 Remove OrderByClause from query models with Contains, All and Any result operators |
| 114 | + * #2492 Replace casting with NodeType checks in Criteria ExpressionProcessor |
| 115 | + * #2479 When using a paged sub-query in Linq, generates incorrect SQL |
| 116 | + * #2461 Remove persistent collections Equals/GetHashCode overrides |
| 117 | + * #2460 Simplify single alias retrieval for SimpleProjections |
| 118 | + * #2448 Avoid lambda compilation for constant and member access expressions in Criteria |
| 119 | + * #1285 NH-3249 - Cannot perform HQL with "COUNT(DISTINCT Date(s.Date))" |
| 120 | + * #1244 NH-2868 - Generate method of ForeignGenerator fails with stateless sessions |
| 121 | + * #1095 NH-2829 - QueryOver/Criteria should throw exception when querying against unmapped class |
| 122 | + * #871 NH-3115 - Should de-duplicate joins when using fetching with where in LINQ query |
| 123 | + * #869 NH-2952 - Setting the SqlCheck is not supported in the ByCode mapping |
| 124 | + * #809 NH-2799 - Provide the CancelQuery() method in IStatelessSession |
| 125 | + * #766 NH-3813 - Eager fetch on key-many-to-one relation adds inner joins to the query |
| 126 | + * #715 NH-1040 - property-ref on joined-subclasses should work or error |
| 127 | + |
| 128 | +** Task |
| 129 | + |
| 130 | + * #3197 Update dependency System.Data.SqlClient to v4.8.5 |
| 131 | + * #3195 Release NHibernate 5.4 |
| 132 | + * #3161 Tell NuGet about the readme file |
| 133 | + * #3147 Add `datetimex` keyword to SapSQLAnywhere17Dialect |
| 134 | + * #3146 Run tests against Oracle XE 21c |
| 135 | + * #3123 Update dependency Npgsql to v6 |
| 136 | + * #3121 Update dependency Microsoft.NETFramework.ReferenceAssemblies to v1.0.3 |
| 137 | + * #3119 Update actions/setup-dotnet action to v2 |
| 138 | + * #3118 Update actions/checkout action to v3 |
| 139 | + * #3117 Update dependency NSubstitute to v4.4.0 |
| 140 | + * #3111 Update dependency log4net to v2.0.15 |
| 141 | + * #3080 Replace Dependabot with Renovate |
| 142 | + * #3063 Bump Oracle.ManagedDataAccess from 19.12.0 to 21.6.1 |
| 143 | + * #3061 Bump Oracle.ManagedDataAccess.Core from 2.19.120 to 3.21.61 |
| 144 | + * #3059 Bump log4net from 2.0.12 to 2.0.14 |
| 145 | + * #3057 Run tests using .NET 4.8 |
| 146 | + * #3017 Add deepsource.io code analysis |
| 147 | + * #3002 Bump NUnit3TestAdapter from 4.1.0 to 4.2.1 |
| 148 | + * #2987 Disable auto rebasing for depandabot PRs |
| 149 | + * #2951 Run tests on .NET 6 |
| 150 | + * #2946 Bump Microsoft.SourceLink.GitHub from 1.0.0 to 1.1.1 |
| 151 | + * #2936 Bump System.Data.SQLite.Core from 1.0.114.3 to 1.0.115.5 |
| 152 | + * #2911 Bump System.Data.SqlClient from 4.8.2 to 4.8.3 |
| 153 | + * #2898 Bump FirebirdSql.Data.FirebirdClient from 6.6.0 to 8.5.2 |
| 154 | + * #2887 Bump Oracle.ManagedDataAccess from 19.11.0 to 19.12.0 |
| 155 | + * #2886 Bump Oracle.ManagedDataAccess.Core from 2.19.110 to 2.19.120 |
| 156 | + * #2878 Bump System.Linq.Dynamic.Core from 1.2.10 to 1.2.12 |
| 157 | + * #2870 Bump MySql.Data from 8.0.25 to 8.0.26 |
| 158 | + * #2851 Cache Dialect in tests |
| 159 | + * #2818 Bump Microsoft.Data.SqlClient from 2.1.3 to 3.0.0 |
| 160 | + * #2800 Bump System.Data.SQLite.Core from 1.0.113.7 to 1.0.114.2 |
| 161 | + * #2799 Bump Npgsql from 4.0.3 to 4.1.9 |
| 162 | + * #2796 Bump System.Linq.Dynamic.Core from 1.2.9 to 1.2.10 |
| 163 | + * #2790 Bump Microsoft.NET.Test.Sdk from 16.9.4 to 16.10.0 |
| 164 | + * #2786 Bump Microsoft.Data.SqlClient from 2.1.2 to 2.1.3 |
| 165 | + * #2771 Bump MySql.Data from 8.0.22 to 8.0.25 |
| 166 | + * #2770 Bump System.Data.SQLite.Core from 1.0.109.2 to 1.0.113.7 |
| 167 | + * #2765 Bump Microsoft.NETFramework.ReferenceAssemblies from 1.0.0 to 1.0.2 |
| 168 | + * #2759 Enable dependabot |
| 169 | + * #2756 Update dependencies |
| 170 | + * #2607 Merge 5.3.5 |
| 171 | + * #2605 Upgrade AsyncGenerator to 0.19.1 |
| 172 | + * #2593 Merge 5.3.4 |
| 173 | + * #2582 Remove no longer used code in QueryModelVisitor |
| 174 | + * #2570 Update Relinq and LinFu links |
| 175 | + * #2516 Suppress Codefactor single class per file rule for test project |
| 176 | + * #2501 Upgrade MySql client and remove allowed failures on CI builds |
| 177 | + |
| 178 | +** Tests |
| 179 | + |
| 180 | + * #3024 Enable test accessing Component's Parent property in LINQ |
| 181 | + * #2921 Fix test for SAP SQL Anywhere |
| 182 | + * #2848 Add Oracle to GitHub Actions |
| 183 | + * #2541 LINQ SELECT tests with WHERE subquery |
| 184 | + * #2489 Improve CriteriaAssertFixture |
| 185 | + * #2456 Test case for #1180 and improve NullableType.ToString |
| 186 | + * #2242 Test case for NH-3972 - SQL error when selecting a column of a subclass when sibling classes have a column of the same name |
| 187 | + |
| 188 | + |
| 189 | +Build 5.3.14 |
2 | 190 | =============================
|
3 | 191 |
|
4 | 192 | Release notes - NHibernate - Version 5.3.14
|
|
0 commit comments