Skip to content

Releases: luc-github/NetNeighbor

NetNeighbor 2.0.1

30 May 06:02

Choose a tag to compare

NetNeighbor

Release 2.0.1

This release improves network device discovery stability and offline handling with better cache management, unified device type classification, and enhanced error logging for easier troubleshooting.

📋 Table of Contents

🐛 Bug Fixes

  • Fix device icon refresh when switching between custom and system icons: Resolved issue where device icons would not refresh properly when toggling between custom icon packs and system icons (d072f0a)
  • Fix application crash during device disconnection on Windows: Fixed crash that occurred when a device was disconnected from the network during the discovery process on Windows systems (56560ce)
  • Prevent stale Device object accumulation when devices go offline: Cleaned up identity-hold pending queue when a device goes offline before its 3-second identity-hold timer expires, preventing memory leaks from stale Device objects (93fb3b3)

💪 Improvements

  • Enhanced discovery stability with unified device type classification: Consolidated four divergent device category implementations into a single, unified category_for_device_type() function. Added support for previously missing device types (scanner, HTTP, HTTPS, ESP32) across all discovery modules (SSDP, WS-Discovery, manager) for consistent device identification (93fb3b3)
  • Better offline device detection and rendering: Improved how the application detects when devices go offline and how they are displayed in the interface for clearer user feedback (354f538, 3aa091d)
  • Comprehensive SSDP cache management: Added purge_ip_from_xml_cache() function to cleanly remove cached XML descriptors by IP address, complementing the existing profile cache purging. Manual purge operations now clear all SSDP caches (both memory and disk) for the target device (93fb3b3)
  • Improved error visibility in discovery logs: Elevated log levels from debug to warning for critical discovery failures in anticipatory descriptor fetches, SSDP XML enrichment, and WS-Discovery probe sequences, making internal failures easier to diagnose (93fb3b3)
  • Thread-safe device cache operations: Fixed potential RuntimeError in set_location_overrides and set_field_mapping_rules by snapshot-copying the device list before iteration, preventing crashes when discovery threads modify the device dictionary concurrently (93fb3b3)
  • Enhanced error isolation on Windows: Improved error handling and isolation mechanisms on Windows systems for more stable operation during network discovery (56560ce)
  • Clearer device labeling for ESP32 devices: Renamed 'ESP3D / firmware' label to 'ESP3D Device' across all supported languages for more intuitive device identification (f57b3b0, 93fb3b3)

👥 Contributors

Thanks to all contributors who made this release possible!

📊 Statistics

  • Commits: 6
  • 👥 Contributors: 1
  • Lines changed: +564 / -176

Generated by Release Agent on 2026-05-30 12:37

NetNeighbor 2.0.0

24 May 09:22

Choose a tag to compare

Complete rewrite of V1.0.0 — GTK → PySide6 (Qt). All platforms.


What's new

UI framework

  • Ported from GTK to PySide6 — native look on Windows, macOS, and Linux
  • Fusion theme with automatic light/dark mode detection (follows OS setting)
  • --theme-light / --theme-dark CLI flags to override

System tray

  • Tray icon on all platforms — click to show/hide the window
  • Minimize and close to tray (configurable)
  • Session autostart at login with start-minimized-to-tray
    • Windows: registry HKCU\...\Run
    • macOS: LaunchAgent plist (~/Library/LaunchAgents/)
    • Linux: XDG .desktop (~/.config/autostart/)

Startup performance

  • Lazy imports for zeroconf and WS-Discovery (~500 ms saved)
  • Discovery starts in a background thread — window paints immediately
  • Animated scanning overlay while waiting for first devices
  • Single-instance check timeout reduced from 800 ms to 200 ms

