From 0718625277f46183a048421fc271218bee5a1ef2 Mon Sep 17 00:00:00 2001 From: Davin McCall Date: Sun, 12 Jun 2022 21:30:03 +1000 Subject: [PATCH] Version 0.15.0 --- NEWS | 24 ++++++++++++++++++++++++ README.md | 2 +- TODO | 16 ++++++---------- build/version.conf | 4 ++-- 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/NEWS b/NEWS index 2dddaea2..20345fc6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,27 @@ +== Version 0.15.0 + +(Alpha release #6) + +This release contains bug fixes and new features. + +Changes: + * New "dinit-monitor" command can be used to perform notifications (via an external command, such + as notify-send) when a service changes state. This is primarily intended for users running dinit + in "user mode" rather than for system instances of dinit, although it works in either case. See + the dinit-monitor(8) manual page for details. + * Support on Linux for running service processes in a cgroup, via the "runs-in-cgroup" service + setting. Cgroups must be mounted/created outside of dinit (eg via an early service), there is no + support for this in dinit itself. See the dinit-service(5) manual page for details. + * "dinitctl enable", "dinitctl disable" and "dinitctl rmdep" now give better feedback in various + situations. For example, "dinitctl disable" will warn if a disabled service has other + dependents (which may cause it to start anyway). + * When parse errors occur in service description files, the relevant line number should now be + reported (by dinitcheck, or in the dinit log). + * Environment variable substitution in command lines is now performed for the "stop-command" + setting in exactly the same way as for the "command" setting. Previously, by oversight, + substitution was not performed for the "stop-command" setting. + * Fix: start timeout was not being honoured for service restarts. + == Version 0.14.0 (Alpha release #5) diff --git a/README.md b/README.md index dbc984ad..3eb2780c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Dinit -v0.14.0 (alpha release #5) +v0.15.0 (alpha release #6) 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 a61b5d9a..99aa9bad 100644 --- a/TODO +++ b/TODO @@ -4,26 +4,22 @@ Soon: Note that "XXX=YYYY" settings on Linux kernel command line sometimes get set as environment variables (and sometimes don't) even if the kernel should understand them (eg "pti=off", but not "root=/dev/sda1"). - * Version 0.13 includes dinitctl setenv to set environment variables, this is a good start -* start timeout may not be being used for restarts, check and fix [DONE] -For version 0.15: +For version 0.16: ----------------- -* basic support for cgroups (at least: run service processes in a specified cgroup) [DONE] -* Service description parse errors should report line number [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. +* 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). +* Maybe: support for after/before orderings (specify a service name like a dependency, but don't + cause the named service to be loaded if it otherwise wouldn't be). For version 1.0 (release requirements): --------------------------------------- -* "triggered" service type: external process notifies Dinit when the service - has started. (maybe?) - - key thing is we want some way to eg mount filesystem once the disk comes up, - configure network when device comes up, etc, potentially relying an an external - tool/daemon. * Be able to boot and shutdown Linux and FreeBSD (or OpenBSD). diff --git a/build/version.conf b/build/version.conf index 8cd66b37..c8d70d98 100644 --- a/build/version.conf +++ b/build/version.conf @@ -1,4 +1,4 @@ # Included from Makefiles. -VERSION=0.14.0 -MONTH=April +VERSION=0.15.0 +MONTH=June YEAR=2022