Skip to content

Commit

Permalink
Version 0.17.1
Browse files Browse the repository at this point in the history
  • Loading branch information
davmac314 committed Nov 4, 2023
1 parent 7f1a0d1 commit a52cc06
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 25 deletions.
40 changes: 37 additions & 3 deletions NEWS
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
20 changes: 1 addition & 19 deletions TODO
Original file line number Diff line number Diff line change
@@ -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).
Expand All @@ -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
Expand All @@ -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!]
Expand Down
4 changes: 2 additions & 2 deletions build/version.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Included from Makefiles.
VERSION=0.17.1pre
MONTH=August
VERSION=0.17.1
MONTH=November
YEAR=2023

0 comments on commit a52cc06

Please sign in to comment.