The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Net::SFTP::Foreign

1.48_03  Feb 18, 2009
	- use utf8::downgrade to handle data with may have its utf8
          flag set (bug report by Jamie Lahowetz, solution by ikegami)
	- emulate SSH2_FXF_APPEND mode not supported by OpenSSH SFTP
          server
	- open flags documented
	- minor documentation corrections
	- follow_links option from find method was broken (bug report
          by Paul Kolano)
	- spurious debugging message removed from statvfs
        - put and get now accept a file handle instead of a file name
          for the local file (feature request by David Morel)
        - add support for append option in put and get
	- put and get documentation reorganized
	- improve write caching behavior, '_write_delay' is used to
          control the write buffer size (feature request by David
          Morel)

1.47  Feb 13, 2009
        - add support for per object dirty cleanup flag required by
          proper Net::OpenSSH integration
	- add support for old SSH1

1.46  Dec 18, 2008
        - release as stable version
	- improve synopsis documentation
	- commercial support offering note added

1.45  Nov 11, 2008
        - reduce localized scope for $SIG{__DIE__} and $@ (bug report
          by David Serrano and David Riosalido)
        - workaround incomplete unicode support in perl 5.6.x
        - new FAQ entry about how to completely disable passwd
          authentication
        - add support for OpenSSH protocol extensions statvfs,
          fstatvfs and posix-rename.
        - add overwrite feature to rename method
        - new fs_encoding feature added ***this is a mayor internal
          change that could introduce new bugs***
        - when parsing status msgs, the string was not being converted
          to utf8
        - croak when utf8 data is written to remote files in any way.
        - binmode ssh_in and ssh_out
        - some minor documentation corrections
        - add support for mkpath (feature requested by Mark Murphy)
        - add support for late_set_attr (bug report by Oliver Dunbar)
        - add support for extended file attributes (bug report by
          Oliver Dunbar)
        - add support for the autodisconnect feature (bug report by
          Jared Watkins).
        - add support for multiprocess debugging

1.44  Oct 9, 2008
        - put was using block sizes 4 times bigger than
          requested, bug introduced in 1.41 (reported by Hussain
          Syed).

1.43  Sep 8, 2008
        - readline was slurping the full file contents (bug report by
          Sylvain Cousineau).

1.42  Jul 17, 2008
        - experimental support for resuming file transfers
        - some typos fixed
        - TODO added

1.41  Jul 16, 2008
        - add support for on the fly data conversions including
          dos2unix and unix2dos
        - copy_perm => 0 was being ignored in several methods (bug
          report by Dave Tauzell)

1.40  Jun 24, 2008
        - work around for servers that do not include the mandatory
          error message on SSH_FXP_STATUS responses (bug report by
          Hugh Lampert).

1.39  Jun 23, 2008
        - suppress warning on mod_perl environments (bug and solution
          reported by Eric Rybski).

1.38  May 20, 2008
        - add experimental support for plink command
        - on get, don't change file size passed to callback
        - on get, survive stat failure for servers with stat/readdir
          disabled (bug reported by Hussain Syed)
        - default open mode set to read
        - add support for block_size and queue_size constructor
          arguments
        - limit usage of Expect and PTYs to authentication phase (bug
          reported by Tom Warkentin)
        - honour copy_perm option in put method (bug report by Bruce
          Harold)
        - copy_perms option renamed to copy_perm for consistency
          (copy_perms still supported)
        - glob optimization
        - typo in Net::SFTP::Foreign::Common::_set_errno was not
          setting $! correctly (bug report by Rafael Kitover)
        - add debugging support to _do_io and _set_(status|error)

1.36  Apr 18, 2008
        - forbid usage of Net::SFTP::Foreign methods from Compat
          module (bug reported by Fred Zellinger)
        - document the password and passphrase constructor
          options.

1.35  Feb 8, 2008
        - put method was failing for binary files under Windows
          because binmode was not set on the local filehandler (bug
          report and patch by Patrick Frazer).

1.34  Jan 8, 2008
        - document rput. It said it was not implemented (bug report
          by Paul Kolano).
        - put method was failing for binary files under Windows
          because binmode was not set on the local filehandler (bug
          report and patch by Patrick Frazer).

1.33  Jan 6, 2008
        - rremove was not removing dirs (bug report by Paul Kolano).
        - require perl >= 5.6
        - add support for open/close and DESTROY debugging

1.32  Dec 8, 2007
        - add new question to FAQ
        - document password and passphrase options (though, not
          completely).
        - somo minor documentation changes
        - on testing look for sftp-server on libexec dirs
        - and delete temporal files

