Release Notes
This page is generated from the repository's canonical CHANGELOG.md during documentation builds.
Unreleased
1.24.0 - 2026-10-16
- 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.
1.23.0 - 2026-10-09
-
Added reversible manual merging for devices with multiple network interfaces, keeping per-MAC addresses, status, ports, history, DNS activity, and Wake-on-LAN behavior while showing one physical device in the inventory.
-
Added read-only Technitium DNS Server v15 integration with dynamically discovered Query Logs apps, scheduled DNS activity synchronization, optional DHCP enrichment, protected API tokens, and historical IP attribution.
-
Added separate Pi-hole controls for DHCP lease enrichment and opt-in creation of Unknown devices while preserving existing configured installations.
-
Added bounded read-only SNMP v2c infrastructure inventory with protected community settings, managed-device classification, interface state, and LLDP topology hints on device pages.
-
Displayed Discord device-online notifications in green while keeping device-offline alerts red.
-
Expanded diagnostics with rotating backend and scheduler logs, sanitized warning/error traceback metadata, dedicated recent scan failures, and grouped failure summaries.
-
Added a dedicated temperature and humidity sensor icon to device icon selection in the web and macOS applications, including inventory import/export compatibility and sleeping-device presence handling.
-
Fixed intermittent blank Speedtest dashboard metrics by requesting the latest completed result, supporting nested Ookla measurements, and rejecting incomplete results instead of caching them as available.
-
Tightened the Docker inventory table with balanced column widths, single-line container and network values, aligned headers and status content, distinct state and health colors, and non-duplicated health status text.
-
Aligned device-list metadata labels and values, prevented port-overflow and last-seen clipping, and widened the First seen filter so its label and controls remain readable.
1.22.0 - 2026-10-05
- Split the frontend application into focused route, shell, authentication, controller, component, and utility modules while preserving existing navigation and behavior.
- Split Settings into focused tab components and domain-specific state hooks while preserving the existing loading and save behavior.
- Split device details into focused header, overview/edit, history, DNS activity, port-scan, field, modal, and state-management modules without changing device workflows.
- Split Home Map presentation, room rendering, drag-and-drop layout state, and persistence into focused modules without changing layout behavior.
- Split the application shell into focused header, navigation, route-content, and shared-modal components while preserving desktop and mobile navigation.
- Split the Dashboard into focused status, summary, insight, and scan-detail components while preserving its calculations and navigation actions.
- Split authentication and user management into focused login, account-form, state, and modal modules while preserving permission and account workflows.
- Split integration services and notification channels into focused settings components while preserving their existing save, test, and sync behavior.
- Established a domain-ready backend views package and moved the existing Docker and HomeBox views into it without changing API routes or behavior.
- Moved setup, authentication, session, and user-management endpoints into a focused backend users view module.
- Moved application settings and public version-status endpoints into a focused backend settings view module.
- Moved AdGuard Home, Pi-hole, and Speedtest Tracker endpoints into a focused backend integrations view module.
- Moved device, global, and unmatched-client DNS activity endpoints into a focused backend DNS activity view module.
- Moved notification delivery history and channel-test endpoints into a focused backend notifications view module.
- Moved network event and scan-run history endpoints into a focused backend activity view module.
- Moved manual scan execution and scanner-status endpoints into a focused backend scans view module.
- Moved device listing, editing, bulk actions, availability, web access, and Wake-on-LAN endpoints into a focused backend devices view module.
- Moved detailed port scan queueing, status, and cancellation endpoints into a focused backend port scans view module.
- Moved health, home map, maintenance, and diagnostics endpoints into focused backend view modules.
- Moved device inventory import and export endpoints and parsers into a focused backend inventory view module, leaving the views package initializer empty.
- Split the monolithic backend serializers into focused activity, device, DNS, Docker, home map, integration, notification, scan, settings, and user modules with an empty package initializer.
- Grouped AdGuard Home, Pi-hole, HomeBox, Speedtest Tracker, and Docker inventory adapters in a focused backend integrations package.
- Split network scanning into focused lifecycle, discovery, identity, vendor, port, presence, reconciliation, and orchestration modules while preserving scanner behavior.
- Organized backend tests in a dedicated package and split the monolithic test suite into focused configuration, scanner, device, settings, integration, notification, inventory, maintenance, activity, authentication, and user modules without changing coverage.
- Added Ruff linting for backend Python code in local development and continuous integration.
- Updated backend and frontend dependencies through Dependabot, including security fixes in Next.js 16.3.8.
- Split the main frontend controller into focused inventory, navigation, activity, and session hooks while preserving its public interface.
- Split the device inventory into focused filter, role, toolbar, desktop, mobile, and pagination components while preserving its responsive workflows.
- Unified the Devices navigation and inventory heading icons for clearer visual consistency.
- Fixed the device inventory appearing below the Dashboard after the frontend module split.
- Displayed Archived instead of Known for archived devices in inventory and device-detail status badges.
- 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 from individual device pages to a dedicated responsive Docker page, with centralized search, host summaries, clearer port mappings, neutral reachability confirmation, and navigation shown only after configuration.
- Removed duplicate global settings actions, hide them on screens whose local actions save immediately, and automatically save the scheduled activity-retention period.
- Kept device actions aligned in the detail header when names are long, and displayed hostnames and vendors on separate lines.
- Expanded diagnostics exports with privacy-safe scan failure codes, stages, exception types, fingerprints, recent reliability counts, database runtime settings, and background integration workload details.
- Included scheduler tracebacks in container logs so production scan failures can be diagnosed without reading an ephemeral internal log file.
- Applied search, status, network, first-seen, and HomeBox filters to the Roles device view, while keeping role groups alphabetized and list-only sorting and bulk actions separate.
- Moved mobile navigation into the application header and replaced the full-width navigation bar with a compact page title.
1.21.0 - 2026-09-28
- Added a compact archived-device count beneath the dashboard Devices total, with responsive visitor and archive details on small screens.
- Added read-only local Docker inventory through the scheduler, with container health and network details, 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.
- Stopped known devices from needing attention solely because vendor data is missing or a recent scan was missed.
- Fixed open-port guidance opened from a device page overlapping the top navigation and device actions.
- Updated frontend dependencies through Dependabot, including Mantine 9.6.2, Tabler Icons 3.48.0, Next.js 16.3.6, and ESLint Config Next 16.3.6.
- Updated the GitHub Pages configure, upload, and deployment actions through Dependabot.
1.20.1 - 2026-09-26
- Fixed the device editor failing to open without an External link, and show 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.
1.20.0 - 2026-09-26
- 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.
1.19.0 - 2026-09-19
- 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.
1.18.0 - 2026-09-16
- 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.
1.17.0 - 2026-09-14
- 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.
1.16.0 - 2026-09-10
- Included HomeBox asset IDs in device-link search results so similarly named inventory items can be distinguished.
- Added a HomeBox link filter for finding devices that are linked or not linked to inventory items.
- Moved device inventory to a dedicated Devices page and made MAC addresses consistently visible in the device list.
- Added Wake-on-LAN actions to device pages for remotely powering on supported devices.
1.15.0 - 2026-09-08
-
Added device archiving with an Archived filter, manual restore, retained history, and automatic restoration when a scanner rediscovers the device.
-
Added a Day view for the last 24 hours of device availability history.
-
Added a HomeBox integration for searching existing inventory items, linking them to devices, and opening them from the device overview without synchronizing inventory.
-
Improved phone portrait dashboard cards to prevent overlapping headings, status badges, and dates.
-
Made integration settings and maintenance controls more compact in phone landscape layouts.
-
Updated Django to 6.1.1, Mantine to 9.6.0, and Next.js to 16.3.4.
-
Updated the Browserslist build dependency to address security advisories.
1.14.0 - 2026-09-06
- Added a Docker migration tool for importing device inventory from the official NetAlertX
devices.csvexport. - Added Week, Month, and Year device availability timelines with online time, status changes, and retained-history coverage.
- Renamed the Docker Settings Add-ons category to Integrations to better describe its built-in service connections.
- Protected saved Telegram bot tokens and Discord webhook URLs from API responses while allowing tests and updates to reuse stored credentials safely.
- Added distinct desktop, tablet, and phone layouts with compact device rows, responsive dashboard cards, better filter placement, and Burger navigation on constrained portrait and phone displays.
1.13.0 - 2026-09-05
- Added Docker support for scanning multiple VLANs and routed IPv4 networks in one combined scan run, with up to 1,024 addresses per configured range.
- Added device inventory filtering by one or more configured network ranges, including devices outside the monitored ranges.
- Added friendly names for configured networks across Settings, device filters, scan status, comparisons, and history.
- Added bulk device selection for marking multiple new devices as known in one action.
- Applied saved network ranges and scan intervals automatically on scheduler cycles, and safely marked devices outside removed ranges offline without sending false alerts.
- Improved logout security by revoking the active API token when a user signs out.
- Cleaned up unused legacy code, frontend styles, macOS fallback implementations, and outdated internal documentation.
1.12.0 - 2026-09-04
- Docker/web only: Added reliable discovery of the Docker scanner host itself, with local-interface status reporting and duplicate-safe updates of imported devices.
- Normalized dashboard summary-card headings and status badges for consistent sizing and alignment.
- Added per-device Online and Offline notification overrides while preserving global notification rules and quiet hours.
- Added a direct link from the central DNS Activity page to the configured AdGuard Home interface.
1.11.0 - 2026-09-02
- Licensed LanGuard under the Apache License 2.0 with matching contributor terms and documentation.
- Added a generic automation webhook notification channel with structured JSON payloads, optional HMAC-SHA256 signing, connection testing, delivery history, and automatic retries for tools such as n8n and Home Assistant.
- Added per-user permissions for device editing, Home Map layout changes, and manual scans, enforced by both the Docker UI and backend API.
- Added an optional Docker Speedtest Tracker integration that shows the latest internet performance result on the dashboard with a fixed five-minute backend cache and no local result storage.
- Hidden the central and per-device DNS Activity views when AdGuard Home is not enabled and configured.
1.10.0 - 2026-09-01
- Fixed long IPv4 addresses being clipped in the Docker device list.
- Improved notification test diagnostics so safe backend errors remain visible in the Docker UI, with actionable Telegram guidance for invalid tokens, missing chats, permissions, and rate limits.
- Standardized Docker user notifications around server-provided titles and messages displayed through Mantine Notifications.
- Sanitized stored scan, notification-delivery, and AdGuard Home failures so API responses do not expose raw exceptions, credentials, service URLs, or internal paths.
- Added an admin-only diagnostics export with application health and aggregate counts while omitting credentials and device or network identifiers.
- Improved macOS scan, notification, inventory, backup, and storage errors with safe actionable messages while retaining private details in system logs.
1.9.2 - 2026-08-31
- Docker/web only: Added configurable backend port support through
BACKEND_LISTEN_PORT, including matching health-check and frontend proxy configuration for hosts where port8000is already occupied.
1.9.1 - 2026-08-31
- Docker/web only: Disabled the frontend Caddy administration endpoint to prevent host-network port
2019conflicts with existing Caddy installations.
1.9.0 - 2026-08-31
- Docker deployment change: Moved the frontend to host networking so its backend proxy connects directly through
127.0.0.1, avoiding login and API failures when Docker bridge-to-host traffic is unavailable. The UI continues to listen on port8080by default. - Added an optional Docker AdGuard Home integration with scheduled query-log synchronization, per-device and network-wide DNS activity, blocked-query totals, filtering, unmatched-client diagnostics, manual cleanup, and configurable aggregate retention.
- Reorganized Docker settings into focused Scanning, Notifications, Add-ons, Data & migration, and Maintenance categories, and refreshed the device inventory immediately after deleting a device.
- Added dedicated Docker routes for Dashboard, Home Map, Events, Scan history, Notifications, and Settings with working refresh and browser Back/Forward navigation.
- Added a dedicated Not Found page and proper HTTP 404 responses for unknown Docker routes.
- Updated Next.js and
eslint-config-nextto 16.3.3.
1.8.1 - 2026-08-30
- Docker/web only: Fixed backend health checks being rejected when custom
ALLOWED_HOSTSomitted the internal loopback address, which could prevent dependent containers from starting or staying available.
1.8.0 - 2026-08-30
- Replaced the Docker device details modal with a dedicated device page containing overview, editing, access, and per-device history views while preserving inventory filters and scroll position.
- Refined the README presentation and moved contributor workflows into a dedicated guide.
- Centralized frontend changelog data and GitHub release-note generation in
CHANGELOG.md. - Added a Docker migration tool for importing the current WatchYourLAN device inventory from its
/api/allJSON output. - Added Docker scan comparison for completed scan runs, including device, port, and duration differences.
- Improved Docker gateway presentation while preserving user-selected device roles across scans.
- Improved Docker router hostname and vendor discovery through gateway DNS and SSDP device metadata.
- Normalized discovered hostnames that begin with service-record underscores in Docker and macOS.
- Refreshed the bundled vendor database and added current TP-Link vendor coverage in Docker and macOS.
- Centralized Docker, frontend, and macOS release versions in the repository
VERSIONfile. - Kept Latest Scan timestamps on one line and clarified editable device fields in Docker.
- Docker deployment change: Existing Docker and Portainer installations should update their Compose definition and recreate the LanGuard stack once. Older Compose files remain compatible, but the updated definition adds backend health checks and coordinates backend, scheduler, and frontend restarts for more reliable automatic updates. Named volumes and stored data are preserved.
- Added a public backend health endpoint that verifies database availability before dependent containers start.
1.7.0 - 2026-08-28
- Added device identity confidence and source evidence for hostname and vendor detection in Docker and macOS.
- Preserved hostname and vendor source metadata when exporting or importing device inventories.
- Added configurable quiet-hour weekdays in Docker and macOS, including correct handling for overnight ranges.
- Fixed Docker device-list sizing to avoid unnecessary horizontal scrolling at narrower widths.
- Updated Docker and macOS device rows to show
First Seenwhen the list is sorted by first-seen time.
1.6.0 - 2026-08-26
- Added per-channel test actions for configured Discord and Telegram notifications.
- Added
First Seenfiltering and sorting to the Docker and macOS device lists. - Improved Docker server-unavailable messages without exposing internal API or server details.
- Fixed unnecessary page-level horizontal scrolling in the Docker interface.
- Fixed clipped port-overflow indicators and improved device-list port spacing.
1.5.0 - 2026-08-25
- Added access to device details directly from rows on the Events page.
- Fixed acknowledged device risks returning to Needs Attention after routine scan metadata updates.
- Breaking change: Docker deployments must change the scanner service image from
ghcr.io/hillaliy/languard-backendtoghcr.io/hillaliy/languard-scheduler. - Added a separate scheduled-scanner Docker image to prevent container updaters from confusing it with the backend service.
- Improved Docker hostname discovery with one-shot mDNS queries and scan-wide metadata batching.
- Improved Docker and macOS hostname discovery with dynamic DNS-SD service browsing and cross-packet record correlation.
- Added optional external device links in Docker and macOS with verified local web-interface suggestions.
- Sorted Docker role choices alphabetically by their displayed labels.
1.4.0 - 2026-08-25
- Added device comments in Docker and macOS.
- Added an option for known devices to acknowledge the current risk and remove them from Needs Attention.
- Automatically invalidated risk acknowledgements when ports or other risk-related device details change.
- Added comments and risk acknowledgement compatibility to inventory export and import between Docker and macOS.
1.3.2 - 2026-08-24
- Added direct device editing from the Recently Changed list in Docker and macOS.
- Improved Events, Scan history, and Notifications scrolling beyond 500 records.
- Clarified cleanup actions and fixed Home Map room backgrounds in dark mode.
- Updated Granian to 2.8.2, Mantine to 9.5.2, and Next.js to 16.3.2.
1.3.1 - 2026-08-23
- Reduced SQLite database lock errors in Docker by enabling a longer busy timeout and WAL mode.
- Prevented scheduled activity cleanup from running at the same time as the startup scan.
- Improved Docker dashboard/page responsiveness by avoiding full activity-history loads during startup and page navigation.
- Added database indexes for scan history, events, and notification history.
1.3.0 - 2026-08-23
- Moved Docker navigation into a sidebar and converted Settings into a full page.
- Added separate cleanup controls for events, scan history, and notification logs with retention settings.
- Added scheduled automatic cleanup for activity data, defaulting to 90 days.
- Improved the Home Map with persistent room nesting, layout reset confirmation, and clearer editing behavior.
1.2.0 - 2026-08-22
- Added a dedicated Docker Home Map view with room nesting, drag-and-drop layout editing, and device icons.
- Persisted Home Map layout preferences in the backend database.
- Added explicit Home Map layout saving with success and error notifications.
- Improved the Docker room visualization with cleaner spacing, offline icon styling, and reset confirmation.
1.1.7 - 2026-08-20
- Improved Docker mDNS hostname discovery by listening on the multicast group used by HomeKit/HAA devices.
- Added fallback coverage for Docker mDNS environments that cannot bind to multicast port 5353.
- Added a GitHub release downloads badge to the README.
- Replaced the README GIF preview with a clearer static dashboard image using fictional demo data.
1.1.6 - 2026-08-19
- Improved Docker HAA/HomeKit hostname discovery with repeated cached mDNS service probing.
- Prevented later hostname metadata from overwriting an already resolved hostname in the macOS scanner.
- Added regression coverage for hostname precedence in Docker and macOS.
1.1.5 - 2026-08-17
- Added public README demo media with fictional device data for screenshots and previews.
- Added Latest Scan detail views in Docker and macOS.
- Made Docker automatic scans wait the configured interval after the current scan completes.
- Improved role-aware risk scoring for known cameras, intercoms, and servers.
- Added clearer macOS inventory import/export feedback and Docker login greetings with full names.
- Updated the copy-paste Docker Compose example and Discord icon cache-busting.
1.1.4 - 2026-08-15
- Improved private/random MAC handling in Docker and macOS with clearer fallback names and labels.
- Avoided misleading vendor guesses for locally administered MAC addresses.
- Displayed Docker primary and secondary device icons together in device lists and map cards.
- Improved Docker ceiling-light icon rendering and fixed port badge layout in the device list.
1.1.3 - 2026-08-13
- Improved Docker hostname discovery for HomeKit/HAA devices through mDNS service answers.
- Added Docker device editing support for creating room names directly from the room field.
- Improved Apple private-MAC device recognition in the native macOS app.
- Reworked the native macOS Devices page to use clearer Docker-style device rows across full and narrow windows.
1.1.2 - 2026-08-13
- Improved Docker hostname discovery with LLMNR and cached SSDP/UPnP metadata lookup.
- Prevented unrelated multicast PTR answers from assigning the wrong hostname to other devices.
- Cleared stale read-only hostnames when the latest scan no longer resolves a valid hostname.
- Aligned macOS hostname safety checks with Docker for mDNS and reverse PTR responses.
1.1.1 - 2026-08-11
- Cleaned stale duplicate Docker inventory records during imports when an old MAC remains on the same IP.
- Improved Docker room and role views with vertical sections and scrollable dashboard insight cards.
- Fixed Docker device-list date layout so Last seen values no longer clip or push neighboring columns.
- Opened the macOS device detail sheet directly from Dashboard Needs Attention items.
1.1.0 - 2026-08-10
- Improved Docker dashboard layout with macOS-style status, health, scan, recent-change, and attention cards.
- Improved Docker device browsing with card rows, room and role map views, and better macOS import compatibility.
- Aligned macOS page headers with their sidebar icons and improved the LanGuard header icon in dark mode.
- Improved Docker vendor lookup with bundled Wireshark manuf data and expanded hostname discovery fallbacks.
- Updated backend and frontend dependencies, keeping Django on the latest compatible 6.0.x release and resolving npm audit findings.
1.0.22 - 2026-08-06
- Replaced bundled vendor lookup data with Wireshark manuf parsing and preserved original vendor names.
- Improved hostname discovery with DNS PTR, mDNS, LLMNR, NetBIOS, SSDP, HTTP metadata, HomeKit/HAA service discovery, and SNMP metadata.
- Refreshed read-only vendor and hostname fields on every scan, including known devices.
- Improved compact macOS dashboard cards and simplified the About window chrome.
- Cleaned Docker vendor handling to avoid manual brand aliases and stale vendor names.
1.0.21 - 2026-08-05
- Refined the native macOS About window into a compact, centered layout.
- Centered update status and clarified the update and release actions.
- Added About LanGuard access from the app menu and menu bar.
1.0.20 - 2026-08-05
- Added hostname discovery to native macOS network scans and preserved known hostnames when reverse lookup is unavailable.
- Improved Docker hostname lookup handling so unresolved names remain blank instead of producing misleading device names.
- Improved Docker inventory import compatibility for macOS exports, including dates, booleans, MAC addresses, roles, and rooms.
- Added room and role columns to the Docker device table.
1.0.19 - 2026-08-03
- Added Docker support for rooms, roles, hostnames, gateway metadata, and primary/secondary device icons.
- Made device import/export compatible between the Docker and native macOS applications.
- Added a centered native macOS update prompt with a direct release download action.
1.0.18 - 2026-08-02
- Added native macOS room support for devices, settings, import/export, filtering, and grouping views.
- Improved the macOS Devices page compact layout so search, filters, sorting, and the sidebar behave better in small windows.
- Preserved room assignments during device discovery merges.
1.0.17 - 2026-08-01
- Redesigned the native macOS About page with richer project details, support links, and a manual update check.
- Added GitHub release version checking for the native macOS app.
- Added icons to the macOS menu bar status items and quit action.
1.0.16 - 2026-07-30
- Fixed native macOS notification registration by signing the packaged app bundle with the stable LanGuard bundle identifier.
- Added explicit notification permission and notification settings actions in the macOS Settings page.
- Delayed notification permission prompts until the user enables or requests notifications from Settings.
1.0.15 - 2026-07-30
- Added the native macOS Grouping page for role-based device views.
- Added temporary Guest Scan so client or guest networks can be scanned without saving devices, history, or inventory changes.
- Added macOS device import/export, launch-at-login, an About page, menu bar status, and richer device detail editing.
- Improved macOS discovery with bundled vendor data, better role and icon detection, offline grace handling, and network/broadcast address filtering.
- Added more device icons, secondary device icons, manual role editing, and device deletion.
- Polished the macOS dashboard, Devices filters, compact layouts, sidebar behavior, and empty states across small and full-screen windows.
1.0.14 - 2026-07-29
- Published Docker backend and frontend images as multi-architecture builds for
linux/amd64andlinux/arm64. - Fixed Portainer startup failures on non-Apple-Silicon hosts caused by single-architecture images.
- Added the version badge to the native macOS app header.
1.0.13 - 2026-07-29
- Added device inventory export and import for Docker LanGuard so device names, icons, vendors, IPs, MAC addresses, known state, and open ports can be moved between installs.
- Added matching device inventory export and import to the native macOS app settings.
- Updated the Docker project logo assets to use the improved LanGuard shield/network icon.
- Added the initial native macOS SwiftUI app source, packaging files, app icon, and tests under
macos/LanGuardMac.
1.0.12 - 2026-07-14
- Updated backend dependencies through Dependabot, including Django 6.0.7 and drf-spectacular 0.30.0.
- Updated the frontend ESLint dependency through Dependabot.
- Improved the device table layout on mobile landscape and narrow tablet widths so columns use the compact mobile layout before they get cut off.
1.0.11 - 2026-07-11
- Fixed dashboard timestamps so timezone-less API dates are treated as UTC and displayed in the configured LanGuard timezone.
- Added automatic scan-status refresh for the Scan control and Latest scan panels without changing device table pagination.
- Standardized API and Discord notification timestamps to UTC ISO strings with a
Zsuffix.
1.0.10 - 2026-07-10
- Added gateway/router detection from the default network route and marks the gateway as a known router.
- Added device risk badges with backend risk scoring for unknown devices, risky ports, many open ports, missing vendors, and unstable scan status.
1.0.9 - 2026-07-08
- Fixed stale running scan records so newer completed scans show as finished instead of running.
- Added README guidance about private/random phone MAC addresses.
1.0.8 - 2026-07-05
- Added notification rules for new devices, online/offline changes, port changes, and quiet hours.
- Improved scan visibility with active/idle state, current range, duration, timing, and last error details.
1.0.7 - 2026-07-05
- Fixed device status filters so Offline, Online, Recently seen, and Sleeping use the same status field shown in the table.
- Aligned dashboard online/offline counters with the displayed device status.
- Added a settings option to configure new-version checks in minutes or hours.
- Updated frontend dependencies through Dependabot.
- Added Dependabot handling for Node Docker image major updates.
1.0.6 - 2026-07-04
- Improved online/offline status with status reasons, per-device grace, ICMP checks, and remembered-port confirmation.
- Added Dependabot updates and dependency review checks for GitHub pull requests.
1.0.5 - 2026-07-03
- Separated hubs and cameras into their own network map sections.
- Added smart hub, smart watch, LED strip, desk lamp, and ceiling light icons.
- Improved automatic icon detection for Aqara hubs and common lighting devices.
- Reworked device guessing into reusable backend rules using hostnames, vendors, and open ports.
- Improved vendor fallback names, including Foxconn and Espressif IoT devices, without adding MAC suffixes.
- Added a top-bar link to the LanGuard GitHub project.
1.0.4 - 2026-07-03
- Added a network map view with Internet, router, and device nodes.
- Added power strip, fan, ceiling fan, and separate shutter/blinds icons.
- Improved network map labels so long device names wrap cleanly.
- Cleaned up README badges for GHCR container images.
1.0.3 - 2026-07-01
- Added a new-version indicator that checks for published releases every 6 hours.
- Improved the mobile device list so phone screens no longer squeeze table columns.
- Added tablet, lock, and robot vacuum device icons.
- Cleaned up frontend Caddyfile formatting for quieter container startup logs.
1.0.2 - 2026-06-30
- Updated Docker networking so scans can see LAN devices instead of only the Docker host.
- Added a configurable frontend backend upstream for host-network deployments.
- Tuned Granian backend concurrency for home use.
1.0.1 - 2026-06-29
- Added a container startup lock so backend and scanner migrations do not race on first deploy.
- Improved README logo sizing and project badges.
1.0.0 - 2026-06-29
- Initial LanGuard release.
- Added light, dark, and auto theme modes.
- Added account management for admins and self-editing for regular users.
- Improved device editing with vendor, hostname, icon, and scan details.
- Improved scan results with hostname detection, safer device matching, and better notifications.
- Added top-bar version history and Docker image publishing support.