NetXMS 7.0 release notes

7.0.0

2026-10-15
  • Hot standby mode for netxmsd: two server instances share one database, standby takes over automatically when active server fails; split-brain is prevented by database lease, no external cluster manager required
  • Event processing policy rule chains: rules can be grouped into named chains invoked from other rules, with per-chain access control; rules referencing deleted objects are marked in the editor; source object selector shows only event source objects
  • Syslog over TLS (RFC 5425) listener
  • Multiple SNMP agents on one node: additional SNMP agents with their own port and credentials can be configured per node and selected in DCIs and MIB explorer
  • NETCONF support: new libnxnetconf library, NETCONF-based telemetry data collection and configuration backup; network device driver API uses multi-protocol device context; new driver for Cisco Catalyst 9800 wireless controllers
  • Device configuration restore: stored configuration backup can be pushed back to a device; separate access rights for reading and managing device configuration backups
  • Server-initiated agent tunnel over TLS (reverse tunnel) as alternative to proprietary NXCP encryption for direct server to agent connections
  • Embedded SSH terminal in management console, connecting through agent SSH channel relay or directly over TCP proxy
  • Traffic observer framework for integration with external traffic analysis systems; ntopng is the first connector
  • AI: AI Operators (perpetual adaptive monitoring loops with standing checks and instructions), unified AI memory store with environment, per-user and per-object memories, interactive chat bots over Telegram, Mattermost and XMPP, and new nxshell tool combining debug console, AI assistant, NXSL execution and object navigation
  • Data center infrastructure model: new object classes Facility, PowerDomain, CoolingZone and Room with floor plan view; racks are data collection targets; per-sample quality attributes for DCI history and computed data origin for engine-owned DCIs
  • Asset management: node components (stack members, transceivers, disks) can be represented as separate assets; "Create asset" action creates and links asset from object
  • Access control: separate object access rights for reading data collection configuration and for ad-hoc script execution; access control lists for DCI summary tables; per-object ACL check on mobile device binding; effective rights calculation scales to thousands of nested groups
  • Per-user regional settings and UI preferences (language, time zone, date/time formats) stored on server and shared between desktop and web clients
  • Data collection: per-DCI "override template settings" flag protects local changes from template updates; last values show actual data collection error reason; {instance} macros are expanded in DCI tags; traffic monitoring template can be applied only to marked interfaces
  • Time zone property on all objects with inheritance from parent containers; structured (JSON) values in custom attributes
  • Recurring maintenance can be scheduled from object context menu and properties
  • Network maps: link aggregation members are drawn as single link; link traffic can be shown as one centered label with direction indicators; web UI map labels match desktop client size and font
  • Incidents view: server-side filtering and three-way state selector
  • Alarm browser: option to show severity and state as icons only; context aware command palette; object sync runs in background instead of modal dialog; fuzzy token search in data collection filter; human-readable time inputs; object context menu fits on small screens
  • Traditional Chinese (zh_TW) translation; hundreds of UI strings that bypassed translation are now translatable
  • NXSL: all integer calculations are performed as signed 64-bit; HTTP client class; hash map initialization with { }; DCI class gets instanceValue attribute and method to set status; alarm category methods; alarm methods return boolean instead of internal result codes; changes made from scripts are written to audit log
  • Audit log records for object modifications name the changed property
  • Notifications: Markdown support in notification channels; Telegram channel can send geolocation and formats 2FA codes as monospace; notification channel drivers and helpdesk link plugins are now server modules
  • Agent: events are acknowledged by server and redelivered after connection interruption; Python subagent support removed; external subagent loader exits when started under excluded user
  • Windows server installer no longer bundles end-of-life OpenSSL 1.1.1 with libpq
