Skip to content

Updating NuGet packages to latest minor/patch versions - #8856

Merged
BenedekFarkas merged 37 commits into
devfrom
task/nuget-updates
Oct 29, 2025
Merged

Updating NuGet packages to latest minor/patch versions#8856
BenedekFarkas merged 37 commits into
devfrom
task/nuget-updates

Conversation

@BenedekFarkas

@BenedekFarkas BenedekFarkas commented Oct 12, 2025

Copy link
Copy Markdown
Member

Updated NuGet packages

  • Castle.Core: Upgraded from 3.3.1 to 3.3.3. (0d3001a)
  • DocumentFormat.OpenXml and DocumentFormat.OpenXml.Framework: From 3.0.2 to 3.3.0 (latest). (1f20a4e)
    • Only used by Dynamic Forms for the "Export Submissions" functionality.
  • FluentNHibernate: From 3.1.0 to 3.4.1. (b469231)
  • log4net: From 2.0.12 to 2.0.17 (latest 2.x). (e170d31)
    • Subsequently upgraded to 3.2.0 (latest). The major version bump is just due to dropping old build targets. (6e33894)
  • MailKit: From 4.9.0 and 4.14.0 (latest). (84dc53a)
    • Dependencies: MimeKit from/to the same versions and BouncyCastle.Cryptography from 2.5.0 to 2.6.1 (almost latest)
    • Only used by Orchard.Email.
    • MailKit subsequently updated to 4.14.1. (cdf58c6)
  • Markdig.Signed: From 0.22.1 to 0.42.0 (latest). (d46bf8f)
    • Only used by Markdown.
  • Microsoft.AspNet.* packages from 5.2.7/3.2.7 to 5.3.0/3.3.0, except Microsoft.AspNet.WebApi.Client to 6.0.0. (3ca5dd3)
    • Also updated their dependencies to latest.
  • Moq: From 4.2.1510.2205 to 4.5.30. Higher versions would require Castle.Core 4.0.0, but we use 3.3.3. (d020137)
  • NHibernate: Updated from 5.5.2 to 5.6.0. (b469231)
    • Iesi.Collections updated as a dependency from 4.0.4 to 4.1.1 (latest).
  • NHibernate.Caches.SysCache2: Updated from 5.7.0 to 5.9.0. (b469231)
  • RestEase: From 1.4.9 to 1.6.4. (da9c4ee)
  • Redis: From 1.0.481 to 1.2.6 (latest 1.x). (3291199)
    • It's compatible with the latest Docker image. 2.x would bring in a lot of new dependencies.
  • YamlDotNet: From 11.1.1 to 16.3.0 (latest). Only used by Orchard.Layouts. (9ee8217)
  • Orchard.Azure packages: (83de628)
    These packages are all deprecated (but at least not vulnerable), a proper migration to the new Azure.* packages would be nice to have, but not a must.
    • Microsoft.Azure.KeyVault.Core: From 1.0.0 to 3.0.5.
    • Microsoft.WindowsAzure.ConfigurationManager: From 3.1.0 to 3.2.3.
    • WindowsAzure.Storage: From 5.0.2 to 9.3.3.
    • New dependencies:
      • Microsoft.Rest.ClientRuntime, also updated to 2.3.24 (latest).
      • Microsoft.Rest.ClientRuntime.Azure, also updated to 3.3.19 (latest).
  • Orchard.Azure.Tests added to the solution and cleaned up. Since the old Azure SDK and the Azure Storage Emulator can't be installed anymore, Azurite should be running when running these tests. (11bf8f4)
    • npm install azurite -g; azurite --blobHost 127.0.0.1 or
    • docker run -d --name azurite -p 10000:10000 mcr.microsoft.com/azure-storage/azurite

Assembly binding redirects

  • Removed every assembly binding redirect and re-added them based on what VS detects in build warnings + a few more based on runtime errors + more for the test projects based on the errors seen there.

