Releases: davmac314/dinit
v0.8.0: development release with usability features
This release includes major usability features.
- New command "dinitcheck" checks service descriptions for errors (without attempting to load
or start the service). Checks the named service(s) and any dependencies. - Service descriptions can now be reloaded, using "dinitctl reload service-name". This works
for services which are started, with some restrictions, and for services which are stopped,
and allows dependencies to be altered. - dinitctl now defaults to the system process socket location when run as root. This means that
using '-s' is no longer necessary (it is still supported for backwards compatibility). A new
'-u' option can be used to communicate with the user daemon, if there is one.
v0.7.0: development release
This release adds a minor feature, and includes a re-work of some base functionality
(which should not affect most use cases).
- dinitctl "restart" command added. Re-starts an already-running service without affecting
activation or dependency links. - dinitctl "stop" command now requires a
--force
option if dependents of the specified
service would also need to stop. - dinitctl "wake" command now reconnects dependency links from dependents of the specified
service, and can only be used if at least one such dependent is started.
v0.6.1: Bug-fix release
This is a bug-fix release (following from the 0.6.0 alpha release) with several minor fixes:
- Resource limits were not properly being set.
- Prevent early termination when standard input is closed or set to a device which cannot
be watched for input. - Control protocol fix, possibly not affecting any real usage.
v0.6.0: Alpha release
This release adds a number of minor features:
- Better behaviour when boot fails. User can choose an action from reboot, resume boot process,
start the "recovery" service, or power-off. - New service settings for limiting resources at the process level: "rlimit-nofile",
"rlimit-core", "rlimit-data", "rlimit-addrspace". Both hard and soft limits can be set.
See dinit-service(5) for details. - New "env-file" setting allows per-setting environment to be specified via a file. The file
is re-read each time the service process is started. - Added a "--quiet" option to suppress console output from Dinit.
- Dinit when run as a user daemon no longer logs via syslog. Logging to file can still be
enabled via the "-l"/"--log-file" option. - Added a "--socket-path"/"-p" option to dinitctl, to specify the socket path for communication
with the dinit daemon.
A number of minor bugfixes and other improvements are also implemented. An integration test
framework has been added with a small number of tests, to complement the existing unit tests.
v0.5.2: Bug-fix release
This is a bug-fix release for several minor issues which have been found in the preceding
release (0.5.1).
- Fix logging failure after log buffer becomes full.
- Fix readiness-fd notification not immediately updating service states.
- Fix use of old settings in sample configuration for Linux.
- Re-create control socket file node if it "disappears". Should solve issues if root filesystem
is mounted read-write on boot. - Fix potential issue with service launch failure for services using a fixed notification fd.
v0.5.1: Bug-fix release
This is a bug-fix release on top of v0.5.0.
- Fix for dying with SIGALRM on OpenBSD (due to bug in Dasynq)
- Fix for signalling process group on OSes which don't allow getpgid() for processes in a different session
- Fix restarting of services which are started due to a dependent only
- Documentation updates and add contributed Getting Started guide
v0.5.0: Alpha release
This version adds S6-compatible readiness notification support, and adds support for updating
the "utmp" database when services start/stop (this functionality should be avoided if possible
since the "utmp" database is mostly an historical artifact, and system support is often prone
to issues which allow unprivileged users to prevent updates and deny or delay logins; however,
utilities such as "who" may depend on the database being updated appropriately).
Other changes:
- Add "-u" command line option to force running dinit as a user instance.
- Add a "chain-to" service property to better support recovery services.
- Add a "shares-console" service option to allow running services "on the console" without having
them own it exclusively. - Add "inittab-id" and "inittab-line" service settings for utmp support.
- Minor bugfixes.
v0.4.0: Alpha release
This version focuses on being more "distribution friendly". It adds mechanisms to add and remove
dependencies, either temporarily or persistently, between services without manual editing of
service description files.
As usual, there are some minor bug-fixes and other improvements as well.
v0.3.0: Pre-alpha release
It's unusual for me to do two releases in one month, but I've completed the features I had scheduled for 0.3.0: mainly, the dinitctl now lists a lot more information including pid, whether the service was skipped or failed, whether it is holding or is waiting for the console, etc. As usual there are also some bug fixes.
v0.2.0 Pre-alpha release
This is a feature release, still considered pre-alpha but with no major known bugs.
- now loads services from multiple directories: /etc/dinit.d, /usr/local/lib/dinit.d, and /lib/dinit.d
- control socket path and /sbin directory (used to find shutdown) can be configured at build time
- option to substitute environment variables in service command lines (load-options = sub-vars)
- several bugfixes.