Changelog for s6.

In 2.15.1.0
-----------

 - Bugfixes.
 - New command: s6-svscanboot, for a self-logging s6-svscan
that is not pid 1.
 - New service directory file: reload-signal
 - New s6-svc control: s6-svc -l, to send the signal defined
in reload-signal, or a SIGHUP by default.


In 2.15.0.0
-----------

 - Bugfixes.
 - Adaptation to skalibs-2.15.0.0.
 - s6-svscan's -c option has disappeared.
 - s6-svscan's scandir argument is now mandatory.
 - s6-setsid now autodetects its controlling terminal by default.
 - Complete ftrigr refactor. This doesn't impact CLI programs,
except the next point.
 - s6-ftrig-wait and s6-ftrig-listen1 now print the whole
sequence of events (followed by a newline) to stdout, rather than
just the triggering event.
 - New binaries: s6-notify-fd-from-socket, s6-notify-socket-from-fd


In 2.14.0.1
-----------

 - Bugfixes.


In 2.14.0.0
-----------

 - Bugfixes.
 - Support for shared libraries on MacOS.
 - New -m option to s6-accessrules-cdb-from-fs.
 - New Rperiod directive for s6-log periodic rotations.
 - s6-svc now accepts several service directory arguments.
 - s6-svc now exits 102 on unsupervised directory argument.
 - New s6-background-watch binary, to counter auto-backgrounding.
 - s6-fghack is now obsolescent.
 - New -P prio option to s6-softlimit.


In 2.13.2.0
-----------

 - Bugfixes.
 - pkg-config support.
 - s6-svstat now correctly reports services that haven't started yet.


In 2.13.1.0
-----------

 - Bugfixes.
 - Install static libraries in /usr/lib by default.
 - Support for starting the service in a new pid namespace, via the
flag-newpidns file in the service directory. (Linux only.)


In 2.13.0.0
-----------

 - Bugfixes.
 - s6-svstat -o pgid (or -g) prints the service's pgid
 - s6-supervise now passes the service's pgid to ./finish
 - New s6-svc -P/-C/-K sends SIGSTOP, SIGCONT or SIGKILL to
the service's process group.


In 2.12.0.4
-----------

 - Bugfixes.


In 2.12.0.3
-----------

 - Bugfixes.


In 2.12.0.2
-----------

 - Bugfixes.


In 2.12.0.1
-----------

 - Bugfixes.


In 2.12.0.0
-----------

 - New option to s6-svc: -s, to specify a signal by name (or number).
 - New option to s6-log: -t, to specify a timeout for partial last lines.
 - s6-svscan rewrite: no more quadratic reaps, no more forced 1s wait on shutdown
 - Eliminated fork() wherever possible on systems supporting posix_spawn()
 - Obsolete s6lockd subsystem removed.


In 2.11.3.2
-----------

 - Dependency fixes.


In 2.11.3.1
-----------

 - Resource limit shenanigans.


In 2.11.3.0
-----------

 - Bugfixes.
 - Internal changes to instances and servicedir reserved names.
 - New s6-svc -Q command.
 - -0167 options to s6-ioconnect are now deprecated.


In 2.11.2.0
-----------

 - Adaptation to skalibs-2.13.0.0.
 - Bugfixes.
 - New s6-svc -D and s6-svc -U commands.
 - The name of the service is now passed as an argument to ./run and
as the third argument to ./finish.
 - The 1-second service restart delay can now only be skipped when
the service is ready.
 - New s6-log directive: p, to set a log line prefix.
 - Implementation of instances! New programs: s6-instance-maker,
s6-instance-create, s6-instance-delete, s6-instance-control,
s6-instance-status, s6-instance-list.


In 2.11.1.2
-----------

 - Bugfixes.


In 2.11.1.1
-----------

 - Adaptation to skalibs-2.12.0.0.


In 2.11.1.0
-----------

 - Bugfixes.
 - s6-applyuidgid and s6-setuidgid can now be used by non-root users.
 - New s6-envdir option: -L, for unlimited size environment variables.


In 2.11.0.1
-----------

 - Bugfixes.


In 2.11.0.0
-----------

 - Adaptation to skalibs-2.11.0.0.
 - Bugfixes.
 - s6-svwait now supports -r and -R options to wait for restarts.
 - New service directory file: lock-fd, to take a lock before
starting a service, protecting against concurrent instances.
 - s6/lock.h, s6/supervise.h, s6/fdholder.h: simpler header names
 - New binaries: s6-svlink, s6-svunlink
 - s6-ioconnect bugfix; does not support zero-copy anymore.


In 2.10.0.3
-----------

 - Bugfixes.


In 2.10.0.2
-----------

 - Bugfixes.


In 2.10.0.1
-----------

 - Bugfixes.


In 2.10.0.0
-----------

 - Bugfixes.
 - Changes to s6-svscan and s6-svscanctl: the list of commands
that can be sent to s6-svscan has been thoroughly cleaned up.
s6-svscan now scans and prunes on SIGHUP.
 - Changes to s6-supervise and s6-svc: -X not supported anymore,
