### 0.2.3 / 2011-03-30 * Require env ~> 0.1, >= 0.1.2. * Automatically search for programs with a `.exe` suffix, when running on Windows. * {RProgram::Compat.find_program} and {RProgram::Compat.find_program_by_names} now return a `Pathname` object. ### 0.2.2 / 2011-01-22 * Deprecated {RProgram::Compat.platform}. * Use `File::PATH_SEPARATOR` to separate the `PATH` environment variable in `RProgram::Compat.paths`. ### 0.2.1 / 2010-10-27 * Allow the formatter block passed to {RProgram::Option} to return `nil`. ### 0.2.0 / 2010-10-03 * Added {RProgram::Nameable::ClassMethods}. * Added {RProgram::Options::ClassMethods}. * Added {RProgram::Nameable::ClassMethods#path}: * {RProgram::Program.find} will default to {RProgram::Nameable::ClassMethods#path} if set. ### 0.1.8 / 2009-12-24 * Allow Program to run commands under sudo: * Added {RProgram::Compat.sudo}. * Added {RProgram::Task#sudo}. * Added {RProgram::Task#sudo=}. * Added {RProgram::Task#sudo?}. * Added {RProgram::Program#sudo}. ### 0.1.7 / 2009-09-21 * Require Hoe >= 2.3.3. * Require YARD >= 0.2.3.5. * Require RSpec >= 1.2.8. * Use 'hoe/signing' for signed RubyGems. * Moved to YARD based documentation. * All specs pass on JRuby 1.3.1. ### 0.1.6 / 2009-06-30 * Use Hoe 2.2.0. * Removed requirement for 'open3'. * Renamed PRogram::Compat.PATHS to `RProgram::Compat.paths`. * Refactored {RProgram::Option#arguments}. * Removed `RProgram::Option#format`. * Refactored {RProgram::NonOption#arguments}. * Renamed `RProgram::NonOption#leading` to {RProgram::NonOption#leading?}. * Removed `RProgram::NonOption#tailing`. * Added {RProgram::NonOption#tailing?}. * Added specs. * All specs pass on Ruby 1.9.1-p0 and 1.8.6-p287. ### 0.1.5 / 2009-01-14 * Use Kernel.system in {RProgram::Program#run}, instead of Open3.popen3: * popen3 is not well supported on Windows. * win32-open3 does not allow for the execution of single programs with separate command-line arguments. Instead, it merely executes a command string in command.com. This seems to allow arbitrary command injection via command-line arguments. * {RProgram::Program#run} will now return either `true` or `false`, depending on the exit status of the program. * Added some missing documentation. ### 0.1.4 / 2009-01-07 * Added `lib/rprogram/rprogram.rb` to the Manifest. * Added more documentation. ### 0.1.3 / 2008-01-27 * Renamed `RProgram::Program.create_from_path` to {RProgram::Program.find_with_path}. * Renamed `RProgram::Program.create_from_paths` to {RProgram::Program.find_with_paths}. * Renamed `RProgram::Program.create` to {RProgram::Program.find}. * Renamed `RProgram::Program.run_with_task` to {RProgram::Program#run_task}. ### 0.1.2 / 2008-01-18 * DRYed up lib/rprogram/task. * Added {RProgram::Task.define_option}. * Added OptionList so that Option may contain sub-options. * Touched up documenation. ### 0.1.1 / 2008-01-18 * Added support for the {RProgram::Option} argument separators. # # Creates arguments of the form: # # ["-opts","value1:value2:value3"] # long_option :flag => '-opts', :separator => ':' * Fixed the `lib/rprogram.rb` file. ### 0.1.0 / 2008-01-17 * Removed redundent methods in {RProgram::Program}: * `RProgram::Program.find_by_name` * `RProgram::Program.find_by_names` * Added `RProgram::Program#create`. * Made {RProgram::Program} nameable by default. * Prevented arbitrary command-injection in {RProgram::Program#run}. ### 0.0.9 / 2008-01-09 * Initial release. * Provides cross-platform access to the `PATH` environment variable. * Supports mapping long and short options. * Supports mapping leading and tailing non-options. * Supports custom formating of options.