Walter.Web.FireWall 2025.7.10.1347

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Walter.Web.FireWall --version 2025.7.10.1347
                    
NuGet\Install-Package Walter.Web.FireWall -Version 2025.7.10.1347
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Walter.Web.FireWall" Version="2025.7.10.1347" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Walter.Web.FireWall" Version="2025.7.10.1347" />
                    
Directory.Packages.props
<PackageReference Include="Walter.Web.FireWall" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Walter.Web.FireWall --version 2025.7.10.1347
                    
#r "nuget: Walter.Web.FireWall, 2025.7.10.1347"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Walter.Web.FireWall@2025.7.10.1347
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Walter.Web.FireWall&version=2025.7.10.1347
                    
Install as a Cake Addin
#tool nuget:?package=Walter.Web.FireWall&version=2025.7.10.1347
                    
Install as a Cake Tool

How to get started

This package allows you to protect your firewall using annotations and pre-specified rules. A full getting started document is available at www.asp-waf.com in form of a PDF, compiled help

Unsupported You can't deploy the firewall as an embedded dll in a single file deployment as the firewall will validate the code signing certificate of the assembly. Make sure that you exclude Walter.Web.Firewall.dll from your deploy, for help see the documentation

Get started

The below sample shows how you integrate and enable the firewall in your project.

services.AddFireWall(options =>
    {
        //generate access specify to generate a .connect file that can be used with the remote desktop management software (open source)
        options.Administration.GenerateConnectFile = true;
        options.Administration.DisplayName = "My HomePage";

        //white list IP addresses,and block all other or leave blank to allow all IP will accept single IP, IP with CIDR, or IP with subnet mask 
        //options.Administration.WhiteList("84.195.151.208", "81.206.151.236", "10.0.0.1-255.255.255.0");

        options.Administration.Users.Seed(userName: "admin", password: "pa$$word1234", access: AdminAccess.Full, GeoLocation.EUROPE);
        options.Administration.Users.GuestAccess(GeoLocation.ALL);


        
        options.FireWallMode = Walter.Web.FireWall.FireWallProtectionModes.WebSiteWithApi;

        options.ProtectedEndPointTypes.Add(typeof(BaseController));
        options.TrackUsers = true;


        options.Cashing.GeoLocation.SlidingExpiration = TimeSpan.FromMinutes(20);

        options.ContactDetails.Address = "Your address";
        options.ContactDetails.EMail = "support@myDomain.com";
        options.ContactDetails.Name = "Support";
        options.ContactDetails.Phone = "+352 1111 2222 3333";
        options.ContactDetails.Country = GeoLocation.Luxembourg;

        options.Rules.AllowNonAspNetRequests = 1;
        options.Rules.AllowNonAspNetRequestsIn = TimeSpan.FromMinutes(20);
        options.Rules.RedirectNonAspNetRequestsTo = new Uri("/Home/Blocked", UriKind.Relative);
        options.Rules.RedirectUrlPhishingTo = new Uri("/Home/404", UriKind.Relative);
        options.Rules.AllowWhiteListing = false;
        options.Rules.PhysicalFileWallExcludeReasons = Walter.BOM.FirewallBlockReasons.ALL & ~Walter.BOM.FirewallBlockReasons.NoAccessFromRegion;
        options.Rules.BlockRequest.BlockDuration.SlideExpiration = true;
        options.Rules.BlockRequest.BlockDuration.Expires = TimeSpan.FromSeconds(10);
        options.Rules.AllowWhiteListing = false;
        options.Rules.Headers.AddDefaultSecurePolicy()
                                .AddStrictTransportSecurityNoCache()
                                .AddXssProtectionBlockAndReport()  
                                .AddFrameOptionsDeny()                                
                                .AddContentSecurityPolicyButTrust(trustingSites: Walter.Web.FireWall.TrustingSites.Self | Walter.Web.FireWall.TrustingSites.SubDomains | Walter.Web.FireWall.TrustingSites.GenerateNonce, allowInline:false)
                                ;

    })
    .UseDatabase(DatabaseConnections.FireWallState, "dbo", TimeSpan.FromDays(365))



