diff options
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 202 |
1 files changed, 198 insertions, 4 deletions
@@ -1,8 +1,202 @@ | |||
1 | GNU Pies NEWS -- history of user-visible changes. 2019-07-02 | 1 | GNU Pies NEWS -- history of user-visible changes. 2023-07-30 |
2 | See the end of file for copying conditions. | 2 | See the end of file for copying conditions. |
3 | 3 | ||
4 | Please send Pies bug reports to <bug-pies@gnu.org> or | 4 | Please send Pies bug reports to <bug-pies@gnu.org>. |
5 | <bug-pies@gnu.org.ua> | 5 | |
6 | Version 1.8.90 (git) | ||
7 | |||
8 | * return-code statement accepts negations | ||
9 | |||
10 | Negated status codes or signal numbers can appear in the argument | ||
11 | list to the "return-code" command. The syntax is: | ||
12 | |||
13 | !0 any status code except 0 | ||
14 | !EX_OK same as above | ||
15 | !SIGQUIT any signal except SIGQUIT | ||
16 | !SIG+10 any signal except 10 | ||
17 | |||
18 | For example, the following statement: | ||
19 | |||
20 | return-code (!0, !SIGHUP, !SIGQUIT) { | ||
21 | notify root; | ||
22 | } | ||
23 | |||
24 | will notify root user if the program exits with any status, except 0 | ||
25 | or gets terminated with any signal, except SIGHUP and SIGQUIT. | ||
26 | |||
27 | |||
28 | Version 1.8, 2022-08-13 | ||
29 | |||
30 | * New configuration keywords | ||
31 | |||
32 | ** sigterm SIG | ||
33 | |||
34 | Available for use in "component" sections. This statement defines | ||
35 | signal which pies should send to the running component instance in | ||
36 | order to terminate it. Defaults to SIGTERM. | ||
37 | |||
38 | * Fix the component shutdown sequence | ||
39 | |||
40 | The shutdown sequence is determined taking into account dependencies | ||
41 | between components, so that all dependent components are stopped | ||
42 | before their prerequisite components. | ||
43 | |||
44 | * Fallback log file | ||
45 | |||
46 | Fallback log file is a place where pies writes out of band log messages, | ||
47 | i.e. messages about not being able to open syslog socket or send logs | ||
48 | to it. Regular log messages are diverted to this file if syslog was | ||
49 | requested, but cannot be used because of a permanent error. | ||
50 | |||
51 | * Bugfixes | ||
52 | |||
53 | ** Fix piesctl config reload | ||
54 | |||
55 | ** Fix configuration preprocessing. | ||
56 | |||
57 | ** Varios fixes in REST API server. | ||
58 | |||
59 | Version 1.7, 2022-01-02 | ||
60 | |||
61 | * Changes in configuration preprocessing | ||
62 | |||
63 | ** Each included file is preprocessed separately. | ||
64 | |||
65 | The built-in preprocessor is removed. The #include and #include_once | ||
66 | statements are now regular configuration statements. Any files | ||
67 | included as a result of #include or #include_once are preprocessed | ||
68 | separately. This differs from prior versions, were all includes were | ||
69 | expanded first, the obtained material passed to the m4 and the | ||
70 | resulting output was then parsed. | ||
71 | |||
72 | This means that: | ||
73 | |||
74 | 1. The mess with two preprocessors (built-in and external) is now | ||
75 | gone. | ||
76 | |||
77 | 2. Macros defined in a source file don't pollute the namespace of | ||
78 | another sources. | ||
79 | |||
80 | 3. Error locations can be accurately determined. | ||
81 | |||
82 | 4. Preprocessor can emit forceful diagnostics (see below) to properly | ||
83 | identify erroneous or otherwise suspicious constructs. | ||
84 | |||
85 | ** The `pp-setup' file is gone. | ||
86 | |||
87 | By default, the preprocessor is started as `m4 -s -P' with additional | ||
88 | set of -I options and eventual -D or -U options if these are used in | ||
89 | the command line of pies. Apart from this, no additional set up is | ||
90 | performed. | ||
91 | |||
92 | ** The precedence of -I options is fixed | ||
93 | |||
94 | The -I options are placed in the m4 command line before the options | ||
95 | that configure the default search path. | ||
96 | |||
97 | * New forceful diagnostics statements | ||
98 | |||
99 | ** #warning "TEXT" | ||
100 | |||
101 | Emits warning. | ||
102 | |||
103 | ** #error "TEXT" | ||
104 | |||
105 | Emits error message. Further parsing continues, but will end with | ||
106 | failure. | ||
107 | |||
108 | ** #abend "TEXT" | ||
109 | |||
110 | Emits error message and stops further processing immediately. | ||
111 | |||
112 | If `#error' or `#abend' is encountered, the effect is the same | ||
113 | as if syntax error has been detected. If it occurs at pies | ||
114 | startup, the program will terminate abnormally. If it occurs as | ||
115 | part of the reload sequence in a running instance of pies, the | ||
116 | configuration file will be rejected and old configuration will remain | ||
117 | in effect. | ||
118 | |||
119 | Version 1.6, 2021-07-07 | ||
120 | |||
121 | * Selecting preprocessor from the command line. | ||
122 | |||
123 | Two command line options are provided to select the preprocessor to | ||
124 | use instead of the default m4. The --preprocessor=COMMAND option | ||
125 | instructs pies to use COMMAND as preprocessor. The --no-preprocessor | ||
126 | option disables the use of the external preprocessor. | ||
127 | |||
128 | The new command line options are available both in pies and in the | ||
129 | client program piesctl. | ||
130 | |||
131 | * piesctl: fix order in which configuration files are examined | ||
132 | |||
133 | As stated in the documentation, program-specific configuration | ||
134 | file piesctl.conf takes precedence over pies.conf. | ||
135 | |||
136 | * Fix reloading of the configuration files. | ||
137 | |||
138 | * Fix compilation with --disable-sysvinit | ||
139 | |||
140 | Version 1.5, 2020-12-14 | ||
141 | |||
142 | * Detect if pies is started from docker | ||
143 | |||
144 | This makes the --no-init option unnecessary. | ||
145 | |||
146 | * When running with PID 1, install SIGCHLD handler early | ||
147 | |||
148 | This is to make sure the exited preprocessor command is cleaned up | ||
149 | properly. | ||
150 | |||
151 | * Fix cyclic dependency detection | ||
152 | |||
153 | * New component flag: expandenv | ||
154 | |||
155 | The "expandenv" flag instructs pies to parse the command line | ||
156 | and to expand any references to environment variables within it | ||
157 | as the Bourne shell would have done it. This allows for expanding | ||
158 | the environment variables without the overhead of actually running | ||
159 | the shell. | ||
160 | |||
161 | This flag is incompatible with the "shell" flag. When both are used, | ||
162 | the preference is given to "shell" and a warning message to that | ||
163 | effect is issued. | ||
164 | |||
165 | * Component standard stream redirection rewritten from scratch | ||
166 | |||
167 | In particular, redirecting stdout/stderr to syslog no longer requires | ||
168 | starting an auxiliar process. | ||
169 | |||
170 | * The component.facility configuration statement is withdrawn | ||
171 | |||
172 | To specify a particular facility, use the fully qualified | ||
173 | facility.priority argument to the stdout or stderr statement, e.g.: | ||
174 | |||
175 | stderr syslog local1.err; | ||
176 | |||
177 | * New configuration statement syslog.dev | ||
178 | |||
179 | The statement configures the socket to communicate with the syslog | ||
180 | daemon. Its argument is either the file name of the local socket | ||
181 | or the IP[:PORT] specification, e.g. | ||
182 | |||
183 | syslog { | ||
184 | dev 172.31.255.252; | ||
185 | } | ||
186 | |||
187 | * Global env section | ||
188 | |||
189 | The "env" section appearing in global context modifies the environment | ||
190 | for the main pies process. This modified environment will be | ||
191 | inherited by all processes started by pies in the course of its normal | ||
192 | operation. | ||
193 | |||
194 | * New control endpoint /alive | ||
195 | |||
196 | HTTP response to GET /alive/PROG reflects the current state of the | ||
197 | component PROG: 200 if it is running, 503 if not, and 404 if there's | ||
198 | no such component. | ||
199 | |||
6 | 200 | ||
7 | Version 1.4, 2019-07-02 | 201 | Version 1.4, 2019-07-02 |
8 | 202 | ||
@@ -203,7 +397,7 @@ part of Mailfromd (http://mailfromd.software.gnu.org.ua). | |||
203 | ========================================================================= | 397 | ========================================================================= |
204 | Copyright information: | 398 | Copyright information: |
205 | 399 | ||
206 | Copyright (C) 2009-2019 Sergey Poznyakoff | 400 | Copyright (C) 2009-2023 Sergey Poznyakoff |
207 | 401 | ||
208 | Permission is granted to anyone to make or distribute verbatim copies | 402 | Permission is granted to anyone to make or distribute verbatim copies |
209 | of this document as received, in any medium, provided that the | 403 | of this document as received, in any medium, provided that the |