RYE, CHANGES TODO: Fix "rye authorize" for remote root user #### 0.8.13 (2010-02-12) ############################# * CHANGE: Remove hanna dependency #### 0.8.12 (2010-01-16) ############################# * FIXED: Removed dependency on ssh-agent. Also fixes starting many instances of said executable. * FIXED: file_append was overwriting when supplied a String (!) * ADDED: Use SSH config file by default [Justin Case] #### 0.8.11 (2009-10-30) ############################# * CHANGE: Increased timeout on disconnect #### 0.8.10 (2009-10-07) ############################# * CHANGE: Improved startup time. #### 0.8.9 (2009-08-26) ############################# * FIXED: authorize-local for Windows #### 0.8.8 (2009-08-25) ############################# * FIXED: Rye::Box#guess_user_home for Windows SSH support * CHANGE: Renamed Rye::Box#cmd -> Rye::Box#__allow * ADDED: New whitelist commands: wget, curl, dir * ADDED: Rye::Box#file_write #### 0.8.7 (2009-08-11) ############################# * FIXED: Rye::Box info level output is cleaner * FIXED: file_upload / download now expanding local tildas when safemode is disabled * ADDED: Interactive handling for removing gems * ADDED: dir_upload and dir_download #### 0.8.6 (2009-08-04) ############################# * FIXED: SystemCallError / "Broken Pipe" error when disconnecting in JRuby 1.3 * FIXED: CommandNotFound: nil error in Windows #### 0.8.5 (2009-07-14) ############################# * CHANGE: Rye::Box#getenv now accepts an option key name * CHANGE: When not in safe mode, method missing will execute a method name as a shell command * ADDED: Rye::Box#execute for running arbitrary commands when not in safe mode #### 0.8.4 (2009-06-30) ############################# * FIXED: Reference to (still) non-existent net-ssh 2.0.12 is now 2.0.11 #### 0.8.3 (2009-06-30) ############################# * ADDED: JRuby 1.3 support * ADDED: Tryouts (i.e. better testing) #### 0.8.2 (2009-06-23) ############################# * FIXED: Rye::Box.switch_user will disconnect but not create a new connection. * FIXED: Rye::Cmd#add_command hard coded argument handling for blocks * CHANGE: Rye::Rap#to_s now returns stdout.join($/) * CHANGE: Regexp workaround for remote password prompts is now case insensitive. * ADDED: Rye::Cmd#string_upload and Rye::Cmd#string_download * ADDED: Rye.shell example to README (thanks rogerdpack) #### 0.8.1 (2009-06-22) ############################# * FIXED: file_upload now handles globs like a champ * FIXED: Handling of relative paths in Rye::Box#cd and Rye::Box#[] * ADDED: file_upload now assumes uploading to home directory when only 1 arg * ADDED: Rudyfile for remote 'clean-machine' tests * CHANGE: guess_user_home, ostype, and getenv now run quietly #### 0.8.0 (2009-06-21) ############################# * FIXED: safely and unsafely (Rye::Box) now return the block return value * ADDED: Rye::Set#parallel and Rye::Set#parallel= methods * ADDED: Rye::Box#quietly * CHANGE: Updated Rye::Set#inspect and Rye::Set#to_s * CHANGE: Exception hook now receives: ex, cmd, user, host, nickname * CHANGE: Increased Kernel.sleep to 0.03 in Rye::Set.run_command_parallel * CHANGE: Renamed Rye::Cmd#upload and Rye::Cmd#download to file_upload and file_download * CHANGE: Rye::Cmd#file_exists? now executes quietly (doesn't pollute logging) #### 0.7.6 (2009-06-19) ############################# * FIXED: Raise Rye::NoPty exception when Net::SSH returns message "Pseudo-terminal will not be allocated because stdin is not a terminal." * FIXED: Rye::Box#disconnect would hang in some instances. Now waits 3 seconds. * FIXED: Bug in net_ssh_exec which was causing it to not return an exit code * CHANGE: All exceptions now inherit from Rye::Error (Runtimerror) * CHANGE: A NoPassword exception is raised when a password prompt returns nil. * CHANGE: pre_command_hook block arguments have changed: NEW: complete command, user, host, nickname OLD: command, args, user, host, nickname #### 0.7.5 (2009-06-13) ############################# * FIXED: Rye::Set methods were not accepting or passing blocks. * ADDED: Rye::Set#user and Rye::Set#opts methods * ADDED: Rye::Box#nickname * ADDED: exception hooks for Rye::Box. * CHANGE: Rye::Set method missing now forwards to Rye::Box methods instead of Rye::Cmd #### 0.7.4 (2009-06-04) ############################# * FIXED: Bug in Rye::Box#interactive_ssh related to instance variable renaming from 0.7.0. * FIXED: Bug in Rye::Cmd#file_append which tried to download files that didn't exist * CHANGE: Removed error message, "EC2 instances generate new SSH keys on first boot" * ADDED: Rye::Cmd#remove_method * ADDED: Rye::Rap#> and Rye::Rap#>> methods to emulate shell redirect to file #### 0.7.3 (2009-06-03) ############################# * ADDED: enable_safe_mode and disable_safe_mode methods * ADDED: New default Rye::Cmd methods: gzip, bzip, tar and all derivatives. ./configure and make too. * ADDED: Rye::Cmd#safely and Rye::Cmd#unsafely methods * ADDED: Rye::Cmd#digest_md5, Rye::Cmd#digest_sha1, Rye::Cmd#digest_sha2 methods * ADDED: Rye::Cmd#file_verified? method * ADDED: Rye::Box#net_ssh_exec! now checks and correctly prompts for a sudo response password. Note: this will be upgraded in for 0.8 to support any prompt. * FIXED: Net::SSH paranoid now set to false when safe mode is disabled. #### 0.7.2 (2009-06-01) ############################# *A re-release of 0.7.1 to force Rubyforge to update the gem* #### 0.7.1 (2009-06-01) ############################# * CHANGE: Removed broken grep method from Rye::Rap * FIXED: Bug which prevented setting relative paths in non-home directory * ADDED: Rye::Cmd#add_command helper for adding new command methods. * ADDED: pre-command-hook now sends the hostname to the block #### 0.7.0 (2009-05-30) ############################# * CHANGE: Rye::Box now uses unique instance variable names to encourage using instance variables in batch command blocks. * ADDED: Rye::Box#file_append #### 0.6.6 (2009-05-21) ############################# * CHANGE: Key management is handled by ssh-agent again (instead of Net::SSH) #### 0.6.5 (2009-05-10) ############################# * CHANGE: Default exit code is now 0 instead of -1 * CHANGE: Removed Sys (using sysinfo gem) * CHANGE: Removed vendor/highline-1.5.1 (it's now available via gem) #### 0.6.4 (2009-05-04) ############################# * FIXED: authorize_remote was not returning to the directory it started with. * ADDED: pre and post command hooks to Rye::Box * ADDED: Rye::Box.batch * ADDED: Support for OS X for Rye::Box.guess_user_home #### 0.6.3 (2009-05-02) ############################# * FIXED: Rye::Box.guess_user_home wasn't handling the username arg (only using default name) * ADDED: Rye::Cmd.can? * ADDED: Rye::Cmd.ostype #### 0.6.2 (2009-04-29) ############################# * FIXED: I forgot to add highline to the gemspec file manifest. Cripes! #### 0.6.1 (2009-04-29) ############################# * ADDED: Prints message to STDERR when passwordless login fails. * ADDED: Highline 1.5.1 to vendor to fix the Ruby 1.9 issue (Highline 1.5.1 is not released as a gem yet) * CHANGE: Cleaned examples and links in README #### 0.6.0 (2009-04-28) ############################# * FIXED: handling of Process::Status ($?) in Rye.shell * FIXED: Removed reference to Rudy::Error in bin/rye * ADDED: Rye::Box.getenv * ADDED: Rye::Box.can? * ADDED: Rye::Box.umask= (a similar work around as cd / []) * ADDED: Rye::Box.file_exists? * ADDED: Rye::Box.authorize_keys_remote can now authorize for a different user * ADDED: Rye::Box.upload and Rye::Box.download * ADDED: Rye::SystemInfo.tmpdir * CHANGE: Rye::Box.prep_args doesn't treat multicharacter Symbols as command-line options any more (single character ones are still converted) * CHANGE: Renamed Rye::Box.add_env to Rye::Box.setenv * CHANGE: rm and kill are available in Rye::Cmd by default * CHANGE: Rye::Box.authorize_keys renamed Rye::Box.authorize_keys_remote * CHANGE: The Rye::Rap object now contains the exit code as an integer for Rye.shell and Rye::Box.run_command (SSH) commands. * UPDATED: Rdocs and README #### 0.5.4 (2009-04-22) ############################# * FIXED: Sys is now returning environment paths and home path in JRuby. * ADDED: Better Interrupt handling * ADDED: Rings terminal bell when asks to Continue after HostKey error. * CHANGE: Removed require 'rubygems' #### 0.5.3 (2009-04-20) ############################# * FIXED: Rye::Box.connect raises exceptions instead of exits * ADDED: Rye::Box.connect now rescues HostKeyMismatch exceptions and prompts for a response. #### 0.5.2 (2009-04-19) ############################# * FIXED: authorize-local command attempted to connect via SSH before authorizing. #### 0.5.0 (2009-04-18) ############################# * FIXED: Bug in connect which prevented key-based logins for reconnections * FIXED: Method errors in JRuby * FIXED: Bug in Rye::Set.add_boxes pushing nils into the list of boxes * ADDED: Rye::Box.switch_user * ADDED: Several new commands to Rye::Cmd * ADDED: Rye::Box.authorize_keys_local and "rye authorize-local #### 0.4.3 (2009-04-14) ############################# * FIXED: All Rye::Cmd command methods accept *args to make calling consistent. * ADDED: Rye::Box.missing_method to handle non existent commands #### 0.4.2 (2009-04-13) ############################# * ADDED: More helpful debug output * ADDED: hostname command to Rye::Cmd * ADDED: Rye::Box.connect now supports multiple password attempts if STDIN.tty returns true * ADDED: Rye::Box.interactive_ssh for opening an SSH session to the given box. * CHANGE: Using OpenSSH's ssh-agent but also let's Net::SSH handle the ssh keys. #### 0.4.1 (2009-04-06) ############################# * FIXED: Rye::Box.authorize_keys_remote was not disabling safe mode properly * FIXED: Disabled debug mode. * ADDED: "rye authorize" now specifically enforces the auth method order #### 0.4.0 (2009-04-06) ############################# * FIXED: Box.run_command was parsing arguments incorrectly * FIXED: Box.net_ssh_exec was working on nil stderr * FIXED: bin/try handles the new command exceptions * ADDED: to_s and inspect methods for cleaner debugging output * ADDED: == method for Rye::Box * ADDED: exit code and exit signal to Rye::Rap objects * ADDED: Command switches can now be sent as Symbols (rbox.ls(:h)) * ADDED: Rye.host_keys * ADDED: bin/rye * ADDED: commands now raise a Rye::CommandError exception when the command returns an exit code greater than 0. * CHANGE: Box.add_command renamed to Box.run_command #### 0.3.2 (2009-04-05) ############################# * FIXED: Module.instance_methods bug. In Ruby 1.9 it's Symbols (1.8 was Strings). * FIXED: Rye::Set#add_boxes didn't return self. * UPDATED: Lots of docs tweaks. #### 0.3 (2009-04-05) ############################### * FIXED: Rye::Box wasn't properly adding keypairs to SSH Agent * FIXED: Rye::Box.method_missing Symbol/String ambiguity * ADDED: Rye::Set supports executing commands parallel * ADDED: Rye::Rap now contains STDERR output from command * ADDED: Supports all options provided by Net::SSH#start. This includes support for password logins and proxies. * ADDED: Safe mode can now be disabled (to allow file globs and environment variable access). * ADDED: Basic sanity test * ADDED: Mucho more rdocs and examples. * CHANGE: Moved all SSH key stuff to Rye (used to be done per Box) #### 0.2 (2009-04-04) ############################### * FIXED: ssh-agent shutdown wasn't deleting the SSH tmp directory * ADDED: Now with more rdocs! #### 0.1 (2009-04-03) ############################### Initial public release #### TODO ########################################### * Re-implement Rye::Rap as an Observable StringIO object for dynamic printing of output. * Fingerprints: ssh-keygen -l -f id_rsa_repos.pub