1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
|
Changelog for s6.
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!)
|