public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseFireWall(enablePortScannerListners: false)//set to true if you use honey-pot configuration nuget package walter.net.honeypot
                .UseSecurityHeadersMiddleware();
}

The firewall is fully configurable and has quite a few options that allow you to protect against fishing, scrubbing, cross-site attach and much more.

There are a ton of configuration options available using the many annotations

   namespace MyProject.Controllers
   {
       using Walter.Web.FireWall;
       using Walter.Web.FireWall.Annotations;
       using Walter.BOM.Geo;

       [Geo(blockLocation: GeoLocation.AFRICA | GeoLocation.LATIN_AMERICA | GeoLocation.Netherlands)]
       [Users(users: UserTypes.IsHuman | UserTypes.IsSearchEngine)]
       [BlockDuration(duration: 60, sliding: true, doubleDurationPerIncedent: true)]
       public sealed class MembersController : Controller
       {
           private readonly ILogger<MembersController> _logger;
            private readonly IPageRequest _page;
           public HomeController(ILogger<MembersController> logger,IPageRequest page)
           {
               _logger = logger;
               _page=page;
           }

           public IActionResult Index()
           {
               return View();
           }


           [Ignore]
           [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
           public IActionResult Error()
           {
               //the page field will contain all the errors the user ran into
               return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
           }
       }
   }

in your razor pages you can use the firewall tag helpers after importing the tag helpers by adding the following to _ViewImports.cshtml


@using Walter.Web.FireWall

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Walter.Web.FireWall

You can use the tag helper in your razor pages like this

<head>
  ...
  
  @section CSS
  {
    <style firewall-style-nonce>

        h1{
        background-color:azure;
        }
    </style>
  }
<head/>

<body>
    ...
    
    <script firewall-detect></script>    

    
    <script firewall-script-nonce>
        console.warn("nonce works :-)");
    </script>
<body/>

This is just a small set of options of what's possible and additional functionality can be injected using the plugin system by using any of the NuGet packages starting with the name walter.web.firewall.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net9.0-windows7.0 is compatible.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (11)

Showing the top 5 NuGet packages that depend on Walter.Web.FireWall:

Package Downloads
Walter.Web.FireWall.EventLog

Reporting interface for the firewall and the windows to support structured logging to the windows EventLog. The Package extends the reporting functionality to NuGet package Walter.Web.Firewall and is easily activated by dependency injection during service configuration services.AddFireWall(FireWallTrial.License, FireWallTrial.DomainKey , domainName: new Uri("https://www.your-domain.com", UriKind.Absolute) , options => { //your firewall settings }).UseEventLogLogging(options=>{ options.LogName = "FireWall"; options.SourceName = "www.your-domain.com"; }); More information on how to use this Add-On is available in this manual https://www.asp-waf.com/download/ASP-WAF-FireWall-Getting-Started.pdf

Walter.Web.FireWall.SqlLogger

Package that enable SQL Server database storage and logging to NuGet package Walter.Web.Firewall The NuGet package is easily activated by dependency injection during service configuration services.AddFireWall(FireWallTrial.License, FireWallTrial.DomainKey , domainName: new Uri("https://www.your-domain.com", UriKind.Absolute) , options => { //your firewall settings }).UseDataBase(ConfigurationManager.ConnectionStrings["FireWallState"].ConnectionString) .UseFireWallReportingDatabase(ConfigurationManager.ConnectionStrings["FireWallReporting"].ConnectionString); More information on how to use this Add-On is available in this manual https://www.asp-waf.com/download/ASP-WAF-FireWall-Getting-Started.pdf

Walter.Web.FireWall.Geo.Native

Free FireWall native Geo-country code API with limited accuracy. The Package adds functionality to NuGet package Walter.Web.Firewall More information on how to use this Add-On is available in this manual https://www.asp-waf.com/download/ASP-WAF-FireWall-Getting-Started.pdf This free API library may not give accurate results as it uses unchecked public domain data

Walter.Web.FireWall.SMTPLogger

The Package adds E-Mail based reporting functionality to NuGet package Walter.Web.Firewall and allows for the logging of incidents via E-Mail by using a E-Mail buffer and sends the emails at configured intervals. The NuGet package is easily activated by dependency injection during service configuration services.AddFireWall(FireWallTrial.License, FireWallTrial.DomainKey , domainName: new Uri("https://www.your-domain.com", UriKind.Absolute) , options => { //your firewall settings }).UseSMTPReportingDatabase(options =>{ options.Archive = TimeSpan.FromDays(180); options.Server = "mail.server.com"; options.UserName = "noreply@your-domain.com"; options.Password = "pa$$w0rd1234"; options.Port = 8889; options.From = "noreply@your-domain.com"; options.IgnoreServerCertificateErrors = true; options.DefaultEmail = "webmaster@your-domain.com"; options.Archive = TimeSpan.FromDays(60); options.MailingList.AddRange(new[] { new EMailAddress("Security Admin","security@your-domain.com") { Frequency= TimeSpan.FromHours(1), Roles= EMailRoles.FireWallAdministrationViolations | EMailRoles.UnauthorizedPhysicalFilesViolation }, new EMailAddress("WAF","info@your-domain.com"){ Frequency= TimeSpan.FromHours(1), Roles= EMailRoles.ProductUpdates | EMailRoles.OwnAccountRelatedViolations } , }); }); More information on how to use this Add-On is available in this manual https://www.asp-waf.com/download/ASP-WAF-FireWall-Getting-Started.pdf as well as on-line at https://www.asp-waf.com/NuGet

Walter.Web.FireWall.DiskLogger

Reporting interface for the firewall and the windows to support logging to disk as well as start Post-Reporting work-flows like PowerShel scripts or executables. The Package extends the reporting functionality to NuGet package Walter.Web.Firewall and is easily activated by dependency injection during service configuration services.AddFireWall(FireWallTrial.License, FireWallTrial.DomainKey , domainName: new Uri("https://www.your-domain.com", UriKind.Absolute) , options => { //your options }).UseDiskLogging(opt=>{ opt.DataDirectory = @"D:\Web-FireWall\FireWall"; opt.PowerShellOption = PowerShellFilesOption.GenerateIfMissing; opt.Commandline = new System.Diagnostics.ProcessStartInfo(@"D:\jobs\FireWall.bat"){UseShellExecute = true}; }); More information on how to use this Add-On is available in this manual https://www.asp-waf.com/download/ASP-WAF-FireWall-Getting-Started.pdf

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2025.8.13.1223 180 8/13/2025
2025.7.30.1003 101 7/30/2025
2025.7.10.1347 205 7/10/2025
2025.6.30.1407 250 7/1/2025
2025.6.12.1057 360 6/12/2025
2025.4.17.1816 322 4/17/2025
2025.3.13.1323 244 3/13/2025
2025.2.26.1642 251 2/26/2025
2025.2.25.1033 208 2/26/2025
2025.2.24.1556 234 2/25/2025
2025.2.16.1149 326 2/19/2025
2025.2.15.1316 253 2/15/2025
2025.1.16.1410 220 1/16/2025
2025.1.4.1941 245 1/4/2025
2025.1.2.1544 235 1/3/2025
2024.12.14.838 252 12/14/2024
2024.12.13.1227 234 12/13/2024
2024.12.9.1107 239 12/13/2024
2024.11.28.1632 250 11/28/2024
2024.11.20.644 375 11/21/2024
2024.11.15.421 346 11/15/2024
2024.11.11.1334 236 11/14/2024
2024.11.6.1222 353 11/6/2024
2024.10.28.1605 347 10/28/2024
2024.10.28.1335 273 10/28/2024
2024.10.19.1525 338 10/20/2024
2024.10.18.1315 288 10/19/2024
2024.9.27.1406 328 9/27/2024
2024.9.17.1417 434 9/17/2024
2024.9.12.1923 420 9/12/2024
2024.9.6.1352 459 9/7/2024
2024.9.1.1159 379 9/1/2024
2024.8.26.1150 408 8/26/2024
2024.8.19.1411 444 8/19/2024
2024.8.17.1000 411 8/17/2024
2024.8.12.1622 411 8/13/2024
2024.8.5.1010 363 8/5/2024
2024.8.1.1545 439 8/16/2024
2024.7.28.629 214 7/28/2024
2024.7.26.1512 263 7/26/2024
2024.7.26.828 229 7/26/2024
2024.7.11.1604 363 7/11/2024
2024.7.9.1520 381 7/9/2024
2024.7.4.1425 418 7/4/2024
2024.7.3.1249 364 7/3/2024
2024.7.2.1536 436 7/2/2024
2024.6.28.953 430 6/28/2024
2023.11.13.1117 1,560 11/13/2023
2023.10.26.1502 1,449 10/29/2023
2023.10.12.1926 1,549 10/12/2023
2023.9.14.812 1,675 9/14/2023
2023.9.7.1748 1,729 9/7/2023
2023.9.7.1241 1,712 9/7/2023
2023.9.6.1001 1,678 9/6/2023
2023.9.5.1246 1,701 9/5/2023
2023.9.5.1032 1,711 9/5/2023
2023.8.31.1522 1,698 8/31/2023
2023.8.29.1040 1,782 8/29/2023
2023.8.17.901 1,832 8/17/2023
2023.8.9.1314 1,943 8/9/2023
2023.8.2.750 1,984 8/2/2023
2023.7.12.830 1,986 7/12/2023
2023.7.5.1419 2,127 7/6/2023
2023.6.14.1628 2,172 6/14/2023
2023.6.11.1304 2,237 6/11/2023
2023.5.30.1640 2,219 5/30/2023
2023.5.4.1552 2,319 5/4/2023
2023.5.1.1524 2,204 5/1/2023
2023.4.29.910 2,409 4/29/2023
2023.4.12.1236 2,396 4/12/2023
2023.3.22.1456 2,529 3/22/2023
2023.3.14.1356 2,637 3/14/2023
2023.3.1.810 2,704 3/1/2023
2023.2.25.11857 2,689 2/25/2023
2023.2.22.27 2,659 2/22/2023
2023.2.15.1413 2,762 2/15/2023
2023.2.11.1628 2,836 2/11/2023
2023.1.11.534 3,001 1/11/2023
2022.12.30.711 3,012 12/30/2022
2022.12.15.1108 3,009 12/15/2022
2022.12.14.648 3,062 12/14/2022
2022.11.27.1059 3,150 11/27/2022
2022.11.21.338 3,217 11/21/2022
2022.11.14.1819 3,261 11/14/2022
2022.11.13.917 3,237 11/13/2022
2022.10.31.740 5,742 11/1/2022
2022.10.15.652 6,091 10/15/2022
2022.10.1.810 6,495 10/1/2022
2022.9.26.1444 6,491 9/26/2022
2022.9.14.1508 6,659 9/14/2022
2022.9.14.809 6,663 9/14/2022
2022.9.8.1009 6,853 9/8/2022
2022.8.20.1007 6,767 8/20/2022
2022.8.1.1 6,750 7/31/2022
2022.7.1300 7,088 7/1/2022
2022.7.31.1016 7,037 7/31/2022
2022.7.15.841 7,083 7/15/2022
2022.6.21.647 6,935 6/21/2022
2022.5.18.638 6,997 5/19/2022
2022.5.16.853 7,143 5/19/2022
2022.5.16.816 7,121 5/16/2022
2022.5.4.1010 7,092 5/4/2022
2022.4.10.947 7,540 4/10/2022
2022.4.10.925 7,592 4/10/2022
2022.4.10.828 7,400 4/10/2022
2022.4.1.1545 7,732 4/1/2022
2022.3.31.823 6,468 3/31/2022
2022.3.26.1103 7,738 3/26/2022
2022.3.26.820 7,266 3/26/2022
2022.3.25.840 6,563 3/26/2022
2022.2.16.1131 7,823 2/17/2022
2022.2.16.834 7,586 2/17/2022
2022.2.15.824 1,384 2/17/2022
2022.2.11.1452 1,567 2/17/2022
2022.2.11.931 1,410 2/17/2022
2022.2.5.1114 7,973 2/5/2022
2022.1.17.1158 9,182 1/17/2022
2022.1.10.1505 9,221 1/10/2022
2022.1.10.537 9,293 1/10/2022
2022.1.5.1139 8,841 1/8/2022
2021.12.28.1452 10,036 12/28/2021
2021.12.16.812 9,736 12/16/2021
2021.11.23.1528 16,219 11/24/2021
2021.11.21.925 16,664 11/22/2021
2021.11.19.847 11,075 11/19/2021
2021.11.18.1824 10,069 11/16/2021
2021.11.10.852 11,265 11/10/2021
2021.11.9.2021 10,916 11/9/2021
2021.11.8.2109 8,363 11/9/2021
2021.11.8.1612 8,967 11/8/2021
2021.11.7.1021 8,669 11/8/2021
2021.11.3.1612 8,853 11/4/2021
2021.11.1.1102 7,783 11/1/2021
2021.10.25.1206 9,423 10/25/2021
2021.10.23.1310 9,301 10/25/2021
2021.10.19.1522 9,185 10/19/2021
2021.10.16.1325 9,256 10/18/2021
2021.10.9.1119 332 10/9/2024
2021.10.6.1546 9,217 10/6/2021
2021.10.5.1450 9,251 10/5/2021
2021.10.4.1155 9,214 10/5/2021
2021.10.1.753 9,411 10/1/2021
2021.9.27.1005 8,681 9/28/2021
2021.9.26.1913 9,604 9/26/2021
2021.9.19.1015 7,533 9/19/2021
2021.9.17.1702 5,329 9/17/2021
2021.9.17.1449 11,975 9/17/2021
2021.9.13.1600 7,163 9/13/2021
2021.9.12.1100 5,017 9/13/2021
2021.9.11.2004 8,488 9/11/2021
2021.9.9.1110 9,134 9/9/2021
2021.9.7.1901 9,188 9/8/2021
2021.9.7.1121 9,450 9/7/2021
2021.9.6.1518 8,690 9/7/2021
2021.9.4.1124 9,328 9/4/2021
2021.9.2.708 8,661 9/4/2021
2021.9.0.1259 8,535 9/2/2021
2021.8.2200 8,208 8/23/2021
2021.8.2100 9,178 8/23/2021
2021.8.22.900 9,130 8/22/2021
2021.8.18.1500 9,066 8/18/2021
2021.8.18.930 9,068 8/18/2021
2021.8.14.1600 8,817 8/16/2021
2021.8.14.829 3,922 8/14/2021
2021.8.9.1105 8,848 8/9/2021
2021.8.8.1612 8,589 8/8/2021
2021.8.8.1138 7,714 8/8/2021
2021.8.6.1044 8,761 8/6/2021
2021.8.4.1355 9,192 8/5/2021
2021.7.30.2118 9,159 7/31/2021
2021.7.27.926 8,990 7/28/2021
2021.7.23.931 9,035 7/26/2021
2021.7.22.1456 8,525 7/23/2021
2021.7.15.1547 8,569 7/15/2021
2021.7.13.812 8,553 7/13/2021
2021.7.8.1527 8,848 7/10/2021
2021.7.5.1649 7,532 7/5/2021
2021.6.29.1453 8,884 6/30/2021
2021.6.26.1753 9,366 6/27/2021
2021.6.25.1849 9,066 6/25/2021
2021.6.24.1518 8,835 6/24/2021
2021.6.20.729 8,521 6/20/2021
2021.6.15.2006 8,413 6/15/2021
2021.6.14.2025 8,287 6/15/2021
2021.6.13.2035 8,473 6/14/2021
2021.6.12.1154 7,859 6/13/2021
2021.6.9.1120 8,093 6/9/2021
2021.6.3.1509 7,846 6/3/2021
2021.5.31.1533 8,050 5/31/2021
2021.5.31.1415 7,992 5/31/2021
2021.5.25.1732 6,970 5/25/2021
2021.5.24.1128 7,747 5/24/2021
2021.5.24.1019 7,620 5/24/2021
2021.5.12.1054 7,621 5/12/2021
2021.5.12.637 5,911 5/12/2021
2021.5.10.1442 7,055 5/11/2021
2021.5.8.1226 7,547 5/8/2021
2021.5.6.2037 6,695 5/6/2021
2021.5.5.1901 7,680 5/6/2021
2021.5.3.1621 7,805 5/4/2021
2021.5.1.905 8,032 5/1/2021
2021.4.28.1511 8,003 4/28/2021
2021.4.20.1520 7,809 4/21/2021
2021.4.16.949 1,305 4/21/2021
2021.4.16.738 8,015 4/21/2021
2021.4.14.1216 8,220 4/16/2021
2021.4.9.1538 7,968 4/13/2021
2021.4.8.947 8,088 4/13/2021
2021.4.6.1235 8,104 4/6/2021
2021.4.5.1653 7,785 4/5/2021
2021.4.1.913 8,032 4/1/2021
2021.3.31.2003 7,942 4/1/2021
2021.3.18.1622 8,453 3/18/2021
2021.3.3.1259 7,813 3/3/2021
2021.3.2.1415 8,263 3/2/2021
2021.3.1.11 7,799 2/28/2021
2021.3.1.1 8,046 2/27/2021
2021.3.1 7,695 2/27/2021
2021.2.23.6 6,946 2/23/2021
2021.2.23.4 1,361 2/23/2021
2021.2.21.1 7,616 2/21/2021
2021.2.20.1 7,546 2/20/2021
2021.2.19.2 7,495 2/19/2021
2021.2.18.6 6,525 2/19/2021
2021.2.17.1 7,496 2/17/2021
2021.2.16.1 7,938 2/16/2021
2021.2.15.3 7,830 2/15/2021
2021.2.15.1 7,851 2/14/2021
2021.2.14.3 7,306 2/14/2021
2021.2.12.6 7,692 2/12/2021
2021.2.12.2 7,863 2/12/2021
2021.2.11.1 6,127 2/11/2021
2021.2.10.1 7,280 2/10/2021
2021.2.8.1 7,778 2/9/2021
2021.2.7.2 7,835 2/7/2021
2021.2.7.1 8,040 2/6/2021
2020.12.27.1 7,321 12/27/2020
2020.12.26.5 7,346 12/27/2020
2020.12.26.4 1,305 12/27/2020
2020.12.26.3 7,333 12/27/2020
2020.12.19.1 7,933 12/19/2020
2020.12.16.1 7,290 12/16/2020
2020.12.15.1 8,036 12/15/2020
2020.12.14.5 13,283 12/14/2020

Major releases that add functionality other than optimization and minor bug fixing
16 Feb 2025
- Update to .Net 9 SP1

15 November 2024
- Remove support for deprecated framework (6,7) due to the CVE warnings in Microsoft Nuget
packages and no migration options
- Add support for .Net 9

15 November 2024
- Remove support for deprecated framework (6,7) due to the CVE warnings in Microsoft Nuget
packages and no migration options
- Add support for .Net 9

22 April 2024
-Update add .net 8

26 October 2023
- Update Package references

12 October 2023
- Build using SDK-7.0.402 and SDK-6.0.415
- Update Package references

14 September 2023
- SDK 7.0.401/SDK 6.0.414
- Update to new NuGet Packages

8 August 2023
- Updare SDK framework to match security release on .net 6 and .net 7