Skip to content

Releases: hillaliy/LanGuard

LanGuard 1.25.0

Choose a tag to compare

@hillaliy hillaliy released this 24 Oct 17:13
94ebfb9
  • Unified device-header and interface-table presence displays with compact icons, clearer discovery descriptions, and Likely sleeping labels for inferred sleep. Kept detailed grace-period and other status explanations beside the status while removing redundant bottom-of-page messages.
  • Removed repeated device identity and network fields, displayed single-interface addresses and ports once in Network, and limited the Network interfaces table to devices with multiple interfaces.
  • Displayed relative interface Last seen times with full timestamp tooltips and automatic minute-by-minute updates.
  • Added the latest retained IP, port, or interface configuration change to device details with a History shortcut, including merged-interface events without allowing routine presence events to hide configuration changes.
  • Displayed available SNMP agent uptime at the last query and contact information, while hiding empty inventory sections and duplicate system-name and vendor fields.
  • Added an Open ports device filter and a clickable dashboard port card with a separate count of devices with open ports. Counted merged interfaces as one logical device and cleared previous filters when navigating from the dashboard.
  • Fixed Home Map Attention filtering and room counts to use the server's needs_attention decision, respecting acknowledged alerts and avoiding treating every offline device as requiring attention. Corrected map risk indicators to read the API risk_level field.
  • Hid related-link URLs in device view mode, retaining labels and icons with wrapping URL tooltips on hover and keyboard focus. Kept URLs visible during editing.
  • Added an independent DHCPv4 lease source integration for read-only dnsmasq, Kea memfile CSV, and ISC DHCP lease files, with admin-only source testing, manual and scheduled synchronization, opt-in Unknown-device creation, and sync summaries and errors.
  • Preserved Known-device identity, stronger controller hostnames, newer IP observations, and identity-conflict evidence during DHCP imports. Handled journal updates, releases, expiry, infinite leases, ambiguous MAC records, malformed files, and bounded file reads without inferring Online presence or deleting devices on lease expiry.
  • Added Network controllers to integration settings with DHCP source controls, dedicated router and address-book icons, and save support. Ordered integration categories as Network services, Infrastructure, and Network controllers, and documented read-only mounts and remote-file-copy setup.
  • Updated Mantine core, hooks, and notifications from 9.7.1 to 9.7.2, Next.js and eslint-config-next from 16.4.0 to 16.4.2, React and React DOM from 19.3.0 to 19.3.1, and Ruff from 0.16.10 to 0.17.1.

Distribution

Docker images are published for linux/amd64 and linux/arm64:

  • ghcr.io/hillaliy/languard-backend:1.25.0
  • ghcr.io/hillaliy/languard-scheduler:1.25.0
  • ghcr.io/hillaliy/languard-frontend:1.25.0

This release updates the web and Docker application. The native macOS application has no source changes; its current installer remains LanGuard 1.24.0 for macOS. No new DMG is included.

The new DHCP integration is disabled by default. To enable it, mount a dedicated lease directory read-only into both backend and scanner containers, then configure the source under Settings > Integrations > Network controllers. See the DHCP setup documentation.

LanGuard 1.24.0

Choose a tag to compare

@hillaliy hillaliy released this 16 Oct 10:04
d2b3a8b

Highlights

  • Serialized network scans and DNS integration synchronization across backend and scheduler containers to prevent SQLite lock failures during overlapping writes.
  • Refreshed Home Map rooms with selectable room icons, draggable grid positions, adjustable room widths with container-aware content, compact device health summaries, an Attention filter, structured device tooltips, responsive neutral styling, and layout metadata that remains compatible with existing saved maps.
  • Displayed the scheduler-owned next network scan time on the dashboard, including live scanning and stale-scheduler states, with automatic interval-change updates.
  • Added ordered related links for device manuals, invoices, diagrams, and support pages, with secure editing and inventory import/export support.
  • Fixed tablet dashboard and device-list spacing so visitor and archived totals use separate lines and port overflow counts remain fully visible.
  • Made failed scan-history badges open accessible, sanitized failure details with stage, code, fingerprint, source, ranges, timing, and recorded scan totals.
  • Displayed DNS Activity navigation for configured Technitium DNS Server integrations, using the active provider's console URL and name.
  • Replaced the generic Technitium integration icon with the official Technitium DNS Server logo.
  • Arranged device-detail actions in compact rows so long device names retain enough space on wide and intermediate screens.
  • Reused the desktop device table on landscape tablets by moving navigation into the existing drawer, while preserving the card layout for narrow screens, preventing Gateway badges from truncating, and aligning the menu button with the LanGuard logo.

