VersionDrift
Product

Netdata 2.8.5 → 2.12.1

10 releases · 22 breaking changes · 17 security fixes · 7 advisories fixed

17security22breaking7deprecated134feature44fix

Vulnerabilities fixed by this upgrade

  • 8.4 CVE-2026-83603 Local Root via ndsudo Arbitrary socket_path → fail2ban-client Pickle RCE
  • 6.5 CVE-2026-83602 Unauthenticated remote PUT to /api/v3/settings bypasses IP allowlist controls via HTTP_ACL_NOCHECK
  • 6.5 CVE-2026-83600 Streaming protocol chart slot guard off-by-one allows ~16 GiB allocation request, crashing parent agent
  • 6.5 CVE-2026-83601 Streaming protocol dimension slot has no upper-bound guard, allowing integer overflow and out-of-bounds write
  • 7.5 CVE-2026-83599 WebSocket Decompression Bomb
  • 7.0 CVE-2026-83597 Local Privilege Escalation in Netdata Windows Agent installer via MSI Repair Execution
  • 7.8 CVE-2026-83598 Local Privilege Escalation in Netdata Agent Windows installer via PowerShell Profile Hijack in MSI Repair

Breaking changes

  • breaking Removed a scan of the open cache that ran on every dbengine datafile deletion only to feed a debug check compiled out of release builds. The scan walked the whole clean queue under its lock, which can be large on busy Parents () in 2.12.1
  • breaking Ceph: removed a stray option selector from the configuration form, and stopped the Redfish TLS settings from rendering a duplicate tab strip () in 2.12.1
  • breaking Fixed go.d collection status reporting: V2 collection status and duration charts were restored, Function failures are reported and the finalizer context honored, job-scoped Function metadata is returned, accepted job activation converges asynchronously, shutdown errors are preserved through… in 2.12.0
  • breaking Removed the unused registry_generate_curl_urls function, and corrected stale comments and test diagnostics (daemon). () in 2.12.0
  • breaking Removed a per-chart label probe from the pulse child charts, relying on the host label-version compare instead; on a parent with 808 children the probe accounted for about 23% of the main pulse thread and left gaps in the netdata.* charts it emits () in 2.11.1
  • breaking Removed the Go sensors collector, superseded since v2.2.0 by the C libsensors module in debugfs.plugin (go.d/sensors). () in 2.11.0
  • breaking Fixed cardinality limiting: crashes, limiting only the result dataset by default, deterministic tie-breaking, partial reporting on mixed folds, and exposing the fold cut in jsonwrap v2 (api). () in 2.11.0
  • breaking Removed variable-length arrays across claim, daemon, dbengine, health, libnetdata, streaming and web for C11+ compatibility (build). () in 2.11.0
  • breaking Removed a redundant status message for ACLK connection state, and switched active context checkpoint logs from NOTICE to DEBUG (ACLK, dbengine). () in 2.11.0
  • breaking Removed mcp-web-client and mcp-test-client from the tree (MCP). () in 2.11.0
  • breaking The Prometheus collector's label_prefix option is removed. Use the new relabeling engine instead. () in 2.11.0
  • breaking The Go sensors collector is removed. Linux hardware sensors have been collected by the C libsensors module in debugfs.plugin since v2.2.0, so no action is required. () in 2.11.0
  • breaking Removed the unused extra_details field from the go.d/powerstore Hardware struct to fix /hardware response decoding errors that caused job check failures () in 2.10.3
  • breaking Removed legacy MSSQL collector from Windows plugin, completing migration to go.d (windows.plugin). () in 2.10.0
  • breaking Removed compilation warnings across Linux, Windows, BSD platforms and removed variable-length arrays for C11+ compatibility (build). () in 2.10.0
  • breaking Removed per-metric collect_* options from MSSQL go.d collector - all metrics now always collected (go.d/mssql). () in 2.9.0
  • breaking Removed obsolete TODO documentation files. () in 2.9.0
  • breaking Removed third-party network device Prometheus exporters from documentation. () in 2.9.0
  • breaking Removed Docker prerequisite to install smartmontools as it's now included in helper images. () in 2.9.0
  • breaking Removed snippet with broken link from go_expvar metadata. () in 2.9.0
  • breaking Removed redundant libuv loop calls to improve event loop stability and reduce overhead () in 2.9.0
  • breaking Removed Sentry error reporting from journal-viewer plugin () in 2.9.0

Security changes

  • security Security Hardening in 2.11.0
  • security Added a Netdata and cyber-security document, and updated Windows installer and plugin documentation. () in 2.11.0
  • security Added a privilege escalation check in ndsudo and a JSON conversion status check in proto_2_json, and validated NETDATA_HOST_PREFIX in local_listeners and its format to prevent % in printf strings (daemon). () in 2.11.0
  • security Fixed SonarCloud security hotspots and cgroup-network namespace handling (daemon). () in 2.11.0
  • security Upgraded google.golang.org/grpc to 1.79.3 for CVE-2026-33186 (build). (d6fb820b, OrbisAI Security) in 2.11.0
  • security Fixes CVE-2026-83603: Local Root via ndsudo Arbitrary socket_path → fail2ban-client Pickle RCE in 2.10.4
  • security Fixes CVE-2026-83598: Local Privilege Escalation in Netdata Agent Windows installer via PowerShell Profile Hijack in MSI Repair in 2.10.4
  • security Fixes CVE-2026-83599: WebSocket Decompression Bomb in 2.10.4
  • security Fixes CVE-2026-83597: Local Privilege Escalation in Netdata Windows Agent installer via MSI Repair Execution in 2.10.4
  • security Fixes CVE-2026-83602: Unauthenticated remote PUT to /api/v3/settings bypasses IP allowlist controls via HTTP_ACL_NOCHECK in 2.10.4
  • security Fixes CVE-2026-83600: Streaming protocol chart slot guard off-by-one allows ~16 GiB allocation request, crashing parent agent in 2.10.4
  • security Fixes CVE-2026-83601: Streaming protocol dimension slot has no upper-bound guard, allowing integer overflow and out-of-bounds write in 2.10.4
  • security The /api/v3/settings endpoint is now gated behind HTTP_ACL_DASHBOARD instead of HTTP_ACL_NOCHECK, enforcing connection allowlists and blocking anonymous state-changing requests () in 2.10.4
  • security Fixed the csvjsonarray output format emitting invalid JSON when label-quotes is passed () in 2.10.4
  • security Added documentation recommending bearer token protection as the preferred security method () in 2.9.0
  • security Added SOC 2 Type 2 compliance badge to Security and Privacy documentation. () in 2.9.0
  • security Updated security and privacy design links in map.csv. () in 2.9.0

Deprecations

  • deprecated Deprecation notice in 2.12.0
  • deprecated The legacy RPM packaging code (netdata.spec.in) remains present but unused and deprecated; official RPM packages are built through CPack, as they have been since v2.11.0. It is still expected to be removed in a future release. in 2.12.0
  • deprecated Deprecation notice in 2.11.0
  • deprecated Replaced deprecated bzero and usleep with portable wrappers (libnetdata). () in 2.11.0
  • deprecated Deprecation notice in 2.10.0
  • deprecated Added deprecation notice for /api/v1/charts endpoint () in 2.10.0
  • deprecated Deprecation notice in 2.9.0

Every release in between

