Skip to main content

2026.11.15.0

Version: 2026.11.15.0
Release date: 15.11.2026

FileChecksum [SHA256]
Setup_win-x64.msi4E6189C2F877EAD8225A32B2F4E1D97D0075A5C5347D0CE5055344F5E894925C
Setup_win-arm64.msiA13805AA717B990518A2DE488643E9489C666D66BCD1F2F22E453B4F81E8D8BB
Portable_win-x64.zip4C568F4F286E1271151CFEA6A6E94ED21E09FF39AF20F144DB6501541DBB0166
Portable_win-arm64.zipD86B95DC3DD2AC8330471BAB0C4656EB4C4B70B52DF538873CC1C47206289069
Archive_win-x64.zipE40F32E06D4DF60FBDE224475F28B9695C2F9014674410EBE6A1F9CC272DE6AE
Archive_win-arm64.zip95A304473D6248FC1F69A5111D42EB0E80C7A6C70913B309AA537EE25DB8B877

System requirements

Breaking Changes​

  • Removed the ThreadPool additional min. threads setting (Settings > General) and the application-wide ThreadPool.SetMinThreads workaround it configured for the IP Scanner and Port Scanner. It's no longer needed now that both scan engines use non-blocking async concurrency instead of blocking calls. #3564
  • Exports (CSV, XML, JSON): the exports of all tools now use the same format, see Export format. Columns may have been reordered (like shown in the tool) or added, and values are formatted the same way in every tool (e.g. numbers without unit and with a decimal point, dates as yyyy-MM-dd HH:mm:ss.fff, MAC addresses as AA:BB:CC:DD:EE:FF, empty values instead of placeholders like -/-). If you process exports with scripts or other tools, check them after the update and read the columns by name instead of by position. The changes of each tool are listed below. #3696
  • Network Interface: the export contains the MAC address (PhysicalAddress) as AA:BB:CC:DD:EE:FF instead of AABBCCDDEEFF, the DHCP lease (DhcpLeaseObtained, DhcpLeaseExpires) as 2026-11-08 10:15:30.123 in every format and language (empty without DHCP), and lists of IP addresses separated by ; instead of ;, like in all exports. The IPv6 link-local address comes before the IPv6 address, like in the details. #3696
  • WiFi: the export contains BeaconInterval (milliseconds, e.g. 102.4) and Uptime (seconds) as numbers instead of text (00:00:00.1024000), like the durations of all exports. The columns of the export are in the order of the grid (SSID, connected, security, frequency, channel, channel width, signal, authentication, encryption, BSSID, vendor, ...) instead of the BSSID first and the values shown in the grid at the end. #3696
  • IP Scanner: the export contains the ping time (Time) as a number of milliseconds (e.g. 4) instead of text (4 ms, -/-). Time, TTL and Bytes are empty without a reply instead of -/- / 0, like in all exports. The columns of the export are grouped by topic instead of new columns being appended at the end: host (IsReachable, DetectedBy, IPAddress, hostnames, MAC address, vendor, role, OS), ping, port scan, NetBIOS, web page, SNMP, Windows host information and the change since the last scan. The ports in the CSV export contain port, protocol and state (80/Tcp/Open; 443/Tcp/Closed) instead of also service and description, which can contain / and ; (JSON / XML unchanged). #3696
  • Port Scanner: the JSON export uses the key State for the port state (like CSV and XML) instead of Status. Scripts that read Status have to be adjusted. #3660
  • Ping Monitor: the export contains the ping time (Time) as a number of milliseconds (e.g. 4) instead of text (4 ms, -/-). Time, TTL and Bytes are empty without a reply instead of -/- / 0, like in all exports. The columns are Timestamp, IPAddress, Hostname, Status, Time, TTL, Bytes (status first, like the ping of the IP Scanner). #3696
  • Traceroute: the export contains the times (Time1 - Time3) as a number of milliseconds (e.g. 4) instead of text (4 ms), empty without a reply instead of -/-, like in all exports. #3696
  • SNTP Lookup: the export contains Offset (seconds) and RoundTripDelay (milliseconds) as numbers with a decimal point (e.g. -0.25) instead of text with the unit (-0.25 s, 10.5 ms), like in all exports. The Offset (also in the grid) uses the sign of NTP: time of the server minus the local time (positive if the local clock is behind), the opposite of before. #3696
  • Firewall: the columns of the export are in the order of the grid: IsEnabled first, the local and remote address before the port (LocalAddresses, LocalPorts, RemoteAddresses, RemotePorts), then Program, InterfaceType, NetworkProfiles and Description. #3696
  • Discovery Protocol: the columns of the export are in the order shown: Management and ChassisId (new) after IPAddress, LocalConnection and LocalInterface (new) at the end. #3696
  • IP Geolocation: the columns of the export are in the order shown: Query (IP address) and Reverse after Currency, then the network (Isp, Org, As, Asname, Hosting, Proxy, Mobile), like the geolocation in the Traceroute export. #3696
  • Neighbor Table: the export contains the MAC address as AA:BB:CC:DD:EE:FF (like it is shown) instead of AABBCCDDEEFF, like in all exports. #3696

What's new?​

  • New setting Dynamic tab width in Settings > Window: the tabs of the tools (e.g. IP Scanner, Remote Desktop, PuTTY) are as wide as their title, up to a configurable maximum width (default 300), instead of a fixed width of 150. Long titles (e.g. hostnames) are shortened with ..., the tooltip shows the full title. #3055
  • A dragged-out tab (e.g. Remote Desktop, PuTTY) can be dropped anywhere on the tab bar of another window of the same tool, not only over the existing tabs. While dragging, a highlighted slot shows where it can be dropped. #3702
  • New setting Accent glow in Settings > Appearance: a subtle glow of the accent color in the top left corner of the windows (Off, Subtle, Medium (default), Strong). #3702
  • New themes Black, Midnight, Steel, Indigo, Mist, Soft and Paper and new accent colors Sky, Ocean, Mint, Rose, Coral, Gold, Lavender, Slate and Graphite in Settings > Appearance. All accents work with every theme. #3702
  • New command line argument --screenshot to start the application with a fixed window size (1280x800, centered, not resizable) for consistent screenshots. The Dashboard shows sample data (documentation addresses, e.g. 203.0.113.10) instead of your own IP addresses, provider and location. Embedded PowerShell and PuTTY windows don't take the focus automatically, so the screenshot tool keeps it.
  • ARM64 builds are now available. #3538

Run command

  • The Run command (Ctrl+Shift+P) now runs a feature directly, e.g. ping 10.0.0.1, dns borntoberoot.net 1.1.1.1 aaaa, rdap 1.10 asn or rdp @server-01 (profile). It opens in a dialog instead of a flyout, with short aliases (e.g. ping, dns, rdp, ssh, geo, wol), suggestions for recent commands, profiles of the feature and types (Up/Down to select, Tab to complete, Enter to run, Esc to close), and validates the input like the feature does. Only visible features are offered. #3644
  • New run command targets for the Subnet Calculator (subnet 10.0.0.0/24, subnet 10.0.0.0/16 /24 for subnetting, subnet 10.0.0.0/24 10.0.1.0/24 for the wide subnet) and the Lookup (lookup oui 00:11:22, lookup port 22; ssh). #3646
  • New global hotkey to bring the window to the foreground and open the run command (default Ctrl+Alt+P, disabled by default), see Settings > HotKeys. #3646
  • Run command: the Port Scanner needs ports, which can also be names of port profiles, also several and together with ports (e.g. portscan 10.0.0.1 webserver or portscan 10.0.0.1 "DNS (via TCP)";webserver;22, suggested after the host and after a ;). Own history size for the run command (default 20, Settings > General). Tab also completes profiles and port profiles, PageUp/PageDown move the selection by 5 suggestions. #3646
  • Run command dialog redesigned: the icon of the recognized feature, the syntax with the part being typed highlighted, the values as they were understood (e.g. Hosts: borntoberoot.net, Type: AAAA), validation while typing, grouped suggestions with the typed text highlighted, examples and key hints (can be hidden in the settings). The dialog uses more space in a large window. The title bar shows a Run command... box in the center instead of the icon. Type only a target (e.g. 10.0.0.1, server-01, 00:11:22:33:44:55, 10.0.0.0/24) to get the commands that accept it, recent commands are also suggested while typing (e.g. a host); optionally, a target in the clipboard is suggested (Settings > General). Ctrl+Enter runs and keeps the dialog open, Shift+Enter fills in the input without starting, Shift+Del or the remove button removes a recent command. #3646

