New in 1.1 ---------- * Applied patch by Mark Schreiber that checks for errno.h in configure.ac * Less picky autogen.sh * sysconfdir setting from configure honored (thanks to Toru TAKAMIZU) * alternative SSH port now accepted (thanks Henk Csaba) * Applied patch from Eduard Bloch that adds a setting for user configurable SSH options * Uses standard SI prefixes for binary multiples (KiB, MiB, GiB) in transfer progress * Fixed bug when pressing Ctrl-D in user input (ask), reported by Robin Breathe * Applied patch by Thomas Habets, fixing a file descriptor leak * Fixed the "-s" parameter for the "fxp" command (patch by Julien Antille) * Included the large file support patch by Eduard Block * Applied patch from Eduard Block that improved the help command * Applied patch from Martin Pitt that fixes the errno.h problem in makepath.c New in 1.0 ---------- * bumped version to 1.0 (at last!) * applied patch from John Fremlin that adds an option to disable the dots (...) while waiting for directory download when completing * compare filesize & -date if file already exists (suggested by Steve Grecni) * added cache timeout feature (suggested by Cameron W Johnston) * made sftp:// an alias to ssh:// (suggested by Marcel Prisi) * put --append didn't work in ssh mode, fixed * fxp now uses other connection as default target (if there are exactly two open connections) (suggested by Phyber) * fixed get/put/fxp/rm on directories with apostrophes and other chars that need to be quoted (reported by Morra) * bookmark -u (w/o host) now also updates the saved bookmarks file * added option auto_bookmark_update: specifies handling of updating existing bookmarks (suggested by Aleksander Adamowski) * the ltag command now ignores multiples just as tag does * only tries to parse MLSD if MLSD command given * directory listing can now partly fail (if not all lines failed, yafc will show the files that it could parse), * support for iso date and time format in unix directory listing (YYYY-MM-DD HH:mm) * added option --skip-empty to get/put/fxp (skips empty files) * added config option transfer_first_mask (transfers specified files before other files) * fixed bug in ssh put: --resume truncated file (reported by Eduard Bloch) * upgraded to latest autoconf/automake * new autoconf checks for Kerberos based on code from the Arla project * now check for Kerberos by default New in 0.7.10 ------------- * fixed segfault in list.c New in 0.7.9 ------------ * Changed get -o function; if the argument ends with a slash it is always considered a directory, if only one file is transferred and the destination already exists and is a directory the file is put in that directory (thanks David Harris) * the "long command" setting now also applies to connection attempts (thanks Aubin Paul) * put, rm, untag, cat and ltag functions now handles quoted characters correctly (thanks to Mark Schreiber) * fixed segfault with bookmarks without login (thanks Markus Dobel) New in 0.7.8 ------------ * Fixed segfault when issuing "bookmark -u" without being connected. * Went around issue in PureFTPd when listing files using MLSD. PureFTPd doesn't recognize directory arguments with spaces. New in 0.7.7 ------------ * Applied patch from Decklin Foster, fixing segfault on connecting with a 'default' statement in config file (reported by Ari Pollak) New in 0.7.6 ------------ * Replaced yafc.spec from Ryan Weaver with one by Mandrake (untested!) * applied patch from Eduardo Pérez, now yafc by default doesn't send email address as anonymous password * fixed bug with mkdir/rmdir in wrong directory in ssh mode * 'yafc ssh://hostname -u' now asks for username * fixed wrong number of days per month * removed -o options to ssh when connecting in ssh mode * added bookmark option 'noupdate' and bookmark -u option (toggles force disable auto update of bookmark) New in 0.7.5 ------------ * fixed reconnection loop (reported by Johan Renström) * put didn't transfer .dotdirectories (reported by Alan Hagge) * get -a (append) wasn't recognized (reported by Decklin Foster) New in 0.7.4 ------------ * Fixed segfault in DOS directory listings (thanks Cort Tompkins) * Fixed alias %-expansion off-by-one bug, %1 is now the first arg (thanks Jens Askengren) * Fixed parse error in some weird directory listings (thanks Matthew Gabeler-Lee) New in 0.7.3 ------------ * Fixed segfault when doing a 'alias l', where l is an ambiguous alias (thanks Ari Pollak) New in 0.7.2 ------------ * Applied patch from Mark Screiber, fixing 'yafc -a unresolvablehost' bug * Fixed bug with binary transfers being in ascii mode after reconnect * Support for MLSD directory listings * removed 'help cmd', use 'cmd --help' instead * removed filesize and flush commands New in 0.7.1 ------------ * removed bignum functions from src/ftp/bufaux.[ch] (depended on openssl) * added checks for data types * added per-url sftp setting (specifies path to remote sftp-server program) * new option to open: --sftp=PATH to remote sftp-server program * added check for pipe/socketpair in configure.in * fixed sorting bug in 'ls' introduced in version 0.7 New in 0.7 ---------- * Applied patch from Tim Mooney, adding support for MIT Kerberos 5 * Added support for readline 4.2 * Automatic reconnection if connection timed out * new option: autoreconnect true/false * new command: reopen * SSH2 support (incorporated code from sftp/OpenSSH) try "open ssh://username@host" * new option: ssh_program (path to local ssh program) * new option: sftp_server_program (path to remote sftp-server program) * now stores protocol in bookmarks file * updates bookmarks if protocol changed (eg, from "ftp" to "ssh") * ls now always sorts on name (if no other sort method is specified) * 'ls -r' now works (lists in reversed name order) * 'ls .' now works * new option: reverse_dns, do reverse DNS lookups? (thanks Ari Pollak) * cleanups for old readline 2.0 * removed gettext support (not used anyway) * defaults to passive mode * new default transfer_string * transfers are now verbose by default (use --quiet to turn off progress bar) New in 0.6.6 ------------ * fixed site command (didn't recognize args correctly) (thanks Clemens Ender) * fixed connect retry bug in login.c (thanks Matthew Gabeler-Lee) * fixed compile error when not using readline (thanks Jason Lunz) * "ls ./" didn't get cache hit New in 0.6.5 ------------ * changed default value for auto_bookmark to yes * added option --type={ascii|binary} to cat * forgot a fflush() in cat (cat didn't work on binary files) (thanks Decklin) * fixed broken alias zpage in yafcrc.sample + added (b)zcat alias * removed arguments to site command (thanks to Robert Hahn) * 'get/put onefile -o othername' instead of 'get/put onefile -o otherdir' confused? look in the manual... (thanks to Skyper Sorg) * use_passive_mode in config file was ignored (thanks to Ari Pollak) * new option: transfer_xterm_string (thanks to Ari Pollak) * removed swedish po-file (I don't have time to maintain it) * check for circular include statements in config file * bookmarks are now always kept in ~/.yafc/bookmarks * cleanups; moved small generic funcs to utils.c * even more manual updates * protlevel is now updated in bookmarks New in 0.6.4 ------------ * removed lib/setproctitle.[ch] due to licensing problems (thanks Decklin) * moved src/bashline.[ch] to lib/ * updated manpage * more manual updates * zcat removed (use 'cat | zcat' or 'cat | bunzip2 -c') New in 0.6.3 ------------ * removed nokrb option in bookmarks * added option --mechanism=MECH to open command (and removed --krb/--nokrb) * always using private protlevel in kauth * fix for DOS style paths (w/backslashes) * some manual updates * added per-url passive mode setting in bookmarks * added per-url mechanism setting in bookmarks New in 0.6.2 ------------ * sets nokrb option if AUTH unknown * added bookmark --delete * implemented luntag * fixed bug in local taglist saving/loading * fixed alias bug (segfault) * DOS LIST-output directory filename bug fixed * DOS LIST-output y2k issue fixed (now assumes 21th century if YY < 70) New in 0.6.1 ------------ * bug in recursive put fixed (didn't create directories correctly) New in 0.6 ---------- * fixed long-standing kerberos problems (now also supports NAT) * configure.in cleanups * --mask=GLOB and --rx-mask=REGEXP options (get, put and fxp) (transfers only files matching a pattern, useful in recursion) * --dir-mask=GLOB and --dir-rx-mask=REGEXP options (get, put and fxp) (enters only directories matching a pattern, useful in recursion) * auto bookmarking doesn't overwrite bookmarks w/different hosts but creates different versions * Kerberos 5 support (Heimdal, through GSSAPI) * FxP support (not thouroughly tested) New in 0.5.8 ------------ * fixed segfault when listing unreadable directories * #ifdef'd setproctitle calls New in 0.5.7 ------------ * endless loop in rc.c fixed * abbreviation for set-variables * bug in DOS directory listing with filenames w/spaces * removed C++-style comments in strq.c * swapped order of -lreadline and -l{terminal lib} in configure.in * removed --help option for cd command * added a man page (Thanks to Decklin Foster) * tag didn't ignore multiple copies of same filename * better remote tilde path handling (ls ~ didn't work) * added option --workdir=DIR for setting the working directory (default ~/.yafc) New in 0.5.6 ------------ * added --help option for untag * added *.md5 to ascii_transfer_mask * now parses system-wide /etc/yafcrc on startup + doesn't create default ~/.yafc/yafcrc on first run * rglob.c: didn't update directory cache properly * segfault in get/put if connection timed out * tag now ignores multiple copies of same filename * removed the visual tag interface (it didn't work anyway) * bookmark multiples are always replaced (instead of skipped) * rfile.c: files in root directory had two slashes (//file instead of /file) * transfer was aborted after suspend New in 0.5.5 ------------ * only first alias in a multiple command command line was expanded * fixed bug in switch command, arguments were ignored * cat now supports wildcards New in 0.5.4 ------------ * support for MacOS WebStar ftp server * fixed the rels alias error from 0.5.3 New in 0.5.3 ------------ * info manual updates * rc.c: empty string (ie "") in config file caused errors * completion.c: completion breaks at ';' * cache --touch now has optional directory argument(s) * error in alias expansion parameters (%1,%*) when used with an alias including several commands * yafcrc.sample: error in rels alias * fixed buffer overflow in ftp reply New in 0.5.2 ------------ * Applied patch from Ryan Weaver for rpm spec file * configure script unsets CDPATH variable * info manual updates New in 0.5.1 ------------ * yafc "resets" the xterm title to $TERM on exit/suspend * get --preserve now also on directories * get --preserve handles suid/sgid/sticky bits * tried to fix problems with DOS-paths * new option --clear to tag and ltag command * local taglist is also saved * yafcrc.sample: proxy hosts should be separated with colon (':') * configure creates a yafc.spec file for rpm building (thanks to Ryan Weaver) New in 0.5.0 ------------ * awful bug in redirection code fixed * EPLF support (Easily Parsed LIST Format) * quoting fixes * made (mostly) all commands accept --help option New in 0.4.9 (released 1999-11-08) ------------ * proxy support! untested, please report if you test it * url accepts option --no-encoding * ftpsend.c (ftp_list): fixed bug that caused yafc to hang on ls * fixed bug in lib/glob.yafc.h, didn't compile on Tru64 Unix * error in get --newer: didn't correctly compare filetimes in GMT New in 0.4.8 (released 1999-10-14) ------------ * xterm title is now printed immediately when yafc is continued after a suspend * updated Texinfo manual a little * removed the man page * user is asked if to continue interrupted transfer even if -f flag is given * more verbose report in nohup mail * src/Makefile.am: removed tag.h, not used * saves taglist on disconnect + loads on connect * new option: load_taglist yes/no/ask * changed default answer in get/put if file already exists to [R]esume * same syntax for defining aliases on command line as in yafcrc * made the tag command accept options; --info and --list + removed taglist and taginfo commands * made the cache command accept options; ie, 'cache clear' -> 'cache --clear', try 'cache --help' * added taglist completion for untag command * removed -al parameter to LIST command for ls New in 0.4.7 (released 1999-09-12) ------------ * support for dos-style directory listings * trace files now works with multiple connections * applied patch from Leonid Zeitlinthis fixes (color) escape codes in transfer_string by enclosing them in %{ and %} pairs like the prompts * option 'prompt_on_disconnect' in yafcrc removed (not used) * fixed segfault in completion for the 'switch' command * local filename completion for '!' command New in 0.4.6 (released 1999-08-03) ------------ * visual (remote) tagging interface using newt library this is experimental, tell me if you like it! it is activated by the 'tag' command, without arguments * Yafc can now have multiple connections open use the new 'switch' command to switch between them (no, you can't fxp files between them, yet) * new prompt codes: %c (number of open connections) and %C (current connection number) * started adding documentation in Texinfo format * added yafcrc options: xterm_title[123]: set title of xterm window xterm_title_terms: $TERM's which can handle xterm escape sequences * applied patch from Mike Wayne adding -w, --wait=TIME cmdline option to yafc (overrides connect_wait_time option in yafcrc) * list.c: added sorting on time (-t option) to ls * new command: url (shows the current url) * new command: source (reads a config file) * removed the 'lcat' command (use alias lcat !cat instead) * removed the 'page' command (use alias page "cat %* | $PAGER" instead) * removed the 'zpage' command (use alias zpage "zcat %* | $PAGER" instead) * removed the 'pager' keyword from yafcrc since it's no longer used * rc.c: bookmark alias abbreviation bug fixed * commands.c: (z)cat now always transfers files in binary mode * commands.c: zcat now handles bzip2 compressed files * command.c: fixed %-parameters to aliases; redirections are not replaced * alias.c: fixed problem with alias to ! (eg, alias date !date didn't work) * completion.c: fixed segfault if trying remote completion when not loggedin * put.c: changed short option from -S to -R (--resume) to be consistent with get * put.c: added [r]esume to ask-string if file already exists * open now recognizes --noalias as it should * shortpath.c: fixed a bug (yeah, no kidding) * rc.c: didn't recognize 'sendmail_path' and 'debug' keywords in yafcrc New in 0.4.5 ------------ * added special alias parameters; %1,%2,...,%n and %* which is replaced with the nth argument to the alias, %* replaces all alias arguments * new option in yafcrc: use_env_string * multiple commands can now be entered at the command line, separated with ';' * new option to open, --noalias, which disables bookmark alias lookup, the --noauto option disables autologin but allows bookmark aliases * new option to get, --chmod=PERM, which changes permissions on local files same arguments as to GNU chmod(1) command * new option go get, --chgrp=GROUP, changes group of transferred files * new options to user, --nokrb and --krb, same as in open * sort in ls (-X, -U, -S, -r, --reverse options to ls) * new option to ls, --dirs-first, shows directories first * fiddled a lot with quoting and completion code, included quotion functions from bash * rfile.c: segfault if server didn't send group info (like ls -o or ls -lG) * login.c: user --help fixed * yafc should now compile on FreeBSD (tested on i386 3.1-RELEASE) * now always builds with GNU glob put crashed on FreeBSD because the wrong glob.h header file was included * rc.c: 'verbose on' in yafcrc didn't work * put.c: printed 'get' instead of 'put' in env. string * transfer.c: visual progress bar filled screen with #'s on very large files * ftp.c (ftp_rename): didn't update directory cache New in 0.4.4 ------------ * input.c: online help in ask() (appends a '?' char to the keystring) * configure.in: more checks for libresolv and libnsl * changed -r switch for ls to -R (--recursive) like /bin/ls * 'ls -l --color' now tries to colorize any links found * applied patch from Mike Wayne , adding option tilde in yafcrc * the quote command now doesn't require to be loggedin * bookmark.c: fixed bug in saving password * login.c: didn't connect if connect_attempts was set to 0 (zero) * can now set connect_attempts to -1 for unlimited number of retries New in 0.4.3 ------------ * tab completion should work on symlinks now * ls now recognizes screen width * allows redirection characters anywhere in the command line * auto_bookmark now updates the bookmark if changed * added bookmark tab completion * added option in yafcrc: auto_bookmark_silent * bookmarks can now be abbreviated * added -N, --literal option for ls * added -p, --preserve option for put (tries to preserve attributes) * Mike Wayne contributed a perl script to convert NcFTP's bookmarks into yafc bookmarks. bugfixes: * ftp.c: forgot to close a filedescriptor * syshdr.h: #include * rglob.c: didn't unquote spaces * rlutil.c: replaced char_is_quoted() function with the one from bash source completion should work better with double- or single-quoted filenames * commands.c: arguments to '!' and 'shell' are now unquoted by the shell * get.c, put.c: didn't expand tilde for --output argument New in 0.4.2 ------------ * added an auto_bookmark option to the rcfile disabled by default, use 'auto_bookmark yes/no/ask' to turn it on * nlist command now recognizes arguments * lscolors.c: changed default color settings to be consistent with GNU ls bugs fixed: * ftp.c (ftp_read_directory): cached path not always absolute * get.c, put.c: removed --test option (wasn't properly implemented anyway) * redir.c: segfault on "!" command (thanks Jason Gibson ) * main.c: --noauto option to yafc wasn't recognized * rc.c: ignored multiple spaces in a row (thanks Mike Wayne ) * transfer.c: transfer strings should print ok now (I think) * bookmark.c: stupid typo, never asked whether to save password or not * bookmark.c: bookmark --list implemented * shortpath.c: null pointer removed (thanks Christophe Tardy ) * get.c: improved handling of links (ie, less buggy :) * get.c: oops, forgot to print '-d, --no-dereference' in syntax (copies symbolic links as symbolic links) * put.c: 'put *' now puts _all_ files, including .dotfiles * prompt.c: segfault if %u, %~ etc given in prompt1 and prompt2 * ftpsend.c (ftp_putfile): swapped remote/local filename printed so %R in transfer_string actually means _source_ file and %L _target_ file * ltag.c: local tagging rewritten * transfer.c: didn't print total size if ascii transfer * args.c (args_unquote): removes zero-length args * lscolors.c: fixed segfault in init_colors New in 0.4.1 (first announcement on freshmeat.net) ------------ * I hope the code now has stabilized (no total rewrites anymore :-) * redir.c: added '>>', '|&', '>&' and '>>&' type redirection * doc/yafc.1: updated (still incomplete) bugfixes: * ftp/rfile.c (rfile_parse): handles special devices * commands.c, ftp.c: help command now recognizes argument * bookmark.c: didn't always save directory * commands.c (cmd_chmod): better verbosity * ftp.c (ftp_set_trace): changed buffering of tracefile to unbuffered * rglob.c (rglob_glob): faking file if no wildcards and dir not cached * get.c: --preserve now changes timestamp (as it should) New in 0.4.0 ------------ * total rewrite since 0.3.4 * back to C again :-) * added trace functionality * ctrl-c handling * better ABOR handling * URL parsing now handles directories better (the url-path) (the "/" between the host (or port) and the url-path is NOT part of the url-path, no encoding of special characters are done though) * yafc can send mail to the user when a nohupped transfer is finished * if SIGHUP received, continues transfers in background, nohupped * much more...