From aff2e59584262163fdf0932e7c76a7884f14365e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericdelaporte@users.noreply.github.com> Date: Sun, 31 Aug 2025 18:33:31 +0200 Subject: [PATCH 1/6] Release 5.6.0 And upgrade the GitReleaseManager tool --- ReleaseProcedure.txt | 2 +- build-common/NHibernate.props | 2 +- releasenotes.txt | 103 +++++++++++++++++++++++++++++++++- 3 files changed, 104 insertions(+), 3 deletions(-) diff --git a/ReleaseProcedure.txt b/ReleaseProcedure.txt index 305b4fac008..b86ce96b9e6 100644 --- a/ReleaseProcedure.txt +++ b/ReleaseProcedure.txt @@ -7,7 +7,7 @@ These are the tasks typically needed to create an official NHibernate release. * Create a draft release in Github with GitReleaseManager. For example: -dotnet gitreleasemanager create -o nhibernate -r nhibernate-core -m 5.3 --token yourGitHubTokenWithRepoScope +dotnet gitreleasemanager create -o nhibernate -r nhibernate-core -m 5.3 --token yourGitHubTokenWithRepoContentWritePermission (Adjust the -m milestone parameter above, and add "-c branchname" if releasing another branch than master) diff --git a/build-common/NHibernate.props b/build-common/NHibernate.props index 09d85864c70..8385e5451f3 100644 --- a/build-common/NHibernate.props +++ b/build-common/NHibernate.props @@ -5,7 +5,7 @@ 5.6 0 - dev + 12.0 $(NhVersion).$(VersionPatch) diff --git a/releasenotes.txt b/releasenotes.txt index 33e7829f17a..5de35402693 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -1,4 +1,105 @@ -Build 5.5.3 +Build 5.6.0 +============================= + +Release notes - NHibernate - Version 5.6.0 + + ##### Possible Breaking Changes ##### + * A thread synchronization timeout may now occur in case of transaction scope timeout, throwing + an additional exception. The additional throw can be disabled through the new setting + `transaction.ignore_session_synchronization_failures`. See #3355. + * The default value of `transaction.system_completion_lock_timeout` has been lowered from 5000 + (5 seconds) to 1000 (1 second). See #3355. + * Binary serializations of a session factory or a session from previous versions of NHibernate + will not be deserializable with NHibernate 5.6. + +68 issues were resolved in this release. + +** Bug + + * #3643 Collection cache lookup failure with enum keys + * #3631 Missing version update on dirty collection with another property having optimistic-lock false + * #3618 ISQLQuery.ExecuteUpdate produces an exception in certain cases + * #3602 Unable to implement custom tuplizer due to internal constructor + * #3557 Fix configuration order in tests + * #3546 Fix incorrect import in DynamicClassFixture + * #3525 Querying Seconds on DateTime(Offset) can cause issues in e.g PostgreSQL + * #3523 ScaleDefined is not set by SqlType ctor + * #3519 Fix reference errors in XML comments + * #3518 Add workaround for Rider to see the Antlr3 generated files at design time + * #3498 collection [CollectionKey[]] not located in load context + * #3480 Fix null reference exception when running tests with Npgsql 8 + * #3474 Unwanted implied commits may occur for Oracle and MySql + * #3464 Remove duplicate entry in dialects documentation + * #3424 Exception when using Future to load an entity with no-lazy children + * #3421 Empty dynamic components cause phantom updates + * #3355 InvalidOperationException on SequencedHashMap.OrderedEnumerator.MoveNext + +** New Feature + + * #3624 Add SybaseASE16Dialect with LIMIT and OFFSET pagination support + * #3559 Add new DB2NetDriver and obsolete DB2CoreDriver + * #3556 Add support for .NET 8 Math functions + * #3461 Support for DbBatch + +** Improvement + + * #3687 Relax collection-id mapping + * #3682 InternalsVisibleTo NHibernate.Test + * #3676 When referencing a composite-id in Linq, the fkey table is wrongly joined + * #3657 Allow thread safe usage of SessionFactoryObjectFactory + * #3649 Improve some sparse arrays + * #3640 Some string.Intern's for minimizing duplicate strings count + * #3610 Eliminate memory allocations in GuidCombGenerator under .NET 8+ + * #3513 Int32Type: avoid unnecessary boxing for common cases + * #3486 LinkedHashMap creates enormous amount of memory traffic + * #3475 Adjust the doc about flush on commit + * #3473 The sql type of the CultureInfoType is too short + * #854 NH-1284 - Initialization of nullable structs component + +** Task + + * #3696 Release 5.6.0 + * #3694 Merge 5.5.3 into master + * #3690 Update actions/checkout action to v5 + * #3689 Update Microsoft.Data.SqlClient to v5 + * #3619 Update dependency gitreleasemanager.tool to 0.18.0 + * #3612 Update dependency log4net to v3 + * #3596 Migrate renovate config + * #3594 Update dependency NUnit3TestAdapter to 4.6.0 + * #3593 Update dependency NUnit.Console to v3.18.1 + * #3590 Remove Microsoft.SourceLink.GitHub + * #3581 Update dependency NUnit.Analyzers to v4.2.0 + * #3580 Update dependency log4net to v2.0.17 + * #3579 Merge 5.5.2 into master + * #3574 Remove usage of NHIBERNATE_BOT_TOKEN + * #3570 Fixing a typo in PersistEvent.cs + * #3562 Migrate .NET Core PostgreSQL Windows tests from AppVeyor to GitHub Actions + * #3561 Migrate .NET Core SQLite Windows tests from AppVeyor to GitHub Actions + * #3555 Obsolete IValue SetTypeUsingReflection & associated methods + * #3553 Obsolete ForeignKeys.IsNotTransientSlow + * #3552 Cache zero values to reduce boxing in PrimitiveType.DefaultValue + * #3549 Obsolete NullableType.Get by column name + * #3543 Obsolete JoinedEnumerable + * #3542 Add a security policy + * #3533 Update Iesi.Collections to 4.1.1 + * #3532 Remove mentions of Prevalence cache from documentation + * #3522 Fix NUnit2050 warnings + * #3521 Update dependency NUnit.Analyzers to v4.1.0 + * #3510 Merge 5.5.1 into master + * #3501 Update dependency NUnit.Console to v3.17.0 + * #3494 Add .NET 8.0 target + * #3492 Add NUnit analyzers + * #3484 Modernize the test case example + * #3479 Update actions/setup-dotnet action to v4 + * #3477 Update dependency NSubstitute to v5.1.0 + * #3372 Update dependency gitreleasemanager.tool to v0.17.0 + +** Tests + + * #3309 Test Case for Invalid SQL with property-ref on property using a formula + + +Build 5.5.3 ============================= Release notes - NHibernate - Version 5.5.3 From ae40d3b17c957ea77b90552828d32cc617770f1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericDelaporte@users.noreply.github.com> Date: Thu, 25 Sep 2025 08:07:33 +0200 Subject: [PATCH 2/6] Update security.md --- ReleaseProcedure.txt | 2 ++ SECURITY.md | 4 ++-- src/NHibernate.sln | 18 ++++++++++-------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/ReleaseProcedure.txt b/ReleaseProcedure.txt index b86ce96b9e6..597603318ae 100644 --- a/ReleaseProcedure.txt +++ b/ReleaseProcedure.txt @@ -27,6 +27,8 @@ dotnet gitreleasemanager create -o nhibernate -r nhibernate-core -m 5.3 --token * Check/update version number in NHibernate.props under build-common folder. Clear VersionSuffix if present. + * If releasing a new minor or major, check whether SECURITY.md should be updated or not. + * Don't forget to commit the above. * Check the CI release build. diff --git a/SECURITY.md b/SECURITY.md index 50416634993..599415b84e9 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,9 +4,9 @@ | Version | Supported | | ------- | ------------------ | +| 5.6.x | :white_check_mark: | | 5.5.x | :white_check_mark: | -| 5.4.x | :white_check_mark: | -| < 5.4 | :x: | +| < 5.5 | :x: | ## Reporting a Vulnerability diff --git a/src/NHibernate.sln b/src/NHibernate.sln index 0b2a7f25d0b..d38ca264326 100644 --- a/src/NHibernate.sln +++ b/src/NHibernate.sln @@ -1,19 +1,21 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2024 + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36518.9 d17.14 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{593DCEA7-C933-46F3-939F-D8172399AB05}" ProjectSection(SolutionItems) = preProject + ..\.editorconfig = ..\.editorconfig + ..\appveyor.yml = ..\appveyor.yml AsyncGenerator.yml = AsyncGenerator.yml + ..\build-common\common.xml = ..\build-common\common.xml ..\default.build = ..\default.build + ..\global.json = ..\global.json ..\build-common\NHibernate.props = ..\build-common\NHibernate.props ..\releasenotes.txt = ..\releasenotes.txt - ..\teamcity.build = ..\teamcity.build - ..\build-common\common.xml = ..\build-common\common.xml - ..\appveyor.yml = ..\appveyor.yml ..\ReleaseProcedure.txt = ..\ReleaseProcedure.txt - ..\global.json = ..\global.json - ..\.editorconfig = ..\.editorconfig + ..\SECURITY.md = ..\SECURITY.md + ..\teamcity.build = ..\teamcity.build EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NHibernate", "NHibernate\NHibernate.csproj", "{5909BFE7-93CF-4E5F-BE22-6293368AF01D}" From 6b1b3a6d3bac895124844665662439876f0069b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericDelaporte@users.noreply.github.com> Date: Thu, 25 Sep 2025 23:14:48 +0200 Subject: [PATCH 3/6] Update release note --- releasenotes.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/releasenotes.txt b/releasenotes.txt index 5de35402693..cd6f896f9c5 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -12,12 +12,13 @@ Release notes - NHibernate - Version 5.6.0 * Binary serializations of a session factory or a session from previous versions of NHibernate will not be deserializable with NHibernate 5.6. -68 issues were resolved in this release. +72 issues were resolved in this release. ** Bug * #3643 Collection cache lookup failure with enum keys * #3631 Missing version update on dirty collection with another property having optimistic-lock false + * #3622 ISession.Refresh does not update lazy properties * #3618 ISQLQuery.ExecuteUpdate produces an exception in certain cases * #3602 Unable to implement custom tuplizer due to internal constructor * #3557 Fix configuration order in tests @@ -58,6 +59,9 @@ Release notes - NHibernate - Version 5.6.0 ** Task + * #3706 Update actions/setup-dotnet action to v5 + * #3705 Enable skip_branch_with_pr: true for appveyor + * #3701 Update dependency gitreleasemanager.tool to v0.20.0 * #3696 Release 5.6.0 * #3694 Merge 5.5.3 into master * #3690 Update actions/checkout action to v5 From b655c976c497eb526bafb8465fa770faebaf8983 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericDelaporte@users.noreply.github.com> Date: Fri, 26 Sep 2025 19:10:46 +0200 Subject: [PATCH 4/6] Update release note --- releasenotes.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releasenotes.txt b/releasenotes.txt index cd6f896f9c5..21e5149c8c3 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -12,7 +12,7 @@ Release notes - NHibernate - Version 5.6.0 * Binary serializations of a session factory or a session from previous versions of NHibernate will not be deserializable with NHibernate 5.6. -72 issues were resolved in this release. +74 issues were resolved in this release. ** Bug @@ -44,6 +44,7 @@ Release notes - NHibernate - Version 5.6.0 ** Improvement + * #3703 Guidelines for handling breaking changes * #3687 Relax collection-id mapping * #3682 InternalsVisibleTo NHibernate.Test * #3676 When referencing a composite-id in Linq, the fkey table is wrongly joined @@ -61,6 +62,7 @@ Release notes - NHibernate - Version 5.6.0 * #3706 Update actions/setup-dotnet action to v5 * #3705 Enable skip_branch_with_pr: true for appveyor + * #3702 Configure backports with Mergify * #3701 Update dependency gitreleasemanager.tool to v0.20.0 * #3696 Release 5.6.0 * #3694 Merge 5.5.3 into master From 7cbe08b693b3e96f8dccf1eae5f1168776ec16ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericdelaporte@users.noreply.github.com> Date: Sat, 4 Oct 2025 22:43:50 +0200 Subject: [PATCH 5/6] Update release note --- releasenotes.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/releasenotes.txt b/releasenotes.txt index 21e5149c8c3..d11804d9499 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -11,11 +11,14 @@ Release notes - NHibernate - Version 5.6.0 (5 seconds) to 1000 (1 second). See #3355. * Binary serializations of a session factory or a session from previous versions of NHibernate will not be deserializable with NHibernate 5.6. + * Oracle9iDialect now registers localtimestamp as current_timestamp, instead of systimestamp. + See #3707. 74 issues were resolved in this release. ** Bug + * #3707 Register localtimestamp as current_timestamp in Oracle9iDialect * #3643 Collection cache lookup failure with enum keys * #3631 Missing version update on dirty collection with another property having optimistic-lock false * #3622 ISession.Refresh does not update lazy properties From 46a7979c6974ac76fb81c4f41161b6cbca8b365e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericdelaporte@users.noreply.github.com> Date: Sun, 5 Oct 2025 15:03:47 +0200 Subject: [PATCH 6/6] Fix issues count --- releasenotes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releasenotes.txt b/releasenotes.txt index d11804d9499..7d209e839b7 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -14,7 +14,7 @@ Release notes - NHibernate - Version 5.6.0 * Oracle9iDialect now registers localtimestamp as current_timestamp, instead of systimestamp. See #3707. -74 issues were resolved in this release. +76 issues were resolved in this release. ** Bug