Fixed issues (85)
  • #1385 / NX-1175 (Feature for changing the used port in MIB-Explorer)
  • #1830 / NX-1620 (Syslog over TLS)
  • #1866 / NX-1656 ("Edit agent configuration" should show R/O cached version of the config if node is not connected)
  • #1931 / NX-1721 (Always perform calculations in NXSL as signed 64bit numbers)
  • #2148 / NX-1939 (Introduce access control for summary tables)
  • #2232 / NX-2023 (Display actual data collection error reason in last values)
  • #2269 / NX-2060 (Support for multiple SNMP agents on one node)
  • #2313 / NX-2105 (Use human readable values when time input is required (e.g. action execution delay))
  • #2350 / NX-2142 (Context aware "Command Palette")
  • #2467 / NX-2260 (Option to set recurring maintenance for object from context menu or properties)
  • #2478 / NX-2271 (Format 2FA code as monospace when sending via telegram notification channel)
  • #2486 (Telegram: support sending geolocation messages)
  • #2540 / NX-2334 (Rule chains in EPP)
  • #2923 / NX-2720 (add method to set dci status)
  • #3031 / NX-2829 (Show only appropriate object in EPP rule's source object selector)
  • #3150 (Idea: run object sync in separate thread, and instead of modal dialog show "Loading" in object browser)
  • #3187 (Add instanceValue attribute to DCI class)
  • #3188 (Events from agent to server get lost if network connection is interrupted)
  • #3244 (AI Operator: perpetual adaptive monitoring loops)
  • #3269 (Add fuzzy search to filter in "Data Collection" view)
  • #3315 (NXSL HTTP client class)
  • #3363 (Object "Create asset" in addition to "Link to asset")
  • #3364 (Hot standby mode for netxmsd (active/standby HA))
  • #3369 (Remove Python subagent support)
  • #3373 (Mobile device session: missing per-object ACL on device binding allows forged data)
  • #3377 (Transform helpdesk link plugins into server modules)
  • #3382 (Notification channel drivers: move into server subtree and provide event context in driver API (v5))
  • #3383 (Interactive chat bots: bidirectional AI assistant access over messaging platforms (Telegram, Mattermost, XMPP))
  • #3384 (Changes made from NXSL scripts are not written to audit log)
  • #3385 (Object-modify audit records name only the object, not the changed property)
  • #3387 (Separate object level access right for ad-hoc script execution)
  • #3391 (Hide labels for severity and state in alarm browser, they are take quite a lot of space)
  • #3409 (Separate access rights for network device backups)
  • #3425 (Device configuration restore (push config to device))
  • #3429 (Traffic observer framework: integration with external traffic analysis systems (ntopng as first connector))
  • #3435 (NETCONF support)
  • #3447 (UB sweep following #3445: uninitialized reads, unaligned access, endianness, dead override)
  • #3464 (Decide which additional IPv6 address ranges should be excluded from automatic subnet creation)
  • #3480 (Per-user regional settings and UI preferences (design discussion))
  • #3481 (Markdown support in notification channels)
  • #3487 (Add marker on EPP rule if there are some errors)
  • #3488 (Server-initiated agent tunnel over TLS (reverse tunnel))
  • #3522 (Server-side incident filtering and three-way state selector in Incidents view)
  • #3530 (alarm categories - add\modify alarm categories using nxsl)
  • #3534 (Traffic values on map links overlap interface name labels)
  • #3537 (Update traffic monitoring template to have option to apply only on marked interfaces.)
  • #3541 (Separate access right for reading data collection configuration)
  • #3547 (Real-time line chart ignores DCI configuration (delta calculation, transformation script, units))
  • #3552 (Link aggregation members drawn as separate links on topology maps since 5.0)
  • #3562 (Network map: option to show link traffic as one centered label with direction indicators)
  • #3582 (Duplicate scalar config key across merged agent config sources resolves by unsorted directory order)
  • #3583 (Add Traditional Chinese (zh_TW) translation)
  • #3586 (Metadata key SingeTablePerfData is misspelled)
  • #3588 (Agent action killed by ExternalCommandTimeout reports success with truncated output)
  • #3592 (UI strings bypass i18n.tr() and cannot be translated; catalogs are 534 msgids behind the code)
  • #3594 (Representation of node components in asset management)
  • #3602 (Support structured (JSON) values in custom attributes)
  • #3625 (Convert Rack to a data collection target)
  • #3626 (POSIX timezone rule evaluation in libnetxms (TimeZoneRule))
  • #3627 (Per-sample attributes (quality, bounds, completeness, method) side table for DCI history)
  • #3628 (New object classes Facility, PowerDomain, CoolingZone)
  • #3629 (Data origin DS_COMPUTED for engine-owned DCIs)
  • #3644 (Server installer bundles EOL OpenSSL 1.1.1 via libpq 10)
  • #3645 (Allow hash map initialization in NXSL using { } instead of %{ })
  • #3646 (Per-DCI override flag: protect local changes on a template-derived DCI from being overwritten by the template)
  • #3648 (Add time zone property to all objects)
  • #3658 (NXSL: Alarm methods should not expose raw RCC codes as return values)
  • #3661 (Web UI: network map labels are much smaller than in desktop client and use serif font)
  • #3667 (Room object class and data center floor plan)
  • #3673 (Object context menu does not fit anymore, scroll is not available as well)
  • #3679 (Effective rights calculation walks group tree once per group, slow with thousands of nested groups)
  • #3699 (Decommissioned state is lost when node leaves maintenance mode (leaveMaintenanceMode restores pre-maintenance state flags wholesale))
  • #3709 (Table DCI last value view hides the cached table while the DCI has collection errors)
  • #3710 (TableValueViewer downloads the whole node DCI summary on every refresh to read one DCI status)
  • #3716 (ProcessExecutor: argument array form loses argument boundaries on Windows)
  • #3723 (Unified AI memory store: environment, per-user and per-object memories)
  • #3726 (nxshell: interactive shell for NetXMS server (debug console, AI assistant, NXSL, object navigation))
  • #3752 (SNMPv3 engine ID discovery on trap port is rejected by trap credential validation, INFORMs never received)
  • #3755 (Server crash on first start with fresh database: management node creation registers outbound tunnel before client thread pool exists)
  • #3758 (Configuration export truncates action data to 255 characters and omits is_disabled)
  • #3759 (Agent: external subagent loader should exit when started under user excluded from external subagent watchdog)
  • #3761 (Agent local database upgrade 17->18 fails on NULL content_hash in agent_policy, agent runs without local database)
  • #3762 (Expand {instance} macros in DCI tag for DCIs created by instance discovery)
  • #3764 (DataCollection.Scheduler.RequireConnectivity ignores DCSF_UNREACHABLE: DCIs fail instead of being skipped when node and agent reachability flags disagree)
  • #3765 (Embedded SSH terminal in nxmc (agent SSH channel relay and direct SSH over TCP proxy))