diff --git a/NEWS b/NEWS index bc15dedb..4bc6e464 100644 --- a/NEWS +++ b/NEWS @@ -1,8 +1,42 @@ -== Version 0.17.1pre (?) +== Version 0.17.1 (beta releas #2) -* TBA... +This is a 2nd beta release to follow up from 0.17.0. The changes are mostly minor; they include +some bug fixes, and some behavioural changes, that are listed below; there are also new options +for controlling logging. -== Version 0.17.0 +New features: + * The console log level, and primary log facility (syslog or logfile) log level, can now be + specified via the new "--console-level" and "--log-level" options. See the documentation + in the dinit(8) man page. + +Changes: + * The log file is opened immediately when starting even as a system manager, if possible. This + can make it easier to debug boot issues. + * The working directory for a service is now the directory containing the service description. + This can simplify specifying configuration files/script locations etc. Implemented by + Daniel Kolesa. + * The env-file (environment) path for a service is now relative to the service directory + containing the service description. Implemented by Daniel Kolesa. + * Failure to open the env-file (environment) specified for a service is now treated as a hard + error (and will prevent a service starting). Implemented by Mobin Aydinfar. + +Fixes: + * A service that restarted too often, too quickly but which was a dependency of another service + also set to restart did not trigger the restart limit check; this has been fixed. + * Process services with the smooth-recovery option and with readiness notification did not check + that readiness notification was received after a smooth restart. + * Don't report ECONNRESET errors in control connections. These indicate that the client closed + the connection (possibly by terminating) and do not need to be reported. This prevents a + spurious warning on shutdown. + * Give an error when a service is specified as its own output consumer (avoids crash). + Thanks to Mobin Aydinfar. + * A better effort to make the symlink created during a "dinitctl enable" operation actually point + to the enabled service. (This has no effect on operation). + * Various command line switches which require an additional argument (eg -d, -l) now check that + the argument supplied is now empty. + * configure script improvements/fixes by Mobin Aydinfar, and by Roze061 + +== Version 0.17.0 (beta release #1) Thank you to several new sponsors, as well as existing sponsors, for supporting this release. Current sponsors include github users: brentfrow, brazeon, and q66 (Daniel Kolesa, author of diff --git a/README.md b/README.md index f591b3e8..a779500f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Dinit -v0.17.1pre (beta release) +v0.17.1 (beta release) This is the README for Dinit, the service manager and init system. It is intended to provide an overview; For full documentation please check the manual pages. diff --git a/TODO b/TODO index f55c1213..c1e2032d 100644 --- a/TODO +++ b/TODO @@ -1,17 +1,3 @@ -For version 0.17: ------------------ -* [DONE] Limit memory use by control connections. Currently clients have command responses queued without - limit; it would be better to stop accepting new commands once a certain amount of response is - buffered. -* [DONE] Externally triggered services (to represent devices etc). Such services will not reach STARTED - state unless the external trigger occurs (eg "dinitctl trigger servicename", details to be - determined). -* [DONE] process input/output chaining (for logging); "log-type = pipe". -* [DONE] Documentation for "log-type = buffer" and "log-type = pipe". -* [DONE] dinitctl command to signal running service process. -* [DONE] "offline" dinitctl enable/disable - i.e. enable or disable a service when dinit isn't running. - - For version 1.0 (release requirements): --------------------------------------- * Be able to boot and shutdown Linux and FreeBSD (or OpenBSD). @@ -22,9 +8,6 @@ For version 1.0 (release requirements): For later (post 1.0): --------------------- * jails support -* On linux when running with PID != 1, write PID to /proc/sys/kernel/cad_pid so - that we still receive SIGINT from ctrl+alt+del (must be done after /proc is - mounted, possibly could be left to a service script) * Proper support for socket activation? * Perhaps need a way to prevent script services from re-starting. (eg there's no need to mount filesystems twice; there might be various other @@ -39,8 +22,7 @@ For later (post 1.0): * When we take down a service or tty session, it would be ideal if we could kill the whole process tree, not just the leader process (need cgroups or pid namespace or other mechanism). -* Allow running services with different resource limits, chroot, cgroups, - namespaces (pid/fs/uid), etc +* Allow running services chroot, in namespaces (pid/fs/uid), etc * Support chaining service output to another process (logger) input; if the service dies the file descriptor of its stdout isn't closed and is reassigned when the service is restarted, so that minimal output is lost. [Done!] diff --git a/build/version.conf b/build/version.conf index d7e0c8eb..2104023a 100644 --- a/build/version.conf +++ b/build/version.conf @@ -1,4 +1,4 @@ # Included from Makefiles. -VERSION=0.17.1pre -MONTH=August +VERSION=0.17.1 +MONTH=November YEAR=2023