Removed NuGet packages

  • Microsoft.TypeScript.MSBuild was only added to Orchard.DynamicForms, but not actually used. (eff88ce)
  • Microsoft.WindowsAzure.Caching was removed on dev in c6c667d and then added back by mistake in ca86ec9. (de006d3)
  • Orchard.WindowsAzure.ServiceRuntime (e3ea926)

Already up-to-date

  • NUnit and NUnit.Runners: 2.7.1 is latest 2.x version, recently updated. (0e71cf3 and d66c6b8)
  • SpecFlow and SpecFlow.Tools.MsBuild.Generation: 2.4.1 is latest 2.x version, recently updated (but the whole library is deprecated). (e42519c and 99a5003)

Not updated intentionally

  • Autofac.*: Only major update is available (4.0.0) with breaking changes.
  • BouncyCastle.Cryptography: See MailKit above.
  • HtmlAgilityPack: Can be upgraded from 1.4.9.5 to 1.12.4 (latest), but even some (not all!) of the close versions break tests in various ways that don't make sense. Maybe try AngleSharp instead?
    • Only used by Orchard.Specs. If it ain't broken, don't fix it.
  • Microsoft.Data.Edm, Microsoft.Data.OData, Microsoft.Data.Services.Client and System.Spatial are intertwined and cannot be upgraded from 5.8.4 to 5.8.5, because Microsoft.Data.OData being as marked as deprecated due to broken thread safety.
  • Microsoft.IdentityModel.*: Upgrading to the nearest non-deprecated version would bring in a ton of other dependencies and they are only used by Orchard.OpenId.
  • Microsoft.Web.Infrastructure: Upgrading from 1.0.0.0 to 2.0.0.0 (11 years between them!) breaks the Spec app, maybe worth investigating later.
  • MySql.Data: DB server support is a can of worms I won't open now, maybe later.
  • Newtonsoft.Json: Existing packages (e.g. MVC) depend on 13.0.3, no need to manually upgrade to 13.0.4.
  • Newtonsoft.Json.Bson: Existing packages (MVC and friends) depend on 1.0.2, no need to manually upgrade to 1.0.3.
  • Npgsql: See MySql.Data.
  • System.Formats.Asn1: Dependency of MailKit and nothing else uses it.
  • System.IdentityModel.Tokens.Jwt: Nearest non-vulnerable/non-deprecated version is 7.7.1, but other Microsoft.IdentityModel.* packages are currently on the same version (5.7.0).
  • System.ValueTuple: Dependency of multiple packages, no need to update directly.

@BenedekFarkas BenedekFarkas added this to the Orchard 1.11 milestone Oct 12, 2025
@BenedekFarkas BenedekFarkas self-assigned this Oct 12, 2025
@BenedekFarkas BenedekFarkas changed the title Task/nuget updates Updating NuGet packages to latest minor/patch versions Oct 12, 2025
Comment thread .github/workflows/specflow.yml
This reverts commit ba9f54b.

Revert "Adding Microsoft.Web.Infrastructure assembly binding redirect to the codegen template"
This reverts commit d35b462.

Revert "Adding Microsoft.Web.Infrastructure assembly binding redirect to the Spec app's root web.config too"
This reverts commit 3eca050.
Microsoft.Azure.KeyVault.Core from 1.0.0 to 3.0.5
Microsoft.WindowsAzure.Caching from 2.4.0.0 to 2.9.5
Microsoft.WindowsAzure.ConfigurationManager from 3.1.0 to 3.2.3
WindowsAzure.Storage from 5.0.2 to 9.3.3
…t can't start the storage emulator on its own anymore

When running those tests, make sure the storage emulator is running: npm install azurite -g; azurite --blobHost 127.0.0.1
@BenedekFarkas

Copy link
Copy Markdown
Member Author

@sebastienros regarding this change (see description):

Removed every assembly binding redirect and re-added them based on what VS detects in build warnings + a few more based on runtime errors + more for the test projects based on the errors seen there.

Do I assume correctly that if I enable every feature and there are no assembly binding errors, then that completely verifies that all the assembly bindings are OK?

@BenedekFarkas
BenedekFarkas merged commit d8537f1 into dev Oct 29, 2025
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants