Walter.Web.FireWall.DiskLogger 2024.12.14.838

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 2024.12.14.838                
NuGet\Install-Package Walter.Web.FireWall.DiskLogger -Version 2024.12.14.838                
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="2024.12.14.838" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Walter.Web.FireWall.DiskLogger --version 2024.12.14.838                
#r "nuget: Walter.Web.FireWall.DiskLogger, 2024.12.14.838"                
#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.
// Install Walter.Web.FireWall.DiskLogger as a Cake Addin
#addin nuget:?package=Walter.Web.FireWall.DiskLogger&version=2024.12.14.838

// Install Walter.Web.FireWall.DiskLogger as a Cake Tool
#tool nuget:?package=Walter.Web.FireWall.DiskLogger&version=2024.12.14.838                

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 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. 
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.1.4.1941 99 1/4/2025
2025.1.2.1544 83 1/3/2025
2024.12.14.838 82 12/14/2024
2024.12.13.1227 77 12/13/2024
2024.12.9.1107 81 12/13/2024
2024.11.28.1632 82 11/28/2024
2024.11.20.644 99 11/21/2024
2024.11.15.421 95 11/15/2024
2024.11.11.1334 92 11/14/2024
2024.11.6.1222 93 11/6/2024
2024.10.28.1605 86 10/28/2024
2024.10.28.1335 84 10/28/2024
2024.10.19.1525 81 10/21/2024
2024.10.18.1315 108 10/18/2024
2024.9.27.1406 94 9/27/2024
2024.9.17.1417 101 9/17/2024
2024.9.12.1923 107 9/12/2024
2024.9.6.1352 102 9/7/2024
2024.9.1.1159 97 9/1/2024
2024.8.26.1150 107 8/26/2024
2024.8.19.1411 118 8/19/2024
2024.8.17.1000 123 8/17/2024
2024.8.12.1622 131 8/13/2024
2024.8.5.1010 82 8/5/2024
2024.8.1.1545 133 8/16/2024
2024.7.28.629 78 7/28/2024
2024.7.26.1512 89 7/26/2024
2024.7.26.828 85 7/26/2024
2024.7.11.1604 107 7/11/2024
2024.7.9.1520 113 7/9/2024
2024.7.4.1425 115 7/4/2024
2024.7.3.1249 89 7/3/2024
2024.7.2.1536 123 7/2/2024
2024.6.28.953 115 6/28/2024
2023.11.13.1117 438 11/13/2023
2023.10.26.1502 335 10/29/2023
2023.10.12.1926 410 10/12/2023
2023.9.14.812 442 9/14/2023
2023.9.7.1748 448 9/7/2023
2023.9.7.1241 452 9/7/2023
2023.9.6.1001 425 9/6/2023
2023.9.5.1246 436 9/5/2023
2023.9.5.1032 435 9/5/2023
2023.8.31.1522 481 8/31/2023
2023.8.29.1040 460 8/29/2023
2023.8.17.901 514 8/17/2023
2023.8.9.1314 490 8/9/2023
2023.8.2.750 600 8/2/2023
2023.7.12.830 486 7/12/2023
2023.7.5.1419 612 7/6/2023
2023.6.14.1628 549 6/14/2023
2023.6.11.1304 613 6/11/2023
2023.5.30.1640 632 5/30/2023
2023.5.4.1552 645 5/4/2023
2023.5.1.1524 669 5/1/2023
2023.4.29.910 681 4/29/2023
2023.4.12.1236 663 4/12/2023
2023.3.22.1456 663 3/22/2023
2023.3.14.1356 701 3/14/2023
2023.3.1.810 700 3/1/2023
2023.2.25.11857 767 2/25/2023
2023.2.22.27 725 2/22/2023
2023.2.15.1413 765 2/15/2023
2023.2.11.1628 786 2/11/2023
2023.1.11.534 803 1/11/2023
2022.12.30.711 765 12/30/2022
2022.12.15.1108 813 12/15/2022
2022.12.14.648 805 12/14/2022
2022.11.27.1059 836 11/27/2022
2022.11.21.338 819 11/21/2022
2022.11.14.1819 813 11/14/2022
2022.11.13.917 799 11/13/2022
2022.10.31.740 885 11/1/2022
2022.10.15.652 873 10/15/2022
2022.10.1.810 1,010 10/1/2022
2022.9.26.1444 958 9/26/2022
2022.9.14.1508 1,039 9/14/2022
2022.9.14.809 1,062 9/14/2022
2022.9.8.1009 1,076 9/8/2022
2022.8.20.1007 1,033 8/20/2022
2022.8.1.1 1,042 7/31/2022
2022.7.1300 1,111 7/1/2022
2022.7.31.1016 1,003 7/31/2022
2022.7.15.841 1,044 7/15/2022
2022.6.21.647 1,014 6/21/2022
2022.5.18.638 1,005 5/19/2022
2022.5.16.853 1,102 5/19/2022
2022.5.16.816 1,021 5/16/2022
2022.5.4.1010 1,066 5/4/2022
2022.4.10.947 1,104 4/10/2022
2022.4.10.925 1,121 4/10/2022
2022.4.10.828 1,133 4/10/2022
2022.4.1.1545 1,162 4/1/2022
2022.3.31.823 1,099 3/31/2022
2022.3.26.1103 1,087 3/26/2022
2022.3.26.820 1,213 3/26/2022
2022.3.25.840 1,121 3/26/2022
2022.2.16.1131 1,184 2/17/2022
2022.2.16.834 1,310 2/17/2022
2022.2.5.1114 1,255 2/5/2022
2022.1.17.1158 1,153 1/17/2022
2022.1.10.1505 1,261 1/10/2022
2022.1.10.537 1,195 1/10/2022
2022.1.5.1139 1,314 1/8/2022
2021.12.28.1452 1,357 12/28/2021
2021.12.16.812 1,158 12/16/2021
2021.11.23.1528 7,413 11/24/2021
2021.11.21.925 1,297 11/22/2021
2021.11.19.1503 1,522 11/22/2021
2021.11.19.847 1,466 11/19/2021
2021.11.18.1824 1,237 11/16/2021
2021.11.10.852 1,262 11/10/2021
2021.11.9.2021 1,442 11/9/2021
2021.11.8.2109 957 11/9/2021
2021.11.8.1612 996 11/8/2021
2021.11.7.1021 1,039 11/8/2021
2021.11.3.1612 1,083 11/4/2021
2021.11.1.1102 1,102 11/1/2021
2021.10.25.1206 1,140 10/25/2021
2021.10.23.1310 1,094 10/25/2021
2021.10.19.1522 1,064 10/19/2021
2021.10.16.1325 1,121 10/18/2021
2021.10.9.1119 91 10/9/2024
2021.10.6.1546 984 10/6/2021
2021.10.5.1450 1,189 10/5/2021
2021.10.4.1155 1,140 10/5/2021
2021.10.1.753 1,125 10/1/2021
2021.9.27.1005 1,024 9/28/2021
2021.9.26.1913 1,120 9/26/2021
2021.9.19.1015 1,163 9/19/2021
2021.9.17.1702 1,121 9/17/2021
2021.9.17.1449 1,027 9/17/2021
2021.9.13.1600 1,093 9/13/2021
2021.9.12.1100 1,150 9/13/2021
2021.9.11.2004 1,154 9/11/2021
2021.9.9.1110 1,172 9/9/2021
2021.9.7.1901 1,251 9/8/2021
2021.9.7.1121 1,127 9/7/2021
2021.9.6.1518 1,135 9/7/2021
2021.9.4.1124 1,282 9/4/2021
2021.9.2.708 1,074 9/4/2021
2021.9.0.1259 1,139 9/2/2021
2021.8.2200 1,046 8/23/2021
2021.8.2100 1,015 8/23/2021
2021.8.22.900 1,121 8/22/2021
2021.8.18.1500 1,180 8/18/2021
2021.8.18.930 1,209 8/18/2021
2021.8.14.1600 1,109 8/16/2021
2021.8.9.1105 1,076 8/9/2021
2021.8.8.1612 1,147 8/8/2021
2021.8.8.1138 1,220 8/8/2021
2021.8.6.1044 1,198 8/6/2021
2021.8.4.1355 1,188 8/5/2021
2021.7.30.2118 1,280 7/31/2021
2021.7.27.926 1,085 7/28/2021
2021.7.23.931 1,149 7/26/2021
2021.7.22.1456 1,060 7/23/2021
2021.7.15.1547 1,297 7/15/2021
2021.7.13.812 1,186 7/13/2021
2021.7.8.1527 1,198 7/10/2021
2021.7.5.1649 1,091 7/5/2021
2021.6.29.1453 1,140 6/30/2021
2021.6.26.1753 1,307 6/27/2021
2021.6.25.1849 1,345 6/25/2021
2021.6.24.1518 1,125 6/24/2021
2021.6.20.729 1,124 6/20/2021
2021.6.15.2006 1,136 6/15/2021
2021.6.14.2025 1,109 6/15/2021
2021.6.13.2035 1,187 6/14/2021
2021.6.12.1154 1,177 6/13/2021
2021.6.9.1120 1,104 6/9/2021
2021.6.3.1509 1,104 6/3/2021
2021.5.31.1533 1,185 5/31/2021
2021.5.31.1415 1,137 5/31/2021
2021.5.24.1128 1,100 5/24/2021
2021.5.24.1019 1,138 5/24/2021
2021.5.12.1054 1,063 5/12/2021
2021.5.12.637 1,169 5/12/2021
2021.5.10.1442 1,261 5/11/2021
2021.5.8.1226 1,053 5/8/2021
2021.5.6.2037 1,067 5/6/2021
2021.5.5.1901 1,082 5/6/2021
2021.5.3.1621 1,107 5/4/2021
2021.5.1.905 1,086 5/1/2021
2021.4.28.1511 1,039 4/28/2021
2021.4.20.1520 1,095 4/21/2021
2021.4.16.738 1,021 4/21/2021
2021.4.14.1216 1,217 4/16/2021
2021.4.9.1538 1,109 4/13/2021
2021.4.8.947 1,121 4/13/2021
2021.4.6.1235 1,134 4/6/2021
2021.4.5.1653 1,075 4/5/2021
2021.4.1.913 1,026 4/1/2021
2021.3.31.2003 1,089 4/1/2021
2021.3.18.1622 1,088 3/18/2021
2021.3.3.1259 1,096 3/3/2021
2021.3.2.1415 1,166 3/2/2021
2021.3.1.11 1,138 2/28/2021
2021.3.1.1 1,131 2/27/2021
2021.3.1 1,100 2/27/2021
2021.2.23.6 1,143 2/23/2021
2021.2.21.1 1,054 2/21/2021
2021.2.20.1 1,130 2/20/2021
2021.2.19.2 1,061 2/19/2021
2021.2.18.6 1,145 2/19/2021
2021.2.16.1 1,125 2/16/2021
2021.2.15.3 1,154 2/15/2021
2021.2.15.1 1,123 2/14/2021
2021.2.14.3 1,061 2/14/2021
2021.2.12.6 1,074 2/12/2021
2021.2.12.2 1,075 2/12/2021
2021.2.11.1 1,171 2/11/2021
2021.2.10.1 1,122 2/10/2021
2021.2.8.1 1,168 2/9/2021
2021.2.7.2 1,144 2/7/2021
2021.2.7.1 1,116 2/6/2021
2020.12.27.6 1,190 12/27/2020
2020.12.27.1 1,157 12/27/2020
2020.12.26.7 1,190 12/27/2020
2020.12.26.5 1,123 12/27/2020
2020.12.26.3 1,167 12/27/2020
2020.12.19.1 1,236 12/19/2020
2020.12.16.1 1,092 12/16/2020
2020.12.15.1 1,189 12/15/2020
2020.12.14.5 1,146 12/14/2020
2020.12.14.4 1,160 12/14/2020
2020.12.14.3 1,146 12/14/2020
2020.12.5.1 1,191 12/5/2020
2020.12.4.4 1,191 12/4/2020
2020.12.4.3 1,150 12/4/2020
2020.12.4.1 1,203 12/4/2020
2020.12.3.1 1,145 12/3/2020
2020.12.2.4 1,177 12/2/2020
2020.12.2.3 1,225 12/2/2020
2020.12.1.1 1,215 12/1/2020
2020.11.28.1 1,177 11/28/2020
2020.11.27.2 1,194 11/27/2020
2020.11.27.1 1,195 11/27/2020
2020.11.25.1 1,146 11/25/2020
2020.11.22.3 1,214 11/23/2020
2020.11.20.1 1,264 11/21/2020
2020.11.19.3 1,212 11/19/2020
2020.11.19.1 1,236 11/19/2020
2020.11.18.2 1,269 11/18/2020
2020.11.17.2 1,249 11/17/2020
2020.11.17.1 1,146 11/17/2020
2020.11.15.1 1,239 11/15/2020
2020.11.14.1 1,253 11/14/2020
2020.11.13.2 1,170 11/13/2020
2020.11.13.1 1,223 11/13/2020
2020.11.12.1 1,178 11/12/2020
2020.11.11.1 1,203 11/11/2020
2020.11.8.1 1,296 11/8/2020
2020.11.7.1 1,240 11/7/2020
2020.11.5.1 1,180 11/5/2020
2020.11.3.1 1,229 11/3/2020
2020.11.1.3 1,199 11/1/2020
2020.11.1.2 1,258 11/1/2020
2020.11.1.1 1,175 11/1/2020
2020.10.30.1 1,274 11/1/2020
2020.10.15.3 1,248 10/15/2020
2020.10.15.2 1,242 10/15/2020
2020.10.14.1 1,228 10/14/2020
2020.10.13.1 1,234 10/13/2020
2020.10.12.2 1,278 10/12/2020
2020.10.12.1 1,213 10/12/2020
2020.10.10.1 1,367 10/10/2020
2020.10.9.6 1,179 10/9/2020
2020.10.9.2 1,186 10/9/2020
2020.10.9.1 1,223 10/9/2020
2020.10.8.1 1,206 10/8/2020
2020.10.6.8 1,286 10/7/2020
2020.10.6.6 1,156 10/7/2020
2020.10.6.5 1,306 10/7/2020
2020.10.6.4 1,190 10/7/2020
2020.10.6.3 1,263 10/7/2020
2020.10.6.2 1,289 10/7/2020
2020.10.6.1 1,223 10/7/2020
2020.10.5.1 1,208 10/6/2020
2020.10.1.3 1,216 10/1/2020
2020.10.1.2 1,197 10/1/2020
2020.10.1.1 1,183 10/1/2020
2020.9.29.10 1,219 9/29/2020
2020.9.29.9 1,230 9/29/2020
2020.9.28.2 1,232 9/28/2020
2020.9.28.1 1,281 9/28/2020
2020.9.25.1 1,346 9/26/2020
2020.9.24.2 1,167 9/24/2020
2020.9.24 1,207 9/24/2020
2020.9.23.2 1,205 9/23/2020
2020.9.23.1 1,243 9/23/2020
2020.9.22.1 1,289 9/22/2020
2020.9.21.1 1,223 9/21/2020
2020.9.17.2 1,267 9/17/2020
2020.9.16.1 1,231 9/16/2020
2020.9.16 1,190 9/16/2020

