v2.10.4
v2.10.4
Release Notes
Release notes
Netdata v2.10.4 is a patch release to address issues discovered since v2.10.3.
This is a larger-than-usual patch release focused on stability, memory safety, and crash resilience across the database engine, streaming, Cloud connectivity, and collectors. It also backports the new macOS hardware sensor collectors to the 2.10.x line.
New in this release
- macOS hardware sensor collectors: GPU power, clock, and temperatures, SMC and IOHID sensors and fans, power sources and thermal pressure, NVMe SMART, with a
powermetricsfallback viandsudo, plus a cross-OSsensorsfunction and a shared temperature-histogram context (#22475, #23085, @ktsaou) - Bounded-cardinality process grouping for
apps.pluginon macOS, keeping per-process monitoring meaningful on hosts with high process churn (#23085, @ktsaou)
Database engine and metadata
- Hardened 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 deadlock diagnostics (#22324, #22514, #22310, #22725, @stelfrag; #22666, @jmestwa-coder)
- Fixed page-cache races in
pgc_page_addandpgc_queue_del, a deadlock on dimension creation, and a crash on virtual node takeover (#22466, #22400, #22417, @stelfrag) - Validated data loaded from SQLite to prevent crashes on corrupted databases, and improved UUID handling and error reporting in SQLite functions (#22679, #22233, @stelfrag)
- Kept chart indexes allocated while a host is archived and guarded against a null root index in chart lookups, avoiding null dereferences during queries (#23074, #23056, @stelfrag)
- Fixed an rrdcontext metadata leak on non-dbengine hosts (#22438, @stelfrag)
- Rotated the active datafile and requeued the pending extent on unrecoverable write errors, so a failing disk no longer stalls the database engine (#23048, @ktsaou)
Streaming and replication
- Tracked and accounted memory allocation size in replication queries, and fixed a sender replication counter leak on obsolete charts (#22756, #22428, @stelfrag)
- Rejected oversized ZSTD frames and handled decompression errors gracefully (log and fail the connection instead of
fatal()) (#22830, @stelfrag) - Fixed the streaming receiver discarding already-delivered data when a child disconnects (#23118, @ktsaou)
Cloud connectivity (ACLK)
- Prevented rare unbounded one-core CPU spins in the cloud-connection loops, and avoided returning an uninitialized
packet_idon publish failure (#22879, @ktsaou; #22504, @stelfrag)
Alerts and machine learning
- Bounded 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 (#22626, #22448, @stelfrag)
- Added safeguards against ML database corruption and streamlined the recovery process (#22478, @stelfrag)
Collectors
- Fixed
systemd-journal.pluginmemory retention after queries and itsapps.pluginaccounting (#23089, @ktsaou) - Fixed file descriptor accounting in
apps.plugin(addingnfdsmonitoring) and eBPF FD PID map iteration (#22447, @arch-yunus; #22436, @stelfrag) - Fixed 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 infreebsd_ipfwand the claim code, and afreeipmi.pluginwatchdog underflow at low system uptime (#22553, @artem; #23044, @DavidMarec; #22710, @vkalintiris; #22490, @ktsaou) - Fixed Windows Events row rendering crashes with stricter size checks, safer XML parsing, and robust variant handling (#22872, @ktsaou)
- Restored stable temperature and power collection in
go.d/nvidia_smiwith NVIDIA driver 580 XML output variants (#23047, @copilot-swe-agent) - Fixed Windows hardware detection so virtual machines are no longer reported as bare metal (#22942, @thiagoftsm)
- Moved the fail2ban socket path into
ndsudoforgo.d/fail2ban(#22745, @ilyam8) - Fixed 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 (#22207, #22598, #22298, @stelfrag)
Security and API
- The
/api/v3/settingsendpoint is now gated behindHTTP_ACL_DASHBOARDinstead ofHTTP_ACL_NOCHECK, enforcing connection allowlists and blocking anonymous state-changing requests (#22896, @stelfrag) - Fixed the
csvjsonarrayoutput format emitting invalid JSON whenlabel-quotesis passed (#23115, @ktsaou)
Core stability and memory safety
- Fixed internal race conditions: a TOCTOU race in
dictionary_destroy(), ARAL allocator races and a double-free (#22108, #22212, #22294, #22367, @stelfrag) - Fixed 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 (#22492, #22309, #22326, #22671, @stelfrag; #22688, @vkalintiris) - Fixed memory-safety and correctness bugs surfaced by Coverity and Sonar audits (#22266, #22267, #22268, #22270, #22279, #22281, #22329, #22330, #22331, #22332, #22333, #22334, #22335, #22336, #22338, #22339, #22340, #22835, @stelfrag; #22293, @ktsaou)
- Improved shutdown robustness: fixed a SIGSEGV in
ctx_hosts_loadand pipe cleanup handling of the ENOENT case (#22419, #22509, @stelfrag)
Installation and packaging
- Windows: fixed MSI installer issues, adjusted the installer to run claiming only when both the token and rooms are provided (with safer wide-character handling and a capped HTTP claim response size), and fixed the search for Visual Studio tooling to check for multiple versions (#22751, #22754, @thiagoftsm; #22723, @Ferroin)
- Improved error handling in
netdata-updaterwhen fetching files and silencedcurloutput (#22422, @Ferroin; #22639, @AJCxZ0)
Support options
As we grow, we stay committed to providing the best support ever seen from an open-source solution. Should you encounter an issue with any of the changes made in this release or any feature in the Netdata Agent, feel free to contact us through one of the following channels:
- Netdata Learn: Find documentation, guides, and reference material for monitoring and troubleshooting your systems with Netdata.
- GitHub Issues: Make use of the Netdata repository to report bugs or open a new feature request.
- GitHub Discussions: Join the conversation around the Netdata development process and be a part of it.
- Community Forums: Visit the Community Forums and contribute to the collaborative knowledge base.
- Discord 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!