GNU Pies NEWS -- history of user-visible changes. 2019-05-31
See the end of file for copying conditions.

Please send Pies bug reports to <bug-pies@gnu.org> or
<bug-pies@gnu.org.ua>

Version 1.3.90 (git)

* New option --no-init

The --no-init option instructs pies not to switch to init mode if its
PID is 1.  Use this option if you run pies as a process manager in a
docker container.

* New component modes: startup and shutdown

Startup components are run right after pies startup. Any other
components start running only after last startup component has terminated.

Shutdown components are executed at program shutdown, after
all other components have been terminated.

Any number of startup or shutdwon components can be defined in the
configuration file. Such multiple components are run simultaneously,
unless required otherwise by their "prerequisites" and "dependents"
statements. 

* New component flag: shell

The 'shell' flag instructs pies to run the component via "/bin/sh -c
$command". Use it if the command should undergo variable expansion,
contains redirections, pipes, etc. E.g.

  component X {
    flags shell;
    command "if [ -n "$X" ]; then foo; else bar; fi"
  }

* Improved cyclic dependency diagnostics

* Fix a bug in 'env' statement

Previous versions applied unnecessary word splitting if given a
single argument. This is now fixed, so that e.g. the following
statement is processed correctly and defines a single variable
X to have the value "foo bar":

  env "X=foo bar"


Version 1.3, 2016-10-01

* SysV-style Init 

GNU Pies can now be used as init process daemon - the first process
started during booting.  The configuration can be supplied both as
a traditional /etc/inittab file or as a native GNU Pies configuration
file.  The control interface provides extensive monitoring and
management capabilities.

* Control interface

The running GNU Pies instance can be queried and reconfigured on the
fly via a TCP socket (either UNIX or INET).  Special utility, piesctl,
is included, which provides  command line interface for inspecting
the state of components, reloading configuration (including addition
or removal of configuration files on the fly), stopping and restarting
components, etc.

* Changes in configuration

Two new flags are provided:

- siggroup

This flag instructs pies to send termination signal to the process
group of the process being stopped.

- nullinput

Do not close standard input.  Redirect it from /dev/null
instead.   Use this option with commands that require their standard
input to be open (e.g. pppd nodetach).

** String concatenation

The adjacent string concatenation feature proved to create more
problems than solutions (in particular, with the "env" statement)
and was removed.


Version 1.2, 2009-12-11

* First release as a GNU package.

* Full inetd support

The program supports all types of services (including built-in
ones) and all types of protocols offered by the traditional `inetd'
utility.

The `inetd.conf' configuration file format is supported.  The
`inetd' configuration file may be supplied either from the command
line (see below), or via the `include-inetd' configuration statement.

* Inetd replacement

A replacement script for inetd(8) is provided.  It is fully
compatible with the traditional inetd command line, but offers
the flexibility and new features of pies.

* Configuration file handling

Several configuration files, eventually of different types,
can be specified in the command line.  New command line
option `--syntax' declares the syntax of configuration
files that follow it, e.g.:

pies --config-file /etc/pies.conf \
     --syntax=inetd --config-file /etc/inetd.conf \
     --syntax=meta1 --config-file /etc/meta1/meta1.conf

* New keywords.

Component keywords: flags, service, socket-type,
max-instances, max-rate, qotd-file.
Global keywords: state-directory, include-inetd.

* New option --instance

The `--instance' option allows you to run several instances
of pies, each of them using separate configuration and
state files.

* New option --rate

For compatibility with inetd.

* Improved status output.


Version 1.1, 2009-10-20

* Account for possible system clock inaccuracies.
* Improve documentation.
* Add Polish and Ukrainian translations.


Version 1.0, 2009-10-17

First stand-alone release.  Previous versions were released as
part of Mailfromd (http://mailfromd.software.gnu.org.ua).


=========================================================================
Copyright information:

Copyright (C) 2009-2019 Sergey Poznyakoff

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and this permission notice are preserved,
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.

Local variables:
mode: outline
paragraph-separate: "[	]*$"
eval: (add-hook 'write-file-hooks 'time-stamp)
time-stamp-start: "changes. "
time-stamp-format: "%:y-%02m-%02d"
time-stamp-end: "\n"
end:
