123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- == Version 0.9.1
- This is a bug-fix release.
- * Fix a service getting stuck in the "stopping" state, if a dependent is
- set to auto-restart ("restart = true").
- == Version 0.9.0
- This release includes some new functionality and a rework of the chain-load
- mechanism.
- * The service specified via the "chain-to" setting will now only be started
- if the initiating service completes successfully, i.e. if it terminates
- normally (with an exit code of 0) and only if it is not manually stopped.
- * New option "--container" (-o) inhibits system management functions (such
- as machine shutdown/restart) that are normally enabled when dinit runs as
- process ID 1. A complementary "--system-mgr" (-m) option enables system
- management (even when not running as PID 1).
- * Fixed pinned-started services stopping when released by a dependent
- service, instead of remaining in the started state, and some other bugs
- related to pinning. Some issues may remain to be fixed in a later release.
- == Version 0.8.2
- This is a bug-fix release.
- * Fixed group not being set correctly when "run-as" or "socket-uid" were used.
- * Fixed "dinitctl rm-dep" command
- * Fixed bug preventing shutdown when auto-restart services were configured
- * Fixed smooth recovery of bgprocess services
- == Version 0.8.1
- This is a bug-fix release.
- * Fixed crash on service load error.
- * Fixed an unchecked allocation leading to possible unexpected termination.
- * Fixed a slow memory leak (in the bundled Dasynq library).
- * Fixed --help option for "dinitcheck" not working.
- * Fixed badly formatted error message from process launch failure.
- * Fixed issue where log file would not always be flushed on exit.
- * Fixed "dinitcheck" crashing if service description could not be found.
- == Version 0.8.0
- 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.
- == Version 0.7.0
- 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.
- == Version 0.6.1:
- This is a bug-fix 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.
- == Version 0.6.0:
- 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.
- == Version 0.5.2:
- 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.
- == Version 0.5.1:
- This is a bug-fix release for several issues of varying severity which have been found in the
- preceding release.
- * Improved logging behaviour when a service runs "on console" for a very short time.
- * Fix for crash due to SIGALRM on OpenBSD.
- * Fixes for compiling with Musl C library.
- * Fix dinitctl "enable" and "disable" commands when path to service directory is absolute.
- * "termsignal" setting renamed "term-signal" and now supports "KILL" signal. "termsignal"
- is still supported for compatibility with existing service descriptions.
- * Other minor fixes.
- == Version 0.5.0:
- 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.
- == Version 0.4.0:
- 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.
- Changes:
- * A new service description directive, "waits-for.d", allows specifying a directory for which the
- contents (filenames) are read as dependencies. This provides a convenient way to add and remove
- dependencies to service descriptions without editing the textual service description file.
- * dinitctl has new commands, "add-dep" and "rm-dep", to add or remove a dependency between
- services. The dependency is not persisted and won't survive a restart. Check the man page for
- details.
- * dinitctl has new commands, "enable" and "disable". These permanently enable/disable
- a service for some target ("boot" by default) by creating/destroying a symbolic link
- in the waits-for.d directory specified in the service description (and create/remove
- waits-for dependency dynamically). Check the man page for details.
- * A code style guide has been added (in the "doc" directory).
- * More tests, minor bugfixes.
|