Dwarfguard version 2.0.0 "Keeper"

  • status: Actual
  • released at: 2026-04-01
  • supported modes of operation:
    • production: Yes
    • free usage: Yes
      • 2.0.0 build 0:
        • MD5sum: d3b0b5031a36322d78da2cf2de1a3e49
        • SHA1sum: 0be2935541b96a99885f99d35cab3fd1047a5946
  • supported deployment modes:
    • DT SAAS / DT Cloud / DT Server Managed: Yes / Yes / Yes
    • Partner SAAS / Partner Cloud / Partner Server Managed: Yes / Yes / Yes
    • Customer self-managed: Yes
    • Private network: Yes
  • support planned: major release, support via patch releases 2026+
  • upgrade supported from:
  • target audience: All
  • showcase video: TBD
  • paper: Dwarfguard 2.0.0 paper


Release notes - known issues, changes since last release

  • Version 2.0.0 is the second major release of Dwarfguard
  • Version 2.0.0 supports following Debian GNU/Linux versions:
    • Debian GNU/Linux 13 - recommended for all new installs as the support for Debian GNU/Linux 12 may be dropped during the 2.x version line.
    • Debian GNU/Linux 12 - support kept because of upgrades from oldstable versions (1.0.x). You will be able to upgrade the OS to version 13 later on, introducing a short Dwarfguard service downtime during OS upgrade and reboot. Instructions will be provided in a standalone post.
  • 2.0.0 supports full upgrade from:
    • 1.9.0 Keeper RC1
    • 1.4.0 Afterparty 4 - Keeper BETA 4 (build 1.4.3)
  • As the major version 2.0.0 contains substantial changes from the previous oldstable (1.0.x), a seamless upgrade is not possible and a reinstall is required.
  • 2.0.0 supports PARTIAL upgrade from 1.0.6, meaning:
    • There is automated upgrade script from 106 to 200 bundled in the release
    • The script performs these steps:
      • Fully backs up the 106 deployment
      • Stores the user table
      • Wipes out the 106 deployment including ANY data including devices data, historic data, groups, profiles and notes
      • Installs Dwarfguard 2.0.0 with defaults overridden by the actual 106 options (domain, server ID, Apache config, potentially the SSL certificate and other)
      • Restores the users and their passwords
    • Once the Dwarfguard 2.0.0 starts up, it requests any reporting device to re-register, allowing keeping the device its old DevID
    • It is possible, as a custom action, to import the device notes, profiles and other connected data, as the device IDs will be kept. NOTE that you need to wait until the devices re-register themselves before you run the DB import. This data import can be done manually by administrator or as a custom support action (covered by Advanced and Premium support levels). Please note that this operation is technically sophisticated and should be performed while Dwarfguard service is stopped. Also, if performed improperly, the DB could get broken, requiring removing the 2.0.0 deployment, restoring the 1.0.6 from backup and redeploying the 2.0.0 RC in the partial upgrade mode to get to the starting point again.

Featured changes

  • Support firmware management for Teltonika devices (running RUTOS).
  • Customizable and centrally managed configuration profiles for Advantech routers.
  • Initial support for CS-Tech devices (includes firmware management for CS-Tech Linux).
  • Introduced SNMP Gateway to allow monitoring of SNMP devices (aimed at Advantech v1 routers but concept works for any SNMP device).
  • Implemented SSH tunnels via web gateway and proxy.
  • New metrics available - Device Model name, Signal CSQ, RSSI
  • GUI improvements - new columns in Devices table, better visibility and behavior, added Notes in Devices Details, horizontal scrolling...
  • Customizable column names for Note1 .. Note3 columns
  • Implemented CSV download from Devices table.
  • Improved Dwarfguard command-line integration including ability to add new GUI users
  • Added Reboot button into Devices table actions to schedule a reboot for a particular device.
  • List of triggered devices can now be accessed directly from alert definition table.
  • Frameworks and libraries update
  • Improved Agent robustness, moved all temporary data under /tmp, reuse old DevID when re-registering, improved debug
  • Various fixes including all fixes from stable support releases 1.0.1 - 1.0.6
  • For additional points see the in-application Release Notes (About)


