NAV 5.19.0 released
The first feature release of the 5.19 series of NAV is now out!
The source code is available for download at GitHub.
New packages for Debian 12 (Bookworm) and 13 (Trixie) are available in our APT repository.
Removed
Added
- The ipdevpoll
camplugin can now optionally log CAM records for switch ports connected to unmanaged neighbors, so that Machine Tracker can locate both the unmanaged device itself and any end hosts behind it. For now, this must be explicitly enabled: See the[cam]section in the ipdevpoll reference docs for details. (#2915) navtopology --l2now logs a per-run summary line tonavtopology.logwith phase timings, per-source resolved-link counts, and database write counts. Per-edge DEBUG lines from the reducer are also tagged with the heuristic that produced each resolution. (#4067)- The interface details page now shows the full aggregate and stacking hierarchy as a tree, surfacing the derived layer-2 topology (including per-member MLAG neighbours) even when the link is recorded on a lower-layer member port rather than the aggregate itself. (#4081)
- Collect Juniper DOM threshold values as sensors (#2340)
- Added API endpoint for getting, creating and deleting maintenance tasks (#2927)
- Room aliases are now shown as tooltips in IP device info (#3881)
- Added new column to user admin tool user list to show which users have enabled 2-factor authentication (#4005)
- Added
navdashboardCLI tool for listing, exporting and importing dashboards (#4028) - Added REST API endpoint for organizations at
api/organization/ - Added read-only REST API endpoint for router port information at
api/gwportprefix/
Changed
User-visible changes
- Upgraded Django from 4.2 to 5.2. Remove unused
pytzdependency. Changed minimum required PostgreSQL version to 14. (#3958) - Upgraded Sphinx version to 9.0.4 (#3950)
- Excluded JavaScript test files from installed package. (#3916)
- Improved the usability of the two-factor authentication pages with status indicators, clearer warnings, guided setup steps, and copy-to-clipboard support for recovery codes and TOTP secrets. (#3961)
- Improved docs for configuring allauth social auth providers, sans OIDC. (#5075)
- Updated “Installing NAV on Debian” guide to Debian Trixie (#2886)
- Added PostgreSQL rule to never allow the
defaultuser to be active (#4027) - Hide map for rooms/locations without coordinates (#4008)
- Hide empty lines in room detail view (#3893)
Refactorings (developer-centric)
- Replaced TOML config parser with Pydantic models for authentication config. (#4025)
- Migrated
gaugeandlinear_gaugefrom D3 v3 to D3 v7. (#3907) - Migrated IPAM prefix visualizations from D3 v3 to D3 v7. (#3965)
- Migrated the netmap force-directed graph from D3 v3 to D3 v7. (#3966)
- Replace deprecated
USE_L10N = Falsesetting with a customFORMAT_MODULE_PATHto preserve ISO date formatting for Django 5.0 compatibility. - Refactored the Watchdog page to fetch its statistics via HTMX instead of a custom RequireJS/jQuery module. (#4054)
- Refactored the sensor-details page to fetch its current on/off state via HTMX instead of a custom RequireJS/jQuery module. (#4056)
- Improve Devex when using docker compose for development. (#4036)
Fixed
- Restored audit-log and application-log recording of user logins, which stopped when the login flow moved to
django-allauthin 5.18.0. (#4106) - Fixed topology detector assigning the wrong neighbor to aggregate (LAG) interfaces, such as Juniper
aeinterfaces, whose members are discovered through one or more layers of stacked interfaces. (#4029) - Fixed VLAN topology detection dropping detected VLANs from aggregated (LAG) uplinks, e.g. Juniper
aeinterfaces, where the layer-2 topology resolves on the physical member ports while the 802.1q configuration lives on the aggregate above them. (#1687) - Made ‘My stuff’ dropdown behave consistently (#3799)
- Fixed a crash in the Room/Location Status navlets when an alert lacks an associated SMS message record. (#3899)
- Fixed a race condition crash in asyncdns
ForwardResolverwhere a DNS error on one record type (A/AAAA) could cause anAttributeErrorwhen the other record type resolved successfully. (#3902) - Fixed pipe characters in management profile names or netbox data breaking bulk dump/import (#3960)
- Fixed the broken “approximate database size” indicator on the Watchdog page. (#4052)
- Fixed
ipdevpollcrashing shortly after startup on systems that forbid writable-and-executable memory. (#4066) ppingno longer misclassifies hosts whose ICMP echo reply round-trip time measures as exactly 0s (a logic error that would only occur during system clock adjustments) (#4071)- Fixed outdated list of available API endpoints in the documentation (#4085)
- Stopped the room image views from returning spurious server errors (and emailing admins) when deleting already-deleted images or on malformed requests. (#4103)
- Stopped allowing the
navuserunlockandpasswdcommands to work for thedefaultuser AuthorizationMiddlewarenow raises an error ifHtmxMiddlewarehas not run before it (#3713)
Release notes
We always advise you to have a look at NAV’s accompanying release notes before upgrading.
Happy NAVing everyone!