nosetsid not supported anymore. SIGHUP now properly closes
stdin/stdout to allow the service to naturally exit on EOF;
SIGQUIT semantics changed to immediately bail. SIGINT is now
trapped and forwarded to the service's process group.
 - New binary: s6-svperms, implementing a split permissions
model. (By default, everything is the same as before.)
 - New binary: s6-usertree-maker, creating service directories
for supervision trees managed by users.


In 2.9.2.0
----------

 - Bugfixes.
 - New -d option to s6-sudod.


In 2.9.1.0
----------

 - Bugfixes.
 - execline support is now optional. Some functionality is not available
when execline support is disabled.
 - New '?' directive to s6-log, to spawn a processor with /bin/sh.
 - New console holder functionality for easier s6-svscan-log support.
 - On systems that define SIGPWR and SIGWINCH, s6-svscan -s now calls
a user handler for those signals.


In 2.9.0.1
----------

 - Bugfixes.


In 2.9.0.0
----------

 - Bugfixes.
 - Adaptation to skalibs-2.9.0.0.
 - The s6-fdholder-*c programs have been removed. They were unused: the
separation between (for instance) s6-fdholder-store and s6-fdholder-storec
added more complexity and more code than it brought benefits. The s6
package is now 7 binaries leaner.


In 2.8.0.1
----------

 - Bugfixes.


In 2.8.0.0
----------

 - Bugfixes.
 - Adaptation to skalibs-2.8.0.0.
 - s6-log can now notify readiness with the new -d option.
 - s6-log now has a default line limit of 8 kB.
 - In the accessrules library, checking against uidgid now checks the
uid/self key if the client and the server have the same uid, and the
gid/self key if the client and the server have the same gid. That means
s6-ipcserver-access can now be configured to allow/deny/specialcase
connections where the client's credentials are the same as the server's.
 - Everything builds as PIC by default.


In 2.7.2.2
----------

 - Bugfixes.


In 2.7.2.1
----------

 - Bugfixes.


In 2.7.2.0
----------

 - s6-ipcserver-socketbinder now takes a -B option to make the socket blocking.
 - s6-svscan now takes a "-d notif" option to notify readiness. This is
*shallow readiness*, i.e. readiness will be reported when s6-svscan is ready
to receive s6-svscanctl commands; it does *not* mean all the services started
at s6-svscan launch will be ready.
 - New optional file in a service directory: down-signal. It allows you to
customize the signal sent by s6-svc -d (and now s6-svc -r too).
 - New s6-svc option: -r. Sends the signal defined in the down-signal file
(still SIGTERM by default).
 - Adaptation to skalibs-2.7.0.0.
 - Optional nsss support added.


In 2.7.1.1
----------

 - Bugfixes.


In 2.7.1.0
----------

 - Bugfixes.
 - s6-svwait et al. now exit 102 instead of hanging if s6-supervise dies.
 - New commands: s6-svdt, s6-svdt-clear, s6-permafailon
 - s6-tai64nlocal can now print GMT times with the -g option.


In 2.7.0.0
----------

 - Bugfixes.
 - s6-ftrigrd and s6lockd internally use the textclient API/ABI
instead of skaclient. This is cleaner, faster code.
 - New "-a perms" option to s6-ipcserver and s6-ipcserver-socketbinder.


In 2.6.2.0
----------

 - Bugfixes.
 - New functions: s6_fdholder_start() and s6_fdholder_end().


In 2.6.1.1
----------

 - Bugfixes.


In 2.6.1.0
----------

 - Bugfixes.
 - Addition of the s6_svc_lock_take() and s6_svc_lock_release()
functions, to fix a race condition in s6-rc.
 - New program: s6-notifyoncheck, to implement polling for
readiness and reroute the result into the s6 readiness notification
mechanism.


In 2.6.0.0
----------

 - Bugfixes. One of the bugfixes required a visible ABI change,
which explains the major version bump.
 - Documentation fixes.


In 2.5.1.0
----------

 - Bugfixes.
 - s6-ftrig-listen1 now prints to stdout the last event (the last
byte) it received and made it match the regexp it was given.
 - s6-supervise now recognizes the "timeout-kill" file in a service
directory. If this file exists and contains a nonzero integer t,
the behaviour of a "s6-svc -d" command is changed from
"send a SIGTERM and a SIGCONT" to "send a SIGTERM and a SIGCONT,
then if the service is still not dead after t milliseconds, send
a SIGKILL".


In 2.5.0.0
----------

 - Added this NEWS file. :)
 - Major types overhaul to make them more POSIXly correct:
compatibility with skalibs-2.5.0.0.
 - Services can now report permanent failure by having a ./finish
script exit 125.
 - s6-svwait, s6-svlisten and s6-svlisten1 now exit the number of
services that reported permanent failure. They exit 99 on timeout.
 - When a service has a ./nosetsid file that contains "setpgrp", it
is run in a new process group, but not in a new session. If the
./nosetsid file contains anything else, the service is run in the
same session and process group as the supervisor, and if there is
no such file, it's run in a new session (same behaviour as before).
 - s6-log now writes a warning to stderr when it closes the stdout
stream.
 - s6-log's individual file size limit bumped to 256 MB.
 - Various bugfixes. (thanks jjk!)
