Walter.BOM 2025.7.10.1347

Prefix Reserved
dotnet add package Walter.BOM --version 2025.7.10.1347
                    
NuGet\Install-Package Walter.BOM -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.BOM" 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.BOM" Version="2025.7.10.1347" />
                    
Directory.Packages.props
<PackageReference Include="Walter.BOM" />
                    
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.BOM --version 2025.7.10.1347
                    
#r "nuget: Walter.BOM, 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.BOM@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.BOM&version=2025.7.10.1347
                    
Install as a Cake Addin
#tool nuget:?package=Walter.BOM&version=2025.7.10.1347
                    
Install as a Cake Tool

WALTER

Introducing the WALTER Framework: Workable Algorithms for Location-aware Transmission, Encryption Response. Designed for modern developers, WALTER is a groundbreaking suite of NuGet packages crafted for excellence in .NET Standard 2.0, 2.1, Core 3.1, and .NET 6, 7, 8, as well as C++ environments. Emphasizing 100% AoT support and reflection-free operations, this framework is the epitome of performance and stability.

Whether you're tackling networking, encryption, or secure communication, WALTER offers unparalleled efficiency and precision in processing, making it an essential tool for developers who prioritize speed and memory management in their applications.

About the Walter.BOM package

The Walter.BOM project provides a foundational set of basic data types and utilities designed to support a suite of .NET-based NuGet packages aimed at enhancing web application security, networking, and IO operations. It serves as the backbone for the following packages:

  • Walter.Net.HoneyPot: Offers honey pot services for detecting and mitigating automated threats.
  • Walter.Net.LookWhosTalking: Provides tools for gathering and analyzing application communication statistics.
  • Walter.Net.Networking: Includes networking utilities and structures for robust network management.
  • Walter.IO: Contains functionality for advanced IO operations.
  • Walter.Web.FireWall: Integrates a Web Application Firewall (WAF) for protecting web applications from various attacks.

Additionally, Walter.BOM enriches applications with geographic extensions and basic country-level lookup capabilities for mapping and location services. You can view the online help at

Compatibility

The Walter.BOM project and its associated packages directly support the following frameworks, ensuring wide compatibility across various platforms:

  • .NET Standard 2.0
  • .NET Standard 2.1
  • .NET 8.0
  • .NET 9.0

This compatibility range allows for the use of Walter.BOM in applications targeting Windows, MAUI, Unix, and more, providing flexibility and support for a broad array of development scenarios.

Prerequisites

Before you begin, ensure you have met the following requirements:

  • Compatible .NET framework installed (see Compatibility section above)
  • Visual Studio 2019 or newer (for development)

Installation

To use Walter.BOM in your project, install it via NuGet Package Manager or the .NET CLI:

dotnet add package Walter.BOM

some samples

You can have a look at the Walter.BOM.chm help directory and get a lot more infomation about the capebilities in Walter.BOM.

GEO

