1.7 - 2026/04/28
----------------
FIX: systemd support: fix detection if 'daemon-reload' is required

1.6 - 2026/04/08
----------------
FIX: support new OpenRC versions which do not put RC_SERVICE into environment
     anymore
MOD: improve compatibility with color terminals
MOD: minor tweaks and improvements

1.5 - 2025/01/19
----------------
FIX: minor updates in README and default config
MOD: hide unknown process listing in non-verbose mode
FIX: handle case when 'ps' resturns "-" as unit
MOD: improve systemd support in cases lib_users fails to find service

1.4 - 2024/11/27
----------------
MOD: s/unclassified/unknown/
NEW: add -a/--autolearn feature which will ask the user for unknown services
     and remember the answer in /etc/restart-services.d/50-autolearn.conf

1.3 - 2024/04/07
----------------
MOD: streamline output a bit
MOD: do not output details of processes in current session by default
NEW: add -v/--verbose option (for now only add details about pids in current session)

1.2 - 2024/04/01
----------------
MOD: minor cleanups to make shellcheck happy
MOD: improved performance on systemd systems
MOD: minor improvements in service reporting output
MOD: improve debug output
NEW: report processes belonging to current user session
NEW: add -k/--kill option for systemd systems, to kill leftover processes

1.1 - 2024/03/12
----------------
MOD: improved debug output
FIX: fix restart for processes with symlinked paths (merge-usr)
MOD: minor code cleanups
MOD: improved performance on OpenRC systems
FIX: eliminate spurious message "Warning: Some files could not be read."

1.0 - 2023/12/06
----------------
MOD: improved error detection in config files
MOD: improved debug output

0.17.0 - 2020/10/26
-------------------
NEW: added systemd support
MOD: SV_IGNORE now has highest priority (was: lowest)

0.16.1 - 2020/10/08
-------------------
FIX: find ppid detection for processes containing braces (and now everything else)

0.16.0 - 2020/09/19
-------------------
FIX: handling when a process disappears while we are processing it
MOD: refactor code to prepare systemd support in later version
MOD: refactor code to skip service restarts
MOD: removed deprecated --list option
NEW: support selinux and use 'run_init' on selinux enabled systems to control a service
NEW: detect and abort if not running as root

0.15.2 - 06/07/2020
-------------------
FIX: trigger BUG() on unusual hostnames with broken UTF8 chars in /proc/<pid>/stat
FIX: rc-service outputs PIDs on service test, do not print that

0.15.1 - 05/13/2020
-------------------
FIX: fix error message when pid 1 is found
MOD: improve handling of executables in /usr/lib*/ (fixes postgresql)

0.15.0 - 05/05/2020
-------------------
FIX: ignore more kernel threads showing up in lib_users
FIX: support newer versions of portage-utils (qfile)
MOD: improve output of unknown processes
NEW: correctly detect and handle pid 1
NEW: Added new feature CUSTOM_PROCESS_MAP which allows
     definition of custom process<->service mappings
NEW: add some kind of fuzzy search for better service recognition

0.14.4 - 03/11/2019
-------------------
FIX: ignore kernel threads showing up in lib_users (bug #678820)
FIX: improve false positive filter (incl fix for /tmp filtering)

0.14.3 - 02/22/2019
-------------------
FIX: detect pythonX.Ym as interpreter
FIX: ignore deleted files in /tmp directories

0.14.2 - 11/19/2018
-------------------
MOD: the output of unknown pids at the end now includes their root dir
FIX: ignore postgres /anon_hugepage as deleted lib (bug #6483569)
FIX: improve parsing of stat files (bug #671406)

0.14.1 - 02/02/2018
-------------------
FIX: man-page update

0.14.0 - 01/02/2018
-------------------
MOD: rename from restart_services to restart-services

0.13.1 - 07/12/2015
-------------------
FIX: FOUND_SV_CRITICAL_WITH_NODEPS now has higher prio than FOUND_SV_CRITICAL
FIX: do not show FOUND_SV_CRITICAL_WITH_NODEPS if no service was found
FIX: do not use stty in non-interactive shells

0.13.0 - 09/03/2015
-------------------
NEW: config variables can optionally be arrays
NEW: use "include" statement in config to load more configs
     (Thanks to Rudolf Mayerhofer for the idea of loading more configs
      from a directory)

0.12.0 - 08/15/2015
-------------------
FIX: fix 'stty: standard input: Inappropriate ioctl for device' messages
     occuring under some cirumstances
NEW: Added shortoption (-N) additional to --no-countdown
MOD: output pid in list of unknown processes
NEW: Added new feature SV_CRITICAL_WITH_NODEPS to restart critical services
     with --nodeps

0.11.0 - 04/30/2015
-------------------
NEW: added --no-countdown option to skip countdown for critical services
FIX: fix bug on x86 where exe might point to /var/tmp/portage/*/*/image/...
FIX: do not kill unclassified inittab processes in normal mode
NEW: set any long command line option in your config file, see README

0.10.0 - 03/12/2015
-------------------
NEW: config option INITTAB_KILLALL: support for inittab respawn processes
NEW: much better heuristics to find python, perl, ruby and bash services
NEW: try harder to find proper packages in some cases
FIX: fix output of skipped services
FIX: fix process counting in case of empty lib_users output
MOD: try to be more consistent when using colors and prefixes in output
MOD: code cleanups

0.9.8 - 02/19/2015
------------------
FIX: re-spin: tarball was incomplete

0.9.7 - 02/15/2015
------------------
MOD: improve systemd detection
FIX: exit when detecting invalid options
FIX: error out on config file syntax errors
FIX: fix second loop for finding inti scripts (which is unused most
     of the time) and remove some dead code

0.9.6 - 02/07/2015
------------------
FIX: always show unknown processes if any
MOD: huge speed improvement by always looking at parent processes and
     by skipping already known processes, also fixes
     cases where some chrooted child processes will be listed
     as unknown processes
MOD: much faster
MOD: more compact and cleaner output
NEW: added --no-color option
MOD: use -V for version output (-v is usually for verbose...)
FIX: find false positives in unknown processes and do not show them

0.9.5 - 01/18/2015
------------------
FIX: better support hardened kernels (do not make grsec deny read of
     /proc/pid/environ)
MOD: added more default services
NEW: Abort if systemd is detected (not supported yet)
NEW: Added support for chrooted unbound and bind services

0.9.4 - 01/04/2015
------------------
MOD: improved order of SV_* variable matching:
     SV_IGNORE
     SV_CRITICAL
     SV_ALWAYS_RELOAD_ONLY
     SV_ALWAYS_WITH_NODEPS
     SV_ALWAYS
FIX: much improved search for correct init scripts
FIX: unknown programs were never shown
NEW: debug mode has been added

0.9.3 - 01/03/2015
------------------
MOD: option -f/--force has been renamed to -c / --critical
MOD: config var SV_FORCED_BY_USER_ONLY renamed to SV_CRITICAL
NEW: added more default services
NEW: improved service listing

0.9.2 - 01/02/2015
------------------
FIX: protect qfile args
FIX: improve findinf proper init scripts
NEW: added SV_IGNORE variable for servoces that should be ignored

0.9.1 - 05/21/2014
------------------
FIX: don't restart a service more than once
NEW: services defined in "SV_ALWAYS_RELOAD_ONLY" will
     only be reloaded instead of restarted

0.9 - 05/01/2014
----------------
initial public release

