From 1952887b3bc95b80ef901e91bc6ccd297aa0b698 Mon Sep 17 00:00:00 2001
From: Robert Bill <147130488+RobSlgm@users.noreply.github.com>
Date: Tue, 28 Apr 2026 14:11:57 +0200
Subject: [PATCH 1/4] Update github actions
---
.github/workflows/dotnet.yml | 4 ++--
.github/workflows/publish-release.yml | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
index 674bb23..9f0f3ca 100644
--- a/.github/workflows/dotnet.yml
+++ b/.github/workflows/dotnet.yml
@@ -25,7 +25,7 @@ jobs:
cache: true
cache-dependency-path: "**/packages.lock.json"
- - uses: dotnet/nbgv@v0.4.2
+ - uses: dotnet/nbgv@v0.5.1
id: nbgv
with:
setAllVars: true
@@ -40,7 +40,7 @@ jobs:
run: dotnet test --no-build -c Release --verbosity normal
- name: Upload Nuget package as Artifact
- uses: actions/upload-artifact@v5
+ uses: actions/upload-artifact@v6
with:
name: ClosureOSS.WebPush.${{ steps.nbgv.outputs.NuGetPackageVersion }}
path: ./artifacts/package/release/*nupkg
diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml
index c19ad15..ebdb1be 100644
--- a/.github/workflows/publish-release.yml
+++ b/.github/workflows/publish-release.yml
@@ -27,7 +27,7 @@ jobs:
cache: true
cache-dependency-path: '**/packages.lock.json'
- - uses: dotnet/nbgv@v0.4.2
+ - uses: dotnet/nbgv@v0.5.1
id: nbgv
with:
setAllVars: true
@@ -116,7 +116,7 @@ jobs:
- name: Create Release
id: create_release
- uses: softprops/action-gh-release@v2
+ uses: softprops/action-gh-release@v3
with:
name: ${{ steps.nbgv.outputs.SemVer2 }}
tag_name: ${{ steps.nbgv.outputs.SemVer2 }}
From 7d576dc1da690ce9f364e66137e35e3c5c4881bb Mon Sep 17 00:00:00 2001
From: Robert Bill <147130488+RobSlgm@users.noreply.github.com>
Date: Tue, 28 Apr 2026 14:12:16 +0200
Subject: [PATCH 2/4] Update nuget
---
WebPush.Test/WebPush.Test.csproj | 6 +-
WebPush.Test/packages.lock.json | 194 +++++++++++++++----------------
WebPush/WebPush.csproj | 4 +-
WebPush/packages.lock.json | 42 +++----
4 files changed, 123 insertions(+), 123 deletions(-)
diff --git a/WebPush.Test/WebPush.Test.csproj b/WebPush.Test/WebPush.Test.csproj
index 3fdaaac..c832a34 100755
--- a/WebPush.Test/WebPush.Test.csproj
+++ b/WebPush.Test/WebPush.Test.csproj
@@ -6,10 +6,10 @@
true
-
+
-
-
+
+
diff --git a/WebPush.Test/packages.lock.json b/WebPush.Test/packages.lock.json
index bb1ca4c..5d944d5 100644
--- a/WebPush.Test/packages.lock.json
+++ b/WebPush.Test/packages.lock.json
@@ -4,12 +4,12 @@
"net10.0": {
"Microsoft.NET.Test.Sdk": {
"type": "Direct",
- "requested": "[18.3.0, )",
- "resolved": "18.3.0",
- "contentHash": "xW3kXuWRQtgoxJp4J+gdhHSQyK+6Wb/AZDSd7lMvuMRYlZ1tnpkojyfZlWilB5G4dmZ0Y0ZxU/M23TlubndNkw==",
+ "requested": "[18.4.0, )",
+ "resolved": "18.4.0",
+ "contentHash": "w49iZdL4HL6V25l41NVQLXWQ+e71GvSkKVteMrOL02gP/PUkcnO/1yEb2s9FntU4wGmJWfKnyrRAhcMHd9ZZNA==",
"dependencies": {
- "Microsoft.CodeCoverage": "18.3.0",
- "Microsoft.TestPlatform.TestHost": "18.3.0"
+ "Microsoft.CodeCoverage": "18.4.0",
+ "Microsoft.TestPlatform.TestHost": "18.4.0"
}
},
"Moq": {
@@ -23,22 +23,22 @@
},
"MSTest.TestAdapter": {
"type": "Direct",
- "requested": "[4.1.0, )",
- "resolved": "4.1.0",
- "contentHash": "bRW1Hftwq0XbcVExcAbj4YAfSZDRAziL0mygDkPBvaUe2nSsWFQIatze5lHVjPFJMvSFgWnItku4pguIy5FowQ==",
+ "requested": "[4.2.1, )",
+ "resolved": "4.2.1",
+ "contentHash": "lZRgNzaQnffK4XLjM/og4Eoqp/3IkpcyJQQcyKXkPdkzCT3+ghpwHa9zG1xYhQDbUFoc54M+/waLwh31K9stDQ==",
"dependencies": {
- "MSTest.TestFramework": "4.1.0",
- "Microsoft.Testing.Extensions.VSTestBridge": "2.1.0",
- "Microsoft.Testing.Platform.MSBuild": "2.1.0"
+ "MSTest.TestFramework": "4.2.1",
+ "Microsoft.Testing.Extensions.VSTestBridge": "2.2.1",
+ "Microsoft.Testing.Platform.MSBuild": "2.2.1"
}
},
"MSTest.TestFramework": {
"type": "Direct",
- "requested": "[4.1.0, )",
- "resolved": "4.1.0",
- "contentHash": "BzpvsK+CRbk6khwY62h+7HfYzIxtJXyPv9tOI9T90cy5CVy+WI1JkN4ZaNL4Dobqb6dywSwabLTIbPZKpdrr+A==",
+ "requested": "[4.2.1, )",
+ "resolved": "4.2.1",
+ "contentHash": "I4/RbS2TpGZ56CE98+jPbrGlcerYtw2LvPVKzQGvyQQcJDekPy2Kd+fnThXYn+geJ1sW+vA9B7++rFNxvKcWxA==",
"dependencies": {
- "MSTest.Analyzers": "4.1.0"
+ "MSTest.Analyzers": "4.2.1"
}
},
"Nerdbank.GitVersioning": {
@@ -68,20 +68,20 @@
},
"Microsoft.CodeCoverage": {
"type": "Transitive",
- "resolved": "18.3.0",
- "contentHash": "23BNy/vziREC20Wwhb50K7+kZe0m07KlLWDQv4qjJ9tt3QjpDpDIqJFrhYHmMEo9xDkuSp55U/8h4bMF7MiB+g=="
+ "resolved": "18.4.0",
+ "contentHash": "9O0BtCfzCWrkAmK187ugKdq72HHOXoOUjuWFDVc2LsZZ0pOnA9bTt+Sg9q4cF+MoAaUU+MuWtvBuFsnduviJow=="
},
"Microsoft.Extensions.DependencyInjection.Abstractions": {
"type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "iVMtq9eRvzyhx8949EGT0OCYJfXi737SbRVzWXE5GrOgGj5AaZ9eUuxA/BSUfmOMALKn/g8KfFaNQw0eiB3lyA=="
+ "resolved": "10.0.7",
+ "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw=="
},
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "9HOdqlDtPptVcmKAjsQ/Nr5Rxfq6FMYLdhvZh1lVmeKR738qeYecQD7+ldooXf+u2KzzR1kafSphWngIM3C6ug==",
+ "resolved": "10.0.7",
+ "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7"
}
},
"Microsoft.IdentityModel.Abstractions": {
@@ -116,63 +116,63 @@
},
"Microsoft.Testing.Extensions.Telemetry": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "5TwgTx2u7k9Al/xbZ18QXq4Hdy2xewkVTI6K3sk+jY2ykqUkIKNuj7rFu3GOV5KnEUkevhw6eZcyZs77STHJIA==",
+ "resolved": "2.2.1",
+ "contentHash": "7zB8BjffOyvqfHF26rFVPuK0w1fCf5+j1tLuhHIr76CqxXkGb+fMJtq6YNOV+m6qPytExHMXxluk3RgJ+dSIqw==",
"dependencies": {
"Microsoft.ApplicationInsights": "2.23.0",
- "Microsoft.Testing.Platform": "2.1.0"
+ "Microsoft.Testing.Platform": "2.2.1"
}
},
"Microsoft.Testing.Extensions.TrxReport.Abstractions": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "D8xmIJYQFJ6D49Rx5/vPrkZZxb338Jkew+eSqZLBfBiWKw4QZKy3i1BOXiLfz0lOmaNErwDz/YWRojCdNl+B9Q==",
+ "resolved": "2.2.1",
+ "contentHash": "RD6D1Jx6cKDA5IHd1H2q8ylIuQG3PD+gdULI0JC8CvsRtaypFzTFpB5xDPuQi8o6kAkcM04cBhAiJPxZboNH2Q==",
"dependencies": {
- "Microsoft.Testing.Platform": "2.1.0"
+ "Microsoft.Testing.Platform": "2.2.1"
}
},
"Microsoft.Testing.Extensions.VSTestBridge": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "bNRIEA2YoGr+Y+7LHdA7i1U80+7BAdf4K4Qh4Kx6eKkoBK/NV7QpoMg+GWPP0/eqAFzuUmUOIPVZ87Oo0Vyxmw==",
+ "resolved": "2.2.1",
+ "contentHash": "D8AGlkNtlTQPe3zf4SLnHBMr13lerMe0RuHSoRfnRatcuX/T7YbRtgn39rWBjKhXsNio0WXKrPKv3gfWE2I46w==",
"dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.0.1",
- "Microsoft.Testing.Extensions.Telemetry": "2.1.0",
- "Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.1.0",
- "Microsoft.Testing.Platform": "2.1.0"
+ "Microsoft.TestPlatform.ObjectModel": "18.3.0",
+ "Microsoft.Testing.Extensions.Telemetry": "2.2.1",
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.2.1",
+ "Microsoft.Testing.Platform": "2.2.1"
}
},
"Microsoft.Testing.Platform": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "aHkjNTGIA+Zbdw6RJgSFrbDrCjO0CgqpElqYcvkRSeUhBv2bKarnvU3ep786U7UqrPlArT/B7VmImRibJD0Zrg=="
+ "resolved": "2.2.1",
+ "contentHash": "9bbPuls/b6/vUFzxbSjJLZlJHyKBfOZE5kjIY+ITI2ASqlFPJhR83BdLydJeQOCLEZhEbrEcz5xtt1B69nwSVg=="
},
"Microsoft.Testing.Platform.MSBuild": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "UpfPebXQtHGrWz21+YLHmJSm+5zsuPE9U9pfdCtoB+67g75fDmWlNgpkH2ZmdVhSwkjNIed9Icg8Iu63z2ei5Q==",
+ "resolved": "2.2.1",
+ "contentHash": "CSJOcZHfKlTyPbS0CTJk6iEnU4gJC+eUA5z72UBnMDRdgVHYOmB8k9Y7jT233gZjnCOQiYFg3acQHRfu2H62nw==",
"dependencies": {
- "Microsoft.Testing.Platform": "2.1.0"
+ "Microsoft.Testing.Platform": "2.2.1"
}
},
"Microsoft.TestPlatform.ObjectModel": {
"type": "Transitive",
- "resolved": "18.3.0",
- "contentHash": "AEIEX2aWdPO9XbtR96eBaJxmXRD9vaI9uQ1T/JbPEKlTAZwYx0ZrMzKyULMdh/HH9Sg03kXCoN7LszQ90o6nPQ=="
+ "resolved": "18.4.0",
+ "contentHash": "4L6m2kS2pY5uJ9cpeRxzW22opr6ttScIRqsOpMDQpgENp/ZwxkkQCcmc6LRSURo2dFaaSW5KVflQZvroiJ7Wzg=="
},
"Microsoft.TestPlatform.TestHost": {
"type": "Transitive",
- "resolved": "18.3.0",
- "contentHash": "twmsoelXnp1uWMU3VGip9f0Jr1mZ0PZqgJdF35CIrdYgYrkHIJMV1m8uKyhcdjLdsQDESHAgkR7KhS9i1qpJag==",
+ "resolved": "18.4.0",
+ "contentHash": "gZsCHI+zOmZCcKZieIL4Jg14qKD2OGZOmX5DehuIk1EA9BN6Crm0+taXQNEuajOH1G9CCyBxw8VWR4t5tumcng==",
"dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.3.0",
+ "Microsoft.TestPlatform.ObjectModel": "18.4.0",
"Newtonsoft.Json": "13.0.3"
}
},
"MSTest.Analyzers": {
"type": "Transitive",
- "resolved": "4.1.0",
- "contentHash": "4ElL/aqomiUInr090VN4udqz46AuszXLrifHkLrgj0zb7na8eAoyUQt3BwDLTcGd1bSkmk3SfD02rZtKU+ZiqQ=="
+ "resolved": "4.2.1",
+ "contentHash": "1i9jgE/42KGGyZ4s0MdrYM/Uu/dRYhbRfYQifcO0AZ6vw4sBXRjoQGQRGNSm771AYgPAmoGl0u4sJc2lMET6HQ=="
},
"Newtonsoft.Json": {
"type": "Transitive",
@@ -187,7 +187,7 @@
"ClosureOSS.WebPush": {
"type": "Project",
"dependencies": {
- "Microsoft.Extensions.Logging.Abstractions": "[10.0.5, )",
+ "Microsoft.Extensions.Logging.Abstractions": "[10.0.7, )",
"Microsoft.IdentityModel.JsonWebTokens": "[8.17.0, )",
"Microsoft.IdentityModel.Tokens": "[8.17.0, )"
}
@@ -196,12 +196,12 @@
"net9.0": {
"Microsoft.NET.Test.Sdk": {
"type": "Direct",
- "requested": "[18.3.0, )",
- "resolved": "18.3.0",
- "contentHash": "xW3kXuWRQtgoxJp4J+gdhHSQyK+6Wb/AZDSd7lMvuMRYlZ1tnpkojyfZlWilB5G4dmZ0Y0ZxU/M23TlubndNkw==",
+ "requested": "[18.4.0, )",
+ "resolved": "18.4.0",
+ "contentHash": "w49iZdL4HL6V25l41NVQLXWQ+e71GvSkKVteMrOL02gP/PUkcnO/1yEb2s9FntU4wGmJWfKnyrRAhcMHd9ZZNA==",
"dependencies": {
- "Microsoft.CodeCoverage": "18.3.0",
- "Microsoft.TestPlatform.TestHost": "18.3.0"
+ "Microsoft.CodeCoverage": "18.4.0",
+ "Microsoft.TestPlatform.TestHost": "18.4.0"
}
},
"Moq": {
@@ -215,22 +215,22 @@
},
"MSTest.TestAdapter": {
"type": "Direct",
- "requested": "[4.1.0, )",
- "resolved": "4.1.0",
- "contentHash": "bRW1Hftwq0XbcVExcAbj4YAfSZDRAziL0mygDkPBvaUe2nSsWFQIatze5lHVjPFJMvSFgWnItku4pguIy5FowQ==",
+ "requested": "[4.2.1, )",
+ "resolved": "4.2.1",
+ "contentHash": "lZRgNzaQnffK4XLjM/og4Eoqp/3IkpcyJQQcyKXkPdkzCT3+ghpwHa9zG1xYhQDbUFoc54M+/waLwh31K9stDQ==",
"dependencies": {
- "MSTest.TestFramework": "4.1.0",
- "Microsoft.Testing.Extensions.VSTestBridge": "2.1.0",
- "Microsoft.Testing.Platform.MSBuild": "2.1.0"
+ "MSTest.TestFramework": "4.2.1",
+ "Microsoft.Testing.Extensions.VSTestBridge": "2.2.1",
+ "Microsoft.Testing.Platform.MSBuild": "2.2.1"
}
},
"MSTest.TestFramework": {
"type": "Direct",
- "requested": "[4.1.0, )",
- "resolved": "4.1.0",
- "contentHash": "BzpvsK+CRbk6khwY62h+7HfYzIxtJXyPv9tOI9T90cy5CVy+WI1JkN4ZaNL4Dobqb6dywSwabLTIbPZKpdrr+A==",
+ "requested": "[4.2.1, )",
+ "resolved": "4.2.1",
+ "contentHash": "I4/RbS2TpGZ56CE98+jPbrGlcerYtw2LvPVKzQGvyQQcJDekPy2Kd+fnThXYn+geJ1sW+vA9B7++rFNxvKcWxA==",
"dependencies": {
- "MSTest.Analyzers": "4.1.0"
+ "MSTest.Analyzers": "4.2.1"
}
},
"Nerdbank.GitVersioning": {
@@ -260,21 +260,21 @@
},
"Microsoft.CodeCoverage": {
"type": "Transitive",
- "resolved": "18.3.0",
- "contentHash": "23BNy/vziREC20Wwhb50K7+kZe0m07KlLWDQv4qjJ9tt3QjpDpDIqJFrhYHmMEo9xDkuSp55U/8h4bMF7MiB+g=="
+ "resolved": "18.4.0",
+ "contentHash": "9O0BtCfzCWrkAmK187ugKdq72HHOXoOUjuWFDVc2LsZZ0pOnA9bTt+Sg9q4cF+MoAaUU+MuWtvBuFsnduviJow=="
},
"Microsoft.Extensions.DependencyInjection.Abstractions": {
"type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "iVMtq9eRvzyhx8949EGT0OCYJfXi737SbRVzWXE5GrOgGj5AaZ9eUuxA/BSUfmOMALKn/g8KfFaNQw0eiB3lyA=="
+ "resolved": "10.0.7",
+ "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw=="
},
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "9HOdqlDtPptVcmKAjsQ/Nr5Rxfq6FMYLdhvZh1lVmeKR738qeYecQD7+ldooXf+u2KzzR1kafSphWngIM3C6ug==",
+ "resolved": "10.0.7",
+ "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5",
- "System.Diagnostics.DiagnosticSource": "10.0.5"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7",
+ "System.Diagnostics.DiagnosticSource": "10.0.7"
}
},
"Microsoft.IdentityModel.Abstractions": {
@@ -309,63 +309,63 @@
},
"Microsoft.Testing.Extensions.Telemetry": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "5TwgTx2u7k9Al/xbZ18QXq4Hdy2xewkVTI6K3sk+jY2ykqUkIKNuj7rFu3GOV5KnEUkevhw6eZcyZs77STHJIA==",
+ "resolved": "2.2.1",
+ "contentHash": "7zB8BjffOyvqfHF26rFVPuK0w1fCf5+j1tLuhHIr76CqxXkGb+fMJtq6YNOV+m6qPytExHMXxluk3RgJ+dSIqw==",
"dependencies": {
"Microsoft.ApplicationInsights": "2.23.0",
- "Microsoft.Testing.Platform": "2.1.0"
+ "Microsoft.Testing.Platform": "2.2.1"
}
},
"Microsoft.Testing.Extensions.TrxReport.Abstractions": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "D8xmIJYQFJ6D49Rx5/vPrkZZxb338Jkew+eSqZLBfBiWKw4QZKy3i1BOXiLfz0lOmaNErwDz/YWRojCdNl+B9Q==",
+ "resolved": "2.2.1",
+ "contentHash": "RD6D1Jx6cKDA5IHd1H2q8ylIuQG3PD+gdULI0JC8CvsRtaypFzTFpB5xDPuQi8o6kAkcM04cBhAiJPxZboNH2Q==",
"dependencies": {
- "Microsoft.Testing.Platform": "2.1.0"
+ "Microsoft.Testing.Platform": "2.2.1"
}
},
"Microsoft.Testing.Extensions.VSTestBridge": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "bNRIEA2YoGr+Y+7LHdA7i1U80+7BAdf4K4Qh4Kx6eKkoBK/NV7QpoMg+GWPP0/eqAFzuUmUOIPVZ87Oo0Vyxmw==",
+ "resolved": "2.2.1",
+ "contentHash": "D8AGlkNtlTQPe3zf4SLnHBMr13lerMe0RuHSoRfnRatcuX/T7YbRtgn39rWBjKhXsNio0WXKrPKv3gfWE2I46w==",
"dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.0.1",
- "Microsoft.Testing.Extensions.Telemetry": "2.1.0",
- "Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.1.0",
- "Microsoft.Testing.Platform": "2.1.0"
+ "Microsoft.TestPlatform.ObjectModel": "18.3.0",
+ "Microsoft.Testing.Extensions.Telemetry": "2.2.1",
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.2.1",
+ "Microsoft.Testing.Platform": "2.2.1"
}
},
"Microsoft.Testing.Platform": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "aHkjNTGIA+Zbdw6RJgSFrbDrCjO0CgqpElqYcvkRSeUhBv2bKarnvU3ep786U7UqrPlArT/B7VmImRibJD0Zrg=="
+ "resolved": "2.2.1",
+ "contentHash": "9bbPuls/b6/vUFzxbSjJLZlJHyKBfOZE5kjIY+ITI2ASqlFPJhR83BdLydJeQOCLEZhEbrEcz5xtt1B69nwSVg=="
},
"Microsoft.Testing.Platform.MSBuild": {
"type": "Transitive",
- "resolved": "2.1.0",
- "contentHash": "UpfPebXQtHGrWz21+YLHmJSm+5zsuPE9U9pfdCtoB+67g75fDmWlNgpkH2ZmdVhSwkjNIed9Icg8Iu63z2ei5Q==",
+ "resolved": "2.2.1",
+ "contentHash": "CSJOcZHfKlTyPbS0CTJk6iEnU4gJC+eUA5z72UBnMDRdgVHYOmB8k9Y7jT233gZjnCOQiYFg3acQHRfu2H62nw==",
"dependencies": {
- "Microsoft.Testing.Platform": "2.1.0"
+ "Microsoft.Testing.Platform": "2.2.1"
}
},
"Microsoft.TestPlatform.ObjectModel": {
"type": "Transitive",
- "resolved": "18.3.0",
- "contentHash": "AEIEX2aWdPO9XbtR96eBaJxmXRD9vaI9uQ1T/JbPEKlTAZwYx0ZrMzKyULMdh/HH9Sg03kXCoN7LszQ90o6nPQ=="
+ "resolved": "18.4.0",
+ "contentHash": "4L6m2kS2pY5uJ9cpeRxzW22opr6ttScIRqsOpMDQpgENp/ZwxkkQCcmc6LRSURo2dFaaSW5KVflQZvroiJ7Wzg=="
},
"Microsoft.TestPlatform.TestHost": {
"type": "Transitive",
- "resolved": "18.3.0",
- "contentHash": "twmsoelXnp1uWMU3VGip9f0Jr1mZ0PZqgJdF35CIrdYgYrkHIJMV1m8uKyhcdjLdsQDESHAgkR7KhS9i1qpJag==",
+ "resolved": "18.4.0",
+ "contentHash": "gZsCHI+zOmZCcKZieIL4Jg14qKD2OGZOmX5DehuIk1EA9BN6Crm0+taXQNEuajOH1G9CCyBxw8VWR4t5tumcng==",
"dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.3.0",
+ "Microsoft.TestPlatform.ObjectModel": "18.4.0",
"Newtonsoft.Json": "13.0.3"
}
},
"MSTest.Analyzers": {
"type": "Transitive",
- "resolved": "4.1.0",
- "contentHash": "4ElL/aqomiUInr090VN4udqz46AuszXLrifHkLrgj0zb7na8eAoyUQt3BwDLTcGd1bSkmk3SfD02rZtKU+ZiqQ=="
+ "resolved": "4.2.1",
+ "contentHash": "1i9jgE/42KGGyZ4s0MdrYM/Uu/dRYhbRfYQifcO0AZ6vw4sBXRjoQGQRGNSm771AYgPAmoGl0u4sJc2lMET6HQ=="
},
"Newtonsoft.Json": {
"type": "Transitive",
@@ -374,8 +374,8 @@
},
"System.Diagnostics.DiagnosticSource": {
"type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "CCbzHQ26L3jskdwHh+4bxxW84lUMIrAAmeSlpO69AlrQV0DKbj1/I+feLaLSuZeqXPr9UlSy0OcgZoXOk2a6/g=="
+ "resolved": "10.0.7",
+ "contentHash": "Fu6AxFf9bHz/Q7DQmxKC0o+UgFes8bs2Xh+PH/x31yExRAOASTwlzjZsISTtqVU5gQshKHLZopxEBTaIyfv0wg=="
},
"System.Diagnostics.EventLog": {
"type": "Transitive",
@@ -385,7 +385,7 @@
"ClosureOSS.WebPush": {
"type": "Project",
"dependencies": {
- "Microsoft.Extensions.Logging.Abstractions": "[10.0.5, )",
+ "Microsoft.Extensions.Logging.Abstractions": "[10.0.7, )",
"Microsoft.IdentityModel.JsonWebTokens": "[8.17.0, )",
"Microsoft.IdentityModel.Tokens": "[8.17.0, )"
}
diff --git a/WebPush/WebPush.csproj b/WebPush/WebPush.csproj
index b526066..263767d 100755
--- a/WebPush/WebPush.csproj
+++ b/WebPush/WebPush.csproj
@@ -32,13 +32,13 @@
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+
diff --git a/WebPush/packages.lock.json b/WebPush/packages.lock.json
index 0987dd7..6150769 100644
--- a/WebPush/packages.lock.json
+++ b/WebPush/packages.lock.json
@@ -4,17 +4,17 @@
"net10.0": {
"Meziantou.Analyzer": {
"type": "Direct",
- "requested": "[3.0.28, )",
- "resolved": "3.0.28",
- "contentHash": "53oxxKWXZc/6KIJV2kaBW2jyU23WA5B92IJIoa5MEj9pPZk0P8mw3aNrqW+q+dqp21o4Vl/r+jz3OEfs4xGBzQ=="
+ "requested": "[3.0.56, )",
+ "resolved": "3.0.56",
+ "contentHash": "kh6dGYKqDkkcrqBFzsd/DWa6thojGSA3+7Ngoft5rkew4+Wyn0WB8K5qqR4IN2y5Jz60230mQpx25X83qBUllA=="
},
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Direct",
- "requested": "[10.0.5, )",
- "resolved": "10.0.5",
- "contentHash": "9HOdqlDtPptVcmKAjsQ/Nr5Rxfq6FMYLdhvZh1lVmeKR738qeYecQD7+ldooXf+u2KzzR1kafSphWngIM3C6ug==",
+ "requested": "[10.0.7, )",
+ "resolved": "10.0.7",
+ "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7"
}
},
"Microsoft.IdentityModel.JsonWebTokens": {
@@ -44,8 +44,8 @@
},
"Microsoft.Extensions.DependencyInjection.Abstractions": {
"type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "iVMtq9eRvzyhx8949EGT0OCYJfXi737SbRVzWXE5GrOgGj5AaZ9eUuxA/BSUfmOMALKn/g8KfFaNQw0eiB3lyA=="
+ "resolved": "10.0.7",
+ "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw=="
},
"Microsoft.IdentityModel.Abstractions": {
"type": "Transitive",
@@ -64,18 +64,18 @@
"net9.0": {
"Meziantou.Analyzer": {
"type": "Direct",
- "requested": "[3.0.28, )",
- "resolved": "3.0.28",
- "contentHash": "53oxxKWXZc/6KIJV2kaBW2jyU23WA5B92IJIoa5MEj9pPZk0P8mw3aNrqW+q+dqp21o4Vl/r+jz3OEfs4xGBzQ=="
+ "requested": "[3.0.56, )",
+ "resolved": "3.0.56",
+ "contentHash": "kh6dGYKqDkkcrqBFzsd/DWa6thojGSA3+7Ngoft5rkew4+Wyn0WB8K5qqR4IN2y5Jz60230mQpx25X83qBUllA=="
},
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Direct",
- "requested": "[10.0.5, )",
- "resolved": "10.0.5",
- "contentHash": "9HOdqlDtPptVcmKAjsQ/Nr5Rxfq6FMYLdhvZh1lVmeKR738qeYecQD7+ldooXf+u2KzzR1kafSphWngIM3C6ug==",
+ "requested": "[10.0.7, )",
+ "resolved": "10.0.7",
+ "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5",
- "System.Diagnostics.DiagnosticSource": "10.0.5"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7",
+ "System.Diagnostics.DiagnosticSource": "10.0.7"
}
},
"Microsoft.IdentityModel.JsonWebTokens": {
@@ -105,8 +105,8 @@
},
"Microsoft.Extensions.DependencyInjection.Abstractions": {
"type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "iVMtq9eRvzyhx8949EGT0OCYJfXi737SbRVzWXE5GrOgGj5AaZ9eUuxA/BSUfmOMALKn/g8KfFaNQw0eiB3lyA=="
+ "resolved": "10.0.7",
+ "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw=="
},
"Microsoft.IdentityModel.Abstractions": {
"type": "Transitive",
@@ -123,8 +123,8 @@
},
"System.Diagnostics.DiagnosticSource": {
"type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "CCbzHQ26L3jskdwHh+4bxxW84lUMIrAAmeSlpO69AlrQV0DKbj1/I+feLaLSuZeqXPr9UlSy0OcgZoXOk2a6/g=="
+ "resolved": "10.0.7",
+ "contentHash": "Fu6AxFf9bHz/Q7DQmxKC0o+UgFes8bs2Xh+PH/x31yExRAOASTwlzjZsISTtqVU5gQshKHLZopxEBTaIyfv0wg=="
}
}
}
From 686c1c81fc05e35a298dd400aa811ea721c9b8f3 Mon Sep 17 00:00:00 2001
From: Robert Bill <147130488+RobSlgm@users.noreply.github.com>
Date: Tue, 28 Apr 2026 14:32:28 +0200
Subject: [PATCH 3/4] Update nuget and format
---
WebPush.Test/ECKeyHelperTest.cs | 2 +-
WebPush.Test/EncryptorTest.cs | 2 +-
WebPush.Test/JWSSignerTest.cs | 8 ++++----
WebPush.Test/VapidHelperTest.cs | 1 +
WebPush.Test/WebPushClientTest.cs | 8 ++++----
WebPush/Model/ContentEncoding.cs | 4 ++--
WebPush/Model/EncryptionResult.cs | 2 +-
WebPush/Model/Urgency.cs | 2 +-
WebPush/Model/WebPushException.cs | 4 ++--
WebPush/Model/WebPushOptions.cs | 4 ++--
WebPush/Util/Encryptor.cs | 1 +
WebPush/Util/EnumHelper.cs | 8 ++++----
WebPush/VapidHelper.cs | 1 +
WebPush/WebPush.csproj | 1 +
WebPush/packages.lock.json | 24 ++++++++++++------------
15 files changed, 38 insertions(+), 34 deletions(-)
diff --git a/WebPush.Test/ECKeyHelperTest.cs b/WebPush.Test/ECKeyHelperTest.cs
index 6ffd437..cd03cec 100644
--- a/WebPush.Test/ECKeyHelperTest.cs
+++ b/WebPush.Test/ECKeyHelperTest.cs
@@ -85,4 +85,4 @@ public void TestGetKeyPairNet()
var importedPrivateKey = keypair.GetEncodedPrivateKey();
Assert.AreEqual(TestPrivateKey, importedPrivateKey);
}
-}
\ No newline at end of file
+}
diff --git a/WebPush.Test/EncryptorTest.cs b/WebPush.Test/EncryptorTest.cs
index f7ce681..9bde97c 100644
--- a/WebPush.Test/EncryptorTest.cs
+++ b/WebPush.Test/EncryptorTest.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
diff --git a/WebPush.Test/JWSSignerTest.cs b/WebPush.Test/JWSSignerTest.cs
index 6bbb81c..1cae0ac 100644
--- a/WebPush.Test/JWSSignerTest.cs
+++ b/WebPush.Test/JWSSignerTest.cs
@@ -1,10 +1,10 @@
-using System.Text;
+using System;
+using System.Security.Claims;
+using System.Text;
+using Microsoft.IdentityModel.JsonWebTokens;
using Microsoft.IdentityModel.Tokens;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WebPush.Util;
-using Microsoft.IdentityModel.JsonWebTokens;
-using System;
-using System.Security.Claims;
namespace WebPush.Test;
diff --git a/WebPush.Test/VapidHelperTest.cs b/WebPush.Test/VapidHelperTest.cs
index ba58bdb..028d5e5 100644
--- a/WebPush.Test/VapidHelperTest.cs
+++ b/WebPush.Test/VapidHelperTest.cs
@@ -3,6 +3,7 @@
using System.Text;
using Microsoft.IdentityModel.Tokens;
using Microsoft.VisualStudio.TestTools.UnitTesting;
+using WebPush.Model;
namespace WebPush.Test;
diff --git a/WebPush.Test/WebPushClientTest.cs b/WebPush.Test/WebPushClientTest.cs
index 015402f..ceffd2e 100644
--- a/WebPush.Test/WebPushClientTest.cs
+++ b/WebPush.Test/WebPushClientTest.cs
@@ -1,9 +1,9 @@
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using RichardSzalay.MockHttp;
-using System;
+using System;
using System.Linq;
using System.Net;
using System.Net.Http;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using RichardSzalay.MockHttp;
using WebPush.Model;
namespace WebPush.Test;
@@ -141,4 +141,4 @@ private void TestSendNotification(HttpStatusCode status, string response = null,
client.SendNotification(subscription, "123");
}
-}
\ No newline at end of file
+}
diff --git a/WebPush/Model/ContentEncoding.cs b/WebPush/Model/ContentEncoding.cs
index 8876659..27a58e2 100644
--- a/WebPush/Model/ContentEncoding.cs
+++ b/WebPush/Model/ContentEncoding.cs
@@ -1,7 +1,7 @@
-namespace WebPush;
+namespace WebPush;
public enum ContentEncoding
{
Aesgcm,
Aes128gcm,
-}
\ No newline at end of file
+}
diff --git a/WebPush/Model/EncryptionResult.cs b/WebPush/Model/EncryptionResult.cs
index 70a3d61..2fed814 100644
--- a/WebPush/Model/EncryptionResult.cs
+++ b/WebPush/Model/EncryptionResult.cs
@@ -1,6 +1,6 @@
using Microsoft.IdentityModel.Tokens;
-namespace WebPush;
+namespace WebPush.Model;
// @LogicSoftware
// Originally From: https://github.com/LogicSoftware/WebPushEncryption/blob/master/src/EncryptionResult.cs
diff --git a/WebPush/Model/Urgency.cs b/WebPush/Model/Urgency.cs
index dc59019..ee98dce 100644
--- a/WebPush/Model/Urgency.cs
+++ b/WebPush/Model/Urgency.cs
@@ -1,4 +1,4 @@
-namespace WebPush;
+namespace WebPush;
public enum Urgency
{
diff --git a/WebPush/Model/WebPushException.cs b/WebPush/Model/WebPushException.cs
index ae65948..86b977d 100644
--- a/WebPush/Model/WebPushException.cs
+++ b/WebPush/Model/WebPushException.cs
@@ -3,7 +3,7 @@
using System.Net.Http;
using System.Net.Http.Headers;
-namespace WebPush;
+namespace WebPush.Model;
public class WebPushException : Exception
{
@@ -18,4 +18,4 @@ public WebPushException(string message, PushSubscription pushSubscription, HttpR
public HttpResponseHeaders Headers => HttpResponseMessage.Headers;
public PushSubscription PushSubscription { get; set; }
public HttpResponseMessage HttpResponseMessage { get; set; }
-}
\ No newline at end of file
+}
diff --git a/WebPush/Model/WebPushOptions.cs b/WebPush/Model/WebPushOptions.cs
index d091747..3b9cbda 100644
--- a/WebPush/Model/WebPushOptions.cs
+++ b/WebPush/Model/WebPushOptions.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
namespace WebPush;
@@ -16,4 +16,4 @@ public class WebPushOptions
// 'proxy',
// 'agent',
// 'timeout'
-}
\ No newline at end of file
+}
diff --git a/WebPush/Util/Encryptor.cs b/WebPush/Util/Encryptor.cs
index 9685654..ed1d3ea 100644
--- a/WebPush/Util/Encryptor.cs
+++ b/WebPush/Util/Encryptor.cs
@@ -3,6 +3,7 @@
using System.Security.Cryptography;
using System.Text;
using Microsoft.IdentityModel.Tokens;
+using WebPush.Model;
[assembly: InternalsVisibleTo("WebPush.Test")]
diff --git a/WebPush/Util/EnumHelper.cs b/WebPush/Util/EnumHelper.cs
index 671988a..07834d5 100644
--- a/WebPush/Util/EnumHelper.cs
+++ b/WebPush/Util/EnumHelper.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Globalization;
using System.Text.RegularExpressions;
@@ -9,10 +9,10 @@ public static partial class EnumHelper
public static string ToKebabCaseLower(this T val) where T : Enum
{
- return RegexVariableName().Replace(val.ToString()!, "${first}-${rest}").ToLower(CultureInfo.InvariantCulture);
+ return RegexVariableName.Replace(val.ToString()!, "${first}-${remainder}").ToLower(CultureInfo.InvariantCulture);
}
- [GeneratedRegex("(?[a-z0-9]|(?<=[a-z0-9]))(?[A-Z])", RegexOptions.None, matchTimeoutMilliseconds: 200)]
- private static partial Regex RegexVariableName();
+ [GeneratedRegex("(?[a-z0-9]|(?<=[a-z0-9]))(?[A-Z])", RegexOptions.None, matchTimeoutMilliseconds: 200)]
+ private static partial Regex RegexVariableName { get; }
}
diff --git a/WebPush/VapidHelper.cs b/WebPush/VapidHelper.cs
index 10b77ac..17f1e5a 100644
--- a/WebPush/VapidHelper.cs
+++ b/WebPush/VapidHelper.cs
@@ -3,6 +3,7 @@
using System.Security.Claims;
using Microsoft.IdentityModel.JsonWebTokens;
using Microsoft.IdentityModel.Tokens;
+using WebPush.Model;
using WebPush.Util;
namespace WebPush;
diff --git a/WebPush/WebPush.csproj b/WebPush/WebPush.csproj
index 263767d..b2a46a7 100755
--- a/WebPush/WebPush.csproj
+++ b/WebPush/WebPush.csproj
@@ -11,6 +11,7 @@
ClosureOSS.WebPush
true
+ true
true
README.md
MPL-2.0
diff --git a/WebPush/packages.lock.json b/WebPush/packages.lock.json
index 6150769..ea96059 100644
--- a/WebPush/packages.lock.json
+++ b/WebPush/packages.lock.json
@@ -2,12 +2,6 @@
"version": 1,
"dependencies": {
"net10.0": {
- "Meziantou.Analyzer": {
- "type": "Direct",
- "requested": "[3.0.56, )",
- "resolved": "3.0.56",
- "contentHash": "kh6dGYKqDkkcrqBFzsd/DWa6thojGSA3+7Ngoft5rkew4+Wyn0WB8K5qqR4IN2y5Jz60230mQpx25X83qBUllA=="
- },
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Direct",
"requested": "[10.0.7, )",
@@ -36,6 +30,12 @@
"Microsoft.IdentityModel.Logging": "8.17.0"
}
},
+ "Microsoft.NET.ILLink.Tasks": {
+ "type": "Direct",
+ "requested": "[10.0.7, )",
+ "resolved": "10.0.7",
+ "contentHash": "AA/yhzFHNtQZXLdqjzujPy25G8EWwGWsAnxOE2zYSBoT/8QHP6ketN3CToD3DFreO653ipUwnKHo22B8AlBMCw=="
+ },
"Nerdbank.GitVersioning": {
"type": "Direct",
"requested": "[3.9.50, )",
@@ -62,12 +62,6 @@
}
},
"net9.0": {
- "Meziantou.Analyzer": {
- "type": "Direct",
- "requested": "[3.0.56, )",
- "resolved": "3.0.56",
- "contentHash": "kh6dGYKqDkkcrqBFzsd/DWa6thojGSA3+7Ngoft5rkew4+Wyn0WB8K5qqR4IN2y5Jz60230mQpx25X83qBUllA=="
- },
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Direct",
"requested": "[10.0.7, )",
@@ -97,6 +91,12 @@
"Microsoft.IdentityModel.Logging": "8.17.0"
}
},
+ "Microsoft.NET.ILLink.Tasks": {
+ "type": "Direct",
+ "requested": "[9.0.15, )",
+ "resolved": "9.0.15",
+ "contentHash": "EejcbfCMR77Dthy77qxRbEShmzLApHZUPqXMBVQK+A0pNrRThkaHoGGMGvbq/gTkC/waKcDEgjBkbaejB58Wtw=="
+ },
"Nerdbank.GitVersioning": {
"type": "Direct",
"requested": "[3.9.50, )",
From b7849d3416b21854eeff9d7883079cc1abb44c67 Mon Sep 17 00:00:00 2001
From: Robert Bill <147130488+RobSlgm@users.noreply.github.com>
Date: Tue, 28 Apr 2026 14:33:26 +0200
Subject: [PATCH 4/4] Fixes namespaces
---
WebPush/VapidHelper.cs | 1 -
WebPush/packages.lock.json | 12 ++++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/WebPush/VapidHelper.cs b/WebPush/VapidHelper.cs
index 17f1e5a..10b77ac 100644
--- a/WebPush/VapidHelper.cs
+++ b/WebPush/VapidHelper.cs
@@ -3,7 +3,6 @@
using System.Security.Claims;
using Microsoft.IdentityModel.JsonWebTokens;
using Microsoft.IdentityModel.Tokens;
-using WebPush.Model;
using WebPush.Util;
namespace WebPush;
diff --git a/WebPush/packages.lock.json b/WebPush/packages.lock.json
index ea96059..81c8038 100644
--- a/WebPush/packages.lock.json
+++ b/WebPush/packages.lock.json
@@ -2,6 +2,12 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Meziantou.Analyzer": {
+ "type": "Direct",
+ "requested": "[3.0.56, )",
+ "resolved": "3.0.56",
+ "contentHash": "kh6dGYKqDkkcrqBFzsd/DWa6thojGSA3+7Ngoft5rkew4+Wyn0WB8K5qqR4IN2y5Jz60230mQpx25X83qBUllA=="
+ },
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Direct",
"requested": "[10.0.7, )",
@@ -62,6 +68,12 @@
}
},
"net9.0": {
+ "Meziantou.Analyzer": {
+ "type": "Direct",
+ "requested": "[3.0.56, )",
+ "resolved": "3.0.56",
+ "contentHash": "kh6dGYKqDkkcrqBFzsd/DWa6thojGSA3+7Ngoft5rkew4+Wyn0WB8K5qqR4IN2y5Jz60230mQpx25X83qBUllA=="
+ },
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Direct",
"requested": "[10.0.7, )",