Here are some changes introduced by recent versions of edbrowse.

3.6.1:
Merge edbrowse and edbrowse-js back into one executable image.
More convenient for distribution.
The --mode argument determines the action of the process.
Example edbrowse --mode js to run as the js engine.

Simple implementation of xhr under javascript, synchronous only.

Don't encode urls that have already been encoded via <A href=url>.
The second encoding is mostly harmless, except for + becoming %2b.

Turn on or off the progress dots during an http or ftp download,
or receive progress counts by megabyte.

Create the edbrowse temp dir at the outset, and user directories
beneath this directory, mod 700, for added security in a multiuser system.
Temp files for plugins are created beneath the user directories.

Reload the config file on command. No need to exit and restart.

~0 in an edbrowse function is the whole line, even if more than 9 arguments.

db>filename to redirect debugging output to a file.

3.6.0.1:
Bug fixes.
Most importantly, fixed a buffer overflow in sprintf.

3.6.0:
Edbrowse is an imap client. Scan and search through folders,
delete move or download emails, pull down attachments.

Use the tidy5 library to parse html and create a tree of nodes.
Render the text buffer based on this tree of nodes,
rather than the original html text.
Rerender the tree after it has been changed by javascript,
or via the rr command,
and report any differences, i.e. what has javascript changed?

Implement javascript timers and intervals.
These run asynchronously in the background.

Various ls commands in directory mode print the size,
mod time, and permissions of the file on the current line.
Set ls=lt to list the length and time of all the files in subsequent
directory scans. See documentation for more.

Port edbrowse to windows, with small modifications.

Set up cmake scripts so that cmake can be used to build edbrowse
on windows or on linux.
Traditional make is still available from the src directory.

Use cmake to build edbrowse under MacPorts, thus available under OSX.

Enhance the DOM sufficient to compile a jQuery object <= 1.9.1.
This is the first step along the path to full jQuery support.

Add an interactive javascript / DOM debugger.
Type jdb to enter this debugging mode, and period to exit.

Create a default .ebrc file if none is found.
This is just a template, the user is encouraged to personalize the file.
The default .ebrc file is in the user's language for supported languages.

Move all the language files, (ebrc files and message strings),
to per-language files in the lang directory.
perl programs map these into strings in the C source.

Support http only cookies.

3.5.4.2:
Limited and preliminary imap access. Envelopes only.
Messages can be moved or deleted, but not read or downloaded.

We no longer downgrade to SSL v3 on failure to use newer versions of SSL.

Edbrowse now warns if you try to quit with a modified buffer that has
no associated filename.  This is consistent with ed and most other editors.

3.5.4.1:
Fix a couple of bugs related to downloading files from the internet.

3.5.4:
Messages in German, thanks to Sebastian Humenda.
Autoplay of audio files found on websites, using content-type,
and autoplay of audio files from directory mode.
Use a plugin to convert pdf to html, or any other conversion you wish.
Autoconvert such files as you encounter them via the g command.
directory listing sorted by locale, like/bin/ls.
Automatically include references when replying to an email, re or rea commands,
so it threads properly.

3.5.3:
Write a separate process, edbrowse-js, to handle all the javascript objects.
This process and only this process interacts with the js library,
be it mozilla or v8 or whatever.
Edbrowse implements the document object model at a higher level,
and communicates with edbrowse-js for the corresponding javascript objects.

Allow users to download large binary files in the background, and straight to disk.
Useful for computers with limited memory but plenty of disk.

3.5.2:
The blacklist feature is now gone.
It wasn't really used,
as there are more effective ways to fight spam these days.
Also, there was the possibility that reading an empty blacklist file could
lead to a crash.

This release contains a few additional minor bugfixes, the most significant
of which involved the rendering preformatted sections when browsing html.