1.31  Oct 8, 2007
        - remove Win32::Socketpair loading, it is not used anymore
        - improve debugging
        - do not croak when invalid data from the other side appears

1.30  Aug 23, 2007
        - add support for realpath option to ls method
        - add support for realpath and names_only to glob method
        - improve _set_status and _set_error methods
        - add support for password authentication and for keys with
          passphrases

1.29  Aug 14, 2007
        - add support for names_only option to ls and find methods
        - make ls and find methods default to '.'
        - DESTROY was also messing with $? and $! values (bug reported
          by Dave Haywood)
        - better usage checking for several methods
        - add support for cwd (experimental)
        - symlink docs corrected
        - several other doc corrections

1.28
        - argument checking in rename was wrong (reported by Greg
          Howard)
        - disable DIE custom handlers when using eval

1.27  Jul 7, 2007
	- catch insecure $ENV{PATH} under taint mode (bug reported by
	  jmarshll).

1.26  Jul 5, 2007
        - my email was missing from the docs
        - make it work under taint checking (experimental feature).
        - work around bug in dualvar under taint checking

1.25  Jun 19, 2007
        - remove some obsolete tests not working on 5.9.x

1.24  Jun 18, 2007
        - DESTROY was messing up $@ (bug reported by Kai Grossjohann)
        - set $SIG{PIPE} handler inside _do_io to catch IO errors
        - don't execute external command when transport option is used
          on constructor

1.23  May 23, 2007
        - release as stable!
        - some doc improvements

0.90_22 Apr 29, 2007
        - experimental Windows support added

0.90_21 Apr 25, 2007
        - some documentation improvements
        - check that ctor 'more' arguments are not joined
        - eliminate "Password" prompt on passwd_auth sample (solution
          suggested by Fletch on PerlMonks)

0.90_20 Apr 20, 2007
        - add support for "transport" options on the constructor that
          allows to use password authentication and keys protected by
          a passphrase
        - add password authentication sample

0.90_19 Apr 5, 2007
        - add abort method (feature requested by Jamie Lahowetz)

0.90_18 Mar 23, 2007
        - fallback to dirty cleanup if ssh process doesn't exit cleanly in
          8 seconds (bug reported by Brandon Schendel).

0.90_17 Mar 21, 2007 
        - add support for dont_save flag in get method, required for
          Compat module (bug reported by Jamie Lahowetz).

0.90_16 Mar 18, 2007
        - new tests added
        - mkdir, rmdir, remove, setstat, fsetstat and _close methods
          argument parsing was wrong (bug #25101 reported by
          funkonaut)
        - wrong detection of Sort::Key corrected
        - debug mode was broken
        - network errors do not die anymore, documented

0.90_15 Dec 19 2006
        - messages were not being queued on get method and so,
          performance was very bad (reported by "sched" via
          Perlmonks).
        - Auto reduce block size on get method.

0.90_14 Nov 8 2006
        - FAQ section added on the module documentation
        - Net::SFTP supplant was not working, corrected

0.90_13 Sep 22 2006
        - fchmod is not available everywhere, don't use it (bug and
          solution reported by Andre Tomt).

0.90_12 Aug 21 2006
        - syntax error on Net::SFTP::Foreign::Compat corrected
          (reported by Hans Schligtenhorst).
        - supplant was misspelled
        - correct some dependency problems on Compat.
        - add test for Compat.

0.90_11 Jun 30 2006
        - don't croak from connect on runtime errors
        - workaround bug in IPC::Open3 that leaves two processes
          running

0.90_10 May 17 2006
        - 0 is a valid sftp handler.

0.90_09 Apr 25 2006
	- bug on _do_io method corrected

0.90_08 Apr 24 2006
	- bug for copy_perms => 0 corrected (reported by Erik
	  Johansen).
	- usage checks added to most commands.

0.90_07 Apr 23 2006
	- don't use pack for quads on little-endian systems (bug
	  reported by Mogens Hafsjold)

0.90_06 Feb 24 2006
	- implement rput
	- use Win32::Socketpair on Windows
	- implement API for local fs in Local
	- move common functions to Common and Helpers packages

0.90_05 Feb 23 2006
	- convert remote file handle strings to tied file handles
	- most methods changed to mimic perl buil-ins
	- attach file position to file handles.

0.90_04 Feb 22 2006
	- remove bug in get that could left remote file handles open
	- new methods readlink, symlink, rremove, rget.

0.90_03 Feb 21 2006
	- minor corrections to the docs
	- new methods glob and join implemented.

