Walter.Web.FireWall.DiskLogger 2021.11.19.1503

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Walter.Web.FireWall.DiskLogger --version 2021.11.19.1503
                    
NuGet\Install-Package Walter.Web.FireWall.DiskLogger -Version 2021.11.19.1503
                    
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.DiskLogger" Version="2021.11.19.1503" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Walter.Web.FireWall.DiskLogger" Version="2021.11.19.1503" />
                    
Directory.Packages.props
<PackageReference Include="Walter.Web.FireWall.DiskLogger" />
                    
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.DiskLogger --version 2021.11.19.1503
                    
#r "nuget: Walter.Web.FireWall.DiskLogger, 2021.11.19.1503"
                    
#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.DiskLogger@2021.11.19.1503
                    
#: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.DiskLogger&version=2021.11.19.1503
                    
Install as a Cake Addin
#tool nuget:?package=Walter.Web.FireWall.DiskLogger&version=2021.11.19.1503
                    
Install as a Cake Tool

Windows firewall management

You can use the windows firewall from as shown in this class The NuGet package uses the PowerShell command s in combination with a file watcher but there are several ways to interact with a physical firewall from code

/*
To use windows Firewall com object add a reference to %system32%\FirewallAPI.dll 
*/
    class FireWallHelper
    {
        const string guidFWPolicy2 = "{E2B3C97F-6AE1-41AC-817A-F6F92166D7DD}";
        const string guidRWRule = "{2C5BC43E-3369-4C33-AB0C-BE9469677AF4}";
        static Type typeFWPolicy2;
        static Type typeFWRule;
        static INetFwPolicy2 fwPolicy2;
        static FireWallHelper()
        {
            typeFWPolicy2 = Type.GetTypeFromCLSID(new Guid(guidFWPolicy2));
            typeFWRule = Type.GetTypeFromCLSID(new Guid(guidRWRule));
            fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(typeFWPolicy2);

        }
        public static bool IsPortOpen(int port)
        {
            EnsureSetup();

            Type progID = Type.GetTypeFromProgID("HNetCfg.FwMgr");
            INetFwMgr firewall = Activator.CreateInstance(progID) as INetFwMgr;
            INetFwOpenPorts ports = firewall.LocalPolicy.CurrentProfile.GloballyOpenPorts;
            IEnumerator portEnumerate = ports.GetEnumerator();
            while ((portEnumerate.MoveNext()))
            {
                INetFwOpenPort currentPort = portEnumerate.Current as INetFwOpenPort;
                if (currentPort.Port == port)
                    return true;
            }
            return false;
        }
        static INetFwRule MakeRule(IPAddress remoteIP, string ruleName = null)
        {
            INetFwRule rule = (INetFwRule)Activator.CreateInstance(typeFWRule);
            rule.Name = ruleName ?? $"Inbound block IP {remoteIP}";
            rule.Description = $"Block inbound traffic from {remoteIP} over TCP port";
            rule.Protocol = (int)NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_ANY;
            rule.RemoteAddresses = remoteIP.ToString();
            rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_IN;
            rule.Enabled = true;
            rule.Grouping = "@firewallapi.dll,-23255";
            rule.Profiles = fwPolicy2.CurrentProfileTypes;
            return rule;
        }
        static INetFwRule MakeRule(int port, IPAddress remoteIP, string ruleName = null)
        {
            INetFwRule rule = (INetFwRule)Activator.CreateInstance(typeFWRule);
            rule.Name = ruleName ?? $"Inbound block IP {remoteIP}";
            rule.Description = $"Block inbound traffic from {remoteIP} over TCP port {port}";
            rule.Protocol = (int)NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_ANY;
            rule.LocalPorts = port.ToString();
            rule.RemoteAddresses = remoteIP.ToString();
            rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_IN;
            rule.Enabled = true;
            rule.Grouping = "@firewallapi.dll,-23255";
            rule.Profiles = fwPolicy2.CurrentProfileTypes;
            return rule;
        }

        public static void OpenPort(int port, IPAddress remoteIP, string ruleName = null)
        {
            EnsureSetup();
            var newRule = MakeRule(port, remoteIP, ruleName);
            newRule.Enabled = false;
            newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
            fwPolicy2.Rules.Add(newRule);
        }
        public static void ClosePort(int port, IPAddress remoteIP, string ruleName)
        {
            EnsureSetup();
            var newRule = MakeRule(port, remoteIP, ruleName);

            newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
            fwPolicy2.Rules.Add(newRule);

        }

        public static void CloseIP(IPAddress remoteIP, string ruleName)
        {
            EnsureSetup();
            var newRule = MakeRule(remoteIP, ruleName);

            newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
            fwPolicy2.Rules.Add(newRule);
        }

        public static void OpenIP(IPAddress remoteIP, string ruleName)
        {
            EnsureSetup();

            var newRule = MakeRule(remoteIP, ruleName);

            newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
            fwPolicy2.Rules.Add(newRule);
        }

        public static void OpenPort(int port, string applicationName)
        {
            EnsureSetup();

            if (IsPortOpen(port))
                return;

            INetFwOpenPort openPort = GetInstance("INetOpenPort") as INetFwOpenPort;
            openPort.Port = port;
            openPort.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;
            openPort.Name = applicationName;

            INetFwOpenPorts openPorts = sm_fwProfile.GloballyOpenPorts;
            openPorts.Add(openPort);
        }

        public static void ClosePort(int port)
        {
            EnsureSetup();

            if (!IsPortOpen(port))
                return;

            INetFwOpenPorts ports = sm_fwProfile.GloballyOpenPorts;
            ports.Remove(port, NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP);
        }

        private static object GetInstance(string typeName)
        {
            Type tpResult = null;
            switch (typeName)
            {
                case "INetFwMgr":
                    tpResult = Type.GetTypeFromCLSID(new Guid("{304CE942-6E39-40D8-943A-B913C40C9CD4}"));
                    return Activator.CreateInstance(tpResult);
                case "INetAuthApp":
                    tpResult = Type.GetTypeFromCLSID(new Guid("{EC9846B3-2762-4A6B-A214-6ACB603462D2}"));
                    return Activator.CreateInstance(tpResult);
                case "INetOpenPort":
                    tpResult = Type.GetTypeFromCLSID(new Guid("{0CA545C6-37AD-4A6C-BF92-9F7610067EF5}"));
                    return Activator.CreateInstance(tpResult);
                default:
                    throw new Exception("Unknown type name: " + typeName);
            }
        }

        private static void EnsureSetup()
        {
            if (sm_fwProfile != null)
                return;

            INetFwMgr fwMgr = GetInstance("INetFwMgr") as INetFwMgr;
            sm_fwProfile = fwMgr.LocalPolicy.CurrentProfile;
        }

        private static INetFwProfile sm_fwProfile = null;

    }


Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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.  net9.0 was computed.  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.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2025.9.1452 142 9/28/2025
2025.8.13.1223 188 8/13/2025
2025.7.30.1003 125 7/30/2025
2025.7.10.1347 175 7/10/2025
2025.6.30.1407 169 7/1/2025
2025.6.12.1057 340 6/12/2025
2025.4.17.1816 251 4/17/2025
2025.3.13.1323 202 3/13/2025
2025.2.26.1642 135 2/26/2025
2025.2.25.1033 148 2/26/2025
2025.2.24.1556 150 2/25/2025
2025.2.16.1149 158 2/19/2025
2025.2.15.1316 159 2/15/2025
2025.1.16.1410 141 1/16/2025
2025.1.4.1941 178 1/4/2025
2025.1.2.1544 149 1/3/2025
2024.12.14.838 145 12/14/2024
2024.12.13.1227 160 12/13/2024
2024.12.9.1107 156 12/13/2024
2024.11.28.1632 140 11/28/2024
2024.11.20.644 167 11/21/2024
2024.11.15.421 177 11/15/2024
2024.11.11.1334 156 11/14/2024
2024.11.6.1222 166 11/6/2024
2024.10.28.1605 145 10/28/2024
2024.10.28.1335 139 10/28/2024
2024.10.19.1525 150 10/21/2024
2024.10.18.1315 175 10/18/2024
2024.9.27.1406 159 9/27/2024
2024.9.17.1417 163 9/17/2024
2024.9.12.1923 170 9/12/2024
2024.9.6.1352 169 9/7/2024
2024.9.1.1159 163 9/1/2024
2024.8.26.1150 168 8/26/2024
2024.8.19.1411 176 8/19/2024
2024.8.17.1000 176 8/17/2024
2024.8.12.1622 188 8/13/2024
2024.8.5.1010 144 8/5/2024
2024.8.1.1545 191 8/16/2024
2024.7.28.629 144 7/28/2024
2024.7.26.1512 152 7/26/2024
2024.7.26.828 144 7/26/2024
2024.7.11.1604 171 7/11/2024
2024.7.9.1520 182 7/9/2024
2024.7.4.1425 178 7/4/2024
2024.7.3.1249 133 7/3/2024
2024.7.2.1536 181 7/2/2024
2024.6.28.953 177 6/28/2024
2023.11.13.1117 495 11/13/2023
2023.10.26.1502 390 10/29/2023
2023.10.12.1926 457 10/12/2023
2023.9.14.812 503 9/14/2023
2023.9.7.1748 521 9/7/2023
2023.9.7.1241 535 9/7/2023
2023.9.6.1001 498 9/6/2023
2023.9.5.1246 506 9/5/2023
2023.9.5.1032 509 9/5/2023
2023.8.31.1522 555 8/31/2023
2023.8.29.1040 532 8/29/2023
2023.8.17.901 596 8/17/2023
2023.8.9.1314 576 8/9/2023
2023.8.2.750 687 8/2/2023
2023.7.12.830 570 7/12/2023
2023.7.5.1419 699 7/6/2023
2023.6.14.1628 634 6/14/2023
2023.6.11.1304 705 6/11/2023
2023.5.30.1640 726 5/30/2023
2023.5.4.1552 739 5/4/2023
2023.5.1.1524 749 5/1/2023
2023.4.29.910 792 4/29/2023
2023.4.12.1236 758 4/12/2023
2023.3.22.1456 767 3/22/2023
2023.3.14.1356 811 3/14/2023
2023.3.1.810 816 3/1/2023
2023.2.25.11857 867 2/25/2023
2023.2.22.27 836 2/22/2023
2023.2.15.1413 876 2/15/2023
2023.2.11.1628 888 2/11/2023
2023.1.11.534 901 1/11/2023
2022.12.30.711 885 12/30/2022
2022.12.15.1108 910 12/15/2022
2022.12.14.648 922 12/14/2022
2022.11.27.1059 952 11/27/2022
2022.11.21.338 931 11/21/2022
2022.11.14.1819 920 11/14/2022
2022.11.13.917 889 11/13/2022
2022.10.31.740 997 11/1/2022
2022.10.15.652 1,029 10/15/2022
2022.10.1.810 1,130 10/1/2022
2022.9.26.1444 1,079 9/26/2022
2022.9.14.1508 1,148 9/14/2022
2022.9.14.809 1,188 9/14/2022
2022.9.8.1009 1,231 9/8/2022
2022.8.20.1007 1,171 8/20/2022
2022.8.1.1 1,169 7/31/2022
2022.7.1300 1,236 7/1/2022
2022.7.31.1016 1,122 7/31/2022
2022.7.15.841 1,177 7/15/2022
2022.6.21.647 1,128 6/21/2022
2022.5.18.638 1,111 5/19/2022
2022.5.16.853 1,226 5/19/2022
2022.5.16.816 1,160 5/16/2022
2022.5.4.1010 1,183 5/4/2022
2022.4.10.947 1,219 4/10/2022
2022.4.10.925 1,251 4/10/2022
2022.4.10.828 1,251 4/10/2022
2022.4.1.1545 1,253 4/1/2022
2022.3.31.823 1,220 3/31/2022
2022.3.26.1103 1,210 3/26/2022
2022.3.26.820 1,357 3/26/2022
2022.3.25.840 1,255 3/26/2022
2022.2.16.1131 1,303 2/17/2022
2022.2.16.834 1,451 2/17/2022
2022.2.5.1114 1,408 2/5/2022
2022.1.17.1158 1,283 1/17/2022
2022.1.10.1505 1,381 1/10/2022
2022.1.10.537 1,319 1/10/2022
2022.1.5.1139 1,446 1/8/2022
2021.12.28.1452 1,491 12/28/2021
2021.12.16.812 1,272 12/16/2021
2021.11.23.1528 7,571 11/24/2021
2021.11.21.925 1,438 11/22/2021
2021.11.19.1503 1,666 11/22/2021
2021.11.19.847 1,603 11/19/2021
2021.11.18.1824 1,400 11/16/2021
2021.11.10.852 1,379 11/10/2021
2021.11.9.2021 1,593 11/9/2021
2021.11.8.2109 1,090 11/9/2021
2021.11.8.1612 1,139 11/8/2021
2021.11.7.1021 1,168 11/8/2021
2021.11.3.1612 1,218 11/4/2021
2021.11.1.1102 1,240 11/1/2021
2021.10.25.1206 1,275 10/25/2021
2021.10.23.1310 1,218 10/25/2021
2021.10.19.1522 1,230 10/19/2021
2021.10.16.1325 1,240 10/18/2021
2021.10.9.1119 158 10/9/2024
2021.10.6.1546 1,107 10/6/2021
2021.10.5.1450 1,307 10/5/2021
2021.10.4.1155 1,280 10/5/2021
2021.10.1.753 1,248 10/1/2021
2021.9.27.1005 1,163 9/28/2021
2021.9.26.1913 1,249 9/26/2021
2021.9.19.1015 1,303 9/19/2021
2021.9.17.1702 1,259 9/17/2021
2021.9.17.1449 1,163 9/17/2021
2021.9.13.1600 1,258 9/13/2021
2021.9.12.1100 1,291 9/13/2021
2021.9.11.2004 1,280 9/11/2021
2021.9.9.1110 1,317 9/9/2021
2021.9.7.1901 1,375 9/8/2021
2021.9.7.1121 1,253 9/7/2021
2021.9.6.1518 1,249 9/7/2021
2021.9.4.1124 1,420 9/4/2021
2021.9.2.708 1,241 9/4/2021
2021.9.0.1259 1,285 9/2/2021
2021.8.2200 1,172 8/23/2021
2021.8.2100 1,135 8/23/2021
2021.8.22.900 1,249 8/22/2021
2021.8.18.1500 1,315 8/18/2021
2021.8.18.930 1,356 8/18/2021
2021.8.14.1600 1,242 8/16/2021
2021.8.9.1105 1,211 8/9/2021
2021.8.8.1612 1,287 8/8/2021
2021.8.8.1138 1,334 8/8/2021
2021.8.6.1044 1,301 8/6/2021
2021.8.4.1355 1,313 8/5/2021
2021.7.30.2118 1,420 7/31/2021
2021.7.27.926 1,221 7/28/2021
2021.7.23.931 1,321 7/26/2021
2021.7.22.1456 1,209 7/23/2021
2021.7.15.1547 1,434 7/15/2021
2021.7.13.812 1,333 7/13/2021
2021.7.8.1527 1,338 7/10/2021
2021.7.5.1649 1,247 7/5/2021
2021.6.29.1453 1,262 6/30/2021
2021.6.26.1753 1,458 6/27/2021
2021.6.25.1849 1,463 6/25/2021
2021.6.24.1518 1,270 6/24/2021
2021.6.20.729 1,237 6/20/2021
2021.6.15.2006 1,258 6/15/2021
2021.6.14.2025 1,242 6/15/2021
2021.6.13.2035 1,301 6/14/2021
2021.6.12.1154 1,345 6/13/2021
2021.6.9.1120 1,224 6/9/2021
2021.6.3.1509 1,218 6/3/2021
2021.5.31.1533 1,303 5/31/2021
2021.5.31.1415 1,270 5/31/2021
2021.5.24.1128 1,267 5/24/2021
2021.5.24.1019 1,264 5/24/2021
2021.5.12.1054 1,212 5/12/2021
2021.5.12.637 1,311 5/12/2021
2021.5.10.1442 1,413 5/11/2021
2021.5.8.1226 1,200 5/8/2021
2021.5.6.2037 1,215 5/6/2021
2021.5.5.1901 1,235 5/6/2021
2021.5.3.1621 1,242 5/4/2021
2021.5.1.905 1,241 5/1/2021
2021.4.28.1511 1,177 4/28/2021
2021.4.20.1520 1,232 4/21/2021
2021.4.16.738 1,165 4/21/2021
2021.4.14.1216 1,367 4/16/2021
2021.4.9.1538 1,240 4/13/2021
2021.4.8.947 1,259 4/13/2021
2021.4.6.1235 1,247 4/6/2021
2021.4.5.1653 1,221 4/5/2021
2021.4.1.913 1,166 4/1/2021
2021.3.31.2003 1,250 4/1/2021
2021.3.18.1622 1,220 3/18/2021
2021.3.3.1259 1,213 3/3/2021
2021.3.2.1415 1,302 3/2/2021
2021.3.1.11 1,276 2/28/2021
2021.3.1.1 1,276 2/27/2021
2021.3.1 1,240 2/27/2021
2021.2.23.6 1,265 2/23/2021
2021.2.21.1 1,197 2/21/2021
2021.2.20.1 1,259 2/20/2021
2021.2.19.2 1,210 2/19/2021
2021.2.18.6 1,281 2/19/2021
2021.2.16.1 1,252 2/16/2021
2021.2.15.3 1,295 2/15/2021
2021.2.15.1 1,284 2/14/2021
2021.2.14.3 1,193 2/14/2021
2021.2.12.6 1,247 2/12/2021
2021.2.12.2 1,209 2/12/2021
2021.2.11.1 1,304 2/11/2021
2021.2.10.1 1,263 2/10/2021
2021.2.8.1 1,304 2/9/2021
2021.2.7.2 1,260 2/7/2021
2021.2.7.1 1,262 2/6/2021
2020.12.27.6 1,343 12/27/2020
2020.12.27.1 1,308 12/27/2020
2020.12.26.7 1,334 12/27/2020
2020.12.26.5 1,259 12/27/2020
2020.12.26.3 1,311 12/27/2020
2020.12.19.1 1,399 12/19/2020
2020.12.16.1 1,224 12/16/2020
2020.12.15.1 1,328 12/15/2020
2020.12.14.5 1,289 12/14/2020
2020.12.14.4 1,346 12/14/2020
2020.12.14.3 1,315 12/14/2020
2020.12.5.1 1,336 12/5/2020
2020.12.4.4 1,346 12/4/2020
2020.12.4.3 1,285 12/4/2020
2020.12.4.1 1,323 12/4/2020
2020.12.3.1 1,305 12/3/2020
2020.12.2.4 1,312 12/2/2020
2020.12.2.3 1,359 12/2/2020
2020.12.1.1 1,364 12/1/2020
2020.11.28.1 1,314 11/28/2020
2020.11.27.2 1,348 11/27/2020
2020.11.27.1 1,340 11/27/2020
2020.11.25.1 1,310 11/25/2020
2020.11.22.3 1,374 11/23/2020
2020.11.20.1 1,427 11/21/2020
2020.11.19.3 1,359 11/19/2020
2020.11.19.1 1,369 11/19/2020
2020.11.18.2 1,388 11/18/2020
2020.11.17.2 1,377 11/17/2020
2020.11.17.1 1,325 11/17/2020
2020.11.15.1 1,394 11/15/2020
2020.11.14.1 1,384 11/14/2020
2020.11.13.2 1,318 11/13/2020
2020.11.13.1 1,364 11/13/2020
2020.11.12.1 1,318 11/12/2020
2020.11.11.1 1,379 11/11/2020
2020.11.8.1 1,471 11/8/2020
2020.11.7.1 1,385 11/7/2020
2020.11.5.1 1,318 11/5/2020
2020.11.3.1 1,367 11/3/2020
2020.11.1.3 1,349 11/1/2020
2020.11.1.2 1,401 11/1/2020
2020.11.1.1 1,312 11/1/2020
2020.10.30.1 1,427 11/1/2020
2020.10.15.3 1,402 10/15/2020
2020.10.15.2 1,391 10/15/2020
2020.10.14.1 1,356 10/14/2020
2020.10.13.1 1,375 10/13/2020
2020.10.12.2 1,439 10/12/2020
2020.10.12.1 1,357 10/12/2020
2020.10.10.1 1,511 10/10/2020
2020.10.9.6 1,323 10/9/2020
2020.10.9.2 1,325 10/9/2020
2020.10.9.1 1,364 10/9/2020
2020.10.8.1 1,377 10/8/2020
2020.10.6.8 1,423 10/7/2020
2020.10.6.6 1,284 10/7/2020
2020.10.6.5 1,453 10/7/2020
2020.10.6.4 1,358 10/7/2020
2020.10.6.3 1,425 10/7/2020
2020.10.6.2 1,431 10/7/2020
2020.10.6.1 1,359 10/7/2020
2020.10.5.1 1,343 10/6/2020
2020.10.1.3 1,360 10/1/2020
2020.10.1.2 1,354 10/1/2020
2020.10.1.1 1,325 10/1/2020
2020.9.29.10 1,350 9/29/2020
2020.9.29.9 1,347 9/29/2020
2020.9.28.2 1,397 9/28/2020
2020.9.28.1 1,450 9/28/2020
2020.9.25.1 1,481 9/26/2020
2020.9.24.2 1,306 9/24/2020
2020.9.24 1,352 9/24/2020
2020.9.23.2 1,366 9/23/2020
2020.9.23.1 1,400 9/23/2020
2020.9.22.1 1,423 9/22/2020
2020.9.21.1 1,383 9/21/2020
2020.9.17.2 1,429 9/17/2020
2020.9.16.1 1,360 9/16/2020
2020.9.16 1,326 9/16/2020