Known issues (updates with bugs being reported)

  • Log entries timestamps on device do not contain timezone
    • Reported: 2026-04-09
    • Impact: no impact on function
    • Severity: Super low
    • Status: Fix ready, will be included in 2.0.1
    • Details: Agent log file on device contains log entries with respective timestamps. Timestamps are in local time which may be UTC time. Timestamps do not contain information about the timezone they belong to. NOTE: the timezone, while not being shown, is uniform (the log entries are in correct order)
    • Workaround: Not possible
  • Tunnel connect button for Webtunnel is not shown if Python extended libraries are not installed
    • Reported: 2026-04-09
    • Impact: Established webtunnel cannot be connected to via UI unless full deployment is done
    • Severity: Very low (easy workaround available)
    • Status: Fix ready, will be included in 2.0.1
    • Details: While the SSH tunnels do require installing extra Python libraries, the Webtunnels can be used without these. In case cutomer deployment is Dwarfguard + pure Debian packages, the intended state is that SSH tunnels are disabled and Webtunnels are enabled. However, the "Connect" GUI button allowing the user to connect to the server Webtunnel endpoint is not shown unless the extra libraries are installed.
    • Workaround: Server admin to execute dwarfg_inst_pyext - this will install the libraries, making the Connect button for Webtunnel appear in GUI (and also, as a side effect, allowing usage of SSH tunnels through the browser).
  • When updating license to another one with worse parameters (e.g. less devices, expires sooner etc.), GUI cannot be used for that.
    • Reported: 2026-04-10
    • Impact: Cannot use GUI to exchange product license when the target license having at least one parameters worse than original.
    • Severity: Very low (easy workaround available)
    • Status: Fix ready, will be included in 2.0.1
    • Details: Clicking on "Process update anyway" button leads to HTTP error 500.
    • Workaround:
      • Place the new license directly at server location: /opt/dwarfg_<domain>/dwarfg_license.lic
      • Restart Dwarfguard using GUI (System -> Status -> Restart) or executing dwarfg_restart command on server.
  • Alert on missed contact metric using "greater than" operator is created as invalid
    • Reported: 2026-04-10
    • Impact: It is not possible to create new valid alert on "missed contacts" metric class
    • Severity: Medium
    • Status:
      • Fix ready, will be included in 2.0.1
      • Free once per day support intervention for any paid support level to enter/edit any such alert directly into DB (bypassing GUI).
    • Details: Incorrect save of any alert using the "missed contacts" metric class from GUI into the database. It is not possible to create new such alert or properly edit an existing one.
    • Workaround: Not-recommended (it is possible to create new alert or manipulate existing one using SQL commands. If you attempt any such thing yourself, consider running dwarfg_backup command prior to such action as direct DB manipulation may result in data corruption. Please contact support - the once per day free support intervention per support level will stay until 2.0.1 is released)
  • "Download preset agent" button in Device details leads to error 500 for OpenWRT devices
    • Reported: 2026-04-11
    • Impact: None (obsolete functionality handled otherwise in 2.0.0)
    • Severity: None
    • Status: Unfixed. The button will be removed in 2.1.0
    • Details: In historic Dwarfguard versions (0.7.x and 0.8.x), a specific device-preset agent was needed to properly reinstall the agent on a device so that this would not loose its Device ID. Nowadays, this is handled by Machine ID, which is generated automatically and stays the same for the same device even on agent reinstall. This functionality is obsolete and should have been removed even in version 1.0.0 however it stayed there as an left over. There is no point in using this functionality.
    • Workaround: Do not click on the button as it does not provide anything of value.
  • DCL DB export can be broken under some condition
    • Reported: 2026-04-12
    • Impact: Changes Tracker is missing some data (all in the worst case). The device data in DB are correct, but the audit trail for data changes stops being recorded.
    • Severity: Medium
    • Status: Fix ready, will be included in 2.0.1
    • Details: Under some specific condition, the export of the DCL data to the SQL DB may become blocked because of a coding error in Dwarfguard daemon. NOTE this impacts only DCL DB export. DCL stream export is fine (that is, data to DB are stored. Datachanges track into FluxDB/Grafana is working, datachanges track to SQL DB / Changes Tracker is impacted).
    • Workaround: (quite poor) Restart Dwarfguard service (either in GUI by System -> Status -> Restart or execute dwarfg_restart on server cmdline). NOTE that this will not recover the blocked data. The blocked data changes track will be lost for Changes Tracker. New data changes track will work until the error happens again (may happen immediately or never; it is not dependent on time period).