Changes for version 20260401.0

  • Bug fixes:
  • GH #240 - Require IO::Pty 1.25 which fixes stale pty slave fd after close_terminal in child, replacing defensive workarounds (PR #241, PR #266)
  • GH #237 - Close Win32IO socket/pipe handles explicitly in _cleanup to prevent handle leaks (PR #246)
  • GH #242 - Handle $SIG{PIPE} set to 'DEFAULT' in _select_loop instead of crashing (PR #244)
  • Handle $SIG{CHLD} set to '' or 'DEFAULT' in _select_loop (PR #262)
  • Fix PTYS typo in adopt() and missing TIMERS init in harness constructor (PR #260)
  • Handle PTY allocation failure gracefully in start() instead of dying with an unhelpful error (PR #267)
  • Correct Timer.pm POD typos, _parse_time error message, and remove redundant parse call (PR #251)
  • Prevent noexec probe from leaking TAP output in search_path_cache.t (PR #247)
  • Improvements:
  • Correct broken POD links and code examples in documentation (PR #252)
  • Maintenance:
  • Update GitHub URLs from toddr/IPC-Run to cpan-authors/IPC-Run (PR #263)
  • Replace GPL v2 full text with standard "same terms as Perl" license (PR #268)
  • Add AI policy document (PR #248)
  • Use File::Spec->devnull in autoflush.t for portability (PR #250)
  • Skip search_path_cache.t on noexec temp filesystems (PR #247)
  • Remove dead code from Run.pm (PR #266)

Documentation

Modules

system() and background procs w/ piping, redirs, ptys (Unix, Win32)
debugging routines for IPC::Run
I/O channels for IPC::Run.
Timer channels for IPC::Run.
helper routines for IPC::Run on Win32 platforms.
helper routines for IPC::Run on Win32 platforms.
deliver nonstandard command lines via IPC::Run.
helper processes to shovel data to/from parent, child