Major releases that add functionality other than optimization and minor bug fixing
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

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


14 June 2023
- Update due to SDK Update 7.0.304, and 6.0.410

12 April 2023
- Update to a new .net 7.0.5 SDK release

14 Mar 2023
- Update NuGet package refferences

22 Feb 2023
- Axel Imani Release (Go live)

15 February 2023
- Update to .net 6.0.406  and 7.0.3

11 January 2023
- update to 7.0.2, 6.0.13 SDK and build tools for 17.4.4

14 December 2022
- Update to .Net SDK 3.1.426, 6.0.404 and 7.0.101

14 November 2022
- Update NuGet Packages

6 November 2022
- Add support for .Net 7

15 November 2022
- Update NuGet package references

1 October 2022
- Update build with new SDK
- Update code sign certificates

14 September 2022
- Update to include new package 6.0.X and Microsoft CVE-2022-38013

02 September 2022
- Please make sure to update servers using this packages due to a security bug in .net
> System.Security.Cryptography.Xml      4.5.0      Moderate   https://github.com/advisories/GHSA-2m65-m22p-9wjw
     > System.Text.Encodings.Web             4.5.0      Critical   https://github.com/advisories/GHSA-ghhp-997w-qr28

15 June 2022
- Update to support .net 6.0.7 and 3.1.27
- Update package references

4 May 2022
- Update NuGet References

15 March 2022
- update to 6.0.3

16 December 2021
- Update to .Net SDK update 14 December for .NET CORE 3.1.416, and .NET 5.0.404 and 6.0.101

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