Developer Information

release notes 2.0

version 2.0 'nature boy' (November 26th, 2011) - firefox 4+ only

what's new/changes
not much difference from 1.99 actually - the relatively new SSH module (written natively in javascript) needed time before it felt stable enough for a 2.0 release

fixed more utf8 issues
fixed bug when exporting not all passwords saved
allow terminal access when using SFTP (2.0.1 feature)
fixed DNS leaking when using proxies (2.0.1 fix)
improved custom commands ui (2.0.1 fix)
improved trashing items on linux (2.0.2 fix)
fixed bug with permissions on mac when remote editing with a custom program (2.0.3 fix)
fixed edge case bug when editing file (2.0.4 fix)
fixed saving passwords based on port # (2.0.4 fix)
added ability for accounts to be bookmarkable (2.0.5 feature)
added pkey to ssh:// url, e.g. ssh://blah@yourserver.com/#pkey=%2FUsers%2Fblahuser%2F.ssh%2Fid_rsa (2.0.5 feature)
added support for transferring files over 4GB (finally!) (2.0.5 feature)
fixed support for deleting files on OS/2 and SunOS (2.0.6 fix)
fixed regression with navigating to directories via ftp:// links (2.0.6 fix)
fixed regression of having missing directories when concurrent transfers enabled (2.0.6 fix)
fixed regression of migration of some accounts from previous eval() method (2.0.7 fix)
added Seamonkey support! (thanks, Lewis!) (2.0.9 feature)
create directories using 0777 to respect umask (2.0.9 feature)
fix bug with not being able to add UTF-8/international characters to accounts (2.0.9 fix)
fix bug with directories not working when cached (2.0.10 fix)
fix bug with dragging files from outside of FireFTP (2.0.11 fix)
fix dragging of files on linux (2.0.12 fix)
fix compatibility with firefox v.20 (2.0.12 fix)
fix compatibility with firefox v.22 (2.0.14 fix)
fix compatibility with firefox v.22 (2.0.16 fix)
update locales (2.0.17 fix)
various minor fixes/tweaks (2.0.18 fix)
translation update (2.0.19 addition)
Firefox compatibility update (2.0.20 fix)
Firefox compatibility update (2.0.21 fix)
adds new kex policy, other minor bug fixes (2.0.22 fix)
revert change for blank passwords (2.0.23)
add support for latest firefox, fixing removal of let-block feature (2.0.25)
fix deletion of files when file is invalid (2.0.26)
fix bug in SSL exception dialog, add hmac-sha2-256/512 support (2.0.27)
add diffie-hellman-group-exchange-sha256, fix sftp regression :-/ (2.0.28)
fix protocols that were broken in e10s, fix renaming for setCellText regression in Firefox 52 (2.0.29)

release notes 1.99

version 1.99 'young folks' (March 6th, 2011) - firefox 4+ only

what's new/changes
SSH written natively in javascript! (translated from paramiko)
led to the FireSSH project, an SSH terminal client using the same code!
fixed browse button (1.99.1 fix)
fixed issue with directory listing of some servers (1.99.2 fix)
fixed issue with more directory listings related to STAT command (1.99.3 fix)
fixed handling of errors in SFTP to be handled more elegantly (1.99.4 fix)
fixed/improved resuming of files in SFTP mode (1.99.5 fix)
improved SFTP for better stability, support for timestamp syncing, utf8 characters (1.99.5 fix)
more locales (1.99.6 fix)
fix typo introduced into locale-only build which caused it sometimes not to show the first entry in directory listing (1.99.7 fix)

release notes 1.0

version 1.0 'human being' (July 12th, 2008) - firefox 3.0+ only

what's new/changes
now with moar bukkits and cheezburgers