Major releases that add functionality other than optimization and minor bug fixing
9 November 2021
- Fix package dependency on vulnerable packages from Microsoft by upgrading vulnerable packages

08 November 2021
- Update to .Net NuGet packages .NET 6.0.0, .NET 5.0.403 and core 3.1.415

19 September
- Update NuGet packages release for .Net 5.0.10

8 Aug 2021
- update to .NET 6.0 SDK (v6.0.100-preview.6)

30 June 2021
- Add .Net 6.0 binaries to the NuGet package

15 June 2021
- Update to .Net Core 3.1.17 and .Net 5.0.8 SDK

09 June 2021
- Update to .Net SDK 5.0.301 and 3.1.410

31 April 2021
- Update debugger display to improve debugging experience
- Update on incident and communication interfaces
- Improved IFireWall WHOIS query method and include ISP counters

12 April 2021
- Update to new code base after .net security violation fix

22 March 2021
- Performance update

05 March 2021
- Update package reference

12 February 2021
- Framework extension changes
- Update package references

02 January 2021
- Updated terms and conditions to REL. 2021.01.02

29 December 2020
- Update package reference

23 December 2020
- Update package reference

19 December 2020
- Update package references

14 December 2020
- Update package references

12 December 2020
- Update package references
- Compile with Language version 9.0

04 December 2020
- Update package references

22 November 2020
- Update compiler hints improving .net Core 3.1 and .Net 5.0 compiled binaries

11 November 2020
- Update packages and support .Net 5.0

08 November 2020
- Update signatures and NuGet package references

14 October 2020
- Update to .net core 3.1.4

05 October 2020
- Update terms
- update NuGet package references

16 September 2020
- Add post processes support via options
- separate the Firewall integrated disk logging infrastructure to an external NuGet package to align licensing