Releases: finit-project/finit
Releases · finit-project/finit
Finit v4.15
The Finit project now has a new home page: https://finit-project.github.io
Changes
- Change default reboot to SOC reset from WDT reset, issue #460
- Bump required versions of libite (v2.6.2) and libuev (v2.4.1)
- Allow longer service identifiers (
:id), up to 64 characters - Allow skipping bootstrap wait (180 sec) with Ctrl-C
- Unlock
initctlcommands start/stop/restart/reload service during bootstrap,
shutdown, and reboot. Also, allowinitctl reloadin bootstrap. This makes
it possible to start manual:yes type services at botostrap, for example, which
has been a common feature request - Add support for
clone3()syscall with atomic cgroup assignment, from Linux
kernel 5.3+. Eliminates race conditions where forked processes (e.g., logger
processes) ended up in wrong cgroups. Falls back tofork()on older kernels - Add support for cgroup delegation, useful for, e.g., container runtimes
creating sub-groups for the container instance's processes - Add cgroup leaf name override:
cgroup.system,name:udevdallows using
descriptive names like/system/udevd/instead of filename derived names
like/system/10-hotplug/. Syntax supports combining with other options:
cgroup.system,name:foo,delegate,cpu.max:10000 - Add support for Linux capabilities, allowing services to run with minimal
required privileges instead of running as root. Uses the modern IAB API
(Inheritable, Ambient, Bounding) from libcap. By Aaron Andersen - Add support for supplementary groups for services. Uses the syntax
@user:group,sup1,sup2to explicitly specify supplementary groups, in
addition to reading group membership from/etc/group. By Aaron Andersen - Add CPU throttled information to
initctloutput, showing when a service
has been throttled due to reaching its CPU quota - Add memory field to
initctl --jsonstatus output for cgroup-enabled
services - Default to user and group
root(UID 0) for services - Always check that service user and group resolve to valid UID/GID pairs,
otherwise log error and refuse to start service - Hide cursor at boot and shutdown for cleaner visual experience
- Rename
ttyservices early frominit->gettyeven though no getty
process has been started yet. This to aid in boot timing detection using
tools likebootchartd(BusyBox version or bootchart2 project) when Finit
only shows "Please press Enter to activate this console." - Services with
respawnoption (including TTYs) now delay retry on non-zero
exit codes instead of immediate respawn. Prevents busy-loop when service
fails repeatedly, which on some systems may have a crippling effect
Fixes
- Fix #453: RTC plugin fixes by Ming Liu, Atlas Copco
- Fix #455: ANSI escape sequences logged by tools using glib logging,
caused by use of PTY instead of pipe for stdout/stderr redirection - Fix #462:
/dev/ptsmounted with wrong mode (400 instead of 620), causing
permission issues with pseudo-terminals - getty: fix terminal scrollback issues after login on console TTY. Mouse
scroll wheel and Shift+PgUp/PgDn sometimes would not work properly - Fix flickering and artifacts in
initctl top - Fix file descriptor leak in
initctl top - Fix incorrect "max" limit reporting in
initctl [top|cgroup|--json]output
for child cgroups. Resolves effective limits by walking the cgroup hierarchy - Fix issue with running Finit under
bootchartd(bootchart2 project), always
setPATHandSHELLenvs early, before attempting to mount/procet al - Always reset ownership and permissions on TTY device nodes before launching getty
- Ensure mount/unmount skips
noautoentries
Finit v4.15-rc2
The Finit project now has a new home page: https://finit-project.github.io
Changes
- Change default reboot to SOC reset from WDT reset, issue #460
- Bump required versions of libite (v2.6.2) and libuev (v2.4.1)
- Allow longer service identifiers (
:id), up to 64 characters - Allow skipping bootstrap wait (180 sec) with Ctrl-C
- Unlock
initctlcommands start/stop/restart/reload service during bootstrap,
shutdown, and reboot. Also, allowinitctl reloadin bootstrap. This makes
it possible to start manual:yes type services at botostrap, for example, which
has been a common feature request - Add support for
clone3()syscall with atomic cgroup assignment, from Linux
kernel 5.3+. Eliminates race conditions where forked processes (e.g., logger
processes) ended up in wrong cgroups. Falls back tofork()on older kernels - Add support for cgroup delegation, useful for, e.g., container runtimes
creating sub-groups for the container instance's processes - Add cgroup leaf name override:
cgroup.system,name:udevdallows using
descriptive names like/system/udevd/instead of filename derived names
like/system/10-hotplug/. Syntax supports combining with other options:
cgroup.system,name:foo,delegate,cpu.max:10000 - Add support for Linux capabilities, allowing services to run with minimal
required privileges instead of running as root. Uses the modern IAB API
(Inheritable, Ambient, Bounding) from libcap. By Aaron Andersen - Add support for supplementary groups for services. Uses the syntax
@user:group,sup1,sup2to explicitly specify supplementary groups, in
addition to reading group membership from/etc/group. By Aaron Andersen - Add CPU throttled information to
initctloutput, showing when a service
has been throttled due to reaching its CPU quota - Add memory field to
initctl --jsonstatus output for cgroup-enabled
services - Default to user and group
root(UID 0) for services - Always check that service user and group resolve to valid UID/GID pairs,
otherwise log error and refuse to start service - Hide cursor at boot and shutdown for cleaner visual experience
- Rename
ttyservices early frominit->gettyeven though no getty
process has been started yet. This to aid in boot timing detection using
tools likebootchartd(BusyBox version or bootchart2 project) when Finit
only shows "Please press Enter to activate this console." - Services with
respawnoption (including TTYs) now delay retry on non-zero
exit codes instead of immediate respawn. Prevents busy-loop when service
fails repeatedly, which on some systems may have a crippling effect
Fixes
- Fix #453: RTC plugin fixes by Ming Liu, Atlas Copco
- Fix #455: ANSI escape sequences logged by tools using glib logging,
caused by use of PTY instead of pipe for stdout/stderr redirection - Fix #462:
/dev/ptsmounted with wrong mode (400 instead of 620), causing
permission issues with pseudo-terminals - getty: fix terminal scrollback issues after login on console TTY. Mouse
scroll wheel and Shift+PgUp/PgDn sometimes would not work properly - Fix flickering and artifacts in
initctl top - Fix file descriptor leak in
initctl top - Fix incorrect "max" limit reporting in
initctl [top|cgroup|--json]output
for child cgroups. Resolves effective limits by walking the cgroup hierarchy - Fix issue with running Finit under
bootchartd(bootchart2 project), always
setPATHandSHELLenvs early, before attempting to mount/procet al - Always reset ownership and permissions on TTY device nodes before launching getty
- Ensure mount/unmount skips
noautoentries
Finit v4.15-rc1
Changes
- Change default reboot to SOC reset from WDT reset, issue #460
- Bump required versions of libite (v2.6.2) and libuev (v2.4.1)
- Allow longer service identifiers (
:id), up to 64 characters - Allow skipping bootstrap wait (180 sec) with Ctrl-C
- Unlock
initctlcommands start/stop/restart/reload service during bootstrap,
shutdown, and reboot. Also, allowinitctl reloadin bootstrap. This makes
it possible to start manual:yes type services at botostrap, for example, which
has been a common feature request - Add support for
clone3()syscall with atomic cgroup assignment, from Linux
kernel 5.3+. Eliminates race conditions where forked processes (e.g., logger
processes) ended up in wrong cgroups. Falls back tofork()on older kernels - Add support for cgroup delegation, useful for, e.g., container runtimes
creating sub-groups for the container instance's processes - Add cgroup leaf name override:
cgroup.system,name:udevdallows using
descriptive names like/system/udevd/instead of filename derived names
like/system/10-hotplug/. Syntax supports combining with other options:
cgroup.system,name:foo,delegate,cpu.max:10000
Fixes
- Fix #453: RTC plugin fixes by Ming Liu, Atlas Copco
- Fix #455: ANSI escape sequences logged by tools using glib logging,
caused by use of PTY instead of pipe for stdout/stderr redirection - getty: fix terminal scrollback issues after login on console TTY. Mouse
scroll wheel and Shift+PgUp/PgDn sometimes would not work properly - Fix flickering and artifacts in
initctl top - Fix file descriptor leak in
initctl top - Fix incorrect "max" limit reporting in
initctl [top|cgroup|--json]output
for child cgroups. Resolves effective limits by walking the cgroup hierarchy - Ensure mount/unmount skips
noautoentries
Finit v4.14
Minor bug fix release.
Changes
- Add exit status/signal info when a process dies, by Mattias Berthel
- Extend
service kill:SECto support up to 300 sec. - Extend
norespawndebug to coverservice_retry() - Build without libsystemd replacement by default
Fixes
- Fix #449: ALSA plugin fail-to-build-from-source
- Fix
sysvstop command process environment, should be same as start - Fix state machine ordering issue: enter new config generation after
services disabled in previous generation have been stopped
Finit v4.13
Note
This release introduce a bare bones libsystemd replacement with an
<systemd/sd-daemon.h> include file. Other systemd features are the
reload:script and stop:script, mimicking ExecReload and ExecStop.
Changes
initctl signalcommand has been renamed toinitctl kill- Drop xz tarballs from distribution, gzip is good enough
- New
tmpfilesstand-alone program, refactored from the existing
tmpfiles.d support in Finit, by Aaron Andersen, PR #439--removecommand runs only therandRrules--createis used for all other cases (bootstrap)
- All
notify:systemdservices now log withlogitby default. This
because it supports systemd style log severity, leading"<NUM>" - Support for quoted arguments to run/task/service options, issue #441
- Clear command line arguments after bootstrap, issue #442
- Support for
stop:'script [args]'to stop a sysv/service instead of
the commonfoo-stop-start.sh stop, orSIGTERM, issue #412 - Support for
reload:'script [args]'to trigger a configuration
reload in a service, issue #446
Fixes
- Fix #437: buffer overflow in
initctl status - Fix #438: support very long command lines in
initctl ps/top - Fix #440: broken systemd and s6 readiness notification
- Fix #443: build warnings, by Ming Liu, Atlas Copco
- Fix #444: handle loooooong arguments, by Aaron Andersen
- Fix service's redirected stdout/stderr log priority in fallback mode,
when neitherloggerorlogitis available. This fix also checks
for systemd style log severity, leading"<NUM>"in log messages - Ensure API socket used by
initctlis non-blocking (event loop)
Finit v4.13-rc1
Note
This release introduce a bare bones libsystemd replacement with an
<systemd/sd-daemon>.h include file. Other systemd features are the
reload:script and stop:script, mimicking ExecReload and ExecStop.
Changes
- Drop xz tarballs from distribution, gzip is good enough
- New
tmpfilesstand-alone program, refactored from the existing
tmpfiles.d support in Finit, by Aaron Andersen, PR #439--removecommand runs only therandRrules--createis used for all other cases (bootstrap)
- All
notify:systemdservices now log withlogitby default. This
because it supports systemd style log severity, leading"<NUM>" - Support for quoted arguments to run/task/service options, issue #441
- Clear command line arguments after bootstrap, issue #442
- Support for
stop:'script [args]'to stop a sysv/service instead of
the commonfoo-stop-start.sh stop, orSIGTERM, issue #412 - Support for
reload:'script [args]'to trigger a configuration
reload in a service, issue #446
Fixes
- Fix #437: buffer overflow in
initctl status - Fix #438: support very long command lines in
initctl ps/top - Fix #440: broken systemd and s6 readiness notification
- Fix #443: build warnings, by Ming Liu, Atlas Copco
- Fix #444: handle loooooong arguments, by Aaron Andersen
- Fix service's redirected stdout/stderr log priority in fallback mode,
when neitherloggerorlogitis available. This fix also checks
for systemd style log severity, leading"<NUM>"in log messages - Ensure API socket used by
initctlis non-blocking (event loop)
Finit v4.12
Changes
- Improve notify:s6 readiness compatibility, by Aaron Andersen
- Update
runpartsusage text
Fixes
- Fix variable overloading in urandom plugin
- Fix buffer overwrite in urandom plugin, reported by Aaron Andersen
Finit v4.11
Changes
- Update documentation regarding transition from runlevel S to 2, how
run/tasks must "complete" before Finit can move to the next runlevel - Improve argument handling in bundled getty when launching login
Fixes
- Fix #432: allow services in
setupstate to be stopped. This fixes
a serious blocker introduced in 4.10 that prevented systems from
being rebooted when any service was in this state - Fix fallback
SIGKILLwhen stopping a service withSIGTERMdoes
not work. This fixes a serious issue with services not responding to
the defaultSIGTERM - Fix pre/post/ready/cleanup script execution if service has an
optionalenv:file(leading-) - Fix blocked signals for pre/post/ready/cleanup scripts preventing
normal shutdown when a service/sysv is stopped in its setup state - Fix issue where a pre:script creates a PID file in
/runcause the
service to move from setup state to running. Anysvc_tin setup,
teardown, or cleanup state should be ignored in the pidfile plugin
Finit v4.11-rc2
Changes
- Update documentation regarding transition from runlevel S to 2, how
run/tasks must "complete" before Finit can move to the next runlevel - Improve argument handling in bundled getty when launching login
Fixes
- Fix #432: allow services in
setupstate to be stopped. This fixes
a serious blocker introduced in 4.10 that prevented systems from
being rebooted when any service was in this state - Fix fallback
SIGKILLwhen stopping a service withSIGTERMdoes
not work. This fixes a serious issue with services not responding to
the defaultSIGTERM - Fix pre/post/ready/cleanup script execution if service has an
optionalenv:file(leading-)
Finit v4.11-rc1
Changes
- Update documentation regarding transition from runlevel S to 2, how
run/tasks must "complete" before Finit can move to the next runlevel - Improve argument handling in bundled getty when launching login
Fixes
- Fix #432: allow services in
setupstate to be stopped. This fixes
a serious blocker introduced in 4.10 that prevented systems from
being rebooted when any service was in this state - Fix fallback
SIGKILLwhen stopping a service withSIGTERMdoes
not work. This fixes a serious issue with services not responding to
the defaultSIGTERM - Fix pre/post/ready/cleanup script execution if service has an
optionalenv:file(leading-)