fixed issue with permissions on directories in Linux (1.0.1 fix)
fixed issue with number formatting for i18n (1.0.1 fix)
fixed javascript error caused by 1.0.1 fix (1.0.2 fix)
updated for firefox 3.1 (1.0.3 fix)
fixed security issue (1.0.4 fix)
fixed various bugs (1.0.4 fix)
fixed various bugs (1.0.5 fix, updated for Firefox 3.5)
fixed security vulnerability with quotes (") in SFTP listings not being escaped properly (1.0.6 fix, details)
fixed various bugs (1.0.6 fix)
mac os x optimizations (1.0.7 fix)
fixed various bugs (1.0.8 fix)
fixed conflict with FireGPG (1.0.8 fix)
added sftp:// protocol support (1.0.8 feature)
added 'delete' option to Syncing (1.0.8 feature)
changed statusbar to show cumulative % left in queue (1.0.8 feature)
fixed various bugs (1.0.9 fix)
fixed issue with extra carriage returns at buffer boundaries when in ASCII mode (1.0.10 fix)
fixed issue with damaged files if REST command fails (1.0.10 fix)

I'm back on summer vacation in Croatia so I thought it appropriate to finish version 1.0 at the place where I began all this madness...Back in 2004, I had heard about this crazy, newfangled browser that was coming out soon called Firebird (today known as Firefox). It was my summer vacation, I was bored out of my mind - I had just graduated with my brand spanking new computer science degree in hand and I felt like doing something useful with it. Et voilà! FireFTP is the result.

It's been no cake walk - developing for Mozilla is tough stuff, there's like a jazillion languages to learn to do it and I realized just how little school had prepared me for real world programming (thanks a freakin' lot, alma mater!) Anyway, I released my first version after a couple months of tinkering (0.82 - "Sir Prize" - by the way if you haven't noticed the pattern by now - I name each version after the name of a song with a person in its title from bands that I love). It worked, kinda. To be honest, back then, I thought I was pretty much done with thing right then and there - it's fine the way it is, right? Good enough, right? Hah, oh, how wrong I was.

Four years later (off and on) of development though, FireFTP has grown as a program, I've grown as a programmer and I think it's safe to say FireFTP is pretty decent now :) I'll be the first one to admit it, really - FireFTP didn't honestly even start being a good program until mid-2006 - that's just how long it's taken. There were just so many obstacles and so much I had to learn about Mozilla and programming in general (p.s. thanks Assaf! thanks MDG!) that it ended up taking two years. But hey, you have to rely on patience and the whole "Try, try again" thing. Plus, once I start something I just can't stop until I'm absolutely finished with it or as my dad would say "Kad radiš nešto, radi da valja" which is Croatian for "When you do something, do it right." Thanks, Pops! Good advice.

It's both a great joy and great frustration programming FireFTP but I love doin' it and I love that it's useful for so many people.

My sincere thanks to everyone who's helped over the years, especially: Devin Pohly, Scott Bentley, Tyler Sticka, all the translators, Simon Tatham, Patrick Brunschwig, my supportive family (Tata i Mama, Andja, Stipo), all others who submitted bugs, gave feedback, and/or sent encouraging emails. Special thanks to everyone who has donated!

release notes 0.99

version 0.99preview release 'fucking boyfriend' (June 17th, 2008) - firefox 3.0+ only

what's new/changes
sftp!
fixed security vulnerability with not scrubbing '..' out of FTP listings (details)

fixed issue with security certificates (0.99.1 fix)
fixed another issue with security certificates (0.99.2 fix)
added 'create file' for remote side (0.99.2 change)

release notes 0.98

version 0.98beta 'poor little city boy/ex-priest' (December 30th, 2007) - firefox 3.0+ only

