BSFlite ChangeLog

0.80 - 04/13/2005

 * Changed keepalive messages to FLAP channel 0x05 messages, as recommended.

 * Re-implemented idle time reporting. Any keystroke in bsflite now resets
   your idle time, rather than only on sending a message.

 * New option "respond_idle_only" to send away message auto-response only
   when away and idle.

 * Fixed the terminal line erasing problem previously detailed in the README
   both in UNIX (using vt100 sequences), Windows (using console functions)
   and DOS (using conio functions). Plan 9 is unaffected since the rio
   terminal properly supports reverse line wrap.

 * Screen names longer than 16 characters are trimmed to the first
   13 characters plus "..." in the buddy list display. Use 'wf' to
   see the entire name. This is necessary now with @mac.com and
   @thematrixonline.com accounts.

 * New command 'G' : write away messages in ~/.bsflite/awaymessages,
   one per line, and use 'G' to set them.

 * Finally added server-side buddy lists. Buddy add/delete now stores the
   information on the server. If you have a buddies file, run this
   new version with it once, then delete it.

 * Optional "netspeak cleaner" - see cleaner.c and config file

 * Cleaned up and sped up login sequence.

 * Fixed a mysterious bug where mobile users would disappear from the
   buddy list even though they were online.

 * imcomm now supports sending more than one packet at a time, which
   seems to be how other clients do some things. The fetch awaymsg/profile
   command now takes advantage of this, which seems to improve the rate
   limit situation a bit. Also, the 'b' command works most of the time
   without triggering a rate limit warning.

 * Buddy list display now adjusts with screen size.

 * Added a configuration file. See config-example for details.

 * Changed default paths to ~/.bsflite/[config,log,profile,buddies,icon]
 
 * Fixed the endlessly repeating error messages on certain platforms.

 * l command now shows the last 20 lines instead of 10.

 * Implemented MD5-based login in IMComm instead of the old, "roasted"
   password algorithm. This improves things on three fronts:
    - your password is no longer sent in plaintext
    - you can login with a @mac.com account
    - you can login with an ICQ UIN
   This is the way the official client has done things for a while. I used
   MD5 routines developed by L. Peter Deutsch (md5.c, md5.h in imcomm/)
   for this, at least until I become inspired enough to write my own.

0.73 - 02/06/2005

 * Fixed a small compilation bug on 64-bit architectures.

 * Now shows a different prompt when away message is set.

 * Profile/away display now at least shows line breaks, so things are a bit
   easier to read. It's still a little buggy as before, and no other HTML is
   supported.

 * HTML stripper now strips &nbsp;

 * Ported to Bell Labs' Plan 9 operating system. I believe this is the first
   AIM client for this platform, so it's quite neat. Thanks a bunch to Thomas
   Miller for giving me the idea and support, and Takeshi Yamanashi and the
   rest of tip9ug.jp for providing a Plan 9 system to use while I got my own
   system set up (and for helping me get that set up, too). Thanks!

 * Added a 5-minute keepalive to IMComm by default.

 * Added two new commands: A and P, to get just the away message or profile
   for a user.

 * Finally displays error message when IM is sent to a user who is not
   online.

 * Added support for talking to users with @mac.com accounts.

 * Buddy icon support (and accompanying changes in imcomm's structure)
   added. This is still somewhat experimental.

 * Support added for sending and receiving messages to and from ICQ users.
   ICQ users can add your screen name to your contact list, and you can add
   their numeric UIN's to your buddy list.

0.72 - 11/22/2004

 * Tab completion now works for 'i' and 'l' commands

 * New command 'b' to scan through buddy list and fetch all away messages.
   (currently triggers rate limit - a fix for this is planned...)

 * Changed format of profile and away message display to acommodate the 'b'
   command.

 * Implemented away message auto-response (IMComm updated to support this,
   too.) This'll send a message the first time someone sends you an IM while
   you're away.

 * Rate limit excess information. If you exceed the rate limit (which happens
   if you request too many users' information, for example, since one request
   sends out two commands to the server a bit quickly. Again, this is being
   worked on...) the prompt changes to <!> as a warning, and then to <!!> if
   you exceeded it. While at <!!> you cannot send any messages/commands. Note
   that the server does not tell us when you've been cleared, so the prompt
   will remain <!!> until you send a message after being cleared.

0.71 - 07/19/2004

 * MAJOR enhancements to IMComm, which will now be released also as a
   standalone library. Most notable fixes include a few memory errors, a
   general code cleanup (got rid of old nasty type conversions and created
   a new packet-building structure) and the reintroduction of a full
   packet at a time receiving option. This is default on ALL platforms.
   So far, I've found it to be noticeably faster than one-byte-at-a-time
   mode, and is even faster than the old full packet code.

 * Ignores SIGTSTP (ctrl-Z)

 * Minor format changes. Prompt is now '::'.

0.70 - 06/11/2004

 * New buddy list display shows two buddies per line, separating
   into sections (online, idle, away, gone (away and idle))

 * HTML stripper now strips off \r, meaning some profiles and away messages
   are more or less readable now (especially those from Trillian users)

0.60 - never released

 * Buddy list is now sorted by alphabetical order in the structure.
   'wf' will display it in this order, 'ws' will display it sorted by online
   status (though it'll also be alphabetized within the sections.)

 * 'ws' is now the default for 'w'

 * Began fixing braindead code in aim.c

 * Cleanup in input.c, moved buddy list functions to out.c

0.52 - 01/05/2004

 * New command 'ws' shows buddy list sorted by online status.

 * Buddy signoff routines now properly free all the data in the struct.
   (which reminds me, I need to rewrite some braindead code in that file.)

 * Improved buddy list display now shows properly formatted screen names.

 * Fixed a bug in input routine that prevented 8-bit characters from being
   entered.

 * Added configurable formats in bsf.h. Right now, you can change the prompt
   as well as an HTML format (font, colors) for outgoing messages.

0.51 - 12/31/2003

 I've lost track of all the changes I've made (it's been a while!), but the
 most significant I can remember are:

 * IMComm no longer reads the entire AIM packet at once. After receiving 
   the header's 6 bytes, it then reads each byte as it comes in. I have not 
   noticed any performance losses after changing this. This should make 
   slower connections not as noticeable - I tested it on a cell phone modem 
   and it worked well.

 * ANSI colors - yes, I admit it, I added colors. You may enable them in
   the Makefile. I did not finish making the color scheme, so it's up to you; 
   the format is specified in colors.h.
