Changelog

Release notes for the AntiBrute Windows agent. Newest version first.

v0.1.41

Fix
  • Fresh Windows install no longer requires manual Visual C++ Redistributable — statically linked CRT and bundled VC++ redist in the installer (fixes VCRUNTIME140.dll error on clean Windows 10/11).
  • Fixed dashboard SQL error on first run related to the block_reason column — migration applies on fresh installs and upgrades from 0.1.40.
  • First-run header now correctly shows Dry Run · Trial Mode; config summary matches.
  • Turning off dry run and saving now auto-restarts the service — header updates to Trial Mode and firewall becomes Active without a manual restart.

v0.1.40

Fix
  • External SMB brute-force blocking fix: firewall rules could fail to apply when TCP 445 was not detected via netstat even though the LanmanServer service was running. Now falls back to the default port 445 when LanmanServer is RUNNING.
  • Warn in service log when threshold is reached but no local ports could be detected.
  • Service log now includes external SMB count, threshold, and detected ports on each failure for easier diagnosis.
  • Dashboard shows Monitor Only (instead of a misleading “Failed Login” action) while Dry Run is enabled.
  • Country deny list + external SMB failure: immediate per-IP block on first failure without waiting for the threshold.
  • No API or licensing changes. Windows Firewall itself is never disabled — only AntiBrute-named rules are managed.

v0.1.39

Security
  • License revocation propagation fix: force online /validate on every service startup when Licensed; any rejection (revoked/not_found/expired/invalid) immediately expires the local license and removes AntiBrute firewall rules — no offline grace on explicit rejection.
  • Resolve license key from encrypted SQLite store when config.toml is missing the key after restart (fixes stuck-Licensed on 0.1.38 restart).
  • Reject non-ABRT-… keys client-side before calling /validate — no more placeholder key calls.
  • Sync validated key back to config.toml after successful activation.
  • Log lines now tied to actual HTTP outcomes; no more misleading “validated successfully” lines when no call was made.
  • Network/API unreachable: Licensed grace up to 2 hours, then expire.

v0.1.38

Fix
  • Post-trial monitor-only mode: expired trials keep detecting and logging failed logins, but firewall blocking is disabled and existing AntiBrute rules are removed.
  • Threat table Action column now shows “Unlicensed — Unprotected” when the license/trial is inactive.
  • Settings save fix: per-service card Save no longer overwrites global settings (dry-run, SMTP, thresholds, whitelist) with defaults — fixes “SMTP blank but emails still sending” and “country blocker enabled in dry-run”.
  • Uninstall cleanup: force-stops the desktop app and service and removes all AntiBrute firewall rules (chunk, block-hours, country CIDR), even when dry_run=true.

v0.1.37

New
  • Explicit Save on each protected-service card — Protection, Block Hours and Country Blocker no longer auto-save on every click.
  • Background refresh no longer overwrites in-progress edits (fixes checkbox flicker).
  • Service binary embeds Windows FileVersion; installer build script verifies EXE version matches Cargo.toml before packaging.

v0.1.36

New
  • SMB external brute-force blocking on port 445; LAN/private IPs are monitored and alerted but never blocked.
  • SMB Block Hours and Country Blocker enabled (LAN exempt for block hours via Allow LocalSubnet rule).
  • RDP graphics: prefer Wgpu/DX12 first on remote sessions — fixes dashboard on Windows Server 2025 over RDP.
  • Threat table now distinguishes Blocked (external SMB) vs Monitored (LAN SMB).

v0.1.35

Fix
  • Version now printed in desktop.log startup line.
  • Windows FileVersion / ProductVersion embedded via build.rs (winres).

v0.1.34

Fix
  • Dashboard timeout fix: firewall reconcile moved off the engine mutex, so IPC no longer hangs during country CIDR reconcile (~80–90s on busy servers).

v0.1.33

Fix
  • FTP: corrected W3C field order (s-port before cs-method); PASS failures with 530 + win32 status 1326 are now detected.
  • FTP backfill uses the failure window rather than the shared cursor.
  • Top Attacking IPs: today's chart no longer drops pentest IPs during prune.
  • New GetTodayDashboardStats IPC endpoint.

v0.1.32

New
  • Proactive country blocker: per-country CIDR deny rules applied at the Windows Firewall.
  • Country Blocker UI to select blocked countries per service.
  • Bundled GeoLite2 country database and country CIDR CSVs in the installer.

v0.1.13

New
  • Dashboard shows actual service error messages instead of generic “unexpected status”.
  • License activation auto-restarts the Windows service.
  • Persistent dry-run banner on dashboard while dry-run is enabled.
  • Licensing: encrypted license state, API locked to antibrute.com, 15-minute revalidation.
  • First install defaults to dry-run with welcome onboarding.
  • Block Hours labelling, country in alert emails, and country-block reporting fixes.
  • In-app update notification banner.

v0.1.12

Security
  • Licensing hardening (skipped public download — never uploaded).

v0.1.11

Fix
  • Stability fixes for service restart after license activation.
  • Reduced CPU usage during high event volumes.

v0.1.10

New
  • Improved trial header — now shows remaining days more clearly.
  • Smaller installer.

v0.1.9

Fix
  • License re-validation interval tuned to reduce network noise.

v0.1.8

Security
  • Stricter validation of activation payloads.

v0.1.7

New
  • SMB protocol monitoring added.
  • Per-protocol block thresholds.