From a1a92a04bd9c59605650878ba9597a8ee971ee6f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Fri, 13 Feb 2026 07:41:36 +0100 Subject: [PATCH] Update ChangeLog Signed-off-by: Joachim Wiberg --- doc/ChangeLog.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 4057ff1f..0db44b2c 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -3,7 +3,7 @@ Change Log All relevant changes are documented in this file. -[4.16][] - Unreleased +[4.16][UNRELEASED] - Unreleased --------------------- ### Changes @@ -18,6 +18,14 @@ All relevant changes are documented in this file. systemd `RemainAfterExit=yes`, by Aaron Andersen - Clear service conditions on `initctl reload NAME` to ensure dependent services are properly updated +- Run service `stop:` and `reload:` scripts as non-blocking processes, + preventing Finit from stalling on long-running helper scripts +- Guard shutdown with timer watchdog to detect and debug shutdown hangs +- Add `~` condition prefix to propagate reload from a dependency to the + dependent service. E.g., `` means not only a regular + condition, but when `netd` reloads, restart this service too. Similar + to systemd's directive `PropagatesReloadTo=`, but declared on the + consumer side. Issue #416 ### Fixes - Fix #464: invalid user:group examples in cgroups.md @@ -25,6 +33,22 @@ All relevant changes are documented in this file. - Fix #467: TTY services stuck in restart state after non-zero exit. Throttling logic introduced in v4.15 had duplicate checks causing infinite timer loop, and TTYs lacked default restart timeout +- Fix #475: clear pid condition on service collection to fix stale + deps. When a service crashes (SIGKILL), the RUNNING → HALTED path + bypasses STOPPING where `cond_clear()` is normally called, leaving + dependents stuck +- Fix #476: dependents not restarted after SIGHUP reload of service in + dependency chain. Add `service_step_all()` at end of reload cycle to + guarantee convergence after conditions are reasserted. See also the + new `~` condition prefix (above) to propagate reload to dependents +- Fix reload of SIGHUP-capable services incorrectly disrupting their + dependents. E.g., `initctl reload syslogd` would stop dbus, dnsmasq, + etc. even though syslogd handles SIGHUP gracefully and its PID persists +- Only remove managed pidfiles in service cleanup. For SysV services + with `pid:!/path`, the pidfile belongs to the service itself and Finit + should not delete it +- Silence spurious cgroup warnings for short-lived processes where the + kernel reaps the child before cgroup assignment completes - Fix handling of already-mounted cgroups in `cgroup_init()`, can occur after switch_root or in container environments - Improve cgroups documentation clarity, grammar, and examples @@ -1941,6 +1965,7 @@ Major bug fix release. * Initial release [UNRELEASED]: https://github.com/finit-project/finit/compare/4.15...HEAD +[4.16]: https://github.com/finit-project/finit/compare/4.15...4.16 [4.15]: https://github.com/finit-project/finit/compare/4.14...4.15 [4.14]: https://github.com/finit-project/finit/compare/4.13...4.14 [4.13]: https://github.com/troglobit/finit/compare/4.12...4.13