Update

Back up the LanGuard database, pull the latest docker-compose.yaml, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

macOS

Download LanGuard-1.24.0.dmg, open it, and drag LanGuard.app to Applications.
DMG SHA-256: 3700c03cd27d060fe05d0f820a5a5281e262bc06abb1aec89d13853bd5e72df3

Published images

  • ghcr.io/hillaliy/languard-backend:1.24.0

  • ghcr.io/hillaliy/languard-scheduler:1.24.0

  • ghcr.io/hillaliy/languard-frontend:1.24.0
    All images support linux/amd64 and linux/arm64 and are also available as latest.

LanGuard 1.23.0

Choose a tag to compare

@hillaliy hillaliy released this 09 Oct 14:38
5a070ae

Docker/web

  • Added reversible manual merging for devices with multiple network interfaces, preserving each MAC address and its IP, status, ports, history, DNS activity, and Wake-on-LAN behavior while showing one physical device throughout the inventory and summaries.
  • Added a read-only Technitium DNS Server v15 integration with Query Logs app discovery, scheduled DNS activity synchronization, optional DHCP enrichment, protected API tokens, and historical IP attribution.
  • Added bounded read-only SNMP v2c infrastructure inventory with managed-device classification, interface state, and LLDP topology hints on device pages.
  • Added separate Pi-hole controls for DHCP lease enrichment and opt-in creation of Unknown devices.
  • Expanded diagnostics with rotating backend and scheduler logs, sanitized traceback metadata, recent scan failures, and grouped failure summaries.
  • Fixed intermittent blank Speedtest metrics by selecting the latest complete result and supporting nested Ookla measurements.
  • Improved Docker inventory table density, alignment, truncation, and state/health colors.
  • Added a temperature and humidity sensor icon and improved notification, device-list, port, and filter presentation.

Update

Back up the LanGuard database, pull the latest docker-compose.yaml, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

macOS

This release adds the temperature and humidity sensor icon to the native macOS application and inventory import/export compatibility.

Download LanGuard-1.23.0.dmg, open it, and drag LanGuard.app to Applications.

DMG SHA-256: 2bd19c3ea87a6add14d1fa0076bd913247d799eb52a6d6467cebeffa9a961eb7

Published images

  • ghcr.io/hillaliy/languard-backend:1.23.0
  • ghcr.io/hillaliy/languard-scheduler:1.23.0
  • ghcr.io/hillaliy/languard-frontend:1.23.0

All images support linux/amd64 and linux/arm64 and are also available as latest.

LanGuard 1.22.0

Choose a tag to compare

@hillaliy hillaliy released this 05 Oct 05:45
b1eef42

Docker/web

  • Added a read-only Pi-hole v6 integration with application-password authentication, scheduled DNS activity synchronization, DHCP client discovery, protected known-device identity, and shared network-wide and per-device DNS views.
  • Moved Docker container inventory to a dedicated responsive page with centralized search, host summaries, clearer port mappings, and navigation that appears only after configuration.
  • Improved mobile navigation by moving it into the application header and replacing the full-width navigation bar with a compact page title.
  • Applied search, status, network, first-seen, and HomeBox filters to the Roles view while preserving role grouping and list-only bulk actions.
  • Kept device actions aligned for long names, displayed hostname and vendor separately, and showed Archived instead of Known for archived devices.
  • Removed duplicate global Settings actions and made the activity-retention period save automatically.
  • Expanded diagnostics with privacy-safe scan failure details, reliability counts, database settings, and integration workload information.
  • Added scheduler tracebacks to container logs for easier production scan diagnosis.
  • Updated backend and frontend dependencies, including the security fixes in Next.js 16.3.8.

Architecture and maintenance

This release completes a large behavior-preserving reorganization of the codebase:

  • Split the frontend application into focused route, shell, authentication, dashboard, device, Home Map, Settings, integration, notification, and controller modules.
  • Split backend views and serializers by product domain with explicit imports and empty package initializers.
  • Grouped external integrations in a dedicated package.
  • Split network scanning into focused lifecycle, discovery, identity, vendor, port, presence, reconciliation, and orchestration modules.
  • Moved backend tests into a dedicated package and split them into focused domain modules while preserving all 444 tests.
  • Added Ruff linting to local development and CI and removed the existing unused-import baseline.

