What's New

Up To: Contents

See Also: Known Issues

Notable Changes and New Features

Upcoming next release

See upcoming changes from the next version on github

1.4.1 - 01 Feb 2023

  • None
  • Use /run/naemon instead of /var/run/naemon
  • Fix bashisms in scripts
  • Fix fg: no job control output
  • Fix memory leak in cmd parser
  • Fix closing worker filehandles
  • Fix service parents to be always a list of host,service tupels
  • Fix g_tree_foreach: assertion `tree != NULL’ in logs table

1.4.0 - 11 Nov 2022

Breaking Changes:
  • Due to object structure changes, it is recommended to recompile any NEB mobules when upgrading to 1.4.0
  • Support for expiring acknowledgments
  • Improvements to Debian packaging, including multiarch installs
  • Fix a crash for external command: CHANGE_CONTACT_HOST_NOTIFICATION_TIMEPERIOD
  • Fix a crash for external command: CHANGE_HOST_CHECK_TIMEPERIOD
  • Allow multiline output when submitting passive checks by allowing escaped newlines

1.3.1 - 22 Apr 2022

  • change homepage url to https://www.naemon.io
  • fix running commands containing tilde sign
  • improve updating last_update attribute
  • make Python API compatible with Python 2 & 3

1.3.0 - 03 Nov 2021

  • add vault macro neb broker api
  • set environment variables in a more secure way
  • fix reload issue when using tcp listener
  • fix contacts listed multiple times

1.2.4 - 03 Mar 2021

  • improve config check when having lots of servicegroups
  • change header file location in deb/rpm packages
  • Fix check_command in svc neb broker call
  • improve contacts column performance

1.2.3 - 07 Dec 2020

  • fix package update on debian / ubuntu

1.2.2 - 13 Nov 2020

  • improved sample configuration
  • improved external command help
  • debian package source format changed
  • debian packages changed to systemd
  • fix scheduling flexible service downtime
  • fix setting last_update whenever next_check changes
  • fix worker crashing
  • improved table descriptions
  • debian packages switched to systemd invoke
  • debian packages source format changed

1.2.1 - 13 Jul 2020

  • fix executing commands with pipes
  • fix external command to remove downtimes by filter
  • Increase max_response_size default to 500 MiB

1.2.0 - 17 Feb 2020

  • Add new skip check options to set a particular state on skipped checks
  • CentOS 8 support
  • Retain flap detection option over restarts
  • Don’t process perfdata file if perfdata is disabled
  • Add support for TCP sockets with the inet_addr option
  • Add support for the statehist table, to calulate and query availability data
  • Fix logging during argument parsing
  • Fix deadlock when querying comments/downtimes

1.1.0 - 02 Sep 2019

  • add internal last_update timestamp to track host/service changes
  • speed up configuration check when using lots of dependencies
  • increased CURRENT_NEB_API_VERSION, this means you have to recompile your NEB modules
  • bail out config check if parent host cannot be resolved
  • bail out config check if group members cannot be resolved (#300)
  • fix calculating group on demand macros
  • fix last_hard_state when using neb modules (#287)
  • fix loading neb modules multiple times
  • add new columns last_update to host and services
  • send error when result set would be too large
  • fix issue when reloading while processing a long query
  • fix issue when parsing incomplete log entries
  • fix issue with accessing downtimes and comments

1.0.10 - 19 Mar 2019

  • fix newline handling in spoolfiles
  • add new columns: service.parents, service.depends_notify, service.depends_exec, host.depends_notify, host.depends_exec

1.0.9 - 18 Dec 2018

  • Add host_down_disable_service_checks config option
  • Add retained_scheduling_randomize_window setting
  • No on-demand host checks when service is in hard critical
  • Log successful save of retention data
  • Init: Increase time till SIGKILL is sent
  • Make naemon-core depend on libnaemon
  • Add conflicts/replaces tags for naemon-tools
  • parse_check: Don’t escape already escaped newlines
  • Reload: Fix defuct for debian/ubuntu packaging (#150)
  • Retain next_check schedule on restart (#156, 224)
  • el6: use correct logrotate script
  • fix pending dependencies
  • fix orphaned checks logic
  • reset is_executing flag when processing active host check result (#154)
  • set CHECK_OPTION_ORPHAN_CHECK flag if check is scheduled from the orphan event handler
  • fix memory leak when overriding checks
  • fix query handler not returning command response
  • Fix heap corruption when callback dereigsters itself
  • make listen() backlog adjustable with ‘max_backlog’ option
  • pass errors from the query handler back to the client
  • report command errors back via livestatus COMMAND requests

1.0.8 - 16 Jul 2018

  • source defaults file if exists (#241)
  • nothing
  • Fix naemon-tools conflict (#242)
  • Fix reload command on el6 (#239)

1.0.7 - 01 Jun 2018

  • Allow circular dependencies in Naemons host graph (experimental)
  • Do not verify config when starting daemon
  • first_notification_delay starts on last hard change instead of last ok
  • Fix various memory leaks (#200, #189)
  • Fix newline escaping for check results (#153)
  • Fix segfault when there is no eventbroker
  • Fix segfault on invalid host_notification_commands (#213)
  • Fix external command CHANGE_SVC_MODATTR (#174)
  • Fix compilation with GCC 7 & 8 (#184, #228, #229)
  • Fix notification is sent even if a service is in a schedule flexible downtime
  • Fix triggered scheduled downtime is removed
  • Fix downtime comment ids increment on reload
  • Output an error exit code if daemonization fails instead OK
  • Restart Naemon on SIGHUP instead of killing (#192)
  • Fix Naemon killing wrong processes if PID wrap-around is too short (#211)
  • Reload: fix defunct processes after reload (#150)
  • Fix quoting in systemd startpre command (#204)
  • Make systemd startup cleaner
  • Fix logrotate on EL7
  • Do not use errno set by function calls in a library
  • Documentation fix for Sticky Acknowledgments
  • Make nm_g_log_handler_id extern. Fixes issue when including logging.h in external modules
  • shadownaemon
  • distributed-monitoring from the contrib/eventhandlers folder
  • Decouple core, livestatus and thruk
  • Add more timing points
  • Undeprecate check_result_path
  • Remove NICE from systemd
  • Format service timeout print to use the same format as host timeouts (#168)
  • Lower wproc log level to debug_info
  • Do not log timeouts 3 times for every timeout
  • Add log message that explains why a service changes directly hard down state when the host is down
  • make buildopts.h depend on Makefile
  • version: append date to daily git builds

1.0.6 - 23 Jan 2017

  • Fix CVE-2016-9566 by removing drop_privileges. Note: naemon cannot be started as root anymore.
  • Fix shell command parsing for some special cases when defining environment variables in a command
  • Fix custom variables persistence accros restarts for single byte values
  • Fix writing to already rotated logfile
  • Fix memory leak in broker_notification_data
  • Fix notification commands beeing reaped to early (#137)

1.0.5 - 21 Jun 2016

  • Fix segfault when trying to log to null pointer (#140)
  • Fix naemon exiting on USR1 signal (#138, #139)

1.0.4 - 03 Jun 2016

  • Downtimes can now be scheduled to start before their time of their scheduling
  • Naemon can now start without any configured objects
  • Add new NEB callback API version with better support for communicating cancellation and override reasons
  • Naemon now consistently logs when a notification is suppressed, along with the reason why (very useful for troubleshooting notification issues!). This feature is enabled by default, and can be overridden by setting enable_notification_suppression_reason_logging=0 in naemon.cfg.
  • Scheduling logic completely overhauled to not depend on wallclock time, which makes it much more reliable (no more lost or orphaned events!)
  • It is now possible to disable status data updates completely (status_update_interval=0)
  • GLib messages are now logged to the regular outputs.
  • Fix segfault which would happen when a plugin’s output is one or more newlines only
  • Shadownaemon: fix segfault if plugin output contains csv separator
  • Fix an ancient bug where reconstructing a downtime from retention data would result in double downtime alerts being emitted
  • Fix another ancient race condition where a rapidly reload and starting naemon would leave you with two instances running
  • Stop logging if check_result_path (deprecated) is not available even if it’s set
  • Strings in retention data are now properly escaped, fixing various bugs
  • Various init script fixes
  • Fix a race condition that would sometimes lead to complete deadlock
  • Fix a bug where Naemon would allow duplicate objects to be created
  • Replace in-tree (ha-ha) rbtree with GLib’s GTree, to get rid of incorrect node removal behaviour in the former
  • Fix a race condition that would sometimes occur during a reload
  • Fix a bug in signal handling code which would sometimes cause the command file worker to become defunct
  • Fix a bug where the specified retry_interval of a service or host would not be properly respected, and the check_interval would be used instead
  • Fix a potential crash (segfault) when freeing parent/child references
  • Fix a bug where “stale” objects would only have one freshness check executed
  • Fix improper handling of CHECK_OPTION_FORCE_EXECUTION, which would lead to checks not being run, despite being forcibly scheduled
  • Fix a bug where Naemon wouldn’t properly initialize its lock file, but start regardless
  • Grafted Nagios git history onto Naemon’s for easier code archeology
  • Lots of code cleanup, typo fixes, new test cases, new assertions & error handling, fixed memory leaks, logging and refactoring
  • Removed an undocumented, experimental, untested “load control” feature
  • Decoupled Thruk packages, we now use the official upstream Thruk packages
New contributors
  • Carl Helmertz (chelmertz@op5.com)
  • Emil Hessman (emil@hessman.se)
  • Robin Hagman (rhagman@op5.com)
  • Philip Eklöf (peklof@op5.com)
  • Simen Aasland (simen@opera.com)
  • Tobias Sjöndin (tsjondin@op5.com)

1.0.3 - 29 Mar 2015

  • shadownaemon: fix request counter

1.0.2 - 28 Mar 2015

  • shadownaemon: remove external commands from shadownaemon (#104)
  • shadownaemon: propagate last_hard_* values (Michael Kraus)

1.0.0 - 13 Feb 2015

  • Fix shadownaemon comment and downtime synchronization
  • Fix spelling errors

0.9.1 - 8 Jan 2015

Code Contributors
  • Robin Sonefors
  • Sven Nierlein
  • Andreas Ericsson
  • Anton Lofgren
  • Max Sikström
  • Ricardo Maraschini
  • Andreas Boesl
  • Mathias Kettner
  • Sebastian Hahn
  • Daniel Wittenberg
  • Johan Ryberg
  • Franky Van Liedekerke
  • Julian Brost
  • Mikael Falkvidd
  • Sven Velt
  • The config option include_dir allows you to specify a dropdir where main configuration files can be read from. This should help module authors quite a bit.
  • We now have pkgconfig support, making it easier to create build- and install systems for modules.
  • Workers are now prevented from becoming zombies
  • Workers should be choked far less often
  • Check scheduling will now always be consistently done
  • Checks should clump up a lot less, keeping system load smoother
  • Several crash-on-close with corner-case configurations are fixed
  • Several small memory leaks are fixed
  • Check output should no longer be lost unless the kernel drops it due to out-of-memory errors
  • We will now always shut down fairly gracefully on OOM errors
  • Workers should no longer cause zombies to appear
  • Several fixes have been made to make building on OSX work better
  • Submitting passive check results for in-flight active checks will no longer cause crashes

0.8 - 14 Feb 2014

  • Based on nagios 4.0.2
  • Rename a lot of things, replace build system, etc.
  • The CGIs are gone - use Thruk instead.
  • Remove the upstream version check - use your package manager instead.
  • New NEB callback, NEBATTR_CHECK_ALERT, when a check generates an alert.
  • Allow contactgroups without members but having contactgroup_members.
  • No longer spam Naemon log when checks time out.
  • All positive values for ACKNOWLEDGE_{HOST,CHECK} means TRUE.
  • Check output parsing rewritten.
    • Fixes crashes, bugs, and improves performance.
  • Log rotation is done by logrotate instead of in-core log rotation.
  • Fix misc crashes, speed up misc areas, and other bug fixes.