what's new/changes
updated for Firefox 3
added sftp (w00t!) (experimental, use at your own risk)
added concurrent transfers (make up to 10 separate simultaneous transfers to the server)
added mode z compression
added FXP
added ability to specify dates with search
added separate threads for intensive tasks: hashing, extracting archives, copying, deleting, recursive properties, search, transfering (keeps the UI from freezing up) (had to revert this b/c it was causing crashes)
added a queue (now quit bothering me to add one! :-) i hadn't added one previously b/c to me a queue is micromanagement)
added ability to import from FileZilla (versions 2 and 3)
added category field to account manager
added timezone offset to account manager
added notes field to account manager
added md5 and sha1 to remote properties
added ability to copy multiple url's at the same time
added preference whether to transfer or open file on double-click/pressing enter
added horizontal scrollbars to the directory trees (yay! it's a hack - but, hey, it works)
improved renaming, creating new directories and files by making them inline changes
improved remote editing by making it auto-save the file
improved security exception dialogs to go with new security flows of firefox 3
removed upload/download case mode from account manager (old accounts should still behave properly - the UI is gone however to configure new accounts)
fixed bug with not being able to open up multiple files at the same time
fixed ascii mode to work properly
fixed other minor bugs

release notes 0.97

version 0.97beta 'cowboy dan' (June 26th, 2007) - firefox 1.5+ only

what's new/changes
added search/filter (i can has qweries?)
added support for transfer integrity checks (for servers that support XMD5 or XSHA1)
fixed issues with permissions on Mac OS X
fixed other minor bugs

fixed issue with open with... not working properly with custom arguments (0.97.1 fix)
fixed issue with FEAT response not always being fully read (0.97.1 fix)
international versions should update correctly now (0.97.1 fix)

fixed security vulnerability with not scrubbing '..' out of FTP listings (0.97.2) (details)
fixed regression caused by 0.97.2 with files that legitimally have .. in them - scrub out / and \ instead (0.97.3)

release notes 0.96

version 0.96beta 'loomer' (April 19th, 2007) - firefox 1.5+ only

what's new/changes
added unicode (UTF-8) support - it's sweeet :)
changed export to save out encrypted passwords as well
fixed problem with incorrect directory changes if hidden mode enabled
fixed problem with downloads of external links not working

added support for almost any encoding (major props to ccpp0! look under an account's settings->advanced->server encoding; 0.96.4 change)

release notes 0.95

version 0.95beta 'lawnmower boy' (March 17th, 2007) - firefox 1.5+ only

new features
added recursive directory diff
added open with... menu to remote files
added ability to extract .zip, .jar, .xpi files (locally)
added copy url to remote context menu (at the request of many, many bloggers)
added preference to keep timestamps in sync
added preference to limit ports in active mode
added ability to avoid recursing into directories if not necessary (if the Intial Remote Directory is set or if the directory is chrooted); some users had parent directories that were huge, e.g. a student account at a university
added support for MLSD command (more standardized directory listings)
changed hotkey for create directory... from ctrl-m -> ctrl-d, makes more sense to me
changed look of remote view if disconnected - now there is a visual cue that you aren't connected
improved error messages to include filename (so you can tell during a mass transfer which file it was that screwed up)
improved logging to not remove error messages (before the log kept a history of only 200 messages for memory/cpu usage sake)

and a new logo, baby! (by the masterful work of tyler sticka)

fixed bugs
fixed 2 bugs causing memory leaks (thanks to gerard talbot for the heads up!)
fixed bug with open with... menu not opening
fixed bug with directories that have files over 2gb in linux not being accessible (unfortunately, the large files themselves are still unaccessible - this is a firefox issue)
fixed bug with 'overwrite all' not working if dragging from external file manager
fixed several bugs with directory navigation
fixed various other minor bugs

fixed problem with remote files not showing up if "Show Hidden Files" option is enabled (0.95.1 fix)
fixed problem incorrect parsing of MLSD listings (0.95.2 fix)

release notes 0.94

version 0.94beta 'sister kate' (June 6th, 2006) - firefox 1.5+ only

what's new/changes
added ability to keep directories in sync (look under account manager->connections->initial directories)

greatly improved directory diff (has much better UI now)
greatly improved drag and drop support (now you can drag here and there and everywhere)
greatly improved cut and paste operations (it was kind of wonky before - it's cleaned up now)

just in general, greatly improved :)

fix bug with importing (0.94.2 change)
fix bug with incorrectly displayed remote ms-dos servers (0.94.2 change)
fix bug with symlinks (0.94.2 change)

fix various bugs, better connection recovery handling (0.94.3 change)

empty files not uploading correctly (again) (0.94.4 change)
fix various minor bugs (0.94.4 change)

fixed small problem w/ non-modal account mgr. (0.94.5)
fixed windows<->linux conversion with importing accounts (0.94.5)
fixed problem with two directories having same name but different case (0.94.5)

fixed regression that caused Firefox to crash (0.94.6)

release notes 0.93

version 0.93beta 'poor leno' (May 30th, 2006) - firefox 1.5+ only

what's new/changes
added support for IPv6 connections (kind of experimental at this point but it seems to work well)

fixed bug with active mode - this was broken in the major rewrite of FireFTP during version 0.91 - sorry! :(
fixed infinite loop with accessing hidden directory while not in hidden mode
added data timeout protection (will recognize stale network while transfering and restart)

release notes 0.92

version 0.92beta 'mass romantic' (May 25th, 2006) - firefox 1.5+ only

what's new/changes
well, 0.91 was short-lived, wasn't it?
this version, by all looks of it, fixes the crashes that happened on uploading files (on all platforms: windows, linux, and mac). the crashing had been a problem for two years now. two years! if it annoyed the hell out of my users, you can believe it freakin' drove me nuts. anyway, i finally made a breakthrough after i got a tip from one of my co-workers over at mozdev group and now all is well under the sun :)

also in 0.92...
tweaked to remember last account
changed alert dialog to accept multiple alerts so you don't have a bazillion dialogs popup
optimized how often TYPE and CWD commands are sent to the server
tweaked to work for bon echo alpha 2
fixed problem with being able to close preferences window on mac
fixed problem with paths like 'c:\.foo' in local path not working
fixed display problems with new toolbar button
and fixed some other minor regressions caused by the whole rewrite of FireFTP in 0.91

release notes 0.91

version 0.91beta 'nicki lighthouse' (May 20th, 2006) - firefox 1.5+ only

what's new/changes
did a complete rewrite of FireFTP. made it more object-oriented and reusable for other mozilla apps

added md5, sha1, sha256, sha384, sha512 hash computation for local files (in local Properties)
added save temporary account
added export/import
added toolbar button
added active mode option for temporary connections
added create file for local listing
fixed crashing on uploads bug (for windows at least; linux is still having problems)
fixed problem with '.' in local paths (0.91.2 change)
and, as always, many more bug fixes

release notes 0.90

version 0.90beta 'modern girl' (November 29th, 2005) - firefox 1.5+ only

what's new/changes
added SSL/TLS!
added a site manager!
added integration of ftp links from the firefox browser!
added open with (program manager) for local files!
added view as web page feature for remote files!
added multiple file selection in properties window (recursive as well!) so you can find out total number of bytes for a number of files!!
added ability to perform CHMOD change on a selection of files, folders, subfolders and subfiles and to filter that the CHMOD only happens to files or folders or both!! (this is remote only for now; local chmod on linux is kind of funky through mozilla, specifically suid, guid, and sticky bits - don't say i didn't warn you - hey, what's brown and sticky? a stick! ...ah, that joke never gets old)
added diffing of directories!
added thumbnails for pictures and web pages! (thumbnail and filmstrip view will be coming in the future)
added permissions for local linux files!
added custom commands!
added option to change case of downloads/uploads!
added pause button!
added new preferences (keep alive function, log filter, overwrite disable, show bytes instead of kilobytes)
added ability to change read-only property for local files
added drag and drop ability from os (thanks to scott)
added help button (help files still need to be written though :)
added simple skin
added new columns for file types
better performance - should be faster ui, faster downloads!!
better log control (filter out only errors and it only keeps like the last 200 lines around (otherwise memory gets hogged))
better proxy interface
and again, lots of bug fixes (it's almost perfect, folks - it's getting there)

skipped version number .89 and went straight to .90 because this one kicks just that much more ass
some software bloat by about 20KB. yes, painful, i know. but look above, you punk - that's like 1KB per feature! ah, i loves my fox.
probably no more features will be added before 1.0 although i would have liked to have solved the things listed here
changed fireFTP to FireFTP - looks more official i guess, more sophisticated. it's almost all growns up

release notes 0.88

version 0.88beta 'paranoid android' (May 6th, 2005) - firefox only

what's new/changes
fixed even more bugs created by 0.88 - what can i say? i'm a moron (0.88.3)
fixed problems with chrooted directories and directories with spaces in them (again - sorry everybody)(0.88.2)
active mode was broken in 0.88 (0.88.1)
code restructuring, clean up - cleaner, faster, more readable
bugs, fixed so many bugs

release notes 0.87

version 0.87beta 'ernold same' (January 20th, 2005) - firefox only

what's new/changes
uploading works! properly!
fixed some other minor bugs

release notes 0.86

version 0.86beta 'clint eastwood' (November 20th, 2004) - firefox only

what's new/changes
fixed some bugs, log window gone (.86.2 change)
fixed "failed to save file '' locally" problem (.86.1 change)
fixed credits link (.86.1 change)
added os/2 server support (.86.1 change)
added support for aix servers (.86.1 change)
ctrl-t wasn't working (b/c of preventDefault) - fixed (.86.1 change)
uploading an empty file (0 KB) now works (.86.1 change)
proxy support - aw, dizzle (limited, though - SOCKS only)
fixed CHMOD (changed to "SITE CHMOD")
added suid, guid, and sticky bits to properties (aw, now i can't put that great sticky joke in anymore)
now shows hidden files in the remote view as well (when option is selected)
clears remote window on close now
other shtuff as well :)

release notes 0.85

version 0.85beta 'sweet adeline' (November 4th, 2004) - firefox only

what's new/changes
fixed problem with themes (0.85.1 fix)
ui gets a little nip/tuck (are those protocols real?)
passive/active modes! (come on, you'd be excited too if you were working on this for days)
access to chrooted directories!
fixed bug with dragging and dropping in tab mode
fixed problem with caching and multiple users
localizations in turkish and french
other bug fixes

release notes 0.84

version 0.84beta 'suzy lee' (October 19th, 2004) - firefox only

what's new/changes
fixed bug with collapsed folder view (0.84.3 change)
fixed bug with linux interface (0.84.2 change)
fixed bug (0.84.1 change)
fixed lots of minor bugs
better ascii file interface
made fireftp charityware

release notes 0.83

version 0.83beta 'golem ii - the bionic vapour boy' (October 8th, 2004) - firefox only

what's new/changes
fixed bug when overwriting local files (0.83.3 change)
timeout had problem with uploads - made workaround (0.83.2 change)
bug in ASCII file list (0.83.2 change)
added support for servers that give full path for filename (0.83.2 change)
a lot more ftp servers are supported (thanks to devin)
now works on os x! (thanks to jason clark)
fixed important upload bug (thanks to bob henson)
ability to launch files from fireftp
remote symbolic links work
support for ascii files (notepad users rejoice!)
ability to load fireFTP in a tab
got rid of . and .. in directory listings
tweaked favicon support
changed homepage
fixed minor problems with column sorting
if a directory is deleted, it is now removed from the cache
other minor bug fixes

release notes 0.82

version 0.82alpha 'sir prize' (September 20th, 2004)
initial release (firefox only)

operating systems tested: windows xp
operating systems untested: linux, mac, os/2, others?
ftp servers tested: unix style, ms-dos style
ftp servers unsupported: mac, os/2, others?

known issues
 - turning off auto-refresh, then uploading, then uploading the same file again will overwrite no matter what
 - moving folder splitters before moving center splitters causes center to jump (solutions, anyone?)
 - ssl: methinks i implemented it right - anyone care to validate this?
 - known issue: when refreshing the remote view either by use of the button or automatically
   through the program the remote folder view is temporarily 'messed up' as it redraws itself.
   yes, i am aware of the api calls begin/endUpdateBatch(). these seem to cause more problems
   than they're worth - either that or i'm just not implementing it right.

although i've tried to eradicate most of the bugs in this program (john goodman style), i am almost positive there are still some lurking about. so, as with any 'alpha' piece of software don't come cryin' if your computer starts singing 'it's a small world after all' over and over again or wants to join the peace corps. seriously, though, i have tested the 'delete' functions pretty thoroughly so at least they won't screw up. ('deleting', by the way, is not eco-friendly. it does not recycle - maybe i'll find a way to implement this in the future.)

license block

The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.

The Original Code is fireftp

The Initial Developer of the Original Code is Mime Čuvalo
Portions created by the Initial Developer are Copyright (C) 2011
the Initial Developer. All Rights Reserved.

Contributor(s):
Mime Čuvalo, mimecuvalo@gmail.com, original author

Alternatively, the contents of this file may be used under the
terms of the GNU Public License (the "GPL"), in which case the
provisions of the GPL are applicable instead of those above.
If you wish to allow use of your version of this file only
under the terms of the GPL and not to allow others to use your
version of this file under the MPL, indicate your decision by
deleting the provisions above and replace them with the notice
and other provisions required by the GPL. If you do not delete
the provisions above, a recipient may use your version of this
file under either the MPL or the GPL.