Device lifetime management

  • last_seen timestamp on every device — stale cache entries (> 48 h) purged at startup
  • "Last seen N min/h ago" tooltip for cache-only devices
  • TCP probe validation at startup: unreachable cached devices go offline in ~5 s,
    before full protocol discovery completes
  • NetBIOS, WSD, wsdd offline detection: devices absent for 2 consecutive sweeps
    are marked offline

UI improvements

  • Icon grid and list view — toggle from View → Display
  • Sidebar groups by Type or Location, collapsible sections
  • Scroll position preserved across discovery refreshes
  • Active context-menu guard: UI refresh deferred while a menu is open
  • User-activity guard: refresh deferred 250 ms after last mouse/keyboard event
  • Fingerprint bail-out: snapshot skipped entirely if nothing changed

Translations

  • 8 languages: French, Spanish, German, Italian, Dutch, Japanese,
    Simplified Chinese, Traditional Chinese
  • 74 new strings translated for all Qt-era UI (tray, overlay, preferences,
    context menus)

Maintenance

  • Reset all application data in Preferences → General
  • Notifications history (Tools menu)
  • Hidden devices manager (Tools menu)

Packages

Platform Artifact
Linux .deb (amd64/arm64), .tar.gz portable, .AppImage
Windows NetNeighbor-2.0.0-win64-setup.exe, .zip
macOS Apple Silicon NetNeighbor-2.0.0-macos-arm64.dmg (macOS 12+)
macOS Intel NetNeighbor-2.0.0-macos-intel.dmg (macOS 11 Big Sur+)

Important

macOS note:

The app is not notarized (cost-prohibitive for an open-source
project). On first launch you may see a Gatekeeper warning — right-click →
Open → Open, or run xattr -cr /Applications/NetNeighbor.app in Terminal.

Important

Windows note:

The installer and application are not code-signed (cost-prohibitive
for an open-source project). Windows Defender SmartScreen may show a warning on first
run — click More infoRun anyway to proceed.


Installation

Linux .deb:

sudo apt install ./netneighbor_2.0.0_amd64.deb

Windows: run NetNeighbor-2.0.0-win64-setup.exe

macOS: open the .dmg, drag NetNeighbor to Applications


Uninstall / reset

See User Documentation for full uninstall steps
per platform. Configuration lives in ~/.config/netneighbor, cache in
~/.cache/netneighbor.

NetNeighbor 1.0.0 — First release

07 May 08:15

Choose a tag to compare

🎉 First release

NetNeighbor is a Linux desktop application that discovers and monitors devices
on your local network — a modern equivalent of the Windows Network Neighborhood.

What it does

  • Automatically discovers devices via SSDP, mDNS, WS-Discovery and NetBIOS
  • Displays them in an icon grid or list view with sidebar categories
  • Opens devices in one click: HTTP, HTTPS, SMB, SSH, FTP, SFTP, Telnet
  • Lets you rename devices, tag them by location, assign custom icons and types
  • Runs in the system tray with optional autostart at login
  • Available in French, Spanish, German, Italian, Dutch, Japanese and Chinese

Downloads

File Description
netneighbor_1.0.0_amd64.deb Ubuntu / Linux Mint / Debian (recommended)
NetNeighbor-1.0.0-x86_64.AppImage Any Linux distribution
netneighbor-1.0.0.tar.gz Tarball for manual install
SHA256SUMS-1.0.0.txt Checksums

Install

.deb (dependencies installed automatically):

sudo dpkg -i netneighbor_1.0.0_amd64.deb

AppImage:

chmod +x NetNeighbor-1.0.0-x86_64.AppImage
./NetNeighbor-1.0.0-x86_64.AppImage

Requirements

  • Ubuntu 22.04+ / Linux Mint 21+ / Debian 12+ (or equivalent)
  • Python 3.10+, GTK 3

NetBIOS name resolution requires samba-common-bin; system tray requires
gir1.2-ayatanaappindicator3-0.1. Both are pulled in automatically by the .deb.

Documentation

See USER_DOCUMENTATION.md
for the full user guide.