Settings

  • New global DNS suffix options in Settings > Network: Add DNS suffix (primary) to hostname appends the Windows primary (or, if none is set, the active network adapter's connection-specific) DNS suffix to a bare hostname before resolving it, and Use custom DNS suffix lets you override it with a suffix of your own. Previously only available in DNS Lookup, this now also applies to every other tool that resolves hostnames through NETworkManager's shared DNS resolver (e.g. Ping, Traceroute, Port Scanner, IP Scanner, SNTP Lookup) — DNS Lookup stays independent. #3591
  • DNS server(s) in Settings > Network is now a list of servers (IP address + port), configured via an Edit DNS server dialog, replacing the previous single semicolon-separated, port-53-only text field. #3591

WiFi

  • Changes since the last scan: each scan is compared with the previous scan of the same adapter (by BSSID). The new column Since last scan shows networks that are New, Gone (shown faded until the next scan) or Changed (channel, channel width or security, the tooltip shows the previous values), the header shows the counters (e.g. 2 New · 1 Gone). Also in the search and the export (Change). Useful with Automatically update every to see new access points or channel changes. #3695
  • Notification for changes: when Automatically update every finds new, gone or changed networks, a notification popup (and optionally a sound) shows them, like the IP Scanner. Configurable in the new WiFi settings (Show notification popup on changes, Play sound on changes, Display duration). #3695

Traceroute

  • New Map view below the hop list, visualizing each resolved hop's geolocation on an offline world map. Consecutive hops are connected with curved, directional arrows; hovering a marker shows its location, ISP/ASN, hostname, IP address and average round-trip time, while hovering an arrow shows the source and destination location of that segment. The map supports mouse-wheel zoom and drag-to-pan, and can be collapsed via a toggle button on the map itself, similar to the Profiles panel. The map is only shown if Check IP geolocation and the new Show map setting are both enabled, since hops need a resolved geolocation to be plotted. #3520

RDAP

  • New RDAP tool to look up registration data via the Registration Data Access Protocol, the standardized, JSON-based successor of Whois. Supports domains, nameservers, top-level domains, IP addresses/CIDR prefixes, AS numbers and entity handles; the type is detected automatically or can be selected. The RDAP server is determined automatically using the IANA bootstrap files, which are cached locally and can be updated in the new Settings > RDAP page. Results are shown in a structured view (details, status, events, nameservers, DNSSEC, networks and AS numbers of an organization, contacts, notices) or as raw JSON, and can be exported as JSON or text. For domains (e.g. .com/.net), the referral to the registrar's RDAP server is followed as well (can be disabled in Settings > RDAP). Includes profile support. If no RDAP server is known for a domain, it can be opened in Whois with a single click. IP addresses and hostnames can be queried from the context menu of IP Scanner and Traceroute, AS numbers from Traceroute; for a hostname (e.g. www.borntoberoot.net), the registered domain is queried (determined with the included Public Suffix List). #3607 #3642

Improvements​

  • Links (e.g. in About, Web Console and the notices in RDAP) are now keyboard accessible: they can be reached with Tab and opened with Enter. #3607
  • Actions that require elevated rights now show a tooltip with the reason when they are disabled because the application is not running as administrator (e.g. Apply, Flush DNS cache and Release & Renew in Network Interface, the context menu and Add entry... in Hosts File Editor, Firewall and Neighbor Table, and Capture in Discovery Protocol). #3626
  • The collapsed/expanded state of profile groups (e.g. linux-server) is now remembered per profile file and shared across all tools, instead of resetting every time you switch tools or restart the application. #3539
  • The Experimental features setting in Settings > Update is removed: features in testing are marked with a Beta label at their own setting instead (e.g. Read Windows host information of the IP Scanner). #3691
  • Disabled controls (e.g. while a scan is running) are dimmed instead of covered by a light gray overlay. Mouse over and pressed use a subtle background instead of light gray. #3702
  • Status colors (e.g. up / down, open / closed, warnings and errors) are easier to read in the light theme. Technical values (e.g. IP / MAC addresses, hostnames, ports, console output) use Cascadia Mono on Windows 11 (Consolas on Windows 10). #3702
  • Rounded buttons, inputs, drop-downs, tooltips and context menus. Buttons have a subtle background instead of a border, icon buttons are transparent until the mouse is over them, the main action (e.g. Scan) keeps the accent color. Keyboard focus shows a gray ring instead of a dotted rectangle. #3702
  • New layout: navigation, tool and profiles as rounded boxes on a tinted window frame, new tabs with an accent line on the selected tab, rounded dialogs and cards (Dashboard, Ping Monitor), lists with taller rows and a light accent-colored selection. Rounded window corners on Windows 11. #3702
  • Subtle animations: dialogs, navigation, expanders, tooltips, notifications and a smooth progress of the IP Scanner and Port Scanner. New setting Animations in Settings > Appearance: System (default, follows Windows), On or Off; also as system-wide policy Appearance_Animations. #3702
  • Progress bars and loading indicators look the same in all tools. #3702
  • Clearer text: semibold section headers, larger messages in empty areas and Segoe UI Variable on Windows 11. #3702
  • In the dark theme, the boxes are raised on a darker window frame. The charts (e.g. Ping Monitor, WiFi, Traceroute map) use colors with a good contrast in the light and dark theme. New installations use the accent color Mint. #3702
  • While a tab is dragged, Remote Desktop, PowerShell, PuTTY, TigerVNC and Web Console show the icon of the tool and the title of the tab instead of an empty area. #3702
  • New icons: one icon family (Lucide) with thin lines instead of five different icon packs. #3702
  • Empty areas (e.g. no firewall rules found) show a large gray icon above the message. The notices to restart as administrator take only one row. #3702
  • Status messages below the input (e.g. IP Scanner, DNS Lookup, Wake on LAN) show an icon and the color of their type (error, warning, success, info) instead of the accent color. #3702

Profiles

  • Settings > Profiles: Enter in the search box filters the profiles right away instead of after the delay while typing. #3660
  • The profile and group dialogs open faster. #3702

Dashboard

  • Checking the IP geolocation and the DNS resolver is faster (the minimum of 2.5 seconds runs during the request, not before); the refresh icons spin until the check is finished. #3685

Network Interface

  • Members of the Network Configuration Operators group can now change the network configuration (IP address, DNS servers, release/renew) without being an administrator. NETworkManager has to run elevated (Restart as Administrator, confirm with your own credentials). The hint is now also shown as tooltip on Apply in the profile context menu. #3606
  • The export contains the network profile (Profile, e.g. Private) after the speed, like in the details. #3696

WiFi

  • The Channels tab shows the charts of all bands (2.4, 5 and 6 GHz) one below the other in a scrollable list instead of two sub-tabs (2.4 & 5 GHz, 6 GHz). #3702
  • The search filters after a short delay while typing instead of on every key press, Enter filters right away. #3660
  • The time of the last scan of the networks (Last scan at 14:32, the date in the tooltip) is shown in their header, with Automatically update every a countdown to the next scan; the line below only shows errors and the connection status. Reloading the network adapters is faster (the minimum of 2.5 seconds runs while loading) and the reload icon spins until it is finished. #3685
  • A channel width that could not be read from the beacon of the access point and is estimated is shown as ~80 MHz (grid, copy and the tooltip of the Channels tab), the tooltip of the cell explains it. Estimated widths on 2.4 GHz are 20 MHz (40 MHz is rarely used there). #3695
  • After allowing the access to the WiFi adapter in the Windows settings (location), Refresh below the message (or switching back to WiFi) loads the adapters. A restart of the application is no longer needed. #3695
  • The BSSID is shown, copied and exported in the same format as the MAC addresses of the other tools (AA:BB:CC:DD:EE:FF instead of aa:bb:cc:dd:ee:ff). #3695
  • Reloading the adapters keeps the networks visible while they are scanned again (the refresh icon spins), instead of replacing them by the loading indicator. #3695
  • An unknown security or PHY kind is shown as -/- (like an unknown vendor) instead of the untranslated text Unknown. #3695
  • The export contains the values shown in the grid that were missing: IsConnected, Security, Channel, ChannelWidth (MHz), ChannelWidthEstimated and Vendor. #3695
  • Export... > all exports the networks shown in the grid (filtered by band and search) in the order shown, the selected networks are exported in the order shown too. The file is written in the background. #3695
  • Scanning the networks (also Automatically update every) no longer freezes the window briefly: the connected network is read from the WiFi API instead of netsh via PowerShell, and the vendor lookups run in the background. #3695
  • The selected network stays selected (and in view) when the networks are scanned again, e.g. with Automatically update every. The list is replaced at once instead of network by network. #3695
  • If several networks are selected, Copy... > SSID / BSSID copies the values of all selected networks (one per line, in the order shown, without duplicates). #3695

IP Scanner

  • Added a live count of hosts up/down below the Result header. Stays visible after the scan finishes. #3572
  • Host input now accepts newline-separated hosts (one per line, e.g. a column pasted from Excel), converted automatically to the semicolon-separated form. Thanks to @dearmb #3568
  • Host input now supports shorthand IPv4 ranges like 192.168.0.1-100, in addition to the existing 192.168.0.0-192.168.0.100 and 192.168.[0-100].1 range formats. #3568
  • Added 21 (FTP, e.g. NAS), 23 (Telnet, e.g. older switches), 135 (RPC), 554 (RTSP, e.g. IP cameras), 631 (IPP, printers), 5900 (VNC), 5985 (WinRM), 7000 (AirPlay), 8009 (Chromecast), 8080 / 8443 (web interfaces of devices and appliances), 9100 (raw printing) and 62078 (iPhone / iPad) to the default Ports list used to detect if a host is reachable, e.g. hosts that block ICMP. An unreachable host is still finished after about 4 seconds (22 ports with Max. concurrent port threads 16, like 2 ICMP attempts). Settings that are still on the old default are updated. #3564 #3667
  • Added a button next to Ports in the settings to restore the default ports. #3660
  • New default custom commands Windows Explorer (shares), Computer Management, Event Viewer and System Information (for new settings; existing custom commands are not changed). #3660
  • Faster scans with new defaults: all ports of a host are now scanned at the same time (Max. concurrent port threads 5 → 16, max. 32) and the timeouts are lower (ICMP, port scan and NetBIOS timeout 4000 → 2000 ms), so an unreachable host is finished after about 4 seconds (2 ICMP attempts) instead of up to 12 seconds. Max. concurrent host threads is lowered from 256 to 128 (max. 256 instead of 512) to put less simultaneous load on the network. An empty /24 network is scanned in about 8 seconds instead of about 50. Settings that are still on the old default are updated. #3564 #3653
  • The neighbor table (ARP/NDP) is read once and cached during a scan instead of once per reachable host to resolve the MAC address. The MAC address of the own IPv6 addresses and of IPv6 link-local neighbors is resolved as well. #3653
  • Resolve MAC address and vendor is enabled by default for new installations (as documented). #3653
  • The export runs in the background, so the window stays responsive while a large result is exported, and uses the order shown in the result (sorting) instead of the order in which the hosts were scanned. #3653
  • The DNS hostname and the MAC address of a host are resolved at the same time instead of one after the other. #3660
  • New Expand host view setting to show the details of every host in the result (also hosts added while the scan is running), like in the Ping Monitor. #3660
  • The up / down counter below the Result header is translated as one text, so translations can put the number in a different position. #3660
  • Rescan in the context menu scans the selected host(s) again with the settings of the shown scan and updates their rows, e.g. to check if a host is up again. #3660
  • Added Web Console (https / http depending on the open ports) and Wake on LAN (with the MAC address) to the context menu. #3660
  • Added a search box above the result to filter the hosts by IP address, hostname, MAC address, vendor and open ports, also while the scan is running. #3660
  • Copy > IP address / Hostname / MAC address is also available if multiple results are selected (one value per line, in the order shown). #3660
  • Added a Time column with the round trip time of the ping. Sorted by time, hosts without a ping reply are at the end. #3660
  • A host is shown as soon as it answers (ping reply, open or refused port or NetBIOS answer) instead of after all probes and lookups are finished (up to the port scan / NetBIOS timeout, plus the DNS lookup). Values of probes that are still running are shown as ..., the other results, the DNS hostname and the MAC address / vendor are filled in when they arrive. The DNS hostname and the MAC address are resolved right after the first answer. #3660
  • The CSV and XML export contain the DNS hostname (DNSHostname) in addition to the hostname (DNS, or NetBIOS as fallback), like the JSON export. #3660
  • Hosts are started one after another (every 10 ms, shorter with short timeouts and many threads) instead of all at the same moment. This avoids bursts of more than a thousand connection requests within a few milliseconds and makes the progress smoother. #3653
  • Closed ports are reported immediately. Windows repeated the connection request after the host refused it and reported a closed port only after about 2 seconds. The connection request is sent once. #3653
  • New Attempts setting for the port scan (default 1): another connection request is sent if there was no answer, e.g. on an unreliable network (Wi-Fi, VPN) or for hosts on the internet. Open and closed ports are not repeated. #3653
  • Added RDAP... to the context menu to query the registration data of the IP address or hostname of a host in the RDAP tool. #3642
  • The tooltip of the status icon shows the probes the host answered (e.g. Up (detected by Ping, TCP)), also as icons in the row details and in the export (DetectedBy). #3685
  • New Ping hosts setting (default on) to scan without ping, e.g. if ICMP is blocked: hosts are found by their ports, NetBIOS or SNMP answer, and unreachable hosts don't wait for the ping. At least one probe must be enabled. #3685
  • New Find hosts in the local subnet setting (default on): hosts in a local subnet that answer no probe (e.g. a Windows client in a public network, a phone, an IoT device) are found by their ARP / NDP entry, without additional packets; proxy ARP of the gateway is ignored. In the new ARP / NDP section of the settings, with Resolve MAC address and vendor. #3685
  • New OS column: the operating system guessed from the TTL of the ping reply (Linux / Unix, Windows, Network device; IPv4, no additional packets), setting Guess the operating system from the TTL (default on). Also in the search, Copy and the export (OSGuess). #3685
  • An icon marks this computer, the default gateway and the DNS and DHCP servers of the connected network interfaces (all roles in the tooltip), e.g. to find the router. Also in the search and the export (Role). #3685
  • New Resolve mDNS hostname setting (default off): the .local name of reachable hosts (Apple, Linux with Avahi, Android, printers, IoT devices), used as Hostname if there is no DNS name. The new Hostnames section of the row details shows the DNS, mDNS and NetBIOS name. Also in the search, Copy and the export (MDNSHostname). #3685
  • New Read web pages setting (default off): the web page (GET /) of reachable hosts is read from their open web ports (Ports, default 443; 80; 8443; 8080, needs the port scan), e.g. to identify routers, printers and NAS. The title (or the realm of a login prompt, the Server header, a redirect) is shown in the new Web column; URL, status code, headers and the TLS certificate (issuer or Self-signed, expiry) in the row details. No cookies or credentials are sent. Web Console in the context menu opens the port that answered. Also in the search, Copy > Web and the export (Web…). #3685
  • New Read the SNMP system information setting (default off, v1 / v2c): name, description and location of every IP address, e.g. to identify switches and printers; a host that answers is up, also if it blocks ping and ports. The name is shown in the new SNMP name column, all values in the row details. The community is saved as plain text (use a read-only one). Also in the search, Copy > SNMP and the export (SNMP…). #3685
  • The SNMP version and credentials can be overridden in a profile and in a group (new IP Scanner tab of the group, the profile before its group): another community per site, or SNMP v3 (security level, user, authentication and privacy; saved in the profile file, encrypted with profile file encryption). With v3, every agent answers the discovery request, so the host is found also with wrong credentials; the error (e.g. unknown user) is shown in the row details and exported as SNMPError. The options of the tab show which profile / group is used. #3685
  • Values that are still being resolved show ... instead of -/- (Hostname and MAC address / Vendor until all their sources are finished, the new columns and row details), so a missing value can be told apart from a pending one. Copy is disabled until the value arrived. #3685
  • The Port status column is replaced by Open ports with the port numbers (e.g. 22, 80, 443), the services in the tooltip, sorted by the number of open ports (also in Copy). The Ping status and NetBIOS reachable columns are removed (status icons in the headers of the row details, the values in the row details; the NetBIOS name and workgroup are already used for Hostname / Domain). The row details use five columns (Ping details / Hostnames, Ports, Windows, Web, NetBIOS / SNMP); a section of a disabled setting shows a note. #3685
  • New Options button next to Scan: turns the probes and lookups, Show unreachable IP addresses and ports and Expand host view on or off (the same settings as on the settings page, for all tabs) and opens the settings. On the settings page, the port scan settings and Read web pages are disabled while Scan ports is disabled. #3685
  • Detect local subnet opens a menu: the local subnet (as before), Subnet of network interface (e.g. LAN, Wi-Fi, VPN, Hyper-V) and All local subnets. #3685
  • IP addresses can be excluded with ! in the host input (also in profiles and the run command), e.g. 10.0.0.0/24; !10.0.0.1; !10.0.0.200-254: IP addresses, ranges, subnets and hostnames (nothing is scanned if an excluded hostname can't be resolved). #3685
  • Changes since the last completed scan of the same input in the tab: New, Gone (shown as down) and MAC changed (the previous MAC address in the tooltip) in the new Since last scan column, counters below Result (e.g. 2 New · 1 Gone) and Last scan at. Kept while the tab is open; also in the search and the export (Change, PreviousMACAddress). #3685
  • New Automatically scan every (1 min to 1 h, with a countdown to the next scan): repeats the scan and updates the rows in place (selection, scroll position and search stay). Stops when a scan is canceled, the input is changed or the tab is closed; also runs while the tab is hidden. Per tab, the interval is saved. #3685
  • New Notification settings (popup, sound, display duration; popup on, sound off by default - only for a scan repeated by Automatically scan every): a repeated scan with changes shows one notification like the Ping Monitor (up to three changes, e.g. 10.0.0.5 (server) · New with the change in its color, otherwise the counters) - green for only new hosts, red for only gone hosts, half green / half red for both, orange for a changed MAC address; a click opens the tab. #3685
  • New Read Windows host information setting (beta, default off, SMB on TCP 445; only hosts with port 445 open if the port scan checks it): without credentials the operating system with build (e.g. Windows 11 25H2, 10.0.26200), computer name, domain and the time offset to the local clock (SMB / NTLM negotiation, no logon); with the NetApi the role (workstation, server, domain controller), description and workgroup, with admin rights also the logged-on users and the patch level (remote registry). The user running NETworkManager is used, or the Windows credentials of a profile / group (new in the IP Scanner tab of the profile and group, saved in the profile file like the Remote Desktop credentials; there are no Windows credentials in the settings). The options of the tab show which profile / group is used. The Windows version is shown in the OS column (instead of the guess from the TTL), new columns Domain (also the NetBIOS workgroup / domain, if the Windows host information has none), Time offset (highlighted above 5 minutes, the Kerberos limit) and Logged-on users, a Windows section in the row details (also edition, version with patch level, role, computer name, description, SMB version and the error of the NetApi requests), Copy (OS, Domain, Windows > Operating system / Time offset / Logged-on users), search and export (WindowsOS ... SMBServerGuid, at the end). The Windows credentials are checked on one host first, so a wrong password doesn't lock the account: only a Windows host in the domain of the credentials accepts them for the other hosts (a failed logon there later in the scan stops them again), rejected credentials are not used for the other hosts, the next scans and other tabs with the same password (a message is shown), one host checks them at a time and logon failures on hosts of other domains are counted per account for all tabs (new setting Max. logon failures, default 2), local accounts (.\admin) are logged on with the computer name of each host. The checks are written to the log file (without the password). Options > Set Windows credentials... sets credentials for the tab only (not saved, also without a profile), Scan as... in the context menu of a profile scans it with other credentials (like Connect as... of the Remote Desktop). New setting Max. concurrent Windows host information threads (default 16, for all tabs): hosts whose NetApi requests run at the same time. #3691

Port Scanner

  • Added a port status icon column to the results, matching the port icon used in the IP Scanner's extended port info, to indicate at a glance whether a port is open (green) or closed (red). #3558
  • Added a live count of ports open/closed below the Result header. Stays visible after the scan finishes. #3572
  • Host and Ports input fields now accept newline-separated entries (one per line, e.g. a column pasted from Excel), converted automatically to the semicolon-separated form. #3568
  • Host input now supports shorthand IPv4 ranges like 192.168.0.1-100, in addition to the existing 192.168.0.0-192.168.0.100 and 192.168.[0-100].1 range formats. #3568
  • New defaults: Timeout 4000 → 2000 ms (still allows one retransmission of a lost connection request), Max. concurrent host threads 5 → 4 and Max. concurrent port threads 256 → 128, which puts less simultaneous load on the scanned hosts (up to 512 instead of 1280 connections at the same time). Settings that are still on the old default are updated. #3564 #3653
  • Closed ports are reported immediately. Windows repeated the connection request after the host refused it and reported a closed port only after about 2 seconds, so a scan of a host that refuses most ports is much faster now (e.g. 1-1024: about 1 second instead of about 16 seconds). The connection request is sent once. #3653
  • New Attempts setting (default 1): another connection request is sent if there was no answer, e.g. on an unreliable network (Wi-Fi, VPN) or for hosts on the internet. Open and closed ports are not repeated. #3653
  • The counter below the Result header shows timed out ports (no answer) separately: Open · Closed · Timed out. Before, they were counted as closed. #3660
  • The open / closed counter below the Result header is translated as one text, so translations can put the number in a different position. #3660
  • Rescan in the context menu scans the selected port(s) again and updates their state in place; Rescan host in the context menu of a host (group header) scans the host again with all ports of the shown scan and replaces its results. The context menu of a host also opens it in other tools, adds it as a profile and copies its IP address, hostname or open ports (e.g. 22; 80; 443). #3660
  • Added Web Console to the context menu of an open web port (80, 443, 8080, 8443). #3660
  • Added Ping Monitor, Traceroute, DNS lookup..., RDAP..., Remote Desktop, PowerShell, PuTTY, TigerVNC and SNMP to the context menu to open the host (hostname, otherwise the IP address) in the tool, like in the IP Scanner. #3660
  • The header of each host shows the number of open ports (e.g. server (10.0.0.1) · 3 Open), also while the scan is running. #3660
  • The Ports input lists the history (a single port profile is not added to it) and the port profiles (name, with the ports below), like the DNS servers in DNS Lookup: select a port profile, or type ports and port profile names. Replaces the Select port profile button and its dialog. #3660
  • Profiles: the Ports of the Port Scanner can contain port profiles (selectable in the list like in the tool), which are referenced by the profile - changes to a port profile apply, also after a rename. The ports are saved with the profile as well and used, with a note, if the port profile can't be found (e.g. a profile file shared from another computer, port profiles are saved in the settings). #3660
  • Port profiles can be entered by name in the Ports input, also several and together with ports (e.g. Webserver; Database; 8080, case-insensitive). Tab completes the name that is being typed (e.g. webserver; dat → webserver; Database), also in the profile dialog. The name of a port profile must be unique, must not contain ; (replaced by , when updating) and must not be a port or port range. #3660
  • Added Add profile... to the context menu: creates a profile with the host (IP address), the hostname as name and the ports of the shown scan. #3660
  • Several port profiles can be selected in the settings and deleted at once (context menu or Del), the confirmation lists them. #3660
  • Added a search box above the result to filter the ports by IP address, hostname, port, protocol, service, description and status, also while the scan is running. #3660
  • Copy > IP address / Hostname / Port / IP address:Port is available if multiple results are selected (one value per line, in the order shown). #3660
  • New setting Ping hosts before the scan (default off): only hosts that answer a ping are scanned, the number of skipped hosts is shown after the scan. The ping has its own Attempts (default 2), Timeout (default 2000 ms) and Buffer (default 32 bytes) settings, like the IP Scanner. Faster for ranges with many unused IP addresses; hosts that block ICMP are skipped. #3660 #3667
  • New setting Adjust threads automatically (default on): the number of hosts and ports scanned at the same time is adjusted to the scan (up to 512 connections, at most 128 hosts and 128 ports per host). A scan with few ports is much faster, e.g. a /24 with one port (e.g. 3389) takes about 4 seconds instead of about 2 minutes; 1-1024 is unchanged. Max. concurrent host threads (now up to 256) and Max. concurrent port threads are used if it is disabled, with at most 8,192 connections at the same time. It is disabled when updating if the threads were changed. The hostname (DNS PTR) of a host is resolved when its first port is scanned, so the lookups are spread over time like the ports. #3660
  • Added a new Well-known ports (1-1024) default port profile. #3564
  • Groups: new Ports setting (ports, port ranges and port profiles) for the Port Scanner, used by the profiles of the group that don't override them (new Ports checkbox in the profile, like the other settings that can be set in the group). Existing profiles with ports keep them (the checkbox is enabled when the profile file is loaded). #3667
  • The export runs in the background, so the window stays responsive while a large result is exported, and uses the order shown in the result (sorting, grouping) instead of the order in which the ports were scanned. #3653
  • Ports are started one after another (every 1 ms, shorter with short timeouts and many threads) instead of all at the same moment. This avoids bursts of hundreds of connection requests within a few milliseconds and makes the progress smoother. #3653
  • IP addresses can be excluded with ! in the host input (also in profiles and the run command), e.g. 10.0.0.0/24; !10.0.0.1; !10.0.0.200-254: IP addresses, ranges, subnets and hostnames (nothing is scanned if an excluded hostname can't be resolved). #3685
  • Changes since the last completed scan of the same hosts and ports in the tab: Now open and No longer open (shown with its status, also without Show closed ports) in the new Since last scan column, counters below Result and Last scan at. Kept while the tab is open; also in the search and the export (Change). #3685
  • New Automatically scan every (1 min to 1 h, with a countdown to the next scan): repeats the scan and updates the rows in place (selection, scroll position, collapsed hosts and search stay). Stops when a scan is canceled, the hosts or ports are changed or the tab is closed; also runs while the tab is hidden. Per tab, the interval is saved. #3685
  • New Notification settings (popup, sound, display duration; popup on, sound off by default - only for a scan repeated by Automatically scan every): a repeated scan with changes shows one notification like the Ping Monitor (up to three ports, e.g. 10.0.0.5 (server) · 3389/tcp (rdp) · No longer open with the change in its color, otherwise the counters) - green for only ports open now, red for only ports no longer open, half green / half red for both; a click opens the tab. #3685

Ping Monitor

  • Added a live count of hosts up/down (and paused, if any) to each group header. #3572
  • The up / down / paused counters of the group header are translated as one text, so translations can put the number in a different position. #3660
  • Added Start and Pause actions to each group header (next to the existing Close), to start every paused host in the group or pause every running one at once. Click/tap the ⋮ icon to open the group's action menu. #3575
  • Reworked each monitored host's card: the collapsed quick info now shows labeled values (Received: X · Lost: Y · Packet loss: Z%) instead of unlabeled numbers, the expanded view shows only the latency chart (with more room, since Hostname/IP address are already visible in the header) and the last status change time moved to a tooltip on the connectivity icon. The Status change field was also renamed to Last status change. #3572
  • Host input now accepts newline-separated hosts (one per line, e.g. a column pasted from Excel), converted automatically to the semicolon-separated form. #3568
  • Host input now supports shorthand IPv4 ranges like 192.168.0.1-100, in addition to the existing 192.168.0.0-192.168.0.100 and 192.168.[0-100].1 range formats. #3568
  • IP addresses can be excluded with ! in the host input (also in profiles and the run command), e.g. 10.0.0.0/24; !10.0.0.1; !10.0.0.200-254: IP addresses, ranges, subnets and hostnames (nothing is scanned if an excluded hostname can't be resolved). #3685
  • The notification shows the tool in its header (icon and name), a click opens the Ping Monitor; down uses the red of the application. The message is a line with the IP address and the status in its color (e.g. 10.0.0.1 · Up) like the notifications of the IP Scanner and the Port Scanner (was Host is up). #3685
  • Play sound on status change is off by default (the popup stays on); an existing setting is kept. #3685
  • Export... writes the file in the background, so the window stays responsive with a long history. The history is only updated on the UI thread, so an export while pinging can no longer fail or miss results. #3696

Traceroute

  • Added RDAP... to the context menu to query the registration data of the IP address, hostname or AS number of a hop in the RDAP tool. #3642
  • The export contains the region name shown in the grid (RegionName, e.g. Bavaria) after the region code (Region, e.g. BY), like the IP Geolocation export. #3696
  • Export... exports the hops in the order shown (by hop), the selected hops in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696

DNS Lookup

  • Profiles: new option DNS server to use a DNS server of the profile instead of the one selected in the DNS lookup, with the same list and Tab completion. It can also be set in the group (used by the profiles of the group that don't override it). New option Type (record type) in the profile; without it, a profile is looked up with PTR for IP addresses and A for hostnames instead of the last selected record type. Configured DNS servers are referenced by the profile (changes apply, also after a rename), their IP addresses are saved as well and used, with a note, if the DNS server can't be found (e.g. a profile file shared from another computer). #3660 #3667
  • Several DNS servers can be entered, also names of configured DNS servers together with custom DNS servers (e.g. Google Public DNS; Cloudflare; 9.9.9.9), every DNS server is queried once; [Windows DNS] in a list adds the DNS servers of Windows. The list of the DNS server input shows the history and the configured DNS servers (name, with the IP addresses below), Tab completes the name of a DNS server that is being typed (e.g. google; cl → google; Cloudflare). The name of a DNS server must not contain ; (replaced by , when updating). Also with the run command (dns borntoberoot.net "Google Public DNS";cloudflare). #3660
  • IP addresses opened from another feature (e.g. IP Scanner > DNS lookup > IP address), from a profile or with the run command are looked up with PTR instead of the selected record type. #3644
  • Export... exports the results in the order shown (sorting), the selected results in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696

PowerShell

  • The console uses the colors of the application theme (with Apply theme to PowerShell console). #3702

PuTTY

  • The terminal uses the colors of the application theme, updated when the theme is changed. #3702

SNMP

  • Export... exports the results in the order shown (sorting), the selected results in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696

SNTP Lookup

  • Export... exports the results in the order shown (sorting), the selected results in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696

Hosts File Editor

  • The list has its own heading Hosts file entries instead of repeating the name of the tool. #3702
  • Added Copy as... to the context menu to create a new entry based on an existing one. The copy is added directly below the original entry. 0544698
  • Multiple entries can now be selected to enable, disable or delete them at once, or to change their comment via Edit entries... (F2). The edit dialog switches to a bulk mode in which only the comment can be changed. #3624
  • Entries that don't change (e.g. enabling an already enabled entry, or confirming the edit dialog without changes) are no longer rewritten in the hosts file, so custom formatting such as tabs or alignment is kept. #3624
  • The search filters after a short delay while typing instead of on every key press (smoother with many entries), Enter filters right away. #3660
  • The time of the last refresh (Reloaded at 14:32, the date in the tooltip) is shown in the header instead of a status line below the list; the line below the list only shows errors. A manual refresh is faster (the minimum of 2.5 seconds runs while loading, not before) and the refresh icon spins until it is finished. #3685
  • Export exports the entries shown (search) in the order shown (sorting), the selected entries in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696

Firewall

  • Added Copy as... to the context menu to create a new rule based on an existing one (name suffixed with - Copy). 0544698
  • Multiple rules can now be selected to enable, disable or delete them at once. If one of the selected rules was removed in the meantime, nothing is changed. #3627
  • A loading indicator is shown while the rules are loaded initially, and a message is shown if no rules are found. #3630
  • A rule can now be edited by double-clicking it. #3630
  • Added a Program column that shows the file name of the program (full path as tooltip). #3630
  • New Settings > Firewall page. #3630
  • Added the Show all rules option (Settings > Firewall) to show all active Windows Firewall rules (including rules from Group Policy / MDM) instead of only the rules managed by NETworkManager. A new column with an icon shows whether a rule is managed by NETworkManager, not managed, or managed by a policy. Rules managed by a policy can only be copied. Rules not managed by NETworkManager can be enabled, disabled, deleted (after confirming a warning) or used as a template via Copy as... (with a warning if the rule uses properties that are not copied, e.g. ICMP types, a service, an app package, specific network adapters or users / required authentication), but editing them is not supported (yet). Rules with values that are not supported by NETworkManager (e.g. port keywords like RPC, a combination of interface types, a protocol like IGMP or the program System) are shown correctly, but can't be edited or copied. #3630
  • The search now also finds rules by program, ports, addresses and description, and by the translated direction, action and protocol. The list is filtered after a short delay while typing, so typing stays smooth with many rules. #3637
  • Sorting by the rule source column (Show all rules) now groups rules managed by NETworkManager, rules not managed by NETworkManager and rules from Group Policy / MDM / Windows, instead of mixing the last two. #3637
  • The Program field in the add / edit / copy rule dialog now shows an example path of a program instead of the path to PowerShell. #3637
  • The program of a rule can now be selected with a file dialog in the add / edit / copy rule dialog. #3637
  • The selected rule stays selected and visible when the list is reloaded (e.g. after enabling, disabling or editing it), instead of jumping back to the top of the list. #3637
  • The row details now show the source of a rule (local, Group Policy, MDM or Windows) and the unsupported properties it uses (e.g. ICMP types or a service), which are not copied via Copy as.... #3637
  • The export now contains whether a rule is managed by NETworkManager and its source. #3637
  • Faster loading of the rules managed by NETworkManager if there are many of them (the ports, addresses, programs etc. of all rules are queried at once instead of per rule). #3637
  • Enter in the search box filters the rules right away instead of after the delay while typing. #3660
  • The time of the last refresh (Reloaded at 14:32, the date in the tooltip) is shown in the header instead of a status line below the list; the line below the list only shows errors (e.g. rules loaded with errors, a failed action). A manual refresh is faster (the minimum of 2.5 seconds runs while loading, not before) and the refresh icon spins until the rules are loaded (also with Show all rules). #3685
  • Export exports the rules shown (search) in the order shown (sorting), the selected rules in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696
  • The Action column shows a colored dot (allow green, block red) in front of the text instead of colored text. #3702

Discovery Protocol

  • The export contains the values shown that were missing: Management, ChassisId, LocalConnection and LocalInterface. The columns are in the order shown (Management and ChassisId after IPAddress). #3696

Whois

  • Added an Export... button below the result, like in the other tools. #3607

Subnet Calculator

  • Export... (subnetting) exports the subnets in the order shown (sorting), the selected subnets in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696

Lookup

  • Export... (OUI and port lookup) exports the results in the order shown (sorting), the selected results in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696

Connections

  • The list has its own heading Active connections instead of repeating the name of the tool. #3702
  • The search filters after a short delay while typing instead of on every key press (smoother with many connections), Enter filters right away. #3660
  • The time of the last refresh (Reloaded at 14:32, the date in the tooltip) is shown in the header instead of a status line below the list; with Automatically update every, a countdown to the next refresh (Next refresh in 00:04). A manual refresh is faster (the minimum of 2.5 seconds runs while loading, not before) and the refresh icon spins until it is finished. #3685
  • Export... exports the entries shown (search) in the order shown (sorting), the selected entries in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696
  • The State column shows a colored dot in front of the state: established green, connecting yellow, other states gray. #3702

Listeners

  • The list has its own heading Listening ports instead of repeating the name of the tool. #3702
  • The search filters after a short delay while typing instead of on every key press (smoother with many listeners), Enter filters right away. #3660
  • The time of the last refresh (Reloaded at 14:32, the date in the tooltip) is shown in the header instead of a status line below the list; with Automatically update every, a countdown to the next refresh (Next refresh in 00:04). A manual refresh is faster (the minimum of 2.5 seconds runs while loading, not before) and the refresh icon spins until it is finished. #3685
  • Export... exports the entries shown (search) in the order shown (sorting), the selected entries in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696

Neighbor Table

  • The list has its own heading Neighbor entries instead of repeating the name of the tool. #3702
  • The search filters after a short delay while typing instead of on every key press (smoother with many entries), Enter filters right away. #3660
  • The time of the last refresh (Reloaded at 14:32, the date in the tooltip) is shown in the header instead of a status line below the list; with Automatically update every, a countdown to the next refresh (Next refresh in 00:04). The line below the list only shows errors. A manual refresh is faster (the minimum of 2.5 seconds runs while loading, not before) and the refresh icon spins until it is finished. #3685
  • Export... exports the entries shown (search) in the order shown (sorting), the selected entries in the order shown instead of the order they were selected. The file is written in the background, so the window stays responsive. #3696
  • The State column shows a colored dot in front of the state: reachable green, stale / delay / probe yellow, incomplete / unreachable red, permanent gray. #3702

Bug Fixes​

  • Fixed that the input of a running tool (e.g. IP Scanner, Port Scanner, DNS Lookup) could still be changed via the history (drop-down, Up/Down, F4). #3702
  • Fixed changes to lists in the settings (e.g. query histories, port profiles, custom commands) not being saved if no other setting was changed in the same session. This happened since the settings are stored as JSON. #3607
  • Fixed the profile search (profile list in the tools, Profiles settings and import result) filtering the profiles while still typing. The profiles are now filtered once after the user stopped typing, instead of every 750 ms after the first key press. #3638
  • Fixed the application list not scrolling to the selected application if it was opened from somewhere else (e.g. from the Dashboard, another application or the run command). #3644
  • Fixed Enter in the application search (title bar) being able to trigger the default button of the shown tool (e.g. start a scan in the IP Scanner). It only filters the applications now. #3660
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in About and the DNS server profiles in Settings > Network. The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557
  • Fixed the screenshot that is shown in place of embedded windows (Remote Desktop, PowerShell, PuTTY, TigerVNC, Web Console) while a dialog is open being cropped / stretched with a display scaling above 100% or on a monitor with a different scaling, and being stretched / scaled if the window is resized while the dialog is open (it keeps its size now). The AirspacePanel of AirspaceFixer is now part of NETworkManager, based on the fork AirspaceFixerDotNet with per monitor DPI support, which also fixes a GDI handle leak. #3681

History

  • Fixed adding an entry to the history of an input (e.g. hosts, ports, domains) failing when the number of stored entries is set to 0 in Settings > General. With 0, no entries are stored. Removing an entry from the history (also the oldest one, shared by several tabs) no longer clears the input that shows it. #3646

Input validation

  • Fixed host names being accepted with a hyphen at the start or end of a label other than the first (e.g. server.-bad-.com) and with only digits (e.g. 10.0.0. or 192.168.1, which are an incomplete IPv4 address). The same applies to the domain in Whois. IPv4 addresses are still accepted in all host fields, now checked explicitly in the Remote Desktop host field. #3646
  • Fixed MAC addresses and their first 3 bytes (Wake on LAN, Lookup > OUI, profiles) being accepted with any character instead of a dot in the format 0000.0000.0000 (e.g. 0011 2233 4455). #3646
  • Fixed IPv6 subnets in the Subnet Calculator being accepted with a leading s (e.g. sss2001:db8::/32) and rejected with an embedded IPv4 address (e.g. ::ffff:192.168.0.1/96). #3646
  • Fixed the port of the Remote Desktop host field (host:port) being accepted empty or as 0. #3646
  • Fixed the application freezing when validating an invalid domain with many labels in Whois (exponential backtracking of the regular expression). #3646
  • Fixed IPv6 subnets with whitespace or a zone index (e.g. fe80::1%eth0/64) being accepted in the Subnet Calculator, which can't calculate them. #3646
  • Fixed an empty entry in Lookup > OUI / Port (e.g. 22;;80) finding every vendor or service. #3646
  • Fixed Lookup > Port searching for a port with an upper-case protocol (e.g. 22/TCP) as a service instead of the port and protocol. #3646

Profiles

  • Fixed Enter in the search box of the import result importing the profiles (default button). It filters the found profiles right away now, instead of after the delay while typing. #3660
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in the groups (Settings > Profiles) and the import result. The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557
  • Fixed the names of the features in the group dialog shown without spaces (e.g. RemoteDesktop instead of Remote Desktop). #3667
  • Fixed closed dialogs (e.g. profile, group) being kept in memory until the application was closed. #3702
  • Fixed the profiles of a group renamed only by case (e.g. servers → Servers) keeping the old group name. Opening them in a feature with group settings (e.g. Remote Desktop, PuTTY) failed, and editing one could create a second group with the old name. Profile files with such profiles are repaired when they are loaded. #3667

Dashboard

  • Fixed the Network Connection widget running a full connection check on every application startup, even if the Status Window or Dashboard was never opened. It now only checks when actually shown - via the tray icon, on a network change, or when the Dashboard tab is opened. #3553
  • Fixed the DNS status (Computer/Router/Internet) in the Network Connection widget showing as an error when no PTR record exists for the address, which is common and expected for private IP ranges. This is now shown as informational instead of critical. #3553
  • Fixed a race condition in the Network Connection widget where results from a superseded check could overwrite the results of a newer, still-running check after quickly reopening the widget. #3553
  • Fixed the Status Window closing by itself after being opened from the tray icon (or with the hotkey), if it was opened automatically on a network change shortly before. #3639
  • Fixed the DNS hostname (PTR) in the Network Connection widget being shown with a trailing dot (e.g. router.example.com.). #3660

Network Interface

  • Fixed errors when changing the network configuration (e.g. missing permissions) not being shown — the change was reported as successful although it failed. The error message of Windows is now shown. #3606
  • Fixed the CSV export breaking the row if the name, the description or the DNS suffix contains a comma (they are quoted now), and the JSON export containing the MAC address as {} and the status as a number (e.g. 1 instead of Up). #3696

WiFi

  • Fixed the auto refresh continuing in the background after switching to another tool, or after it was disabled, if this happened while a refresh was running. #3639
  • Fixed Automatically update every 1 / 5 minutes refreshing only every hour / every 5 hours. #3685
  • Fixed the auto refresh not being resumed after switching back from another tool. #3639
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper). The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557
  • Fixed the application crashing when Automatically update every was enabled and no WiFi adapter was found (e.g. disabled or unplugged). F5 no longer tries to scan without an adapter. #3695
  • Fixed the Refresh button below "No WiFi adapters found" being disabled while Automatically update every was enabled. The adapters could only be loaded again after a restart. #3695
  • Fixed the application crashing if connecting to or disconnecting from a network failed with an error (e.g. the adapter was disabled meanwhile). The error is shown in the status below the networks, and scanning is no longer blocked afterwards. #3695
  • Fixed Connect... and Disconnect being available while a connection is made, and Connect... failing if the networks were scanned again while the context menu was open. #3695
  • Fixed Use credentials being ignored when connecting to a WPA / WPA2 / WPA3 Enterprise network (EAP). If it is disabled, no username and password are sent and Windows uses the logged-on user or a certificate. #3695
  • Fixed the WPS button of the connect dialog never being shown. Whether a network supports WPS (push button) is checked again when the dialog is opened. #3695
  • Fixed the connect dialog not focusing the first input: the SSID of a hidden network or the username (EAP) was not focused. #3695
  • Fixed the connect dialog asking for a pre-shared key for WPA3 Enterprise networks (instead of username and password) and for OWE (Enhanced Open) networks, which need no password. #3695
  • Fixed networks with a channel width of 40, 80 or 160 MHz being drawn at the wrong position on the Channels tab: they were centered on their primary channel (e.g. 80 MHz on channel 36 over the channels 28 - 44 instead of 36 - 48), so overlapping networks were shown wrong. The center of the whole channel is read from the beacon now. #3695
  • Fixed WiFi 7 (802.11be) networks with a channel width of 320 MHz being shown with 160 MHz. #3695
  • Fixed the 5 GHz chart of the Channels tab labeling the channels above 144 as 148, 152 ... 164 instead of 149, 153 ... 165. #3695
  • Fixed networks on the 5 GHz channels 169 - 177 (UNII-4) and 32 being shown with channel -1, without band (always shown, not affected by the band filter) and missing on the Channels tab. 6 GHz channel 2 (5935 MHz) is shown as channel 2 instead of -1. #3695
  • Fixed sorting by the signal icon (first column) and by Encryption not changing the order of the networks. #3695
  • Fixed the networks of the previously selected adapter possibly being shown after selecting another adapter while a scan was running. The adapter can't be changed while scanning or connecting. #3695
  • Fixed all networks and charts being removed if a refresh (manual, Automatically update every or after connecting) failed. The networks of the last scan stay, the error is shown below them. #3695
  • Fixed the message after disconnecting from a hidden network missing the name (" disconnected!"), and the search not finding hidden networks by the shown text Hidden Network. #3695
  • Fixed the icon of the adapter selection (connected / disconnected) keeping the state of when the adapters were loaded. It is updated after each scan, e.g. after connecting or disconnecting. #3695
  • Fixed F5 scanning and Automatically update every refreshing the networks behind an open dialog (e.g. Connect... or Export...). The auto refresh waits until the dialog is closed. #3695
  • Fixed the CSV export breaking the row of a network whose SSID contains a comma or a quote. SSID, security and vendor are quoted. #3695
  • Fixed the export formatting values differently per format: the JSON export contains IsWiFiDirect, IsConnected, ChannelWidthEstimated as true / false and SignalBars, NetworkRssiInDecibelMilliwatts as numbers instead of text, the XML export BeaconInterval and Uptime like the CSV export (e.g. 00:00:00.1024000) instead of PT0.1024S, and the CSV export decimals with a point in every language. #3696
  • Fixed a network being marked as Connected that the selected adapter isn't connected to, if the computer has several WiFi adapters and the selected one was disconnected. An error while reading the connected network no longer ends the scan. #3695
  • Fixed the connection status message (e.g. "Connecting to ...") being hidden too early, while still connecting, if a previous message (e.g. after connecting or disconnecting) was shown shortly before. Each message is now shown for 15 seconds. #3638
  • Fixed the adapter list and the auto refresh keeping a removed adapter (e.g. an unplugged USB adapter) after Refresh found no adapter or failed: "No WiFi adapters found" is shown now. #3695
  • Fixed WEP networks with open authentication being treated as unsecured: the connect dialog asked for no key (the connection failed) and the signal icon showed no lock. #3695
  • Fixed Disconnect (and Connect...) while the networks were scanned or the adapters were reloaded starting a second scan at the same time (the scan could fail with "busy"). Both wait until the scan / reload is finished. #3695

IP Scanner

  • Fixed NetBIOS lookups (computer name, domain/workgroup, user name) not starting until a host's entire port scan had finished, since the port scan wasn't actually running asynchronously despite being awaited alongside it. Ping, port scan, and NetBIOS resolution now genuinely run concurrently for every host. #3564
  • Fixed the application becoming unresponsive (including the window not reacting to input) during a large scan (e.g. a /24). Scan results and progress were both being pushed to the UI one item/update at a time via a dispatcher call per host, which could flood the UI thread's message queue on large scans. Both are now batched and flushed periodically (every 150ms) instead. #3564
  • Fixed every host being shown as unreachable when the ICMP Buffer was set to more than 65500 bytes (Windows limit). The maximum is now 65500, higher values are lowered to 65500. #3653
  • Fixed the ICMP Attempts setting being ignored: a host was shown as unreachable after the first lost ping. Another ping is now sent if the previous one timed out. #3653
  • Fixed the scan getting stuck (button disabled, scan never ends) when it was canceled right before the scan started, and when an unexpected error occurred. Errors are now shown as status message. #3653
  • Fixed the message "Canceled by user" being replaced by "No reachable hosts found" when the scan was canceled before the first result, and a new scan started right after canceling showing no progress or stopping too early. #3653
  • Fixed the message "The following hostnames could not be resolved" being replaced by "No reachable hosts found". Both messages are shown now if other hosts were scanned; if no host is left, the scan is not started. #3653
  • Fixed the scan getting stuck when an error occurred while the hosts or ports were prepared, and the subnet detection button staying disabled after an error. #3653
  • Fixed ports being shown as closed when there was no answer at all (e.g. host or network unreachable). Closed now means the host refused the connection, otherwise the port is timed out. #3653
  • Fixed large scans using up the local (ephemeral) ports: every open port left a connection in the TIME_WAIT state for several minutes, so later connections failed (also in other applications). Connections are now closed with a reset. #3653
  • Fixed hosts that block ICMP and refuse the connection on the scanned ports (TCP reset) being shown as unreachable. A refused connection is an answer from the host, so it is now shown as reachable. #3653
  • Fixed IP addresses being scanned twice if the inputs overlap (e.g. 10.0.0.1; 10.0.0.0/24) or the same IP address is entered with different hostnames (e.g. two names of one server). #3653 #3660
  • Fixed the application running out of memory (and the scan getting stuck) for very large inputs like 10.0.0.0/1. A scan of more than 65,536 IP addresses must now be confirmed, more than 16,777,216 are refused with a message. #3653
  • Fixed IP ranges across 128.0.0.0 (e.g. 127.255.255.250 - 128.0.0.5) being rejected as invalid. #3653
  • Fixed sorting by NetBIOS reachable not working and the column being shown with NetBIOS disabled. #3653
  • Fixed an expanded host (row details) that was only partly visible not being scrollable into view: the results scrolled by whole rows, now by pixel. #3660
  • Fixed Copy > Hostname / MAC address / Vendor being hidden in the context menu while the column was shown (resolved via NetBIOS only), and Copy > Status copying True / False instead of Up / Down. #3653
  • Fixed a hostname received from the network (DNS PTR record or NetBIOS name) with special characters like & being able to run additional commands through a custom command with {{Hostname}} (e.g. cmd.exe /c ...). Such a hostname is now replaced with an empty value. #3653
  • Fixed Edit (F2) and Delete (Del) of a custom command in the settings being available without a selected command. The delete confirmation shows the name of the command. #3653
  • Fixed several custom commands being selectable in the settings while Edit and Delete only used one of them. Several custom commands can now be deleted at once (context menu or Del), the confirmation lists them; Edit needs exactly one selected command. #3660
  • Fixed columns, Copy menu entries and row details being shown or hidden according to the current settings instead of the settings the shown scan was started with (e.g. MAC address column shown, but empty, after enabling Resolve MAC address and vendor without a new scan). #3660
  • Fixed hostnames resolved via DNS (PTR) being shown with a trailing dot (e.g. server.example.com.), also in the export and when opened in another feature (e.g. DNS Lookup, Remote Desktop). A single-label name (e.g. gateway.) keeps the dot, so the DNS suffix isn't appended, except for Remote Desktop, PuTTY, TigerVNC and PowerShell, which resolve it via Windows. #3660
  • Fixed a NetBIOS name (shown as hostname if there is no DNS hostname) being passed to other features (e.g. Remote Desktop, Port Scanner, DNS Lookup, RDAP), where it may not be resolvable via DNS. The DNS hostname is used, otherwise the IP address; DNS lookup... / RDAP... > Hostname need a DNS hostname. #3660
  • Fixed the progress and the up / down counters possibly staying below the final values (e.g. 255 of 256 hosts scanned) when the results of several hosts arrived at the same time. #3660
  • Fixed the application crashing when the results were sorted by MAC address and a host had no MAC address (e.g. a host behind a router, or while the MAC address was still resolved). Hosts without a MAC address are shown at the end. #3660
  • Fixed the sort arrow of the previously sorted column still being shown after sorting by IP address, MAC address or Time. #3660
  • Fixed Copy > Ports being shown in the context menu with the port scan disabled (it copied nothing). #3660
  • Fixed IPv6 hosts waiting for the NetBIOS timeout (NetBIOS doesn't exist over IPv6). NetBIOS is only requested from IPv4 addresses. #3660
  • Fixed columns that couldn't be made wider (by dragging or double-clicking the gripper) if the window was not wide enough, e.g. to see a long hostname. The last column still fills the remaining width, other columns can now grow beyond the window with a horizontal scrollbar. This also applies to the custom commands in the settings. #3557
  • Fixed the export containing values of disabled probes, e.g. PortStatus Closed if Scan ports was disabled or NetBIOSIsReachable False if Scan for NetBIOS was disabled. They are exported as empty values now. #3685

Port Scanner

  • Fixed the application becoming unresponsive (including the window not reacting to input) during a large scan. Scan results and progress were both being pushed to the UI one item/update at a time via a dispatcher call per port, which could flood the UI thread's message queue on large scans. Both are now batched and flushed periodically (every 150ms) instead. #3564
  • Fixed the scan getting stuck (button disabled, scan never ends) when it was canceled right before the scan started, and when an unexpected error occurred. Errors are now shown as status message. #3653
  • Fixed the message "Canceled by user" being replaced by "No open ports found" when the scan was canceled before the first result, and a new scan started right after canceling showing no progress or stopping too early. #3653
  • Fixed the message "The following hostnames could not be resolved" being replaced by "No open ports found". Both messages are shown now if other hosts were scanned; if no host is left, the scan is not started. #3653
  • Fixed the scan getting stuck when an error occurred while the hosts or ports were prepared. #3653
  • Fixed ports being shown as closed when there was no answer at all (e.g. host or network unreachable). Closed now means the host refused the connection, otherwise the port is timed out. #3653
  • Fixed large scans using up the local (ephemeral) ports: every open port left a connection in the TIME_WAIT state for several minutes, so later connections failed (also in other applications). Connections are now closed with a reset. #3653
  • Fixed IP addresses being scanned twice if the inputs overlap (e.g. 10.0.0.1; 10.0.0.0/24) or the same IP address is entered with different hostnames (e.g. two names of one server). #3653 #3660
  • Fixed the application running out of memory (and the scan getting stuck) for very large inputs like 10.0.0.0/1. A scan of more than 65,536 ports (hosts × ports) must now be confirmed, more than 16,777,216 are refused with a message. #3653
  • Fixed ports being scanned twice if they are part of multiple inputs (e.g. 80; 1-100 or multiple port profiles). #3653
  • Fixed IP ranges across 128.0.0.0 (e.g. 127.255.255.250 - 128.0.0.5) being rejected as invalid. #3653
  • Fixed the application crashing when the results of multiple hosts were sorted by IP address. #3653
  • Fixed the application crashing ("Width and Height must be non-negative") when hosts were collapsed or expanded while a scan was running. #3660
  • Results are sorted by IP address and port (before, in the order the ports were finished), and the hostname is resolved while the ports are scanned instead of before. #3653
  • Fixed the Hostname column and Copy > Hostname being shown or hidden according to the current settings instead of the settings the shown scan was started with. #3660
  • Fixed hostnames resolved via DNS (PTR) being shown with a trailing dot (e.g. server.example.com.), also in the group header, the export and when opened in another feature (e.g. DNS Lookup, Remote Desktop). A single-label name (e.g. gateway.) keeps the dot, so the DNS suffix isn't appended, except for Remote Desktop, PuTTY, TigerVNC and PowerShell, which resolve it via Windows. #3660
  • Fixed the progress and the open / closed counters possibly staying below the final values (e.g. 1023 of 1024 ports scanned) when the results of several ports arrived at the same time. #3660
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in the result and the port profiles (settings). The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557
  • Fixed the ports of different hosts with the same hostname (DNS PTR, e.g. a generic name of a provider or a server with two IP addresses) being shown in one group. The results are grouped per IP address, the group header shows the hostname and the IP address. #3660
  • Fixed Edit (F2, double-click) and Delete (Del) of a port profile in the settings being available without a selected profile (edit created a new profile). The delete confirmation shows the name of the profile. #3660

Ping Monitor

  • Fixed long error messages (e.g. from a failed host resolution) in the tooltip of the error icon not being wrapped. #3626
  • Fixed the ping not working when the ICMP Buffer was set to more than 65500 bytes (Windows limit). The maximum is now 65500, higher values are lowered to 65500. #3653
  • Fixed hosts being added twice if the inputs overlap (e.g. 10.0.0.1; 10.0.0.0/24). If an IP address is also entered as hostname, the hostname is kept; different hostnames of the same IP address (e.g. two names of one server) are all kept. #3653
  • Fixed Copy > Hostname copying a hostname resolved via DNS (PTR) with a trailing dot (e.g. server.example.com.). #3660
  • Fixed the CSV export breaking the row if the hostname contains a comma. The hostname is quoted now. #3696

Traceroute

  • Fixed the trace not working when the ICMP Buffer was set to more than 65500 bytes (Windows limit). The maximum is now 65500, higher values are lowered to 65500. #3653
  • Fixed hostnames of the hops resolved via DNS (PTR) being shown with a trailing dot (e.g. server.example.com.), also in the export and when opened in another feature (e.g. RDAP). A single-label name (e.g. gateway.) keeps the dot, so the DNS suffix isn't appended, except for Remote Desktop, PuTTY, TigerVNC and PowerShell, which resolve it via Windows. #3660
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper), e.g. to read a long hostname. The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557

DNS Lookup

  • Fixed Inherit host from general of a profile being saved with the value of the Traceroute, so the host of the DNS lookup could be replaced with the host of the profile. #3660
  • Fixed a DNS server opened with the run command in another case than configured (e.g. cloudflare for Cloudflare) being looked up as hostname instead of using the configured DNS server. Names of DNS servers are case-insensitive now. #3660
  • Fixed Add DNS suffix (primary) to hostname silently appending no suffix at all on machines without a Windows primary DNS suffix configured (e.g. not domain-joined), even though a usable suffix was available via the active network adapter's connection-specific DNS suffix (shown under DNS Suffix Search List in ipconfig /all). It now falls back to that adapter's suffix in this case. #3591
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in the result and the DNS server profiles in the settings. The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557
  • Fixed a technical error (An invalid IP address was specified) being shown for a hostname looked up with PTR. A message is shown and the hostname is skipped, the other hosts are looked up. #3667
  • Fixed the CSV export breaking the row if a result (e.g. a TXT record) contains a comma or a quote. Domain name, result and name server hostname are quoted now. #3696

Web Console

  • Fixed no message being shown after Delete browsing data in the settings (whether the browsing data was deleted or an error occurred), and an error (e.g. the WebView2 runtime is not installed) not being handled.

PowerShell

  • Fixed Apply theme to PowerShell console not working for PowerShell from the Microsoft Store. #3702

SNMP

  • Fixed Enter in the search box of the OID profiles dialog closing the dialog with OK. It only filters the OID profiles now. #3660
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in the result and the OID profiles (dialog, settings). The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557
  • Fixed the CSV export breaking the row if the data contains a comma or a quote. The data is quoted now. #3696
  • Fixed the XML export failing (no file) if the data contains control characters that XML doesn't allow (e.g. binary OctetString values). These characters are removed in the XML file, CSV and JSON contain the data unchanged. #3696

SNTP Lookup

  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in the result and the SNTP server profiles in the settings. The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557
  • Fixed the CSV export breaking the row with a decimal comma (e.g. German) in the offset and round trip delay, the values are exported with a decimal point now. #3696
  • Fixed the offset being cut off to whole seconds and the round trip delay to whole milliseconds (e.g. an offset of 0.25 s was shown and exported as 0 s). The offset is shown with millisecond precision, the round trip delay with 0.01 ms. #3696
  • Fixed a wrong offset of about one hour for a lookup in the hour that is repeated at the end of the daylight saving time, and the network connection of a failed request (e.g. timeout) not being closed. #3696

Hosts File Editor

  • Fixed the retry of a locked hosts file waiting 5 seconds between the attempts (the message said 2) and once more after the last attempt. #3685
  • Fixed the CSV export breaking the row if the comment contains a comma. Hostname and comment are quoted now. #3696

Firewall

  • Fixed the name of the feature not being translatable in the list of features, the settings and the run command (missing translation key). #3667
  • Fixed F5 not refreshing the rule list, although it is documented as shortcut. #3637
  • Fixed an empty rule list with "Reloaded at ..." being shown if the rules could not be loaded (e.g. the Windows Firewall service is not running). An error is shown now, and a message if the rules could only be loaded partially. #3637
  • Fixed the Firewall not working until the application was restarted if loading the PowerShell module NetSecurity failed once. #3637
  • Fixed keywords like LocalSubnet or DNS being accepted for Local addresses in the add / edit / copy rule dialog, although Windows only accepts Any there (saving the rule failed). The same applies to Any4 / Any6 for local and remote addresses. #3637
  • Fixed a horizontal scrollbar appearing in the add / edit / copy rule dialog when the name or description is very long. #3630
  • Fixed port keywords (e.g. RPC) and combinations of interface types being shown as Any. Editing a rule that was changed outside of NETworkManager to use such values no longer silently removes them (the rule can't be edited in this case). #3630
  • Fixed the program of a rule not being shown in the row details and the edit dialog. Saving the edit dialog then removed the program from the rule, so the rule applied to all programs. #3630
  • Fixed editing a rule deleting and re-creating it, which removed properties that are not supported by NETworkManager (e.g. ICMP types or a service set in the Windows Firewall management console). Only the changed properties are updated now (ICMP types are reset if the protocol is changed). #3630
  • Fixed program paths with environment variables (e.g. %SystemRoot%\System32\svchost.exe) being rejected as non-existent in the add / edit / copy rule dialog. #3630
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper). The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557

Discovery Protocol

  • Fixed the CSV export breaking the row if a value (e.g. the device description) contains a comma or a quote. Text values are quoted now. #3696

RDAP

  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in the result and the bootstrap files in the settings. The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557

IP Geolocation

  • Fixed the query history of IP Geolocation being written to the history of Whois instead of its own. #3607
  • Fixed the CSV export breaking the row with a decimal comma (e.g. German) in the latitude / longitude, or a comma in a text (e.g. the ISP Example, Inc.). Decimals are exported with a decimal point, text is quoted now. #3696

Subnet Calculator

  • Fixed Subnetting getting stuck when the new subnet mask is smaller than the subnet mask of the subnet (e.g. 10.0.0.0/24 with /16) or too large for the address family (e.g. /40 for IPv4). An error is shown instead. #3646
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in the subnetting result. The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557

Bit Calculator

  • Fixed the CSV export breaking the row with a decimal comma (e.g. German), the values are exported with a decimal point now. #3696

Lookup

  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper) in the OUI and port lookup. The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557

Connections

  • Fixed the auto refresh continuing in the background after switching to another tool, or after it was disabled, if this happened while a refresh was running. #3639
  • Fixed Automatically update every 1 / 5 minutes refreshing only every hour / every 5 hours. #3685
  • Fixed the hostname of the remote address (DNS PTR) being shown with a trailing dot (e.g. server.example.com.), also in the export. #3660
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper). The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557

Listeners

  • Fixed the auto refresh continuing in the background after switching to another tool, or after it was disabled, if this happened while a refresh was running. #3639
  • Fixed Automatically update every 1 / 5 minutes refreshing only every hour / every 5 hours. #3685
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper). The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557

Neighbor Table

  • Fixed the State of the entries being shifted by one (e.g. Reachable entries were shown as Stale, Permanent entries as Reachable, Unreachable entries as 0) since the table is read with the Windows API (2026.7.7). #3685
  • Fixed adding and deleting entries not working until the application was restarted if loading the PowerShell module NetTCPIP failed once. cc05937
  • Fixed the auto refresh continuing in the background after switching to another tool, or after it was disabled, if this happened while a refresh was running. #3639
  • Fixed Automatically update every 1 / 5 minutes refreshing only every hour / every 5 hours. #3685
  • Fixed columns that couldn't be made wider than the window (by dragging or double-clicking the gripper). The grid scrolls horizontally now, the last (or main) column still fills the remaining width. #3557

Setup

  • Fixed the tabs of the tools not being shown (only the type name and an empty white area) after an upgrade with the setup (MSI). The file version of Dragablz.dll never changed, so the installer kept the old file. It now gets the version of NETworkManager with every build. A repair of the installation fixes affected systems. aed51a5

Dependencies, Refactoring & Documentation​

  • Code cleanup & refactoring
  • Dependabot updates the NuGet packages again (no updates since February 2025). The Windows SDK version is now set via TargetPlatformVersion instead of in the target framework (net10.0-windows10.0.22621.0 → net10.0-windows), which Dependabot can't handle (dependabot-core#13278). The build output moved from bin\...\net10.0-windows10.0.22621.0\ to bin\...\net10.0-windows\. 1ce8310
  • Context menus of lists (results, profiles, settings) get the view model in XAML instead of when they are opened. Their items, and menu items that are created outside of a menu (e.g. the extra items of the profile context menu), no longer cause XAML binding errors every time a list is filled, which hid real binding errors.
  • Converted the IP Scanner and Port Scanner engines from Parallel.ForEach with blocking calls to genuinely asynchronous Parallel.ForEachAsync, removing the risk of exhausting the application's ThreadPool at high concurrency settings. #3564
  • The TCP port probe (IP Scanner, Port Scanner) and the NetBIOS request (IP Scanner) report a refused connection, a timeout or no answer as result instead of throwing an exception for each of them (thousands per scan). Faster, and the application no longer lags while scanning with a debugger attached. #3653
  • Refactored the Network Connection widget's check logic to reduce duplicated code and share the local IP address detection between the Computer and Router checks instead of detecting it twice. #3553
  • Consolidated the duplicated Profiles side panel (search, tag filter, grouped list, context menu, add/edit/copy/delete) used across 15 tool views into a single shared control, reducing code duplication. As part of this, the profile panel's expanded/width state is now shared across all tools instead of being tracked per tool. #3537
  • Replaced the internal event system for opening a feature with data (e.g. Open in RDAP from the IP Scanner) with typed requests, which can also carry options (e.g. DNS server and record type) and profiles. Features no longer fail to open from another feature while the application list is filtered by a search. #3644
  • Input histories (e.g. hosts, domains, ports) are updated in place instead of being cleared and refilled, which avoids clearing the text of the input field and unnecessary updates. #3644
  • Added a unit test project (xUnit) with tests for the run command parser and the history lists. #3644
  • Reworked the GitHub issue templates as forms (bug report, feature request, question) that ask for the relevant information (e.g. affected feature, version, installation, Windows version, log), with links to the documentation, discussions, translations and security advisories. Simplified the pull request template and removed the Copilot summary section. #3660
  • Faster CI: AppVeyor no longer builds a branch a second time when a PR is open, skips changes that only affect the documentation / website, builds ARM64 only for releases and now runs the unit tests. The website is only built for PRs that change it and builds about 3x faster (Docusaurus Faster). Dependabot also updates the GitHub Actions, and CodeQL also scans the workflows. Website changes are only merged automatically if the website builds. Dependabot major updates are no longer merged automatically. Removed the stale bot. #3675
  • The exports (CSV, XML, JSON) of all tools define their columns once and are written by one shared writer, so the three formats can't drift apart and every tool formats the same kind of value the same way (not translated), see Export format. Added unit tests for the exports. #3696
  • The icons are imported from the Lucide SVG files (Scripts/Create-LucideIcons.ps1), the MahApps.Metro.IconPacks packages are removed. #3702
  • Language files updated via #transifex
  • Dependencies updated via #dependabot