3.5.1:
Mozilla javascript version 2.4 and above supports only a C++ interface,
so if we want to keep using moz js, then we must follow along.
Edbrowse 3.5.1 converts the javascript layer from C to C++.
These are the files jsdom.cpp, jsloc.cpp, and html.cpp (use to be .c).
Other files may convert to C++ in the future.
Use the curl library to send and receive mail.
This replaces home-grown pop3 and smtp software.

3.4.10:
Polish translations, courtesy of Wojciech Gac.

3.4.9:
Various bug fixes.

3.4.8:
* Edbrowse now requires version 1.8.5 (or higher) of Spidermonkey.
* When completing filenames with readline, a trailing space is no longer added.
* Updated French translation of the User's Guide, thanks to Erwin Bliesenick.
* Edbrowse now supports localized HTTP responses; see the User's Guide.
* In the Edbrowse scripting language, function names are now
  case-insensitive.

3.4.7:
memcpy and strcpy are no longer called on overlapping regions.
Files with unknown length, such as those under /proc, are now readable.
Miscellaneous fixes.

3.4.6:
Fix file corruption bug for large files with more than a million lines.

3.4.5:
Dot stuffing in emails.
Support for readline() on input.
Support for proxies through .ebrc or the environment.

3.4.4:
Fixed a cookie bug; tail matching never took place.
Thus a cookie would never propagate to a subdomain.  Bad news.

3.4.3:
Hotmail smtp protocol.    outport = ^587
Minor tweaks for compilation under OS X.

3.4.1:
Access to databases through odbc.
Modify rows in a table by using the edit commands you already know.
Be careful; delete means delete!

3.3.4:
Convert between iso8859-1 and utf8 on the fly, according to the contents
of the file and the value of $LANG.
This takes place automatically as files are read and written;
the user shouldn't notice a thing.

3.3.3:
New reply feature, maintains the thread for discussion lists.
Move docs to a doc directory, and source to an src directory.
Fix some utf8 bugs.

3.3.2:
Supports reading of pdf files by calling the utility pdftohtml.
http://rpmfind.net/linux/RPM/suse/updates/10.0/i386/rpm/i586/pdftohtml-0.36-130.9.i586.html
Also brings in email over ssl.
Secure smtp implies auth login;
no other authentication method is implemented at this time.

3.3.1:
The error and output messages of edbrowse have been internationalized.
Set LANG= to specify the language.
At present, LANG=en and LANG=fr are supported.  (English and French)

3.2.1:
This version introduces sql database access,
through Informix esql (tested) and odbc (not tested).
Access a table in the database just as you would access a file.
Inserts, updates, and deletes are applied to the database,
as they take place in your local buffer.
It's almost wysiwyg.
And it's dangerous.
If you delete a row, there is no undo, so be careful.

3.1.3:
Edbrowse can now fetch and execute a local javascript file,
as in  <script src=LocalFileName.js>
from within a local html file that you are browsing.
This is primarily used by people who build and debug websites, like me.
It is also handy if you have downloaded your own private copy
of a website, and it uses javascript.

3.1.2:
Files (other than text or html) are processed according
to their mime type, which is fancy internet jargon for their file extension.
It's not rocket science - file.mp3 is sent to an mp3 player,
file.wav is sent to a wave player, and so on.
See the docs for more details.

3.1.1:
Version 2 used my own, home-grown javascript engine.
This version, version 3 and beyond, uses an open source js engine,
known as Spider Monkey Javascript, or smjs.
Needless to say, theirs is better than mine.
It's something I should not try to reinvent.
As you might imagine,
many websites will run properly on version 3, but not on version 2.
This is a substantial change to the program,
hence the jump in major version number.

2.2.10:
This is the latest version with my home-grown javascript engine.
If you don't have access to smjs, or you just want to get it up and running
quickly, to see if you like it, you can use 2.2.10.

1.5.17:
This is the latest perl version.
It has no javascript support, nor does it handle edbrowse scripts,
but it is completely portable, and runs on Windows, Mac, etc.
This is the easiest way to take edbrowse out for a spin, to see if you like it.

