From 1e5fdc6b2f36f67e33d6fdcc266fc4c66201940c Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Mon, 27 Apr 2026 00:47:27 +0300 Subject: [PATCH 1/6] [dotnet] Blog post about strong naming --- .../blog/2026/dotnet-strong-name-signing.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 website_and_docs/content/blog/2026/dotnet-strong-name-signing.md diff --git a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md new file mode 100644 index 00000000000..d58aea8cf25 --- /dev/null +++ b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md @@ -0,0 +1,46 @@ +--- +title: ".NET Assemblies Are Now Strongly Signed" +linkTitle: ".NET Assemblies Are Now Strongly Signed" +date: 2026-04-27 +tags: ["selenium", "dotnet"] +categories: ["general"] +author: Nikolay Borisenko [@nvborisenko](https://github.com/nvborisenko) +description: > + Starting with Selenium 4.44, the main NuGet packages ship strongly signed assemblies. The separate StrongNamed packages are retired. +--- + +Starting with **Selenium 4.44**, the `Selenium.WebDriver` and `Selenium.Support` NuGet packages +ship **strongly signed assemblies**. The separate `Selenium.WebDriver.StrongNamed` and +`Selenium.Support.StrongNamed` packages are discontinued. + +## Why This Matters + +Without strong naming on the official packages, any project that itself needed to be strongly signed +could not reference Selenium from NuGet. Teams were forced to either forgo strong naming, bundle +out-of-band downloads, or use the separate `StrongNamed` packages with a different assembly name — +all of which caused friction, especially in enterprise environments. + +## What Changed + +- `Selenium.WebDriver` and `Selenium.Support` are signed with the project's `Selenium.snk` key. + Assembly names (`WebDriver` / `WebDriver.Support`) are **unchanged**. +- `AssemblyVersion` stays at `4.0.0.0` (major-only) — no binding redirects needed between `4.x` releases. +- `Selenium.WebDriver.StrongNamed` and `Selenium.Support.StrongNamed` are **retired**. + +## Breaking Changes + +If you reference the `StrongNamed` packages, migrate as follows: + +1. Replace `Selenium.WebDriver.StrongNamed` → `Selenium.WebDriver` +2. Replace `Selenium.Support.StrongNamed` → `Selenium.Support` +3. Update assembly references from `WebDriver.StrongNamed` → `WebDriver` + +If you use the regular packages — nothing changes. + +## Related Issues + +- [#12315](https://github.com/SeleniumHQ/selenium/issues/12315) — Publish StrongNamed builds to NuGet feed +- [#10845](https://github.com/SeleniumHQ/selenium/issues/10845) — Revisiting strong-named assemblies for NuGet +- [#14115](https://github.com/SeleniumHQ/selenium/issues/14115) — Strong Name Key + +Implementation: [#17397](https://github.com/SeleniumHQ/selenium/pull/17397) From 427372b5627327e267a7d76e5057d13a1db73215 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Mon, 27 Apr 2026 00:52:46 +0300 Subject: [PATCH 2/6] Hide implementation details --- .../content/blog/2026/dotnet-strong-name-signing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md index d58aea8cf25..7562616772f 100644 --- a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md +++ b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md @@ -22,7 +22,7 @@ all of which caused friction, especially in enterprise environments. ## What Changed -- `Selenium.WebDriver` and `Selenium.Support` are signed with the project's `Selenium.snk` key. +- `Selenium.WebDriver` and `Selenium.Support` are now strongly signed. Assembly names (`WebDriver` / `WebDriver.Support`) are **unchanged**. - `AssemblyVersion` stays at `4.0.0.0` (major-only) — no binding redirects needed between `4.x` releases. - `Selenium.WebDriver.StrongNamed` and `Selenium.Support.StrongNamed` are **retired**. From fec630b1dd6f1ac154006fbfff50449499f04256 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Mon, 27 Apr 2026 00:53:50 +0300 Subject: [PATCH 3/6] Update dotnet-strong-name-signing.md --- .../content/blog/2026/dotnet-strong-name-signing.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md index 7562616772f..c24376a1c12 100644 --- a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md +++ b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md @@ -33,9 +33,10 @@ If you reference the `StrongNamed` packages, migrate as follows: 1. Replace `Selenium.WebDriver.StrongNamed` → `Selenium.WebDriver` 2. Replace `Selenium.Support.StrongNamed` → `Selenium.Support` -3. Update assembly references from `WebDriver.StrongNamed` → `WebDriver` +3. Update assembly references: `WebDriver.StrongNamed` → `WebDriver`, `WebDriver.Support.StrongNamed` → `WebDriver.Support` -If you use the regular packages — nothing changes. +If you use the regular packages — the assemblies are now signed but the API and assembly names +are unchanged, so no code changes are required. ## Related Issues From 86abe47fd149a692f4ede05c109b9a787ec4df40 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Mon, 27 Apr 2026 12:46:01 +0300 Subject: [PATCH 4/6] Change assembly names --- .../content/blog/2026/dotnet-strong-name-signing.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md index c24376a1c12..571ebf1d013 100644 --- a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md +++ b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md @@ -23,7 +23,7 @@ all of which caused friction, especially in enterprise environments. ## What Changed - `Selenium.WebDriver` and `Selenium.Support` are now strongly signed. - Assembly names (`WebDriver` / `WebDriver.Support`) are **unchanged**. + Assembly names change: `WebDriver` → `Selenium.WebDriver`, `WebDriver.Support` → `Selenium.WebDriver.Support`. - `AssemblyVersion` stays at `4.0.0.0` (major-only) — no binding redirects needed between `4.x` releases. - `Selenium.WebDriver.StrongNamed` and `Selenium.Support.StrongNamed` are **retired**. @@ -33,10 +33,11 @@ If you reference the `StrongNamed` packages, migrate as follows: 1. Replace `Selenium.WebDriver.StrongNamed` → `Selenium.WebDriver` 2. Replace `Selenium.Support.StrongNamed` → `Selenium.Support` -3. Update assembly references: `WebDriver.StrongNamed` → `WebDriver`, `WebDriver.Support.StrongNamed` → `WebDriver.Support` +3. Update assembly references: `WebDriver.StrongNamed` → `Selenium.WebDriver`, `WebDriver.Support.StrongNamed` → `Selenium.WebDriver.Support` -If you use the regular packages — the assemblies are now signed but the API and assembly names -are unchanged, so no code changes are required. +If you use the regular packages — the assemblies are now signed but the assembly names change +(`WebDriver.dll` → `Selenium.WebDriver.dll`, `WebDriver.Support.dll` → `Selenium.WebDriver.Support.dll`), +so update any explicit assembly references accordingly. The public API is unchanged. ## Related Issues From d143c90b7bc71f8451d15702129b0b026b78ae0c Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Mon, 27 Apr 2026 13:12:46 +0300 Subject: [PATCH 5/6] Normalize "Selenium.Support" assembly --- .../content/blog/2026/dotnet-strong-name-signing.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md index 571ebf1d013..5c0bb39f89d 100644 --- a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md +++ b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md @@ -23,7 +23,7 @@ all of which caused friction, especially in enterprise environments. ## What Changed - `Selenium.WebDriver` and `Selenium.Support` are now strongly signed. - Assembly names change: `WebDriver` → `Selenium.WebDriver`, `WebDriver.Support` → `Selenium.WebDriver.Support`. + Assembly names change: `WebDriver` → `Selenium.WebDriver`, `WebDriver.Support` → `Selenium.Support`. - `AssemblyVersion` stays at `4.0.0.0` (major-only) — no binding redirects needed between `4.x` releases. - `Selenium.WebDriver.StrongNamed` and `Selenium.Support.StrongNamed` are **retired**. @@ -33,10 +33,10 @@ If you reference the `StrongNamed` packages, migrate as follows: 1. Replace `Selenium.WebDriver.StrongNamed` → `Selenium.WebDriver` 2. Replace `Selenium.Support.StrongNamed` → `Selenium.Support` -3. Update assembly references: `WebDriver.StrongNamed` → `Selenium.WebDriver`, `WebDriver.Support.StrongNamed` → `Selenium.WebDriver.Support` +3. Update assembly references: `WebDriver.StrongNamed` → `Selenium.WebDriver`, `WebDriver.Support.StrongNamed` → `Selenium.Support` If you use the regular packages — the assemblies are now signed but the assembly names change -(`WebDriver.dll` → `Selenium.WebDriver.dll`, `WebDriver.Support.dll` → `Selenium.WebDriver.Support.dll`), +(`WebDriver.dll` → `Selenium.WebDriver.dll`, `WebDriver.Support.dll` → `Selenium.Support.dll`), so update any explicit assembly references accordingly. The public API is unchanged. ## Related Issues From d9b266ef005e259677b109388022c0bc876c4e47 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Mon, 27 Apr 2026 23:49:02 +0300 Subject: [PATCH 6/6] Don't wrap --- .../content/blog/2026/dotnet-strong-name-signing.md | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md index 5c0bb39f89d..78f64bab488 100644 --- a/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md +++ b/website_and_docs/content/blog/2026/dotnet-strong-name-signing.md @@ -9,16 +9,11 @@ description: > Starting with Selenium 4.44, the main NuGet packages ship strongly signed assemblies. The separate StrongNamed packages are retired. --- -Starting with **Selenium 4.44**, the `Selenium.WebDriver` and `Selenium.Support` NuGet packages -ship **strongly signed assemblies**. The separate `Selenium.WebDriver.StrongNamed` and -`Selenium.Support.StrongNamed` packages are discontinued. +Starting with **Selenium 4.44**, the `Selenium.WebDriver` and `Selenium.Support` NuGet packages ship **strongly signed assemblies**. The separate `Selenium.WebDriver.StrongNamed` and `Selenium.Support.StrongNamed` packages are discontinued. ## Why This Matters -Without strong naming on the official packages, any project that itself needed to be strongly signed -could not reference Selenium from NuGet. Teams were forced to either forgo strong naming, bundle -out-of-band downloads, or use the separate `StrongNamed` packages with a different assembly name — -all of which caused friction, especially in enterprise environments. +Without strong naming on the official packages, any project that itself needed to be strongly signed could not reference Selenium from NuGet. Teams were forced to either forgo strong naming, bundle out-of-band downloads, or use the separate `StrongNamed` packages with a different assembly name — all of which caused friction, especially in enterprise environments. ## What Changed @@ -35,9 +30,7 @@ If you reference the `StrongNamed` packages, migrate as follows: 2. Replace `Selenium.Support.StrongNamed` → `Selenium.Support` 3. Update assembly references: `WebDriver.StrongNamed` → `Selenium.WebDriver`, `WebDriver.Support.StrongNamed` → `Selenium.Support` -If you use the regular packages — the assemblies are now signed but the assembly names change -(`WebDriver.dll` → `Selenium.WebDriver.dll`, `WebDriver.Support.dll` → `Selenium.Support.dll`), -so update any explicit assembly references accordingly. The public API is unchanged. +If you use the regular packages — the assemblies are now signed but the assembly names change (`WebDriver.dll` → `Selenium.WebDriver.dll`, `WebDriver.Support.dll` → `Selenium.Support.dll`), so update any explicit assembly references accordingly. The public API is unchanged. ## Related Issues