Routes, API payloads, database behavior, permissions, and existing user workflows remain compatible.

Update

Back up the LanGuard database, pull the latest docker-compose.yaml, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

macOS

No new macOS application build is included in this release because the native application did not change. The existing macOS release remains available.

Published images

  • ghcr.io/hillaliy/languard-backend:1.22.0
  • ghcr.io/hillaliy/languard-scheduler:1.22.0
  • ghcr.io/hillaliy/languard-frontend:1.22.0

All images support linux/amd64 and linux/arm64 and are also available as latest.

LanGuard 1.21.0

Choose a tag to compare

@hillaliy hillaliy released this 28 Sep 16:08
4978818

What changed

  • Added read-only local Docker inventory through the scheduler, including container health, networks, published-port correlation, security-change events, and macvlan/ipvlan device linking.
  • Added per-device presence expectations with automatic portable-device handling, configurable absence thresholds, and an option to disable prolonged-absence attention.
  • Added a responsive archived-device count to the dashboard Devices summary.
  • Prevented known devices from needing attention solely because vendor data is missing or a recent scan was missed.
  • Fixed open-port guidance overlapping the top navigation and device actions.
  • Updated frontend dependencies and GitHub Pages actions through Dependabot.

Update

Back up your LanGuard database, pull the latest docker-compose.yaml, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

Docker inventory uses the local Docker socket mounted read-only into the scheduler. The latest Compose file includes this mount. Enable the integration only on the local Docker host you want LanGuard to inspect.

macOS

Download LanGuard-1.21.0.dmg, open it, and drag LanGuard.app to Applications.

DMG SHA-256: f1e33d89c321df4e1ebc73cf01301ae1d09103b7950215c7a9d937f7c1d631d4

Published images

  • ghcr.io/hillaliy/languard-backend:1.21.0
  • ghcr.io/hillaliy/languard-scheduler:1.21.0
  • ghcr.io/hillaliy/languard-frontend:1.21.0

Images support linux/amd64 and linux/arm64 and are also available as latest.

LanGuard 1.20.1

Choose a tag to compare

@hillaliy hillaliy released this 26 Sep 17:06
2e5e62e

What changed

  • Fixed the device editor failing to open when no External link is configured, and now shows the current resolved address directly for links that follow the device IP.
  • Preserved the Devices table context when closing port guidance opened from a device row.
  • Made device filters more compact while keeping selected labels and controls readable.

Update

Back up your LanGuard database, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

macOS

Download LanGuard-1.20.1.dmg, open it, and drag LanGuard.app to Applications.

Published images

  • ghcr.io/hillaliy/languard-backend:1.20.1
  • ghcr.io/hillaliy/languard-scheduler:1.20.1
  • ghcr.io/hillaliy/languard-frontend:1.20.1

Images support linux/amd64 and linux/arm64 and are also available as latest.

LanGuard 1.20.0

Choose a tag to compare

@hillaliy hillaliy released this 26 Sep 12:05
1a7f027
  • Added dashboard links from Needs Attention to the filtered device list and from Recently Changed to the full event history.
  • Prevented manual and scheduled network scans from overlapping, with clear active-scan status and automatic stale-lock recovery.
  • Added dedicated roles and icons for game consoles, laptops, NAS devices, smart relays, smart power strips, and power meters.
  • Added a configurable Telegram API base URL for Telegram-compatible relays and self-hosted Bot API servers.
  • Added selectable open-port guidance with device-aware recommendations, identification limits, LAN exposure context, and actionable Needs Attention reasons.
  • Attribute AdGuard Home queries using timestamped device IP assignment history so DHCP address changes and reuse do not move DNS activity between devices.
  • Return to the originating dashboard view after deleting a device instead of always redirecting to the Devices page.
  • Require explicit mDNS address records before assigning service names to devices, and silently ignore default HAA hostnames whose encoded MAC suffix does not match the discovered device.
  • Added optional dynamic External links that follow a device's current IPv4 address while preserving the configured scheme, port, path, query, and fragment.

Update

Back up your LanGuard database, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

macOS

Download LanGuard-1.20.0.dmg, open it, and drag LanGuard.app to Applications.

Published images

  • ghcr.io/hillaliy/languard-backend:1.20.0
  • ghcr.io/hillaliy/languard-scheduler:1.20.0
  • ghcr.io/hillaliy/languard-frontend:1.20.0

