-For version 0.8.0:
+For version 0.9.0:
------------------
-* Easy way to reload service description (including if service is running, where possible).
-* provide a way to check configuration for errors (dinitcheck command) [In progress]
- - man page
- - circular dependency checks
-* report process launch failure reason (stage & errno) via dinitctl.
* "chain-to" can result in an unbreakable loop if the chain is circular. Chained services should not be
started during shutdown to prevent this (also avoids a race condition where the chained service is left
running when everything else has shutdown).
+* Check that desired_state is getting set correctly. (Currently we don't decide whether a service
+ will restart until it stops...)
+* Add dinit command line option to run as pid 1 but not as system manager (i.e., in a container).
+ Currently dinit can be used as pid 1 in a container but it may try to shut down the system when
+ it terminates. (This results in a harmless warning, but is not ideal).
+
+For version 0.10.+:
+------------------
+* for non-system init, fail if the control socket exists, with option to override this and re-
+ create the socket instead (as system init does).
+* report process launch failure reason (stage & errno) via dinitctl.
* Show "activated" state in "dinitctl list" output
+* Service description sanity checks:
+ - Service type not specified
+ - maybe default to 'internal' if command not specified
+ - if command specified but type not, report an error
+ - other checks?
+ - errors should also be reported by dinitcheck
-For version 1.0:
-----------------
+For version 1.0 (i.e. longer-term plans):
+-----------------------------------------
* Service description parse errors should report line number
* dinitcheck should perform lint checks - do named files exist? etc
* Limit memory use by control connections. Currently clients can queue commands without limit.
* Chaining of service process input/output?
* Be able to boot and shutdown Linux and FreeBSD (or OpenBSD).
-For later:
-----------
+For later (post 1.0):
+---------------------
* 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)