0.90_02 Feb 20 2006
	- added new method find
	- ls method expanded with callback
	- contructor rewritten
	- better docs for Constants package
	- Compat module updated
	- several corrections on the docs
	
0.90_01 Feb 16 2006
	- almost full rewrite exposing new much improved and
	  incompatible API!!!

--------------------------------------------------------------------------

0.57  Nov 29 2005
	- check sysread return value when reading from pipe (bug
	  report and patch submited by Mina Naguib).

0.56  Nov 14 2005
	- correct bug on open2_cmd option

0.55  Oct 24 2005
	- kill ssh process when done (bug reported by Alf Carlsson).

0.54  Sep 07 2005
	- add support for transferring files bigger than 4GB

0.53  May 03 2005
	- link to SFTP draft actualised

0.52  May 03 2005
	- some typos corrected on the docs.
	
0.51  May 03 2005
	- Net::SFTP::Foreign::Buffer reimplemented from scratch. It
	  doesn't depend on Net::SSH::Perl::Buffer anymore.
	- use foreign 'ssh' to open connections.

0.50  May 02 2005
	- Net::SFTP::Foreign FORKED !!!


--------------------------------------------------------------------------
Previous revision history for Net::SFTP

0.09  2005.01.16
    - New co-maintainer, David Robins (DBROBINS).
    - Adds a 'warn' argument to the constructor to allow supression or
      redirection of warnings.
    - Allows the 'ssh_args' constructor argument to be either a hash ref or an
      array ref.
    - Adds a 'status' method which returns the last SSH2_FX_* status value, or
      (status value, text) in list context (only useful after last failure).
    - Adds brief summary comments to some methods.
	- Returns failure if the remote open fails for 'get' (previous code ignored
      it); also moves the remote open before the local open so that we don't
      create empty local files if the remote file can't be opened.
	- Changes 'ls' to return an array reference in scalar context.
	- Documents: the fact that we die on protocol/local errors; the new option
      and method; changes to 'get'/'put' (formerly 'put' didn't return anything
      useful, and 'get's actual return values are the same, just better
      documented).
	- Adds a comprehensive remote test, but to use it one has to manually go in
      and configure a server a certain way, so it defaults to skipping
      everything; I'm including it as a base since there are currently no remote
      tests at all.

0.08  2003.12.12
    - Net::SFTP::Buffer was passing an invalid option when loading
      Net::SSH::Perl::Buffer.
    - Add SUPPORT section to the docs.

0.07  2003.11.14
    - Require Net::SSH::Perl 1.24, which also includes circular
      reference fixes.

0.06  2003.11.14
    - New maintainer, Dave Rolsky.
    - Fixed a circular reference which caused connections to be held
      open indefinitely in a persistent environment like mod_perl.
      This uses weak references, so Perl 5.6.0+ is now required.  This
      work was funded by Kineticode, Inc.
    - Added a LICENSE file.

0.05  2001.05.24
    - Added help ('h' or '?') command to psftp. Moved all shell
      functionality into Net::SFTP::Shell.
    - Net::SFTP::Util needed to 'use Exporter'.

0.04  2001.05.16
    - Fixed bug in put method when running fsetstat command; it
      was trying to set the UID/GID on the remote file, which
      was giving a permission denied message. Should not try to
      set UID/GID, so had to adjust flags.
    - Added eg/psftp, a working SFTP shell.
    - Moved READ and WRITE commands into their own methods
      (do_read and do_write, respectively).
    - Changed semantics of get method. Returning the contents of
      the remote file is no longer connected to whether a local
      file is passed as an argument; it is instead based on the
      calling context of 'get'. Updated docs to reflect this.

0.03  2001.05.15
    - Documentation for all extra classes: Attributes, Buffer,
      Constants, and Util.
    - Documentation for command methods in Net::SFTP.
    - Added binmode when reading/writing from local files.
    - Added methods for all remaining commands in SFTP protocol
      version 3 (eg. remove, rmdir, mkdir, realpath, etc.).
    - Added callbacks to get and put, eg. for status messages,
      etc.
    - Fixed typo in Net::SFTP::Buffer::get_int64 that was breaking
      reading 64-bit ints.

0.02  2001.05.14
    - Fixed bug with SSH2 server not sending one message per
      packet, ie. multiple packets have to be retrieved to make
      up one SFTP message. This would show up as a "Message length
      too long" error. Thanks to Matt Good for the spot.
    - Fixed bug with OpenSSH and SSH2 SFTP servers where after
      a certain amount of bytes the connection would hang. This
      was a bug in Net::SSH::Perl (channel window sizes) that is
      fixed in version 1.13.

0.01  2001.05.13
    - original version; created by h2xs 1.19