tag:github.com,2008:https://github.com/finit-project/finit/releases Release notes from finit 2026-02-27T09:36:23Z tag:github.com,2008:Repository/5778132/4.16 2026-02-27T09:44:15Z Finit v4.16 <h3>Changes</h3> <ul> <li>Add <code>initctl switch-root</code> command and plugin hook point. Useful for<br> systems requiring early boot tasks like LUKS unlock, LVM activation,<br> or network boot before mounting the real root, by Aaron Andersen</li> <li>Set USER and LOGNAME environment variables when dropping privileges.<br> Fixes issues with software like rootless Podman that determines user<br> identity from environment variables, by Aaron Andersen</li> <li>Add <code>remain:yes</code> option for run/task oneshot commands, similar to the<br> systemd <code>RemainAfterExit=yes</code>, by Aaron Andersen</li> <li>Clear service conditions on <code>initctl reload NAME</code> to ensure dependent<br> services are properly updated</li> <li>Run service <code>stop:</code> and <code>reload:</code> scripts as non-blocking processes,<br> preventing Finit from stalling on long-running helper scripts</li> <li>Guard shutdown with timer watchdog to detect and debug shutdown hangs</li> <li>Add <code>~</code> condition prefix to propagate reload from a dependency to the<br> dependent service. E.g., <code>&lt;!~pid/netd&gt;</code> means not only a regular<br> condition, but when <code>netd</code> reloads, restart this service too. Similar<br> to systemd's directive <code>PropagatesReloadTo=</code>, but declared on the<br> consumer side. Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2594513998" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/416" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/416/hovercard" href="https://github.com/finit-project/finit/issues/416">#416</a></li> <li><code>tmpfiles</code>: add support for <code>-E</code> and <code>--exclude-prefix</code> flags<br> contributed by Aaron Andersen</li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3786688861" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/464" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/464/hovercard" href="https://github.com/finit-project/finit/issues/464">#464</a>: invalid user:group examples in cgroups.md</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3800797499" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/466" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/466/hovercard" href="https://github.com/finit-project/finit/pull/466">#466</a>: elogind path for Debian-based distros, by Jackie Liu</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3805449106" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/467" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/467/hovercard" href="https://github.com/finit-project/finit/issues/467">#467</a>: TTY services stuck in restart state after non-zero exit.<br> Throttling logic introduced in v4.15 had duplicate checks causing<br> infinite timer loop, and TTYs lacked default restart timeout</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3935553019" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/475" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/475/hovercard" href="https://github.com/finit-project/finit/issues/475">#475</a>: clear pid condition on service collection to fix stale<br> deps. When a service crashes (SIGKILL), the RUNNING → HALTED path<br> bypasses STOPPING where <code>cond_clear()</code> is normally called, leaving<br> dependents stuck</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3935560424" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/476" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/476/hovercard" href="https://github.com/finit-project/finit/issues/476">#476</a>: dependents not restarted after SIGHUP reload of service in<br> dependency chain. Add <code>service_step_all()</code> at end of reload cycle to<br> guarantee convergence after conditions are reasserted. See also the<br> new <code>~</code> condition prefix (above) to propagate reload to dependents</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3976578616" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/478" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/478/hovercard" href="https://github.com/finit-project/finit/pull/478">#478</a>: fix <code>&lt;dev/foo&gt;</code> conditions at boot, conditions that exist<br> before inotify was set up. Found and fixed by Mattias Walström</li> <li>Fix reload of SIGHUP-capable services incorrectly disrupting their<br> dependents. E.g., <code>initctl reload syslogd</code> would stop dbus, dnsmasq,<br> etc. even though syslogd handles SIGHUP gracefully and its PID persists</li> <li>Only remove managed pidfiles in service cleanup. For SysV services<br> with <code>pid:!/path</code>, the pidfile belongs to the service itself and Finit<br> should not delete it</li> <li>Silence spurious cgroup warnings for short-lived processes where the<br> kernel reaps the child before cgroup assignment completes</li> <li>Fix handling of already-mounted cgroups in <code>cgroup_init()</code>, can occur<br> after switch_root or in container environments</li> <li>Improve cgroups documentation clarity, grammar, and examples</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.16-rc1 2026-02-24T04:45:02Z Finit v4.16-rc1 <h3>Changes</h3> <ul> <li>Add <code>initctl switch-root</code> command and plugin hook point. Useful for<br> systems requiring early boot tasks like LUKS unlock, LVM activation,<br> or network boot before mounting the real root, by Aaron Andersen</li> <li>Set USER and LOGNAME environment variables when dropping privileges.<br> Fixes issues with software like rootless Podman that determines user<br> identity from environment variables, by Aaron Andersen</li> <li>Add <code>remain:yes</code> option for run/task oneshot commands, similar to the<br> systemd <code>RemainAfterExit=yes</code>, by Aaron Andersen</li> <li>Clear service conditions on <code>initctl reload NAME</code> to ensure dependent<br> services are properly updated</li> <li>Run service <code>stop:</code> and <code>reload:</code> scripts as non-blocking processes,<br> preventing Finit from stalling on long-running helper scripts</li> <li>Guard shutdown with timer watchdog to detect and debug shutdown hangs</li> <li>Add <code>~</code> condition prefix to propagate reload from a dependency to the<br> dependent service. E.g., <code>&lt;!~pid/netd&gt;</code> means not only a regular<br> condition, but when <code>netd</code> reloads, restart this service too. Similar<br> to systemd's directive <code>PropagatesReloadTo=</code>, but declared on the<br> consumer side. Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2594513998" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/416" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/416/hovercard" href="https://github.com/finit-project/finit/issues/416">#416</a></li> <li><code>tmpfiles</code>: add support for <code>-E</code> and <code>--exclude-prefix</code> flags<br> contributed by Aaron Andersen</li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3786688861" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/464" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/464/hovercard" href="https://github.com/finit-project/finit/issues/464">#464</a>: invalid user:group examples in cgroups.md</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3800797499" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/466" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/466/hovercard" href="https://github.com/finit-project/finit/pull/466">#466</a>: elogind path for Debian-based distros, by Jackie Liu</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3805449106" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/467" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/467/hovercard" href="https://github.com/finit-project/finit/issues/467">#467</a>: TTY services stuck in restart state after non-zero exit.<br> Throttling logic introduced in v4.15 had duplicate checks causing<br> infinite timer loop, and TTYs lacked default restart timeout</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3935553019" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/475" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/475/hovercard" href="https://github.com/finit-project/finit/issues/475">#475</a>: clear pid condition on service collection to fix stale<br> deps. When a service crashes (SIGKILL), the RUNNING → HALTED path<br> bypasses STOPPING where <code>cond_clear()</code> is normally called, leaving<br> dependents stuck</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3935560424" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/476" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/476/hovercard" href="https://github.com/finit-project/finit/issues/476">#476</a>: dependents not restarted after SIGHUP reload of service in<br> dependency chain. Add <code>service_step_all()</code> at end of reload cycle to<br> guarantee convergence after conditions are reasserted. See also the<br> new <code>~</code> condition prefix (above) to propagate reload to dependents</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3976578616" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/478" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/478/hovercard" href="https://github.com/finit-project/finit/pull/478">#478</a>: fix <code>&lt;dev/foo&gt;</code> conditions at boot, conditions that exist<br> before inotify was set up. Found and fixed by Mattias Walström</li> <li>Fix reload of SIGHUP-capable services incorrectly disrupting their<br> dependents. E.g., <code>initctl reload syslogd</code> would stop dbus, dnsmasq,<br> etc. even though syslogd handles SIGHUP gracefully and its PID persists</li> <li>Only remove managed pidfiles in service cleanup. For SysV services<br> with <code>pid:!/path</code>, the pidfile belongs to the service itself and Finit<br> should not delete it</li> <li>Silence spurious cgroup warnings for short-lived processes where the<br> kernel reaps the child before cgroup assignment completes</li> <li>Fix handling of already-mounted cgroups in <code>cgroup_init()</code>, can occur<br> after switch_root or in container environments</li> <li>Improve cgroups documentation clarity, grammar, and examples</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.15 2026-01-01T15:53:29Z Finit v4.15 <p>The Finit project now has a new home page: <a href="https://finit-project.github.io" rel="nofollow">https://finit-project.github.io</a></p> <h3>Changes</h3> <ul> <li>Change default reboot to SOC reset from WDT reset, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3685187960" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/460" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/460/hovercard" href="https://github.com/finit-project/finit/issues/460">#460</a></li> <li>Bump required versions of libite (v2.6.2) and libuev (v2.4.1)</li> <li>Allow longer service identifiers (<code>:id</code>), up to 64 characters</li> <li>Allow skipping bootstrap wait (180 sec) with Ctrl-C</li> <li>Unlock <code>initctl</code> commands start/stop/restart/reload service during bootstrap,<br> shutdown, and reboot. Also, allow <code>initctl reload</code> in bootstrap. This makes<br> it possible to start manual:yes type services at botostrap, for example, which<br> has been a common feature request</li> <li>Add support for <code>clone3()</code> syscall with atomic cgroup assignment, from Linux<br> kernel 5.3+. Eliminates race conditions where forked processes (e.g., logger<br> processes) ended up in wrong cgroups. Falls back to <code>fork()</code> on older kernels</li> <li>Add support for cgroup delegation, useful for, e.g., container runtimes<br> creating sub-groups for the container instance's processes</li> <li>Add cgroup leaf name override: <code>cgroup.system,name:udevd</code> allows using<br> descriptive names like <code>/system/udevd/</code> instead of filename derived names<br> like <code>/system/10-hotplug/</code>. Syntax supports combining with other options:<br> <code>cgroup.system,name:foo,delegate,cpu.max:10000</code></li> <li>Add support for Linux capabilities, allowing services to run with minimal<br> required privileges instead of running as root. Uses the modern IAB API<br> (Inheritable, Ambient, Bounding) from libcap. By Aaron Andersen</li> <li>Add support for supplementary groups for services. Uses the syntax<br> <code>@user:group,sup1,sup2</code> to explicitly specify supplementary groups, in<br> addition to reading group membership from <code>/etc/group</code>. By Aaron Andersen</li> <li>Add CPU throttled information to <code>initctl</code> output, showing when a service<br> has been throttled due to reaching its CPU quota</li> <li>Add memory field to <code>initctl --json</code> status output for cgroup-enabled<br> services</li> <li>Default to user and group <code>root</code> (UID 0) for services</li> <li>Always check that service user and group resolve to valid UID/GID pairs,<br> otherwise log error and refuse to start service</li> <li>Hide cursor at boot and shutdown for cleaner visual experience</li> <li>Rename <code>tty</code> services early from <code>init</code> -&gt; <code>getty</code> even though no getty<br> process has been started yet. This to aid in boot timing detection using<br> tools like <code>bootchartd</code> (BusyBox version or bootchart2 project) when Finit<br> only shows <em>"Please press Enter to activate this console."</em></li> <li>Services with <code>respawn</code> option (including TTYs) now delay retry on non-zero<br> exit codes instead of immediate respawn. Prevents busy-loop when service<br> fails repeatedly, which on some systems may have a crippling effect</li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3507034981" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/453" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/453/hovercard" href="https://github.com/finit-project/finit/pull/453">#453</a>: RTC plugin fixes by Ming Liu, Atlas Copco</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595481021" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/455" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/455/hovercard" href="https://github.com/finit-project/finit/issues/455">#455</a>: ANSI escape sequences logged by tools using glib logging,<br> caused by use of PTY instead of pipe for stdout/stderr redirection</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3755679044" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/462" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/462/hovercard" href="https://github.com/finit-project/finit/issues/462">#462</a>: <code>/dev/pts</code> mounted with wrong mode (400 instead of 620), causing<br> permission issues with pseudo-terminals</li> <li>getty: fix terminal scrollback issues after login on console TTY. Mouse<br> scroll wheel and Shift+PgUp/PgDn sometimes would not work properly</li> <li>Fix flickering and artifacts in <code>initctl top</code></li> <li>Fix file descriptor leak in <code>initctl top</code></li> <li>Fix incorrect "max" limit reporting in <code>initctl [top|cgroup|--json]</code> output<br> for child cgroups. Resolves effective limits by walking the cgroup hierarchy</li> <li>Fix issue with running Finit under <code>bootchartd</code> (bootchart2 project), always<br> set <code>PATH</code> and <code>SHELL</code> envs early, before attempting to mount <code>/proc</code> et al</li> <li>Always reset ownership and permissions on TTY device nodes before launching getty</li> <li>Ensure mount/unmount skips <code>noauto</code> entries</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.15-rc2 2026-01-01T15:08:55Z Finit v4.15-rc2 <p>The Finit project now has a new home page: <a href="https://finit-project.github.io" rel="nofollow">https://finit-project.github.io</a></p> <h3>Changes</h3> <ul> <li>Change default reboot to SOC reset from WDT reset, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3685187960" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/460" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/460/hovercard" href="https://github.com/finit-project/finit/issues/460">#460</a></li> <li>Bump required versions of libite (v2.6.2) and libuev (v2.4.1)</li> <li>Allow longer service identifiers (<code>:id</code>), up to 64 characters</li> <li>Allow skipping bootstrap wait (180 sec) with Ctrl-C</li> <li>Unlock <code>initctl</code> commands start/stop/restart/reload service during bootstrap,<br> shutdown, and reboot. Also, allow <code>initctl reload</code> in bootstrap. This makes<br> it possible to start manual:yes type services at botostrap, for example, which<br> has been a common feature request</li> <li>Add support for <code>clone3()</code> syscall with atomic cgroup assignment, from Linux<br> kernel 5.3+. Eliminates race conditions where forked processes (e.g., logger<br> processes) ended up in wrong cgroups. Falls back to <code>fork()</code> on older kernels</li> <li>Add support for cgroup delegation, useful for, e.g., container runtimes<br> creating sub-groups for the container instance's processes</li> <li>Add cgroup leaf name override: <code>cgroup.system,name:udevd</code> allows using<br> descriptive names like <code>/system/udevd/</code> instead of filename derived names<br> like <code>/system/10-hotplug/</code>. Syntax supports combining with other options:<br> <code>cgroup.system,name:foo,delegate,cpu.max:10000</code></li> <li>Add support for Linux capabilities, allowing services to run with minimal<br> required privileges instead of running as root. Uses the modern IAB API<br> (Inheritable, Ambient, Bounding) from libcap. By Aaron Andersen</li> <li>Add support for supplementary groups for services. Uses the syntax<br> <code>@user:group,sup1,sup2</code> to explicitly specify supplementary groups, in<br> addition to reading group membership from <code>/etc/group</code>. By Aaron Andersen</li> <li>Add CPU throttled information to <code>initctl</code> output, showing when a service<br> has been throttled due to reaching its CPU quota</li> <li>Add memory field to <code>initctl --json</code> status output for cgroup-enabled<br> services</li> <li>Default to user and group <code>root</code> (UID 0) for services</li> <li>Always check that service user and group resolve to valid UID/GID pairs,<br> otherwise log error and refuse to start service</li> <li>Hide cursor at boot and shutdown for cleaner visual experience</li> <li>Rename <code>tty</code> services early from <code>init</code> -&gt; <code>getty</code> even though no getty<br> process has been started yet. This to aid in boot timing detection using<br> tools like <code>bootchartd</code> (BusyBox version or bootchart2 project) when Finit<br> only shows <em>"Please press Enter to activate this console."</em></li> <li>Services with <code>respawn</code> option (including TTYs) now delay retry on non-zero<br> exit codes instead of immediate respawn. Prevents busy-loop when service<br> fails repeatedly, which on some systems may have a crippling effect</li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3507034981" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/453" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/453/hovercard" href="https://github.com/finit-project/finit/pull/453">#453</a>: RTC plugin fixes by Ming Liu, Atlas Copco</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595481021" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/455" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/455/hovercard" href="https://github.com/finit-project/finit/issues/455">#455</a>: ANSI escape sequences logged by tools using glib logging,<br> caused by use of PTY instead of pipe for stdout/stderr redirection</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3755679044" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/462" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/462/hovercard" href="https://github.com/finit-project/finit/issues/462">#462</a>: <code>/dev/pts</code> mounted with wrong mode (400 instead of 620), causing<br> permission issues with pseudo-terminals</li> <li>getty: fix terminal scrollback issues after login on console TTY. Mouse<br> scroll wheel and Shift+PgUp/PgDn sometimes would not work properly</li> <li>Fix flickering and artifacts in <code>initctl top</code></li> <li>Fix file descriptor leak in <code>initctl top</code></li> <li>Fix incorrect "max" limit reporting in <code>initctl [top|cgroup|--json]</code> output<br> for child cgroups. Resolves effective limits by walking the cgroup hierarchy</li> <li>Fix issue with running Finit under <code>bootchartd</code> (bootchart2 project), always<br> set <code>PATH</code> and <code>SHELL</code> envs early, before attempting to mount <code>/proc</code> et al</li> <li>Always reset ownership and permissions on TTY device nodes before launching getty</li> <li>Ensure mount/unmount skips <code>noauto</code> entries</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.15-rc1 2025-12-18T06:24:31Z Finit v4.15-rc1 <h3>Changes</h3> <ul> <li>Change default reboot to SOC reset from WDT reset, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3685187960" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/460" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/460/hovercard" href="https://github.com/finit-project/finit/issues/460">#460</a></li> <li>Bump required versions of libite (v2.6.2) and libuev (v2.4.1)</li> <li>Allow longer service identifiers (<code>:id</code>), up to 64 characters</li> <li>Allow skipping bootstrap wait (180 sec) with Ctrl-C</li> <li>Unlock <code>initctl</code> commands start/stop/restart/reload service during bootstrap,<br> shutdown, and reboot. Also, allow <code>initctl reload</code> in bootstrap. This makes<br> it possible to start manual:yes type services at botostrap, for example, which<br> has been a common feature request</li> <li>Add support for <code>clone3()</code> syscall with atomic cgroup assignment, from Linux<br> kernel 5.3+. Eliminates race conditions where forked processes (e.g., logger<br> processes) ended up in wrong cgroups. Falls back to <code>fork()</code> on older kernels</li> <li>Add support for cgroup delegation, useful for, e.g., container runtimes<br> creating sub-groups for the container instance's processes</li> <li>Add cgroup leaf name override: <code>cgroup.system,name:udevd</code> allows using<br> descriptive names like <code>/system/udevd/</code> instead of filename derived names<br> like <code>/system/10-hotplug/</code>. Syntax supports combining with other options:<br> <code>cgroup.system,name:foo,delegate,cpu.max:10000</code></li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3507034981" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/453" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/453/hovercard" href="https://github.com/finit-project/finit/pull/453">#453</a>: RTC plugin fixes by Ming Liu, Atlas Copco</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595481021" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/455" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/455/hovercard" href="https://github.com/finit-project/finit/issues/455">#455</a>: ANSI escape sequences logged by tools using glib logging,<br> caused by use of PTY instead of pipe for stdout/stderr redirection</li> <li>getty: fix terminal scrollback issues after login on console TTY. Mouse<br> scroll wheel and Shift+PgUp/PgDn sometimes would not work properly</li> <li>Fix flickering and artifacts in <code>initctl top</code></li> <li>Fix file descriptor leak in <code>initctl top</code></li> <li>Fix incorrect "max" limit reporting in <code>initctl [top|cgroup|--json]</code> output<br> for child cgroups. Resolves effective limits by walking the cgroup hierarchy</li> <li>Ensure mount/unmount skips <code>noauto</code> entries</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.14 2025-08-29T15:15:19Z Finit v4.14 <p>Minor bug fix release.</p> <h3>Changes</h3> <ul> <li>Add exit status/signal info when a process dies, by Mattias Berthel</li> <li>Extend <code>service kill:SEC</code> to support up to 300 sec.</li> <li>Extend <code>norespawn</code> debug to cover <code>service_retry()</code></li> <li>Build <em>without</em> libsystemd replacement by default</li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3251536168" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/449" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/449/hovercard" href="https://github.com/finit-project/finit/issues/449">#449</a>: ALSA plugin fail-to-build-from-source</li> <li>Fix <code>sysv</code> stop command process environment, should be same as start</li> <li>Fix state machine ordering issue: enter new config generation <em>after</em><br> services disabled in previous generation have been stopped</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.13 2025-08-05T06:03:00Z Finit v4.13 <div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>This release introduce a bare bones <code>libsystemd</code> replacement with an<br> <code>&lt;systemd/sd-daemon.h&gt;</code> include file. Other systemd features are the<br> <code>reload:script</code> and <code>stop:script</code>, mimicking ExecReload and ExecStop.</p> </div> <h3>Changes</h3> <ul> <li><code>initctl signal</code> command has been renamed to <code>initctl kill</code></li> <li>Drop xz tarballs from distribution, gzip is good enough</li> <li>New <code>tmpfiles</code> stand-alone program, refactored from the existing<br> tmpfiles.d support in Finit, by Aaron Andersen, PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3088684442" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/439" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/439/hovercard" href="https://github.com/finit-project/finit/pull/439">#439</a> <ul> <li><code>--remove</code> command runs only the <code>r</code> and <code>R</code> rules</li> <li><code>--create</code> is used for all other cases (bootstrap)</li> </ul> </li> <li>All <code>notify:systemd</code> services now log with <code>logit</code> by default. This<br> because it supports systemd style log severity, leading <code>"&lt;NUM&gt;"</code></li> <li>Support for quoted arguments to run/task/service options, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3123193239" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/441" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/441/hovercard" href="https://github.com/finit-project/finit/issues/441">#441</a></li> <li>Clear command line arguments after bootstrap, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3160536070" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/442" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/442/hovercard" href="https://github.com/finit-project/finit/issues/442">#442</a></li> <li>Support for <code>stop:'script [args]'</code> to stop a sysv/service instead of<br> the common <code>foo-stop-start.sh stop</code>, or <code>SIGTERM</code>, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2548444958" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/412" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/412/hovercard" href="https://github.com/finit-project/finit/issues/412">#412</a></li> <li>Support for <code>reload:'script [args]'</code> to trigger a configuration<br> reload in a service, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3196266972" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/446" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/446/hovercard" href="https://github.com/finit-project/finit/issues/446">#446</a></li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037934400" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/437" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/437/hovercard" href="https://github.com/finit-project/finit/issues/437">#437</a>: buffer overflow in <code>initctl status</code></li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3082298767" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/438" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/438/hovercard" href="https://github.com/finit-project/finit/issues/438">#438</a>: support very long command lines in <code>initctl ps/top</code></li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3112085920" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/440" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/440/hovercard" href="https://github.com/finit-project/finit/issues/440">#440</a>: broken systemd and s6 readiness notification</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3182649201" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/443" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/443/hovercard" href="https://github.com/finit-project/finit/pull/443">#443</a>: build warnings, by Ming Liu, Atlas Copco</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3194159820" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/444" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/444/hovercard" href="https://github.com/finit-project/finit/pull/444">#444</a>: handle loooooong arguments, by Aaron Andersen</li> <li>Fix service's redirected stdout/stderr log priority in fallback mode,<br> when neither <code>logger</code> or <code>logit</code> is available. This fix also checks<br> for systemd style log severity, leading <code>"&lt;NUM&gt;"</code> in log messages</li> <li>Ensure API socket used by <code>initctl</code> is non-blocking (event loop)</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.13-rc1 2025-07-10T14:56:44Z Finit v4.13-rc1 <div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>This release introduce a bare bones <code>libsystemd</code> replacement with an<br> <code>&lt;systemd/sd-daemon&gt;.h</code> include file. Other systemd features are the<br> <code>reload:script</code> and <code>stop:script</code>, mimicking ExecReload and ExecStop.</p> </div> <h3>Changes</h3> <ul> <li>Drop xz tarballs from distribution, gzip is good enough</li> <li>New <code>tmpfiles</code> stand-alone program, refactored from the existing<br> tmpfiles.d support in Finit, by Aaron Andersen, PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3088684442" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/439" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/439/hovercard" href="https://github.com/finit-project/finit/pull/439">#439</a> <ul> <li><code>--remove</code> command runs only the <code>r</code> and <code>R</code> rules</li> <li><code>--create</code> is used for all other cases (bootstrap)</li> </ul> </li> <li>All <code>notify:systemd</code> services now log with <code>logit</code> by default. This<br> because it supports systemd style log severity, leading <code>"&lt;NUM&gt;"</code></li> <li>Support for quoted arguments to run/task/service options, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3123193239" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/441" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/441/hovercard" href="https://github.com/finit-project/finit/issues/441">#441</a></li> <li>Clear command line arguments after bootstrap, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3160536070" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/442" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/442/hovercard" href="https://github.com/finit-project/finit/issues/442">#442</a></li> <li>Support for <code>stop:'script [args]'</code> to stop a sysv/service instead of<br> the common <code>foo-stop-start.sh stop</code>, or <code>SIGTERM</code>, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2548444958" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/412" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/412/hovercard" href="https://github.com/finit-project/finit/issues/412">#412</a></li> <li>Support for <code>reload:'script [args]'</code> to trigger a configuration<br> reload in a service, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3196266972" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/446" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/446/hovercard" href="https://github.com/finit-project/finit/issues/446">#446</a></li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037934400" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/437" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/437/hovercard" href="https://github.com/finit-project/finit/issues/437">#437</a>: buffer overflow in <code>initctl status</code></li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3082298767" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/438" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/438/hovercard" href="https://github.com/finit-project/finit/issues/438">#438</a>: support very long command lines in <code>initctl ps/top</code></li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3112085920" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/440" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/440/hovercard" href="https://github.com/finit-project/finit/issues/440">#440</a>: broken systemd and s6 readiness notification</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3182649201" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/443" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/443/hovercard" href="https://github.com/finit-project/finit/pull/443">#443</a>: build warnings, by Ming Liu, Atlas Copco</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3194159820" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/444" data-hovercard-type="pull_request" data-hovercard-url="/finit-project/finit/pull/444/hovercard" href="https://github.com/finit-project/finit/pull/444">#444</a>: handle loooooong arguments, by Aaron Andersen</li> <li>Fix service's redirected stdout/stderr log priority in fallback mode,<br> when neither <code>logger</code> or <code>logit</code> is available. This fix also checks<br> for systemd style log severity, leading <code>"&lt;NUM&gt;"</code> in log messages</li> <li>Ensure API socket used by <code>initctl</code> is non-blocking (event loop)</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.12 2025-04-27T22:49:47Z Finit v4.12 <h3>Changes</h3> <ul> <li>Improve notify:s6 readiness compatibility, by Aaron Andersen</li> <li>Update <code>runparts</code> usage text</li> </ul> <h3>Fixes</h3> <ul> <li>Fix variable overloading in urandom plugin</li> <li>Fix buffer overwrite in urandom plugin, reported by Aaron Andersen</li> </ul> github-actions[bot] tag:github.com,2008:Repository/5778132/4.11 2025-03-27T18:34:10Z Finit v4.11 <h3>Changes</h3> <ul> <li>Update documentation regarding transition from runlevel S to 2, how<br> run/tasks must "complete" before Finit can move to the next runlevel</li> <li>Improve argument handling in bundled getty when launching login</li> </ul> <h3>Fixes</h3> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2924944486" data-permission-text="Title is private" data-url="https://github.com/finit-project/finit/issues/432" data-hovercard-type="issue" data-hovercard-url="/finit-project/finit/issues/432/hovercard" href="https://github.com/finit-project/finit/issues/432">#432</a>: allow services in <code>setup</code> state to be stopped. This fixes<br> a serious blocker introduced in 4.10 that prevented systems from<br> being rebooted when any service was in this state</li> <li>Fix fallback <code>SIGKILL</code> when stopping a service with <code>SIGTERM</code> does<br> not work. This fixes a serious issue with services not responding to<br> the default <code>SIGTERM</code></li> <li>Fix pre/post/ready/cleanup script execution if service has an<br> optional <code>env:file</code> (leading <code>-</code>)</li> <li>Fix blocked signals for pre/post/ready/cleanup scripts preventing<br> normal shutdown when a service/sysv is stopped in its setup state</li> <li>Fix issue where a pre:script creates a PID file in <code>/run</code> cause the<br> service to move from setup state to running. Any <code>svc_t</code> in setup,<br> teardown, or cleanup state should be ignored in the pidfile plugin</li> </ul> github-actions[bot]