fixFixed the Windows Agent crashing at startup with an access violation inside msys-2.0.dll. The bundled MSYS2 runtime carried an incomplete backport of an upstream Cygwin change; packages now ship a runtime rebuilt with the missing upstream fixes, the MSYS2 installer is pinned by tag and checksum,…
fixFixed Windows timezone detection reporting garbage, or reading past its buffer, when the Windows timezone had no match in the IANA mapping. The mapping is now parsed by attribute with bounded copies, the user's region is preferred over the world default as intended, and on failure the existing…
otherSynced the eBPF collector with ebpf-co-re v1.7.0.3 and kernel-collector v1.7.0.4, reworking the disk and process probes for better kernel compatibility, including hosts without BTF ()
fixFixed ebpf.plugin aborting with heap corruption on hosts where the number of possible CPUs exceeds the number of online CPUs, such as VMware guests ()
fixFixed a crash when an eBPF object or BTF data could not be loaded on builds with older libbpf versions ()
fixFixed ebpf.plugin running the wrong action for most command-line options, so options such as --unittest now do what they say ()
breakingRemoved a scan of the open cache that ran on every dbengine datafile deletion only to feed a debug check compiled out of release builds. The scan walked the whole clean queue under its lock, which can be large on busy Parents ()
otherDocker: reduced the CPU load the collector causes in dockerd and containerd, which was significant on Docker Engine 29+ with the containerd image store. The image list is now refreshed at most once every 5 minutes, and the module's default update_every is raised from 1 to 10 seconds ()
fixDocker: fixed image usage metrics on daemons that negotiate an API older than 1.51, where every image was counted as active and dangling images were always reported as 0. Usage is now derived from the container list on every collection ()
otherRedfish: the configuration form now shows the username and password only for the authentication methods that use them ()
fixRedfish: fixed the collector permanently skipping resources whose @odata.id differs from the URI they were fetched from, such as the trailing-slash variants and remapped NetworkAdapters and Storage paths returned by HPE iLO. Affected jobs stayed in a partial state with a standing…
breakingCeph: removed a stray option selector from the configuration form, and stopped the Redfish TLS settings from rendering a duplicate tab strip ()
otherSMBIOS Memory: the collector is now built only on Linux, the only platform that exports the SMBIOS tables it reads. On macOS, FreeBSD and Windows its stock job used to start and fail with read SMBIOS entry point: ... no such file or directory ()
otherNetdata Learn: Find documentation, guides, and reference material for monitoring and troubleshooting your systems with Netdata.
fixGitHub Issues: Make use of the Netdata repository to report bugs or open a new feature request.
otherGitHub Discussions: Join the conversation around the Netdata development process and be a part of it.
otherCommunity Forums: Visit the Community Forums and contribute to the collaborative knowledge base.
otherDiscord Server: Jump into the Netdata Discord and hang out with like-minded sysadmins, DevOps, SREs, and other troubleshooters. More than 2000 engineers are already using it!
featureNew Collectors: S3 Object Storage and SMBIOS Memory
deprecatedDeprecation notice
featureSensor and hardware Functions — on-demand tables of the full sensor set and the hardware inventory, with enriched detail (models, part and serial numbers, firmware revisions).
featureIndependent sensor threshold health — each sensor's own upper and lower thresholds, as reported by the BMC, drive its health state, rather than a single collector-wide rule.
featureAn on-demand BMC log viewer — the controller's own event log, read through the same Function mechanism, without logging in to the BMC's web interface.
featureHyper-V monitoring in windows.plugin: aggregate VM health counts, per-VM memory and performance, and root-partition virtualization metrics.
featureRemote Desktop Services sessions: aggregate active and inactive sessions, for the remote-access path that Windows fleets actually run on.
featureCPU charts added to the Windows plugin, plus an exclude space metrics on paths setting that keeps selected volumes out of the disk-space charts.
featureCluster Shared Volumes and folder-mounted volumes now get disk-space charts at their mount paths, with filesystem, serial number, read-only, drive type and mount path labels; some of these volumes were missing from performance-counter results. Mount-point discovery and space queries run on worker…
featureNetwork connections topology (topology:network-connections) now works on Windows, bringing the network viewer to Windows hosts.
featureClearer OS labels on Windows: the OS name is now reported as "Microsoft Windows", and new host labels (_os_marketing_version, _os_release, _os_edition, _os_build) let Windows nodes be filtered by version, release or edition. _os_version keeps its existing display value for compatibility.
featureFixes to Windows alerts, to claiming on Microsoft platforms, and to the MSI installer's verbose logs, which no longer contain the claim token.
featureFile secrets are read without elevated privileges, and configured credential-file reads drop privileges before touching the file.
featureCommand secret providers run through nd-run, the agent's mediated execution helper, which gained one-shot unprivileged file operations and opt-in environment preservation to support exactly this.
featureSecret references in discovered jobs stay literal by default, even when the reference comes from an operator-authored discovery rule, so a discovered target cannot make the agent dereference a secret on its behalf. A service-discovery pipeline you trust can opt back in with…
featuresum results stay exact when stored points span two result rows or a storage-tier boundary
featureincremental-sum queries keep their baseline when a result bucket holds only its opening sample
featureanomaly-rate contributor counts stay correct when a query groups data in two passes
featurethe absolute option is applied at a storage-tier switch, so a negative value can no longer slip through
featurecounter resets and anomaly flags are attributed to the result row that holds the stored sample, not to neighbouring rows that reuse or interpolate its value
featureexplicit and relative single-point latest windows derive their result timestamps from the requested window instead of from the edge of retention; before=0 still asks for the database end.
featureYour Context — one shared Markdown document per Space, with section templates for an infrastructure overview, service tiers, known behaviours, SLOs and business context, team preferences, upcoming events and architecture notes. Every save keeps a version you can compare and restore, and Netdata AI…
featureAI Memory — single facts Netdata AI learns as you work with it, such as "remember that the 02:00 disk spike on backup-01 is expected". It tells you when it records one, and the tab lets you read, delete or clear them.
featureConversations survive a closed tab. Each turn is saved and processed on the server, independently of the browser connection, so closing the tab or losing the connection no longer loses the answer. Stop now cancels generation on the server, and only successful answers are billed.
featureLong conversations keep going. When a conversation approaches the model's context limit, the oldest turns are summarized and the newest kept verbatim, instead of every further turn failing.
featureVisible reasoning. The model's thinking streams into the conversation as it works, collapsed by default and labelled with how long it took.
featureClearer context. Each message shows the context that was sent with it, a conversation started from a chart highlight keeps that time range, your own messages render as Markdown, and long runs of tool calls collapse behind an expandable "N more tools" control.
featureAdded Redfish monitoring of server hardware through the DMTF Redfish API of a baseboard management controller, with sensor and hardware inventory Functions, independent per-sensor threshold health, an on-demand BMC logs viewer, enriched hardware detail, and an operator-facing integration page; the…
featureAdded S3-compatible object storage monitoring with active write/read/list/delete probe checks and cross-site replication timing, then redesigned for safer and clearer operation (go.d/s3check). ()
featureAdded SMBIOS memory inventory monitoring with persistent memory loss detection against an accepted baseline, identifying each slot by its bank and device locator (go.d/smbios_memory). ()
featureAdded OpenTelemetry trace ingestion, trace-aware columnar storage (span extras, trace row index, bloom filters, span combination and rollups) and the otel-traces query Function, with a Functions search view that breaks each trace's spans down by service, an embedded window aggregate, and an…
featureAdded Hyper-V monitoring (aggregate VM health, per-VM memory and performance, root-partition virtualization metrics) and Remote Desktop Services session monitoring to the Windows plugin (windows.plugin). ()
featureAdded a full SNMP topology diagnostics layer: per-walk timing and preparation diagnostics, profile context and failure details, topology source and processing diagnostics, recurring per-device diagnostics, bounded retained evidence, retained topology acquisition history, and publication…
featureAdded portable topology diagnostic archives, an archive diagnostic tool, offline diagnostic inspection, hermetic topology graph replay, link inspection by replay index, support-bundle integration, and inspection of diagnostics directly from support bundles (go.d/snmp, go.d/snmp_topology). ()
featureAdded a permanent SNMP troubleshooting data workflow, generic topology response notifications, and validation of topology search labels, aggregation memberships and typed set cells in scalar columns (snmp, topology). ()
featureAdded network connections topology support on Windows (network-viewer). ()
featureAdded independently configured static and SNMP-backed virtual nodes, with configured vnode metadata authoritative for the jobs that reference them; an initially configured or discovered enabled job that references a vnode not yet defined, or an SNMP vnode still acquiring its identity, waits and…
breakingFixed go.d collection status reporting: V2 collection status and duration charts were restored, Function failures are reported and the finalizer context honored, job-scoped Function metadata is returned, accepted job activation converges asynchronously, shutdown errors are preserved through…
breakingRemoved the unused registry_generate_curl_urls function, and corrected stale comments and test diagnostics (daemon). ()
deprecatedThe legacy RPM packaging code (netdata.spec.in) remains present but unused and deprecated; official RPM packages are built through CPack, as they have been since v2.11.0. It is still expected to be removed in a future release.
+107 more items in the release notes
otherPreserved exact SUM values when a stored point spans result rows or an automatic storage-tier boundary, and preserved incremental-sum baselines so buckets holding only an opening sample no longer produce empty queries ()
otherKept API timestamps independent of each Agent's retention, so the same explicit or relative request returns the same row timestamps across Agents ()
otherAttributed tier-0 RESET and anomaly evidence to the result row that actually contains the source sample, and fixed anomaly-rate contributor counts in two-pass group-by queries ()
otherApplied options=absolute to points fetched from the incoming tier during a plan switch, so a negative value can no longer cross a tier transition unchanged ()
fixFixed a logical operator in the JSON wrapper so unqueried dimensions are excluded as expected unless all dimensions are requested ()
fixFixed a use-after-free and a fatal in merged extent queries by acquiring page-cache references before publishing page details and synchronizing merged extent query teardown under the extent spinlock ()
fixFixed a double free of stale MRG metrics during journal v2 migration, and an empty flush-batch counter leak that could leave shutdown or datafile rotation waiting indefinitely ()
otherPrevented negative and epoch-based tier retention reporting: no 32-bit truncation when formatting durations, unknown or zero start times treated as unavailable, empty journals ignored, and extrapolated retention capped ()
otherAccepted valid page cadences longer than one day instead of treating them as invalid and emitting false repair telemetry ()
otherAvoided UUID map create/free churn and partition write-lock contention during MRG metric lookups, and included full cache and page identity in PGC fatal messages to make cache issues diagnosable ()
otherUpdated the bundled SQLite to 3.53.4 ()
fixRepaired the -W createdataset and dbengine stress-test workloads, which crashed on a NULL labels allocator, stamped every generated sample with the wall clock instead of the requested time range, and double-freed state at host teardown ()
featureAdded TLS hostname and IP verification for ACLK HTTPS requests, while preserving insecure-mode behavior ()
otherStopped reporting waived self-signed certificates as certificate verification failures in insecure mode, so later I/O or HTTP errors are reported for what they are ()
otherSwitched the HTTPS and MQTT clients to monotonic, microsecond-based timeouts with an I/O progress watchdog, and bounded pre-CONNACK polling to one second so a quiet peer can no longer delay shutdown by up to 60 seconds ()
otherStopped counting missing MQTT PUBACKs as successful acknowledgements, tracking them with a dedicated timeout counter that is now preserved across disconnects without touching a freed client ()
otherPreserved pooled response buffers and their metadata for compressed ACLK responses, and fixed WebSocket masking of payloads spanning ring-buffer boundaries ()
fixFixed the Windows 10min_cpu_usage alert attaching to service.*_cpu_utilization charts and firing false CRITICAL alarms ()
otherIndexed alerts by name per host, replacing full-host alert scans during health-variable resolution ()
otherAvoided re-initializing alert prototypes when chart metadata has not changed, so continuous child-chart re-registrations no longer trigger repeated health re-evaluation ()
otherBuilt raised-alert summaries only when a notification is actually sent, avoiding per-iteration work and a potential lock-order deadlock with chart removal ()
fixFixed an incorrect error check on SQL statement preparation in the health database code, and removed two unused health_log_detail indexes to reduce parent database storage and B-tree maintenance ()
otherDeferred dictionary destruction while dictionary APIs are in flight, making set/get/delete and traversal safe against concurrent destruction during shutdown ()
fixFixed a use-after-free in dictionary garbage collection when a delete callback re-entered the collector and freed the cached successor mid-walk, and stopped view collections leaving master-deleted items behind ()
otherStopped the obsolete-chart reaper from freeing a chart another subsystem still references, which left an unindexed chart holding its destroy lock and could fatal a collector still writing to it ()
otherDeferred machine-learning worker queue teardown until after all collectors have stopped, so a collector that outlives the shutdown deadline can no longer abort on a destroyed queue mutex ()
fixReset and unblocked SIGPIPE in spawned children, so a child whose pipes are closed exits instead of surviving on EPIPE — which had stranded hundreds of powermetrics processes on macOS — reported failed signal delivery instead of dropping it silently, and made the spawn-server regression tests…
otherProbed for KSM support before enabling page deduplication instead of assuming it, so unsupported kernels no longer report KSM errors, and limited KSM marking to the dbengine page pools that can actually merge ()
otherSkipped sanitizing and re-interning unchanged chart metadata on repeated chart registration, and incremented the label version only on actual label mutations ()
fixFixed a text-buffer cleanup issue and a dyncfg tree sizing race during concurrent configuration updates ()
otherReplaced sprintf() with bounded snprintfz() in inicfg numeric formatting, and replaced dynamic /proc/net/dev path format strings with literal ones ()
otherReduced pulse overhead by running mallinfo2() collection on a configurable, pulse-aligned interval, stamping it after completion so a slow call cannot monopolize the duty cycle, and stopped redundant pulse chart metadata version bumps ()
breakingRemoved a per-chart label probe from the pulse child charts, relying on the host label-version compare instead; on a parent with 808 children the probe accounted for about 23% of the main pulse thread and left gaps in the netdata.* charts it emits ()
otherSilenced a Coverity finding and corrected stale comments and unit-test diagnostics, including documenting health-initialization flag behavior while a child is disconnected ()
fixFixed /proc/interrupts parsing when the first counter is glued to the interrupt ID, which could push changing counter values into dimension IDs and cause unbounded dimension growth ()
fixFixed the charts.d.plugin disabled-chart message pointing to charts.d.plugin.conf instead of the actual charts.d.conf ()
featureSQL Server: added a plan-cache fallback (sys.dm_exec_query_stats) for top-queries when Query Store is unavailable or disabled, and fell back to the built-in system_health session for error-info when no dedicated Extended Events session is configured ()
fixSQL Server: fixed the deadlock and error-info queries on SQL Server 2014 and older, detecting Query Store by catalog column instead of product version, and reading the event_file path from the session catalog instead of assuming it matches the session name ()
featureWindows: added exclude space metrics on paths under [plugin:windows:PerflibStorage] to keep unwanted logical volumes (such as temporary backup mounts) out of disk space collection, added a volume serial_number label, and corrected the misspelled driver_type label to drive_type ()
fixGitHub Issues: Make use of the Netdata repository to report bugs or open a new feature request.
+12 more items in the release notes
featureNew Collectors
securitySecurity Hardening
featureEnd of Full Support for RHEL 7.x, CentOS 7.x, and Amazon Linux 2
deprecatedDeprecation notice
featureVendor improvements: Cisco Catalyst, Cisco Nexus, Fortinet FortiGate, Check Point, and Netgear (topology discovery).
featureBGP session monitoring for network devices.
featureNetwork-device licence monitoring, so you can alert before a licence lapses.
featureSNMPv3 context name support.
featureStructured mapping configuration and bitmask value mappings, so vendor status bitfields become readable states.
featureping_only mode for devices you want reachability for without a full SNMP walk.
featureMore reliable collection: snmpEngineTime as the primary uptime source, a lower default MaxOIDs of 20, corrected retry serialization, and tolerance for invalid optional typed row values.
featureActive Directory monitoring in windows.plugin — domain controller health and replication.
featureSMB protocol monitoring — SMB server and client activity.
featurePerflib reworked, with missing memory metrics and path translation added.
featureNetwork Viewer on Windows — the Network Connections and Network Protocols tables, the latter carrying SMB data.
featureCarried in from the 2.10.x patch line: MSI installer fixes, Windows hardware detection, and Windows event row rendering.
featureSystem-call monitoring, contributed by.
featureNetwork Viewer support, so FreeBSD hosts draw a connection map from their processes and endpoints, as macOS does.
featureAgent compilation on FreeBSD fixed, plus counter size mismatches and a freebsd_ipfw off-by-one.
featureLinux audit subsystem monitoring through debugfs.plugin — audit events from the kernel audit subsystem.
featurenfds monitoring in apps.plugin, for per-application open file descriptors, contributed by.
featureGroundwork for a new eBPF Go plugin (ebpfgo.plugin), and the cgroups–eBPF transport moved from shared memory to netipc IPC.
featureThe Go sensors collector was removed; Linux hardware sensors have been collected by the C libsensors module in debugfs.plugin since v2.2.0, so nothing changes for users.
featureRelabeling engine, at both job level and profile level. The old label_prefix option is dropped in favour of it.
featureApplication profiles (promprofiles) that detect the exporter and give its metrics proper chart contexts, instead of one undifferentiated pile of charts.
featureProfile-owned relabeling and fallback types, so a profile carries its own relabeling rules and decides how metrics it does not cover are charted — no per-job configuration needed to get a curated result.
featureProfile autogen selector for generating chart contexts from a profile.
featureSingle-pass stream parser, replacing the previous multi-pass scrape parsing.
breakingRemoved the Go sensors collector, superseded since v2.2.0 by the C libsensors module in debugfs.plugin (go.d/sensors). ()
securityAdded a Netdata and cyber-security document, and updated Windows installer and plugin documentation. ()
securityAdded a privilege escalation check in ndsudo and a JSON conversion status check in proto_2_json, and validated NETDATA_HOST_PREFIX in local_listeners and its format to prevent % in printf strings (daemon). ()
breakingFixed cardinality limiting: crashes, limiting only the result dataset by default, deterministic tie-breaking, partial reporting on mixed folds, and exposing the fold cut in jsonwrap v2 (api). ()
securityFixed SonarCloud security hotspots and cgroup-network namespace handling (daemon). ()
securityUpgraded google.golang.org/grpc to 1.79.3 for CVE-2026-33186 (build). (d6fb820b, OrbisAI Security)
breakingRemoved variable-length arrays across claim, daemon, dbengine, health, libnetdata, streaming and web for C11+ compatibility (build). ()
deprecatedReplaced deprecated bzero and usleep with portable wrappers (libnetdata). ()
breakingRemoved a redundant status message for ACLK connection state, and switched active context checkpoint logs from NOTICE to DEBUG (ACLK, dbengine). ()
breakingRemoved mcp-web-client and mcp-test-client from the tree (MCP). ()
breakingThe Prometheus collector's label_prefix option is removed. Use the new relabeling engine instead. ()
breakingThe Go sensors collector is removed. Linux hardware sensors have been collected by the C libsensors module in debugfs.plugin since v2.2.0, so no action is required. ()
+182 more items in the release notes
securityFixes CVE-2026-83603: Local Root via ndsudo Arbitrary socket_path → fail2ban-client Pickle RCE
securityFixes CVE-2026-83598: Local Privilege Escalation in Netdata Agent Windows installer via PowerShell Profile Hijack in MSI Repair
securityFixes CVE-2026-83599: WebSocket Decompression Bomb
securityFixes CVE-2026-83597: Local Privilege Escalation in Netdata Windows Agent installer via MSI Repair Execution
securityFixes CVE-2026-83602: Unauthenticated remote PUT to /api/v3/settings bypasses IP allowlist controls via HTTP_ACL_NOCHECK
securityFixes CVE-2026-83600: Streaming protocol chart slot guard off-by-one allows ~16 GiB allocation request, crashing parent agent
securityFixes CVE-2026-83601: Streaming protocol dimension slot has no upper-bound guard, allowing integer overflow and out-of-bounds write
featuremacOS hardware sensor collectors: GPU power, clock, and temperatures, SMC and IOHID sensors and fans, power sources and thermal pressure, NVMe SMART, with a powermetrics fallback via ndsudo, plus a cross-OS sensors function and a shared temperature-histogram context ()
featureBounded-cardinality process grouping for apps.plugin on macOS, keeping per-process monitoring meaningful on hosts with high process churn ()
otherHardened DBENGINE against corrupted or truncated data files: extent disk-size and uncompressed-page-bounds validation, SIGBUS protection and header-offset bounds checks on v2 journal walks, improved journal file access error handling, and spinlock-holder identification for datafile/journal…
fixFixed page-cache races in pgc_page_add and pgc_queue_del, a deadlock on dimension creation, and a crash on virtual node takeover ()
fixValidated data loaded from SQLite to prevent crashes on corrupted databases, and improved UUID handling and error reporting in SQLite functions ()
otherKept chart indexes allocated while a host is archived and guarded against a null root index in chart lookups, avoiding null dereferences during queries ()
fixFixed an rrdcontext metadata leak on non-dbengine hosts ()
otherRotated the active datafile and requeued the pending extent on unrecoverable write errors, so a failing disk no longer stalls the database engine ()
fixTracked and accounted memory allocation size in replication queries, and fixed a sender replication counter leak on obsolete charts ()
otherRejected oversized ZSTD frames and handled decompression errors gracefully (log and fail the connection instead of fatal()) ()
fixFixed the streaming receiver discarding already-delivered data when a child disconnects ()
otherPrevented rare unbounded one-core CPU spins in the cloud-connection loops, and avoided returning an uninitialized packet_id on publish failure (;)
fixBounded the alert notification execution wait so a stuck notification script cannot block progress, and fixed a shutdown race when restoring alert information from the database ()
featureAdded safeguards against ML database corruption and streamlined the recovery process ()
fixFixed systemd-journal.plugin memory retention after queries and its apps.plugin accounting ()
fixFixed file descriptor accounting in apps.plugin (adding nfds monitoring) and eBPF FD PID map iteration (;)
fixFixed buffer overflows and counter-size issues in platform collectors: a stack buffer overflow in macOS mach_smi, FreeBSD counter size mismatches and an off-by-one in freebsd_ipfw and the claim code, and a freeipmi.plugin watchdog underflow at low system uptime (;;;)
fixFixed Windows Events row rendering crashes with stricter size checks, safer XML parsing, and robust variant handling ()
otherRestored stable temperature and power collection in go.d/nvidia_smi with NVIDIA driver 580 XML output variants ()
fixFixed Windows hardware detection so virtual machines are no longer reported as bare metal ()
otherMoved the fail2ban socket path into ndsudo for go.d/fail2ban ()
fixFixed a pluginsd cleanup race with an active collector, added a slot bounds check to the pluginsd parser, and initialized mountpoint state before the slow worker in the diskspace plugin ()
securityThe /api/v3/settings endpoint is now gated behind HTTP_ACL_DASHBOARD instead of HTTP_ACL_NOCHECK, enforcing connection allowlists and blocking anonymous state-changing requests ()
securityFixed the csvjsonarray output format emitting invalid JSON when label-quotes is passed ()
fixFixed internal race conditions: a TOCTOU race in dictionary_destroy(), ARAL allocator races and a double-free ()
fixFixed a payload memory leak, JSON object validation and null-key handling, an inverted empty-buffer guard in simple_pattern, and prevented a concurrent fatal from masking the first one (;)
fixFixed memory-safety and correctness bugs surfaced by Coverity and Sonar audits (;)
fixImproved shutdown robustness: fixed a SIGSEGV in ctx_hosts_load and pipe cleanup handling of the ENOENT case ()
otherNetdata Learn: Find documentation, guides, and reference material for monitoring and troubleshooting your systems with Netdata.
fixGitHub Issues: Make use of the Netdata repository to report bugs or open a new feature request.
otherGitHub Discussions: Join the conversation around the Netdata development process and be a part of it.
otherCommunity Forums: Visit the Community Forums and contribute to the collaborative knowledge base.
otherDiscord Server: Jump into the Netdata Discord and hang out with like-minded sysadmins, DevOps, SREs, and other troubleshooters. More than 2000 engineers are already using it!
fixFixed a per-PID shared-memory pool leak in ebpf.plugin that, on hosts with normal process churn, filled the 32,768-slot pool within ~15 hours and then pegged a CPU core at 100% in an infinite map-iteration loop; aggregation paths now use a non-allocating lookup, freshly-allocated slots are zeroed,…
otherSwitched the SNMP collector's primary uptime source to SNMP-FRAMEWORK-MIB::snmpEngineTime (in seconds) to avoid the ~497-day TimeTicks wrap of hrSystemUptime/sysUpTime, while keeping the existing systemUptime metric name and HR-MIB fallback ()
otherSplit dynamic configuration job-name validation per domain so service discovery, vnode, and secret-store names can include dots (e.g., FQDNs), while collectors retain strict naming rules ()
breakingRemoved the unused extra_details field from the go.d/powerstore Hardware struct to fix /hardware response decoding errors that caused job check failures ()
otherNetdata Learn: Find documentation, guides, and reference material for monitoring and troubleshooting your systems with Netdata.
fixGitHub Issues: Make use of the Netdata repository to report bugs or open a new feature request.
otherGitHub Discussions: Join the conversation around the Netdata development process and be a part of it.
otherCommunity Forums: Visit the Community Forums and contribute to the collaborative knowledge base.
otherDiscord Server: Jump into the Netdata Discord and hang out with like-minded sysadmins, DevOps, SREs, and other troubleshooters. More than 2000 engineers are already using it!
fixFixed ZFS-related crashes in diskspace.plugin by guarding a NULL filesystem field and replacing the blocking pool-capacity collector with a lightweight cache fed by existing statvfs calls, preventing coredumps on degraded or exporting ZFS pools ()
otherReduced default SNMP MaxOIDs from 60 to 20 for more reliable polling, and removed 32-bit counter fallbacks from the IF-MIB profile to prevent counter type switching and overflow between collection cycles ()
otherEliminated false-positive "timed out waiting for enable/disable decision" warnings by removing the wait-decision timeout and making the dyncfg command path non-droppable, so back-pressure flows upstream instead of producing 503 errors ()
otherNetdata Learn: Find documentation, guides, and reference material for monitoring and troubleshooting your systems with Netdata.
fixGitHub Issues: Make use of the Netdata repository to report bugs or open a new feature request.
otherGitHub Discussions: Join the conversation around the Netdata development process and be a part of it.
otherCommunity Forums: Visit the Community Forums and contribute to the collaborative knowledge base.
otherDiscord Server: Jump into the Netdata Discord and hang out with like-minded sysadmins, DevOps, SREs, and other troubleshooters. More than 2000 engineers are already using it!
featureAdded ping_only option to the SNMP collector, allowing collection of only ICMP round-trip time metrics while still using SNMP at startup for device identification and labeling ()
fixFixed SNMP collector retries serialization so a zero value is correctly preserved, and disabled bulk walk detection when MaxRepetitions is set to 0 ()
otherReduced transient 503 errors on dynamic configuration enable/disable by buffering the command channel and extending the handoff timeout in the go.d plugin ()
otherNetdata Learn: Find documentation, guides, and reference material for monitoring and troubleshooting your systems with Netdata.
fixGitHub Issues: Make use of the Netdata repository to report bugs or open a new feature request.
otherGitHub Discussions: Join the conversation around the Netdata development process and be a part of it.
otherCommunity Forums: Visit the Community Forums and contribute to the collaborative knowledge base.
otherDiscord Server: Jump into the Netdata Discord and hang out with like-minded sysadmins, DevOps, SREs, and other troubleshooters. More than 2000 engineers are already using it!
deprecatedDeprecation notice
featureSecrets are resolved each time a collector job starts or restarts.
featureUpdating a secretstore automatically restarts collector jobs that use it so they pick up new credentials.
featureSecretstore configuration values themselves also support ${env:...}, ${file:...}, and ${cmd:...} resolvers, so backend credentials don't need to be stored in plain text either.
featureGraphically Evaluate Alerts on historical data before they are deployed
featureCreate complex recurrence rules on Alerts Silencing to manage your maintenance windows
featureAcknowledge Alerts that your teams are working on
featureAdd metrics charts, logs, live functions, events feeds, active alerts counts, node list, etc.
featureDuplicate Dashboards to help create new custom dashboards from existing ones
featureAdded secrets management support, allowing collector credentials to be stored in external secret stores like AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, and HashiCorp Vault (go.d). ()
featureRewrote scripts.d collector to V2 framework with alertable state support for Nagios-style custom scripts (go.d/scripts.d). ()
featureAdded Azure Monitor collector for monitoring Azure cloud resources with built-in alerts (go.d/azure_monitor). ()
featureAdded Azure AD authentication support for MSSQL, PostgreSQL, and generic SQL collectors (go.d). ()
featureAdded Dell PowerVault ME4/ME5 storage array collector with system health, hardware status, performance, and capacity monitoring (go.d/powervault). ()
featureAdded Dell PowerStore storage array collector with cluster, appliance, volume, node, and hardware monitoring (go.d/powerstore). ()
featureAdded Always On Availability Group monitoring to MSSQL collector with AG health, replica states, sync metrics, and WSFC cluster status (go.d/mssql). ()
featureAdded IPSec/VPN monitoring profiles for FortiGate, Juniper, MikroTik, and Check Point (go.d/snmp). ()
featureAdded per-Windows-service process tree grouping to apps.plugin with auto-discovery via Service Control Manager (apps.plugin). ()
featureAdded datastore, cluster, and resource pool monitoring to vSphere collector with capacity, IOPS, and latency metrics (go.d/vsphere). ()
featureAdded Docker container listi1ng function for interactive container overview in the dashboard (go.d/docker). ()
featureIntroduced V2 metrics collection framework with float dimension support, structured family handling, and redesigned function management (go.d). ()
breakingRemoved legacy MSSQL collector from Windows plugin, completing migration to go.d (windows.plugin). ()
featureAdded conditional and rate-limited logging to go.d logger (go.d). ()
featureAdded and improved Secrets Management documentation with secret store backend guides ()
featureAdded Windows Authentication setup guide for MSSQL collector ()
featureAdded section on changing the default port ()
featureAdded NVIDIA/Cumulus/Mellanox to SNMP collector vendor list ()
featureAdded Installation section to metrics-centralization-points README ()
featureAdded Space Settings navigation guidance to remove-node.md ()
featureAdded file permissions and ownership documentation for claim.conf ()
deprecatedAdded deprecation notice for /api/v1/charts endpoint ()
featureAdded cloud.d directory contents section to claim README ()
featureAdded multi-device SNMPv3 configuration example with YAML anchors ()
featureAdded query metrics skill documentation with troubleshooting FAQ ()
featureAdded User Statistics prerequisite for MySQL per-user metrics ()
featureAdded TV Mode documentation section ()
featureAdded periodic timezone refresh for correct DST handling across all components (daemon). ()
featureAdded rejection of incoming streaming connections for locally collected vnodes (streaming). ()
featureAdded SOCKS5 and SOCKS5H proxy support to ACLK for environments requiring SOCKS proxies (ACLK). ()
breakingRemoved compilation warnings across Linux, Windows, BSD platforms and removed variable-length arrays for C11+ compatibility (build). ()
+91 more items in the release notes
deprecatedDeprecation notice
featureIdentify resource hogs: Sort by total execution time, CPU time, or I/O
featureSpot frequent queries: Find high-call-count queries that may benefit from caching
featureDebug in real-time: See currently running queries and which client initiated them
featureNo extra tools needed: All analysis happens in the Netdata dashboard's Top tab
featureQueries consuming the most total execution time or CPU
featureI/O patterns (logical reads, physical reads, writes)
featureMemory grants and tempdb usage
featureParallelism (DOP) across executions
featureLog Ingestion: Send logs from your OpenTelemetry Collector or instrumented applications directly to Netdata.
featureCustom Storage: Logs are stored in systemd-compatible journal files using a Rust implementation (no libsystemd dependency required).
featureUnified Interface: View OpenTelemetry logs alongside system logs in the Logs tab with full search and filtering capabilities.
featureSet limits by disk usage, file count, or age
featureDefine custom storage locations
featureTune file size and time span settings
featureAdded dynamic configuration support to go.d Service Discovery with UI-driven templates ()
featureAdded SNMP profile metadata mapping for “Westermo Teleindustri AB” to “Westermo” ()
featureAdded a dcgm collector for NVIDIA dcgm-exporter with full field classification ()
featureAdded jitter and variance metrics to the go.d ping collector ()
featureAdded a Kubernetes API Server collector ()
featureAdded function support to the go.d SQL collector to enable interactive, filterable table views in the Top tab ()
featureAdded PostgreSQL running-queries and enhanced top-queries support with pg_stat_monitor detection ()
featureAdded Windows support to hardware monitoring collectors with direct vendor CLI execution and improved reliability ()
featureAdded new cloud functions for MySQL and MSSQL to provide error and deadlock information ()
featureAdded smart ZFS dataset deduplication to the diskspace plugin to reduce duplicate reporting ()
featureAdded top-queries and running-queries functions for nine additional database collectors: Redis, ClickHouse, Elasticsearch, Couchbase, ProxySQL, OracleDB, CockroachDB, YugabyteDB, and RethinkDB (go.d). ()
featureAdded interface type categorization to SNMP collector for easier filtering (go.d/snmp). ()
featureAdded interfaces function for SNMP collector with per-interface traffic, packet, error/discard, and status metrics with computed rates (go.d/snmp). ()
featureImplemented Top Queries Functions framework for PostgreSQL, MySQL, MSSQL, and MongoDB with a reusable Functions API for building Netdata Functions in Go (go.d). ()
featureAdded a new Microsoft SQL Server (MSSQL) collector to go.d.plugin with comprehensive monitoring of connections, transactions, replication, and more (go.d/mssql). ()
breakingRemoved per-metric collect_* options from MSSQL go.d collector - all metrics now always collected (go.d/mssql). ()
securityAdded documentation recommending bearer token protection as the preferred security method ()
breakingRemoved obsolete TODO documentation files. ()
securityAdded SOC 2 Type 2 compliance badge to Security and Privacy documentation. ()
breakingRemoved third-party network device Prometheus exporters from documentation. ()
breakingRemoved Docker prerequisite to install smartmontools as it's now included in helper images. ()
breakingRemoved snippet with broken link from go_expvar metadata. ()
securityUpdated security and privacy design links in map.csv. ()
breakingRemoved redundant libuv loop calls to improve event loop stability and reduce overhead ()
breakingRemoved Sentry error reporting from journal-viewer plugin ()
+144 more items in the release notes
See how far your stack has drifted from upstream. Release data from vendors’ own sources · feed under CC BY 4.0 · Code under AGPL-3.0 Settings Feed status