Console application demonstrating some of the GEO API. the bellow code is AoT compliant and will generate a native exe demonstrated in GitHub

    internal class Program
    {
        static void Main(string[] args)
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;

            Console.WriteLine("Enter the 2 letter ISO code of a country and press enter:");

            //display the name in localized yountry in the language of the country
            var country = Walter.BOM.Geo.GeoLocation.UnKnown;
            do
            {
                var letters = Console.ReadLine()?.Trim();
                if (string.IsNullOrEmpty(letters)
                    || letters.Length != 2
                    || !GeoLocationMapping.TryGetValue(letters, out var mapping))
                {
                    Console.WriteLine("2 letter country code, like DE, NL, US, TR , TH, JP ...");
                }
                else
                {
                    country = mapping;
                }
            } while (country == GeoLocation.UnKnown);
            var capitol = country.GetCapitol();
            
            Console.WriteLine();
            Console.WriteLine($"CITY: {capitol.City}");
            Console.WriteLine($"LOCALIZED COUNTRY: {country.GetInternationalCountryName(country)}");
            Console.WriteLine($"en-US COUNTRY: {country.GetCountryName()}");
            Console.WriteLine($"GPS LAT/LONG: {capitol.Lat.LatitudeDegrees()}/{capitol.Lng.LongitudeDegrees()}");
            Console.WriteLine($"DMS LAT/LONG: {capitol.Lat.ToDmsLatitude()}/{capitol.Lng.ToDmsLongitude()}");
            Console.CancelKeyPress += Console_CancelKeyPress;
            OpenLocationInGoogleMaps(capitol.Lng, capitol.Lat);

            
            #if !DEBUG
            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
            #endif

            Console.CancelKeyPress -= Console_CancelKeyPress;
        }

        private static void Console_CancelKeyPress(object? sender, ConsoleCancelEventArgs e)
        {
            Console.CancelKeyPress -= Console_CancelKeyPress;
            Process.GetCurrentProcess().Kill();
        }

        static void OpenLocationInGoogleMaps(double latitude, double longitude)
        {
            Console.WriteLine("Enter your google GEO API key and press enter (CTRL+C to exit):");
            var key = Console.ReadLine();

            // Generate the Google Maps URL: 
            string mapsUrl = $"https://maps.googleapis.com/maps/api/geocode/json?latlng={latitude},{longitude}&key={key}";

            Console.WriteLine(mapsUrl);
            // Open the URL in the default browser
            try
            {
                OpenUrl(mapsUrl);
            }
            catch (Exception ex)
            {
                Console.WriteLine("An error occurred while trying to open the URL: " + ex.Message);
            }

            static void OpenUrl(string url)
            {
                if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
                {
                    Process.Start(new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true });
                }
                else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
                {
                    Process.Start("xdg-open", url);
                }
                else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
                {
                    Process.Start("open", url);
                }
            }
        }
    }

Introduction to NetworkService Example

The NetworkService class is a simple demonstration of how the Walter.BOM library can be utilized to manage and validate network addresses within your application. Specifically, this example showcases how to determine if an IP address is IPv4, which is currently supported, versus IPv6, which is intentionally not implemented in the current release. This approach leverages the NotImplementedByDesignException to clearly indicate features that are out of scope, improving code clarity and maintainability. Below is a sample implementation of the NetworkService class, which includes a method to check IP address support.


public class NetworkService
{
    public void CheckIPAddressSupport(IPAddress ipAddress)
    {
        if (ipAddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6)
        {
            // IPv6 is found to be out of scope for the current release
            throw new NotImplementedByDesignException("IPv6 support is out of scope for the current release.");
        }
        else
        {
            Console.WriteLine("IPv4 address is supported.");
        }
    }
}

Introduction to Program Main Method Example

The following code snippet demonstrates a practical application of the NetworkService within a console application. This example specifically illustrates error handling in scenarios where unsupported IPv6 addresses are encountered. By attempting to check the support for an IPv6 address, the application intentionally triggers a NotImplementedByDesignException. This exception is then gracefully caught and processed, providing the user with detailed feedback, including the method name, file path, and line number where the exception was thrown. This pattern is invaluable for debugging and supports a robust development process by explicitly handling out-of-scope functionality.

The documentation section of this github repository contains a AoT sample showing the use.

class Program
{
    static void Main(string[] args)
    {


        var color= Console.ForegroundColor;
        var networkService = new NetworkService();
        try
        {
            // Assuming an IPv6 address for demonstration
            IPAddress ipv6Address = IPAddress.Parse("2001:0db8:85a3:0000:0000:8a2e:0370:7334");
            networkService.CheckIPAddressSupport(ipv6Address);
        }
        catch (NotImplementedByDesignException ex)
        {
            Console.ForegroundColor = ConsoleColor.Red;

            Console.WriteLine($"Error: {ex.Message}");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Please contact support with the following details:");
            Console.WriteLine($"Member Name: {ex.CallerMemberName}");
            Console.WriteLine($"File Path: {ex.FilePath}");
            Console.WriteLine($"Line: {ex.Line}");
        }
        finally 
        {
#if !DEBUG
            Console.ForegroundColor = color;
            Console.WriteLine();

Console.WriteLine("Press any key to exit");
            Console.ReadKey();
#endif
        }
    }
}

