diff options
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 202 |
1 files changed, 198 insertions, 4 deletions
@@ -1,8 +1,202 @@ -GNU Pies NEWS -- history of user-visible changes. 2019-07-02 +GNU Pies NEWS -- history of user-visible changes. 2023-07-30 See the end of file for copying conditions. -Please send Pies bug reports to <bug-pies@gnu.org> or -<bug-pies@gnu.org.ua> +Please send Pies bug reports to <bug-pies@gnu.org>. + +Version 1.8.90 (git) + +* return-code statement accepts negations + +Negated status codes or signal numbers can appear in the argument +list to the "return-code" command. The syntax is: + + !0 any status code except 0 + !EX_OK same as above + !SIGQUIT any signal except SIGQUIT + !SIG+10 any signal except 10 + +For example, the following statement: + + return-code (!0, !SIGHUP, !SIGQUIT) { + notify root; + } + +will notify root user if the program exits with any status, except 0 +or gets terminated with any signal, except SIGHUP and SIGQUIT. + + +Version 1.8, 2022-08-13 + +* New configuration keywords + +** sigterm SIG + +Available for use in "component" sections. This statement defines +signal which pies should send to the running component instance in +order to terminate it. Defaults to SIGTERM. + +* Fix the component shutdown sequence + +The shutdown sequence is determined taking into account dependencies +between components, so that all dependent components are stopped +before their prerequisite components. + +* Fallback log file + +Fallback log file is a place where pies writes out of band log messages, +i.e. messages about not being able to open syslog socket or send logs +to it. Regular log messages are diverted to this file if syslog was +requested, but cannot be used because of a permanent error. + +* Bugfixes + +** Fix piesctl config reload + +** Fix configuration preprocessing. + +** Varios fixes in REST API server. + +Version 1.7, 2022-01-02 + +* Changes in configuration preprocessing + +** Each included file is preprocessed separately. + +The built-in preprocessor is removed. The #include and #include_once +statements are now regular configuration statements. Any files +included as a result of #include or #include_once are preprocessed +separately. This differs from prior versions, were all includes were +expanded first, the obtained material passed to the m4 and the +resulting output was then parsed. + +This means that: + +1. The mess with two preprocessors (built-in and external) is now +gone. + +2. Macros defined in a source file don't pollute the namespace of +another sources. + +3. Error locations can be accurately determined. + +4. Preprocessor can emit forceful diagnostics (see below) to properly +identify erroneous or otherwise suspicious constructs. + +** The `pp-setup' file is gone. + +By default, the preprocessor is started as `m4 -s -P' with additional +set of -I options and eventual -D or -U options if these are used in +the command line of pies. Apart from this, no additional set up is +performed. + +** The precedence of -I options is fixed + +The -I options are placed in the m4 command line before the options +that configure the default search path. + +* New forceful diagnostics statements + +** #warning "TEXT" + +Emits warning. + +** #error "TEXT" + +Emits error message. Further parsing continues, but will end with +failure. + +** #abend "TEXT" + +Emits error message and stops further processing immediately. + +If `#error' or `#abend' is encountered, the effect is the same +as if syntax error has been detected. If it occurs at pies +startup, the program will terminate abnormally. If it occurs as +part of the reload sequence in a running instance of pies, the +configuration file will be rejected and old configuration will remain +in effect. + +Version 1.6, 2021-07-07 + +* Selecting preprocessor from the command line. + +Two command line options are provided to select the preprocessor to +use instead of the default m4. The --preprocessor=COMMAND option +instructs pies to use COMMAND as preprocessor. The --no-preprocessor +option disables the use of the external preprocessor. + +The new command line options are available both in pies and in the +client program piesctl. + +* piesctl: fix order in which configuration files are examined + +As stated in the documentation, program-specific configuration +file piesctl.conf takes precedence over pies.conf. + +* Fix reloading of the configuration files. + +* Fix compilation with --disable-sysvinit + +Version 1.5, 2020-12-14 + +* Detect if pies is started from docker + +This makes the --no-init option unnecessary. + +* When running with PID 1, install SIGCHLD handler early + +This is to make sure the exited preprocessor command is cleaned up +properly. + +* Fix cyclic dependency detection + +* New component flag: expandenv + +The "expandenv" flag instructs pies to parse the command line +and to expand any references to environment variables within it +as the Bourne shell would have done it. This allows for expanding +the environment variables without the overhead of actually running +the shell. + +This flag is incompatible with the "shell" flag. When both are used, +the preference is given to "shell" and a warning message to that +effect is issued. + +* Component standard stream redirection rewritten from scratch + +In particular, redirecting stdout/stderr to syslog no longer requires +starting an auxiliar process. + +* The component.facility configuration statement is withdrawn + +To specify a particular facility, use the fully qualified +facility.priority argument to the stdout or stderr statement, e.g.: + + stderr syslog local1.err; + +* New configuration statement syslog.dev + +The statement configures the socket to communicate with the syslog +daemon. Its argument is either the file name of the local socket +or the IP[:PORT] specification, e.g. + + syslog { + dev 172.31.255.252; + } + +* Global env section + +The "env" section appearing in global context modifies the environment +for the main pies process. This modified environment will be +inherited by all processes started by pies in the course of its normal +operation. + +* New control endpoint /alive + +HTTP response to GET /alive/PROG reflects the current state of the +component PROG: 200 if it is running, 503 if not, and 404 if there's +no such component. + Version 1.4, 2019-07-02 @@ -203,7 +397,7 @@ part of Mailfromd (http://mailfromd.software.gnu.org.ua). ========================================================================= Copyright information: -Copyright (C) 2009-2019 Sergey Poznyakoff +Copyright (C) 2009-2023 Sergey Poznyakoff Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the |