Skip to content

v0.3.1 - Background Command Fix + Migration Guides

Choose a tag to compare

@homer6 homer6 released this 08 Apr 18:28
· 20 commits to main since this release
a53dc23

Released: April 8, 2026

Patch release fixing a regression where commands containing backgrounded subprocesses (command &) silently failed in legacy mode. Also adds migration guides and documents the release branch workflow.

Bug Fix

  • Fix background commands silently failing in legacy mode (#17) -- daemonize() was closing file descriptors 0-2 instead of redirecting them to /dev/null. This violates POSIX: child processes launched via system() inherit the closed FDs, and shells enter a non-conforming state where backgrounded subprocesses silently fail to execute. The fix uses open("/dev/null", O_RDWR) + dup2() to match the behavior of daemon(0, 0).

Documentation

Testing

  • 6 new regression tests for daemonize FD behavior (tests/test_daemonize.cc)
  • .gitignore uses wildcard pattern for test binaries
  • CI now triggers on release branches (0.*) in addition to main

Upgrading

Drop-in replacement for v0.3.0. No configuration or CLI changes.