Skip to content

Tags: finit-project/finit

Tags

4.17

Toggle 4.17's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.17 GA

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.17-rc1

Toggle 4.17-rc1's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.17-rc1

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.16

Toggle 4.16's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.16 GA

Changes:

- Add `initctl switch-root` command and plugin hook point.  Useful for
  systems requiring early boot tasks like LUKS unlock, LVM activation,
  or network boot before mounting the real root, by Aaron Andersen
- Set USER and LOGNAME environment variables when dropping privileges.
  Fixes issues with software like rootless Podman that determines user
  identity from environment variables, by Aaron Andersen
- Add `remain:yes` option for run/task oneshot commands, similar to the
  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., `<!~pid/netd>` 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
- `tmpfiles`: add support for `-E` and `--exclude-prefix` flags
  contributed by Aaron Andersen

Fixes:

- Fix #464: invalid user:group examples in cgroups.md
- Fix #466: elogind path for Debian-based distros, by Jackie Liu
- 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 #478: fix `<dev/foo>` conditions at boot, conditions that exist
  before inotify was set up.  Found and fixed by Mattias Walström
- 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

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.16-rc1

Toggle 4.16-rc1's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.16-rc1

Changes:

- Add `initctl switch-root` command and plugin hook point.  Useful for
  systems requiring early boot tasks like LUKS unlock, LVM activation,
  or network boot before mounting the real root, by Aaron Andersen
- Set USER and LOGNAME environment variables when dropping privileges.
  Fixes issues with software like rootless Podman that determines user
  identity from environment variables, by Aaron Andersen
- Add `remain:yes` option for run/task oneshot commands, similar to the
  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., `<!~pid/netd>` 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
- `tmpfiles`: add support for `-E` and `--exclude-prefix` flags
  contributed by Aaron Andersen

Fixes:

- Fix #464: invalid user:group examples in cgroups.md
- Fix #466: elogind path for Debian-based distros, by Jackie Liu
- 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 #478: fix `<dev/foo>` conditions at boot, conditions that exist
  before inotify was set up.  Found and fixed by Mattias Walström
- 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

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.15

Toggle 4.15's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.15 GA

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.15-rc2

Toggle 4.15-rc2's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.15-rc2

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.15-rc1

Toggle 4.15-rc1's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.15-rc1

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.14

Toggle 4.14's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.14 GA

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.13

Toggle 4.13's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.13 GA

 - `initctl signal` command has been renamed to `initctl kill`
 - Drop xz tarballs from distribution, gzip is good enough
 - New `tmpfiles` stand-alone program, refactored from the existing
   tmpfiles.d support in Finit, by Aaron Andersen, PR #439
    - `--remove` command runs only the `r` and `R` rules
    - `--create` is used for all other cases (bootstrap)
 - All `notify:systemd` services now log with `logit` by 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 common `foo-stop-start.sh stop`, or `SIGTERM`, issue #412
 - Support for `reload:'script [args]'` to trigger a configuration
   reload in a service, issue #446

 - 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 neither `logger` or `logit` is available.  This fix also checks
   for systemd style log severity, leading `"<NUM>"` in log messages
 - Ensure API socket used by `initctl` is non-blocking (event loop)

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>

4.13-rc1

Toggle 4.13-rc1's commit message

Verified

This tag was signed with the committer’s verified signature.
troglobit Joachim Wiberg
Finit v4.13-rc1

 - Drop xz tarballs from distribution, gzip is good enough
 - New `tmpfiles` stand-alone program, refactored from the existing
   tmpfiles.d support in Finit, by Aaron Andersen, PR #439
    - `--remove` command runs only the `r` and `R` rules
    - `--create` is used for all other cases (bootstrap)
 - All `notify:systemd` services now log with `logit` by 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 common `foo-stop-start.sh stop`, or `SIGTERM`, issue #412
 - Support for `reload:'script [args]'` to trigger a configuration
   reload in a service, issue #446

 - 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 neither `logger` or `logit` is available.  This fix also checks
   for systemd style log severity, leading `"<NUM>"` in log messages
 - Ensure API socket used by `initctl` is non-blocking (event loop)

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>