All Versions
16
Latest Version
Avg Release Cycle
115 days
Latest Release
256 days ago

Changelog History
Page 1

  • v0.10.1 Changes

    February 14, 2021

    🛠 Fixed

    • 🛠 Fix undesired persistence of environment variables in Ruby >= 3.0.0
  • v0.10.0 Changes

    October 22, 2020

    🔄 Changed

    • 🔄 Change :chdir option to escape directory location path
    • 📇 Change gemspec to add metadata and remove test artefacts
    • ⚡️ Change to update pastel dependency and restrict version to minor only
    • ✂ Remove bundler as a dev dependency and relax rspec's upper boundary

    🛠 Fixed

    • 🛠 Fix Ruby 2.7 keyword conversion errors
    • 🛠 Fix error when environment variable contains % character
  • v0.9.0 Changes

    September 28, 2019

    🔄 Changed

    • 🔄 Change gemspec to require Ruby >= 2.0.0
  • v0.8.2 Changes

    August 07, 2018

    🔄 Changed

    • 🔄 Change gemspec to load only required files

    🛠 Fixed

    • 🛠 Fix issue with Ruby greater than 2.5.0 displaying thread error traceback by default
  • v0.8.1 Changes

    May 20, 2018

    🔄 Changed

    • 🔄 Change ProcessRunner#write_stream to handle all writing logic
  • v0.8.0 Changes

    April 22, 2018

    ➕ Added

    • Add :output_only_on_error option by Iulian Onofrei(@revolter)
    • ➕ Add :verbose flag to toggle warnings

    🔄 Changed

    • 🔄 Change ProcessRunner to use waitpid2 api for direct status
    • 🔄 Change ProcessRunner stdout & stderr reading to use IO.select and be non-blocking

    🛠 Fixed

    • 🛠 Fix :timeout to raise when long running without input or output
    • 🛠 Fix ProcessRunner to ensure no zombie processes on timeouts
  • v0.7.0 Changes

    November 19, 2017

    ➕ Added

    • ➕ Add :binmode option to allow configuring input & ouput as binary
    • ➕ Add :pty option to allow runnig commands in PTY(pseudo terminal)

    🔄 Changed

    • 🔄 Change Command to remove threads synchronization to leave it up to client to handle
    • ⚡️ Change Cmd to allow updating options
    • 🔄 Change Command to accept options for all commands such as :timeout, :binmode etc...
    • 🔄 Change Execute to ChildProcess module
    • 🔄 Change ChildProcess to skip spawn redirect close options on Windows platform
    • 🔄 Change to enforce UTF-8 encoding for process pipes to be cross platform
    • 🔄 Change ProcessRunner to stop rescuing runtime failures
    • 🔄 Change to stop mutating String instances

    🛠 Fixed

    • 🛠 Fix ProcessRunner threads deadlocking on exclusive mutex
    • 🛠 Fix :timeout option to raise TimeoutExceeded error
    • 🛠 Fix test suite to work on Windows
    • 🛠 Fix Cmd arguments escaping
  • v0.6.0 Changes

    July 22, 2017

    ➕ Added

    • ➕ Add runtime property to command result
    • ➕ Add ability to merge multiple redirects

    🔄 Changed

    • 🔄 Change to make all strings immutable
    • 🔄 Change waiting for pid to recover when already dead

    🛠 Fix

    • 🛠 Fix redirection to instead of redirecting to parent process, redirect to child process. And hence allow for :out => :err redirection to work with output logging.
  • v0.5.0 Changes

    July 16, 2017

    ➕ Added

    • ➕ Add :signal option for timeout
    • ➕ Add :input option for handling stdin input
    • ➕ Add ability for Command#run to specify a callback that is invoked whenever stdout or stderr receive output
    • ➕ Add Command#wait for polling a long running script for matching output

    🔄 Changed

    • 🔄 Change ProcessRunner to immediately sync write pipe
    • 🔄 Change ProcessRunner to write to stdin stream when writable

    🛠 Fixed

    • 🛠 Fix quiet printer write call by @jamesepatrick
    • 🛠 Fix to correctly close all pipe ends between parent and child process
    • 🛠 Fix timeout behaviour for writable and readable streams
  • v0.4.0 Changes

    February 22, 2017

    🔄 Changed

    • ✂ Remove automatic insertion of semicolons on line breaks and fix issue #27