Contributing

Contributions to the Walter.BOM project are welcome! If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

Don't forget to give the project a star! Thanks again!

Support and Contact

If you encounter any problems or have any questions, please contact us via GitHub issues or email (support@vesnx.com). We're here to help.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-maccatalyst18.0 is compatible.  net8.0-macos was computed.  net8.0-macos15.0 is compatible.  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-maccatalyst18.0 is compatible.  net9.0-macos was computed.  net9.0-macos15.0 is compatible.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  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 (6)

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

Package Downloads
Walter.Net.Networking

Enhance your networking with lightning-fast DNS operations, ISP Whois lookups, tracing, tracking, Wake on LAN capabilities, and much more, all in one efficient data mining solution.

Walter.DataTools.MsSql

Package used by Firewall products for interacting with sql server and is used to create and apply updates to database DDL objects This package will be re-factored in the future separating base classes into a new package and have the MSSQL and MySql in their own packages.

Walter.Web.FireWall

Enhance .NET applications with a robust firewall, designed as middleware and IActionFilter, protecting against CVE attacks, web scraping, and phishing. Configurable via annotations and a rule engine services.AddFireWall(FireWallTrial.License, FireWallTrial.DomainKey , domainName: new Uri("https://www.your-domain.com", UriKind.Absolute) , options => { //your options }); Have a look at the GitHub samples at https://github.com/ASP-WAF/FireWall and https://github.com/ASP-WAF/FireWall/wiki to see how to use the firewall in applications. You can view the firewall in action using https://www.asp-waf.com/Firewall You can get started with the firewall using the samples shown in https://www.asp-waf.com/download/ASP-WAF-FireWall-Getting-Started.pdf as well as the on line documentation at https://firewallapi.asp-waf.com/

Walter.IO

Package used for Disk IO type of functionality used by the Walter.X products

Walter.Vat

VAT number validator. This version contains validation for EU countries only. You can view the on-line help using this link https://firewallapi.asp-waf.com/?topic=html/T-Walter.Vat.EuropeanVatInformationQuery.htm and get some code samples to help you get started. This package exposes EuropeanVatInformationQuery class allowing you to query VAT data for the European Union as well as the UnitedKingdom. Please note that this package works best in combination with the Walter.Web.FireWall NuGet package allowing you to use GEO discovery to obtain the location of a request see https://www.nuget.org/packages/Walter.Web.FireWall/ for more information.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2025.7.10.1347 303 7/10/2025
2025.6.30.1407 368 6/30/2025
2025.6.12.1057 459 6/12/2025
2025.4.17.1816 408 4/17/2025
2025.3.13.1323 353 3/13/2025
2025.2.26.1642 318 2/26/2025
2025.2.25.1033 323 2/26/2025
2025.2.24.1556 333 2/25/2025
2025.2.16.1149 445 2/19/2025
2025.2.15.1316 390 2/15/2025
2025.1.16.1410 347 1/16/2025
2025.1.4.1941 352 1/4/2025
2025.1.3.1457 255 1/4/2025
2025.1.2.1544 323 1/3/2025
2024.12.14.838 356 12/14/2024
2024.12.13.1227 319 12/13/2024
2024.12.9.1107 329 12/13/2024
2024.11.28.1632 373 11/28/2024
2024.11.20.644 479 11/21/2024
2024.11.15.421 357 11/15/2024
2024.11.11.1334 301 11/14/2024
2024.11.6.1222 418 11/6/2024
2024.10.28.1605 430 10/28/2024
2024.10.28.1335 418 10/28/2024
2024.10.19.1525 414 10/20/2024
2024.10.18.1315 413 10/18/2024
2024.9.27.1406 404 9/27/2024
2024.9.17.1417 458 9/17/2024
2024.9.12.1923 505 9/12/2024
2024.9.12.718 141 9/12/2024
2024.9.6.1352 517 9/7/2024
2024.9.4.1423 173 9/4/2024
2024.9.1.1159 497 9/1/2024
2024.8.26.1150 570 8/26/2024
2024.8.19.1411 561 8/19/2024
2024.8.17.1000 528 8/17/2024
2024.8.12.1622 507 8/13/2024
2024.8.5.1010 423 8/5/2024
2024.8.1.1545 545 8/16/2024
2024.7.28.629 326 7/28/2024
2024.7.26.1512 312 7/26/2024
2024.7.26.828 287 7/26/2024
2024.7.11.1604 459 7/11/2024
2024.7.9.1520 520 7/9/2024
2024.7.4.1425 505 7/4/2024
2024.7.3.1249 528 7/3/2024
2024.7.2.1536 508 7/2/2024
2024.6.28.953 513 6/28/2024
2024.6.6.1320 342 6/8/2024
2024.5.15.1634 315 5/15/2024
2024.5.14.829 215 5/14/2024
2024.5.8.1005 278 5/8/2024
2024.4.4.2102 325 4/4/2024
2024.3.26.1111 214 3/26/2024
2024.3.19.2310 215 3/19/2024
2024.3.12.1022 223 3/12/2024
2024.3.7.1756 218 3/7/2024
2024.3.4.1549 176 3/4/2024
2023.11.13.1117 2,293 11/13/2023
2023.10.26.1502 1,494 10/29/2023
2023.10.12.1925 1,629 10/12/2023
2023.9.14.812 1,675 9/14/2023
2023.9.7.1748 1,732 9/7/2023
2023.9.7.1241 1,708 9/7/2023
2023.9.6.1001 1,700 9/6/2023
2023.9.5.1246 1,714 9/5/2023
2023.9.5.1032 1,694 9/5/2023
2023.8.31.1522 1,772 8/31/2023
2023.8.29.1040 1,756 8/29/2023
2023.8.17.901 1,817 8/17/2023
2023.8.9.1314 1,918 8/9/2023
2023.8.2.750 1,996 8/2/2023
2023.7.12.830 1,964 7/12/2023
2023.7.5.1419 2,043 7/6/2023
2023.6.14.1628 2,160 6/14/2023
2023.6.11.1304 2,228 6/11/2023
2023.5.30.1640 2,215 5/30/2023
2023.5.4.1552 2,320 5/4/2023
2023.5.1.1524 2,410 5/1/2023
2023.4.29.910 2,666 4/29/2023
2023.4.12.1236 2,688 4/12/2023
2023.3.22.1456 2,871 3/22/2023
2023.3.14.1356 2,996 3/14/2023
2023.3.1.810 3,182 3/1/2023
2023.2.25.11857 915 2/25/2023
2023.2.22.27 5,391 2/22/2023
2023.2.15.1413 3,187 2/15/2023
2023.2.11.1628 3,218 2/11/2023
2023.1.11.534 3,487 1/11/2023
2022.12.30.711 3,543 12/30/2022
2022.12.16.1536 1,412 12/16/2022
2022.12.15.1241 1,399 12/16/2022
2022.12.15.1108 3,932 12/15/2022
2022.12.14.648 3,979 12/14/2022
2022.11.27.1059 3,812 11/27/2022
2022.11.21.338 3,920 11/21/2022
2022.11.14.1819 4,053 11/14/2022
2022.11.14.1533 420 11/14/2022
2022.11.13.917 3,918 11/13/2022
2022.10.31.740 7,877 11/1/2022
2022.10.15.652 8,001 10/15/2022
2022.10.1.810 9,861 10/1/2022
2022.9.26.1444 10,607 9/26/2022
2022.9.14.1508 9,179 9/14/2022
2022.9.14.809 9,298 9/14/2022
2022.9.8.1009 9,319 9/8/2022
2022.8.20.1007 9,358 8/20/2022
2022.8.1.1 9,541 7/31/2022
2022.7.1300 9,850 7/1/2022
2022.7.31.1016 9,567 7/31/2022
2022.7.15.841 9,584 7/15/2022
2022.6.21.647 9,601 6/21/2022
2022.5.18.638 9,605 5/19/2022
2022.5.16.853 9,675 5/19/2022
2022.5.16.816 9,725 5/16/2022
2022.5.4.1010 9,659 5/4/2022
2022.4.10.947 10,327 4/10/2022
2022.4.10.925 10,241 4/10/2022
2022.4.10.828 10,289 4/10/2022
2022.4.10.712 589 4/10/2022
2022.4.1.1545 10,535 4/1/2022
2022.3.31.823 9,246 3/31/2022
2022.3.26.1103 10,598 3/26/2022
2022.3.26.820 10,080 3/26/2022
2022.3.25.840 9,364 3/26/2022
2022.3.24.1701 3,294 3/25/2022
2022.2.16.1131 10,680 2/17/2022
2022.2.16.834 10,517 2/17/2022
2022.2.15.824 4,005 2/17/2022
2022.2.11.1452 4,764 2/17/2022
2022.2.11.931 3,368 2/17/2022
2022.2.5.1114 10,679 2/5/2022
2022.1.17.1158 10,848 1/17/2022
2022.1.10.1505 10,892 1/10/2022
2022.1.10.537 10,136 1/10/2022
2022.1.5.1139 9,569 1/8/2022
2021.12.28.1452 10,521 12/28/2021
2021.12.26.1831 485 12/28/2021
2021.12.16.812 10,230 12/16/2021
2021.11.23.1528 16,480 11/24/2021
2021.11.21.925 16,653 11/22/2021
2021.11.19.1503 2,037 11/22/2021
2021.11.19.847 11,252 11/19/2021
2021.11.18.1824 10,807 11/16/2021
2021.11.11.1334 466 11/16/2021
2021.11.10.852 11,737 11/10/2021
2021.11.9.2021 11,354 11/9/2021
2021.11.8.2109 8,816 11/9/2021
2021.11.8.1612 9,313 11/8/2021
2021.11.7.1021 9,502 11/8/2021
2021.11.3.1612 9,638 11/4/2021
2021.11.1.1102 8,199 11/1/2021
2021.10.25.1206 9,927 10/25/2021
2021.10.23.1310 9,811 10/25/2021
2021.10.19.1522 9,821 10/19/2021
2021.10.16.1325 9,788 10/18/2021
2021.10.9.1119 405 10/9/2024
2021.10.6.1546 10,155 10/6/2021
2021.10.5.1450 9,981 10/5/2021
2021.10.4.1155 9,966 10/5/2021
2021.10.4.807 2,425 10/5/2021
2021.10.1.753 9,989 10/1/2021
2021.9.27.1005 9,336 9/28/2021
2021.9.26.1913 10,089 9/26/2021
2021.9.19.1015 9,621 9/19/2021
2021.9.17.1702 6,423 9/17/2021
2021.9.17.1449 12,692 9/17/2021
2021.9.13.1600 7,887 9/13/2021
2021.9.12.1100 6,168 9/13/2021
2021.9.11.2004 9,214 9/11/2021
2021.9.9.1110 9,790 9/9/2021
2021.9.9.813 502 9/9/2021
2021.9.7.2021 485 9/7/2021
2021.9.7.1901 9,812 9/8/2021
2021.9.7.1121 9,847 9/7/2021
2021.9.7.927 2,333 9/7/2021
2021.9.6.1518 9,416 9/7/2021
2021.9.4.1124 9,782 9/4/2021
2021.9.2.708 9,459 9/4/2021
2021.9.0.1259 9,539 9/2/2021
2021.8.2200 8,578 8/23/2021
2021.8.2100 9,640 8/23/2021
2021.8.22.900 9,968 8/22/2021
2021.8.18.1500 10,008 8/18/2021
2021.8.18.930 9,806 8/18/2021
2021.8.14.1600 9,841 8/16/2021
2021.8.14.829 5,457 8/14/2021
2021.8.9.1105 9,652 8/9/2021
2021.8.8.1612 9,557 8/8/2021
2021.8.8.1138 8,652 8/8/2021
2021.8.8.1107 501 8/8/2021
2021.8.6.1044 9,569 8/6/2021
2021.8.4.1355 10,151 8/5/2021
2021.7.30.2118 10,114 7/31/2021
2021.7.27.926 10,013 7/28/2021
2021.7.26.1737 717 7/28/2021
2021.7.23.931 10,236 7/26/2021
2021.7.22.1456 9,720 7/23/2021
2021.7.15.1547 9,763 7/15/2021
2021.7.13.812 9,639 7/13/2021
2021.7.12.734 611 7/12/2021
2021.7.9.736 832 7/10/2021
2021.7.8.1527 10,071 7/10/2021
2021.7.5.1649 8,677 7/5/2021
2021.6.29.1453 10,145 6/30/2021
2021.6.26.1753 10,415 6/27/2021
2021.6.25.1849 10,085 6/25/2021
2021.6.24.1518 9,978 6/24/2021
2021.6.20.729 10,077 6/20/2021
2021.6.15.2006 9,416 6/15/2021
2021.6.14.2025 9,973 6/15/2021
2021.6.13.2035 10,237 6/14/2021
2021.6.12.1154 9,487 6/13/2021
2021.6.9.1120 9,654 6/9/2021
2021.6.7.2103 2,430 6/7/2021
2021.6.3.1509 9,407 6/3/2021
2021.5.31.1533 9,741 5/31/2021
2021.5.31.1415 9,722 5/31/2021
2021.5.25.1732 8,616 5/25/2021
2021.5.24.1128 9,375 5/24/2021
2021.5.24.1019 9,215 5/24/2021
2021.5.12.1054 9,197 5/12/2021
2021.5.12.637 7,519 5/12/2021
2021.5.10.1442 8,546 5/11/2021
2021.5.8.1226 9,162 5/8/2021
2021.5.6.2037 8,201 5/6/2021
2021.5.5.1901 9,310 5/6/2021
2021.5.3.1621 9,341 5/4/2021
2021.5.1.905 9,685 5/1/2021
2021.4.28.1511 9,429 4/28/2021
2021.4.20.1520 9,995 4/21/2021
2021.4.16.738 9,600 4/21/2021
2021.4.15.9 794 4/16/2021
2021.4.14.1216 9,641 4/16/2021
2021.4.9.1538 9,483 4/13/2021
2021.4.8.947 9,583 4/13/2021
2021.4.6.1235 9,586 4/6/2021
2021.4.5.1653 9,367 4/5/2021
2021.4.1.913 9,554 4/1/2021
2021.3.31.2003 9,387 4/1/2021
2021.3.18.1622 9,939 3/18/2021
2021.3.3.1259 8,722 3/3/2021
2021.3.2.1415 9,493 3/2/2021
2021.3.1.11 8,400 2/28/2021
2021.3.1.1 8,981 2/27/2021
2021.3.1 8,595 2/27/2021
2021.2.23.6 7,853 2/23/2021
2021.2.21.1 9,088 2/21/2021
2021.2.20.1 8,619 2/20/2021
2021.2.19.2 8,327 2/19/2021
2021.2.18.6 7,442 2/19/2021
2021.2.17.1 8,344 2/17/2021
2021.2.16.1 8,792 2/16/2021
2021.2.15.3 8,771 2/15/2021
2021.2.15.1 8,784 2/14/2021
2021.2.14.3 8,188 2/14/2021
2021.2.12.6 8,517 2/12/2021
2021.2.12.2 8,674 2/12/2021
2021.2.11.1 7,100 2/11/2021
2021.2.10.1 8,075 2/10/2021
2021.2.8.1 8,615 2/9/2021
2021.2.7.1 15,260 2/6/2021
2020.12.27.6 8,941 12/27/2020
2020.12.27.1 8,307 12/27/2020
2020.12.26.7 8,172 12/27/2020
2020.12.26.5 8,894 12/27/2020
2020.12.26.3 8,802 12/27/2020
2020.12.19.1 8,546 12/19/2020
2020.12.16.1 8,012 12/16/2020
2020.12.15.1 8,676 12/15/2020
2020.12.14.5 8,901 12/14/2020
2020.12.14.4 8,049 12/14/2020
2020.12.14.3 7,773 12/14/2020
2020.12.5 6,786 12/5/2020
2020.12.4.1 13,495 12/4/2020
2020.12.4 6,796 12/4/2020
2020.12.2.3 18,832 12/2/2020
2020.12.1 9,117 12/1/2020
2020.11.28 8,425 11/28/2020
2020.11.27.2 7,948 11/27/2020
2020.11.25.1 12,622 11/25/2020
2020.11.22.3 8,374 11/23/2020
2020.11.20.1 7,646 11/21/2020
2020.11.19.3 7,725 11/19/2020
2020.11.18.1 13,612 11/18/2020
2020.11.15.1 19,822 11/15/2020
2020.11.8.1 47,615 11/8/2020
2020.11.5.1 13,124 11/5/2020
2020.11.3.1 7,602 11/3/2020
2020.10.30.1 23,101 11/1/2020
2020.10.15.3 7,630 10/15/2020
2020.10.15.2 7,477 10/15/2020
2020.10.14.1 7,410 10/14/2020
2020.10.13.1 7,348 10/13/2020
2020.10.12.2 7,627 10/12/2020
2020.10.12.1 7,343 10/12/2020
2020.10.10.1 7,461 10/10/2020
2020.10.9.6 7,167 10/9/2020
2020.10.9.5 1,658 10/9/2020
2020.10.9.2 7,419 10/9/2020
2020.10.9.1 6,906 10/9/2020
2020.10.8.1 6,823 10/8/2020
2020.10.6.8 6,995 10/7/2020
2020.10.6.7 1,661 10/7/2020
2020.10.6.6 7,060 10/7/2020
2020.10.6.5 7,063 10/7/2020
2020.10.6.4 7,090 10/7/2020
2020.10.6.3 7,054 10/7/2020
2020.10.6.1 12,298 10/7/2020
2020.10.5.1 7,461 10/6/2020
2020.10.1.3 6,893 10/1/2020
2020.10.1.2 6,728 10/1/2020
2020.10.1.1 6,627 10/1/2020
2020.9.29.10 6,721 9/29/2020
2020.9.29.9 6,892 9/29/2020
2020.9.28.1 11,492 9/28/2020
2020.9.25.1 6,974 9/26/2020
2020.9.24.2 6,671 9/24/2020
2020.9.24 6,646 9/24/2020
2020.9.23.2 6,097 9/23/2020
2020.9.23.1 6,831 9/23/2020
2020.9.22.1 6,577 9/22/2020
2020.9.21.1 6,741 9/21/2020
2020.9.17.2 6,742 9/17/2020
2020.9.16 6,413 9/16/2020
2020.9.15 5,694 9/15/2020
2020.9.14 4,525 9/14/2020
2020.9.9.2 5,022 9/9/2020
2020.9.8.1 5,342 9/8/2020
2020.9.8 3,794 9/8/2020
2020.9.6.5 5,106 9/6/2020
2020.9.6.2 1,434 9/6/2020
2020.9.5 628 9/6/2020
2020.9.4.2 4,914 9/4/2020
2020.9.4 5,634 9/4/2020
2020.9.3.1 5,581 9/3/2020

Major releases that add functionality other than optimization and minor bug fixing
12 June 2025
-Update to .net 9.04 and .net 8.0.3

16 Feb 2025
- Update to .Net 9 SP1

19 November 2024
- Add BelongsTo extension for GeoLocation

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

27 September 2024
- Update FirewallBlockReasons added new values
- Add annotation to assist detection reporting for FirewallBlockReasons

14 August 2024
- Update to new .net SDK

05 August 2024
- Add firewall detection types

26 July 2024
- Update SDK framework build

7 July 2024
- Updated Nuget package dependencies

3  March 2024
- Migrate to .net 8 (including AoT)
- Make trimmable