Skip to content

Releases: davmac314/dinit

v0.6.0: Alpha release

14 Jul 06:55
Compare
Choose a tag to compare
v0.6.0: Alpha release Pre-release
Pre-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

29 Jun 07:44
Compare
Choose a tag to compare
Pre-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

30 May 11:22
Compare
Choose a tag to compare
Pre-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

02 May 11:48
Compare
Choose a tag to compare
v0.5.0: Alpha release Pre-release
Pre-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

20 Oct 14:40
Compare
Choose a tag to compare
v0.4.0: Alpha release Pre-release
Pre-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

22 Jun 19:54
Compare
Choose a tag to compare
Pre-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

08 Jun 21:03
Compare
Choose a tag to compare
Pre-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.

v0.1.1 Pre-alpha release

20 Mar 21:42
Compare
Choose a tag to compare
Pre-release

A bugfix, new/updated tests, and one new feature: the ability to specify the logfile (via -l/--log-file). If a log file is specified, logging via syslog is not performed.

v0.1.0 Pre-alpha release

02 Mar 07:45
Compare
Choose a tag to compare
Pre-release

This version number represents a move to the semantic versioning scheme. The previous release was 0.08.

Since the last release, there are a few bugfixes, more tests, and a few new features:

  • system instance of Dinit now reads initial environment variable settings from a file at startup
  • services can be unloaded, if they have no dependencies, via the dinitctl utility
  • working directory for a service can be specified in its service description.

With these changes, Dinit is ever more capable as a service manager, but is still not considered ready for production.

v0.08 Pre-alpha release

03 Feb 19:33
Compare
Choose a tag to compare
Pre-release

The general service-management capability of Dinit is ever increasing. This release adds a "shutdown" subcommand to the dinitctl utility, adds a few new service options, tweaks default build options, fixes some bugs, adds to the testsuite, and more. It updates the bundled Dasynq to 1.1.0, meaning it may be possible to build Dinit on systems that have neither epoll nor kqueue (but which have pselect). Build has recently been tested on OpenBSD and FreeBSD as well as Linux.

It is of course still a long way from finished, but it seems to be stable right now so I'm cutting a release.

The next release will likely be versioned as 0.1.0 and Dinit will move to "semver": after that will be 0.1.1, 0.1.2 etc, until 0.2.0 (or beyond) and eventually 1.0.0.