Changes in 2.12
===============

docker containers
-----------------

Needrestart ignores processes within docker containers since there are no pending
library updates within containers by design. Needrestart still detects docker
containers to mitigate false positives.

More information: README.Cont.md


non-interactive runs
--------------------

If needrestart is configured to run in interactive mode but is run non-interactive
(i.e. unattended-upgrades) it will fallback to list only mode.


Changes in 2.1
==============

containers (LXC et. al.)
------------------------

Needrestart tries to detect if a process runs inside a container like LXC or
docker. There are special scanner packages (NeedRestart::CONT::*) which
implements the implementation specific detection and restarting.

More information: README.Cont.md


Changes in 0.8
==============

interpreters (Perl et. al.)
---------------------------

Needrestart tries to detect if interpreters are using old source files.
There are special scanner packages (NeedRestart::Interp::*) which implements
the interpreter specific detection. Since most interpreter languages allow
dynamic source code loading (eval) and we are using a home made source
parcing there is a reasonable possibility to miss outdated source files.

More information: README.Interp.md


kernel upgrades
---------------

Needrestart tries to detect if an pending kernel upgrade is available. It
will only suggest a reboot.

More information: README.Kernel.md


UI
--

The UI implementation NeedRestart::UI::Dialog has been dropped.


Changes in 0.6
==============

systemd support
---------------

If needrestart detects a running systemd it is used as primary source
to identify service names. This speedups the detection significantly.

The traditional detection using package managers is still used if systemd
is not running or systemctl does not return a service name for a PID.


Changes in 0.3
==============

blacklisting
------------

It might be a bad idea to (auto) restart certain daemons. Therefore
a new config option is available to ignore binaries by matching
a regex. The supplied default configuration ignores dbus, NetworkManager
and various display managers.


user interface
--------------

The old basic user interface has been replace by a modular approach.
User interfaces are now implemented in the NeedRestart::UI::* packages.

New UI packages can be added by putting them into perl's search path.
Using Module::Find to load any NeedRestart::UI::* package. Packages
failing to load are ignored.

The following UI implementations are shipped:
* NeedRestart::UI::Debconf	- use Debian's debconf front end
* NeedRestart::UI::Dialog	- use UI::Dialog
* NeedRestart::UI::stdio	- the simple old UI


sophisticated apt/dpkg trigger
------------------------------

The new apt/dpkg trigger only runs needrestart if there was a package
unpacked by dpkg and no error has occurred during the dpkg run.

The scripts and config files required for the apt and dpkg integration
are installed by default.