Images support linux/amd64 and linux/arm64 and are also available as latest.

LanGuard 1.19.0

Choose a tag to compare

@hillaliy hillaliy released this 19 Sep 11:47
ad14027
  • Added ntfy notification delivery with configurable server, topic, priority, connection testing, delivery history, retries, and a branded settings icon.
  • Added a configurable LanGuard update-check interval to notification settings.
  • Added a Needs Attention device filter and a bulk action for marking selected attention findings as reviewed.
  • Added marked device-icon shortcuts that open configured device web interfaces directly from desktop and mobile inventory lists.
  • Automatically clear resolved IP and MAC identity-conflict warnings after later scans consistently identify the devices correctly.
  • Prevent detailed port scans from starting for offline devices or replacing saved port inventory when a device goes offline during a scan.
  • Preserve user-selected device icons across scheduled discovery, gateway detection, and port-enrichment scans.
  • Renamed the generic TCP port 8080 risk label from Admin web to Web/API service.

Update

Back up your LanGuard database, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

macOS

Download LanGuard-1.19.0.dmg, open it, and drag LanGuard.app to Applications.

Published images

  • ghcr.io/hillaliy/languard-backend:1.19.0
  • ghcr.io/hillaliy/languard-scheduler:1.19.0
  • ghcr.io/hillaliy/languard-frontend:1.19.0

Images support linux/amd64 and linux/arm64 and are also available as latest.

LanGuard 1.18.0

Choose a tag to compare

@hillaliy hillaliy released this 16 Sep 13:12
59125ea
  • Fixed HomeBox device-link searches so asset IDs are matched reliably.
  • Added scheduled Speedtest health monitoring with notifications when configured download, upload, or ping thresholds are crossed.
  • Added branded icons to integration settings and migration tools, with source attribution for imported assets.
  • Added attention reasons to devices listed under Needs Attention.
  • Added regular devices that have remained offline for more than seven days to Needs Attention, while excluding visitor devices.
  • Added asynchronous per-device TCP port scans with custom ranges, progress reporting, cancellation, timeouts, and permission checks.
  • Added installable web app metadata and platform icons for adding LanGuard to iOS, iPadOS, and Android home screens without offline caching.
  • Added IP and MAC identity-conflict detection to avoid creating duplicate devices when discovery sources temporarily report inconsistent addresses.
  • Fixed the Home Map total so visitor devices excluded from the map are no longer included in its device count.

Update

Back up your LanGuard database, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

macOS

Download LanGuard-1.18.0.dmg, open it, and drag LanGuard.app to Applications.

Published images

  • ghcr.io/hillaliy/languard-backend:1.18.0
  • ghcr.io/hillaliy/languard-scheduler:1.18.0
  • ghcr.io/hillaliy/languard-frontend:1.18.0

Images support linux/amd64 and linux/arm64 and are also available as latest.

LanGuard 1.17.0

Choose a tag to compare

@hillaliy hillaliy released this 14 Sep 07:11
378e4e9
  • Added tablet device sorting and paginated device-list navigation with configurable 25, 50, 75, or 100 device page sizes.
  • Added visitor device classification with dedicated filtering, dashboard counts, bulk editing, quiet-by-default presence notifications, and exclusion from Home Map.
  • Added an optional notification rule for new LanGuard releases with one alert per version.
  • Fixed the Today device filter failing when the backend stores naive UTC timestamps.
  • Added IP address change history to device timelines and the central event log.
  • Refactored Docker frontend styling around Mantine theme defaults, scoped modules, and focused layout styles while preserving the existing light, dark, desktop, tablet, and phone appearance.
  • Simplified the Docker Not Found page so the LanGuard logo cleanly replaces the zero in the 404 mark.
  • Added Discord and Telegram channel icons and refreshed the README dashboard preview and scheduler documentation.
  • Updated Django REST framework to 3.18.1, Mantine to 9.6.1, and React to 19.3.0.

Update

Back up your LanGuard database, then pull and recreate the backend, scheduler, and frontend containers together. Database migrations run during backend startup.

macOS

Download LanGuard-1.17.0.dmg, open it, and drag LanGuard.app to Applications.

Published images

  • ghcr.io/hillaliy/languard-backend:1.17.0
  • ghcr.io/hillaliy/languard-scheduler:1.17.0
  • ghcr.io/hillaliy/languard-frontend:1.17.0

Images support linux/amd64 and linux/arm64 and are also available as latest.