0.7.2 -> 0.7.3 o Updated de, pt_BR, and fr NLS files o Updated to build under FreeBSD o Fixed some smtpio bugs o Sends In-Reply-To and References headers 0.7.1 -> 0.7.2 o Fixes to allow spruce to build on Solaris7 SPARC stations o Fixed a segfault bug that occured when a user deleted the last remaining message in a folder. o Fixed a segfault bug when users sent mail on certain systems which was caused by a NULL return from gethostbyaddr(). o other bug fixes mainly dealing with the new mailbox layer (eg. .idx files appearing with weird names and in weird locations) 0.7.0 -> 0.7.1 o Made mailbox layer thread-safe o Added sanity checking on index files o Now uses commas (,) to delimit addresses (as specified by RFC822) o HELO/EHLO more closely complies with RFC821 standards o Added a --debug-info command-line flag 0.6.x -> 0.7.0 o Rewrote the mailbox layer to use index files and thus speed up performance quite a bit. o Support for multiple composer windows (yay!) 0.6.4 -> 0.6.5 o Now uses commas (,) to delimit addresses (as specified by RFC822) o HELO/EHLO more closely complies with RFC821 standards 0.6.3 -> 0.6.4 o Fixed a broken IMAP, should now allow reading of INBOX o Should now correctly parse address lists using a comma as a separater (parser had been expecting a semi-colon between addresses) 0.6.2 -> 0.6.3 o Improved ESMTP support o Improved GnuPG support o Fixed another bug in the contact manager that would cause a segfault. o Added Cut/Copy/Paste functionality 0.6.1 -> 0.6.2 o Fixed a problem when imap namespaces were empty o Added nl.po o Improved MIME support o Added the ability to filter on "Reply-To" 0.6.0 -> 0.6.1 o Oops, Adding IMAP accounts in 0.6.0 caused a segfault this problem should now be fixed o Somehow when you removed attachments from the list of attachments in the composer window, it would not truly remove them (as you might see if you checked the Sent Items folder afterward). This has been fixed. o Brand new Composer window gui, thanks to the gui design geniousness of Luke, the author of LMail (lmail.sourceforge.net). o Hopefully should be more stable on Solaris now. I fixed it so that it will avoid printing NULL strings, which unfortunately Solaris couldn't handle - was a good idea to fix that anyway, sloppy programming otherwise :) o Fixed it so that the Save button on the composer should no longer cause a segfault. o No longer have to end the imap namespace with a '/', if one is not present spruce will automatically append one when it comes time to query the imap server. o Imap mailboxes are no longer prepended by the namespace in the mailbox tree. o Changed the "Expunge" key binding (E) to something a tad harder to hit accidently, Control + E o In the case that a pop server doesn't support UIDL, spruce should now continue normally instead of quitting. 0.5.18 -> 0.6.0 o Fixed it so that a NULL To field should not crash spruce (thought I fixed that before but apparently not) o Okay, I'm a moron - I accidently made spruce call lpd to print rather than lpr. Duh! o SMTP errors are a bit more informative now :) o Brand spanking new account editor (had to do this in order to open up new possibilities with IMAP and also because the old one was oogly and also had a slight bug that I doubt anyone noticed) o You should now be able to see all your IMAP mailboxes assuming you provide the correct namespace (you may need to contact your IMAP provider if you do not know your namespace) o Fixed some bugs in the function that parsed 8-bit encoded strings. Apparently strings similar to the following would either crash or put spruce into an infinite loop: "=??", "=?q ?", "=?b ?", etc 0.5.17 -> 0.5.18 o Added quotes around the fonts in the config file (should be no need to modify your config file, spruce should handle this for you) o Fixed a bug with quoting (would have only affected users that saved their pgp passphrase in the config file) Surgeon General's Warning: Passphrases should not be stored in a plain-text file. Extended use may cause shortened life [of your security] and/or grant the ability of foreign eyes the super-hero mutation known simply as x-ray vision. For safety, it is recommended that you only store your passphrase in a remote sector of your brain. Not recommended for pregnant men or children over the age of 65. o Finally made it so the man page would install o Added a right-click menu in the composer's attachment clist that allows attaching more files and removing attachments o Spruce now defaults to using dis-similar fonts for read and unread messages - hopefully this will solve the confusion of whether or not spruce has this feature and now I can hopefully stop getting emails requesting this feature that spruce has had for quite some time now :) 0.5.16 -> 0.5.17 o Took out file locks since that seemed to cause more problems than good o Got printing working (sorta) o Fixed a bug that corrupted some base64 file attachments (my end-boundary check wasn't quite right) o Added Catalan language support o Improved pop3io thanks to a small patch o The "MAIL FROM" and "RCPT TO" SMTP commands now use <>'s around the addresses since it is accepted on all known SMTP servers (and is stated as acceptable arguments in RFC 821) o Fixed an annoyance that forced you to restart spruce after creating a new mailbox before you could view it's contents o Added right-click menu in the mime-parts clist at the bottom of the preview pane 0.5.15 -> 0.5.16 o Selecting Mime->Display should no longer segfault when a message is not selected (or when no messages to select) o Added regex and shell wildcard support to the mail filters o Made it auto-guess your name and email address based on user account information o Added a confirmation dialog for deleting mailboxes o Added IMAP mailbox listing support (so you can hopefully see more than just your INBOX) o Fixed a bug that allowed a user to not specify a From or a To field, thus causing a segfault. 0.5.14 -> 0.5.15 o Fixed attachments o Fixed "sender" o Fixed it so that spruce should never go beyond the end of the header information to obtain fields like "Reply-To:" or "Date:" for example (shouldn't have been too much of a problem before but it fumbled for me once so that's not good ;-) o Fixed the filter bug that caused strange things to happen when you deleted the last filter rule o other minor fixes 0.5.13 -> 0.5.14 o Added Reply-To-All functionality o I believe I have fixed the segfault causing pthread bug o Added support to save window pane sizes o Added support to save sorting preferences o Improved on the date sorting o Fixed various minor bugs 0.5.12 -> 0.5.13 o Fixed some IMAPv4r1 issues, seems to be working a little better now. o Added most of the support for GNU Privacy Guard by using an alpha lib Privacy Guard Glue. For GPG support, you must now use the --enable-gpg configure flag (./configure --enable-gpg) For reference, I'm currently using Pgg-20000116 and as the author of Pgg states, new versions are unlikely to be compatible so be warned that you may need to have the same Pgg lib that I have. I will be maintaining a file specifying which version of Pgg you need to use it with Spruce. o Fixed the segfault/corruption bug caused when a user deleted a message from a mbox spool o Various code speedups/cleanups 0.5.11 -> 0.5.12 o Added some simple multi-threading (spruce now requires POSIX threads) o fixed some segfault-causing assertion errors o Added the ability to set customized word-wrap length o Fixed a bug which led to a incorrectly formatted date in the header if you had set the locale to some other language. o Added IMAP cram-md5 (oops, had it commented out before) 0.5.10 -> 0.5.11 o Due to popular demand, I have added blind carbon-copy functionality o Fixed a segfault bug in the address book o Added more NLS files o You can now select multiple addresses in the address book o You can choose to have spruce prepend every subject with a "Re: " (or a "Fw: " - depending on the situation) or you can choose to have spruce only prepend those if they are not already in the subject prior to clicking reply/forward buttons o Finished adding mbox support (hopefully no bugs ;-) o Added more command-line arguments and updated the manual page to reflect these changes 0.5.9 -> 0.5.10 o Added support for encrypted connections for POP and IMAP thanks to a patch by Erik Forsberg o Added a manual page o Fixed one last SMTP bug that wouldn't allow a few users to send mail. o Added French, Italian, German, Spanish, and Portuguese NLS support (I wrote a perl script called makepo.pl in /po directory. These languages may not be 100% correct) o You may now use Fetchmail to retrieve messages rather than Spruce's internal Pop3 code. o sped up some of the parsers o various code cleanups 0.5.8 -> 0.5.9 o Brought back the right-click menu in the Mailbox pane since I for one really liked that o Fixed a segfault in the Composer's save email function o Added Danish NLS support o Fixed some memory leaks and bugs in the accounts dialog o Saving an email from the main window shouldn't put 2 copies of the header information into the file anymore o Okay, for some reason I made it so that you needed at least one mailbox in order to create another (oops!). Fixed that. o Fixed a segfault that was caused when a user added a mailbox (unfortunately, this again disallows creating a new mailbox when there aren't any - will have this fixed later) o Creating a new mailbox no longer truncates the file representing the mailbox o Remake of the Filters GUI o Re-did the status dialog for checking mail so that it doesn't make a new status dialog for each account and instead uses the same one. o Other segfault fixes/code cleanups 0.5.7 -> 0.5.8 o The main window is now made up of resizable panes (TODO: save sizes) o Security fix to disallow core dumps o Imap support (needs to be bug tested though) o Better support for local mail spools (you may now add them like any other mailbox rather than having to link to them) o The status windows are now working like they should o I have coded a quick-fix for the GUI locking up during mail retrieval until I get around to threading spruce. 0.5.6 -> 0.5.7 o Rewrote the mailbox_is_spruce_format() function so that no one should have any problems anymore with it not detecting a mailbox format correctly. o Added more potfiles (Korean and Russian) o Fixed a segfault bug o No one should have that problem with spruce failing to send a message anymore. Some users experienced problems sending and for a warning like: "MAIL FROM recv()". I had gotten around that by coding a "hack" for a few of the troublesome SMTP servers. Now it's fixed for good - same thing for the pop3 side (or so I hope). o Fixed it so that you can print more than once ;-) o You should now be able to have an infinite number of message-reader windows open at any given time. o Spruce now highlights new messages in the mailbox list o Short headers are now 8-bit parsed like they should have been all along, but I forgot ;-) o Fixed a bug in the get_trimmed_header() function that cut off a field too early when the field was too long to fit on one line and thus had to be wrapped to the next line. o Fixed a similar bug in the filter code which prevented some mail from being correctly filtered when the field that contained the filter rule was wrapped to the next line(s). o Fixed a bug where Spruce would segfault if you gave a command line with the same toolbar switch more than once. example: spruce --icons --icons o Wrote my own getopt() type functions so that it will more easily port to other Operating Systems like OS/2 which don't have getopt_long(). o general code cleanups 0.5.5 -> 0.5.6 o Fixed some segfault causing bugs o Added mbox support o Added more .po files (more language support) o Added more stuff to the configure script (good? bad? I dunno) o Added another filter option "All recipients" that checks both To: and CC: header fields o You can now choose to view partial headers in the preview pane o Made sure that *.mbx files stay mode -rw------- o A few minor code cleanups o Added some #undef's to stop those annoying MIN/MAX redefinition compiler warnings 0.5.4 -> 0.5.5 o Attachments! o CC text field in the composer window o You can now set it to remember window size and column sizes o Message subject shows up as the message reader window's title o major speedups in mailbox reading o Fixed a segfault bug with the Options dialog o Also fixed a small memleak with the Options dialog o code cleanups (fear the glib!) 0.5.3 -> 0.5.4 o New Options dialog o Auto-attach either a random signature or from a file o limited mime support (read only) o Added a few more random signatures 0.5.2 -> 0.5.3 o Fixed it so that Spruce no longer downloads messages that it already has on disk. (It does this by keeping a log of the messages it downloads) o Fixed a bug that sometimes messed up the Reply-To addr o You may now manipulate multiple messages... o Highlight multiple messages o Delete multiple messages o Expunge multiple messages o Copy multiple messages o Move multiple messages Thanks to Kristoffer for his help ;-) o Now formats the date correctly for outgoing mail in the form: "Sat, Sep 19 1999 4:45:17 GMT" o Drag & Drop capability o Font selection for messages is now working o code cleanups 0.5.1 -> 0.5.2 o Fixed a bug that caused Spruce to segfault if the mailbox contained a message with a NULL subject. o Fixed a bug that caused Spruce to segfault when Forwarding/Replying to messages with NULL subjects (Didn't I fix this before?? Somehow I musta gotten some old code back in there or something...) o Printing should work now... o Added more toolbar buttons (Print and Encrypt) o Started to add pgp/gpg support (it kinda works) 0.5.0 -> 0.5.1 o Fixed it so that Deleting/Moving messages should no longer cause strange behavior o Added multi-language support (I think) o Reply's to the "Reply-To" address if: 1. it exists 2. it's not the same as the "From" address o Added a Print dialog (doesn't do anything yet) 0.4.9f -> 0.5.0 o Fixed some minor bugs dealing with getting the original authors name when Replying/Forwarding. Sometimes, if the original sender didn't put his/her name and instead just had "joe@sixpack.org", it might appear as "joe@sixpack.or" in the quoted Reply or Forward message. o Kristoffer sent me a patch for his make_8bit() function. o Sped up deleting/moving messages by perhaps as much as 50% or so o A message with a NULL subject should no longer segfault Spruce when Replying to or Forwarding it. o Fixed the bug that allowed a user to append a blank account (meaning one or more of the fields was left blank). o Added more accelerators o Added an Expunge menu item for advanced users who don't want deleted messages to appear in the "Deleted items" folder. o Ran ispell on sprucesig.sample, because it was pointed out to me that I can't spell ;-) o Sped up some more mailbox parsing thanks to Kristoffer's help o Added a THANKS file to give special thanks to all the people who have helped me so far with Spruce o Added a new field to the mail list view (id) so that I may easier sort mail messages by certain fields like people keep begging me to do ;-) o The address book is now sorted alphabetically by Name. o You can now sort the email list by clicking on the column headers. Clicking on it a second time will sort them in reverse order. o Added a timeout to the connect() so that it won't lock up Spruce for too long if it can't reach the server. 0.4.9e -> 0.4.9f o Due to utter boredom, I read through all ~10,000 lines of code and found/fixed multiple memory leaks. Then, a friend of mine shows me Electric Fence which is a debug library to help fix those nasty mem leaks so I ended up finding another itty bitty teeny tiny mem leak and fixed that one too ;-) o Substituted a bunch of my code with a simple rename() function so perhaps it'll be a little faster when deleting emails from the folders (I said maybe) 0.4.9d -> 0.4.9e o Now saves emails with brief header information: From: so and so Date: such and such Subject: blah blah blah You may thank my parents for their insistence on this feature ;-) o Ran ispell on the ChangeLog...wow, I REALLY can't spell ;-) o Totally recoded the About dialog o Now understands 8-bit chars in the header thanks to Kristoffer Brånemyr . o Changed the Pop3 accounts dialog so that Password was correctly spelled ;-) o Ugh, fixed a bug that caused Spruce to segfault when ya clicked on the OK button on the Accounts form when the Options form wasn't opened. 0.4.9c -> 0.4.9d o Fixed a bug that only allowed you to add 10 mailboxes via the menu option. o Hopefully fixed it so that no one should get HELO errors. (The people who seemed to get them before were using an SMTP server that ran Windows NT - need I say more?) o Fixed a bug in the Reply/Forward quoting function so that if a user's name does not appear, it will not appear as garbly-gook in the body of the Reply/Forward message. ex: "On Fri, 6 Aug 1999, E5@!E5@#* wrote:" should now always appear correctly. o Now has right-click pop-up menus thanks to a patch by Ian . Thanks Ian, this is really cool ;-) o Added a third field (Memo) to the address book thanks to a patch from Kang JeongHee o Fixed a bug in the Move message code that didn't remove the listing of the message from the mailbox list (until it was refreshed at least) o Fixed a bug in the filter code (it seemed to always copy messages to a certain folder rather than filtering correctly) This was due to an error in my strstrcase() function (which I wrote for portability) - it never returned a NULL if it failed. 0.4.9b -> 0.4.9c o Added the ability to Copy and Move emails from Mailbox to Mailbox. I don't know why I didn't do it before, I had coded the functions but just hadn't added them ;-) 0.4.9a -> 0.4.9b o Okay, apparently strcasestr() is *not* a standard function so I had to fix that by coding my own quick fix for that. Hopefully my quick-fix is portable ;-) o Also added a #define for MAXHOSTNAMELEN because for some reason it's not defined in RedHat 5.2?? I find that odd, but oh well. 0.4.9 -> 0.4.9a o Modified the Reply/Forward features so that it not only adds a '>' to the beginning of each quoted line, but also adds "On , wrote:" to the top of the quoted body. o Added a feature to allow the user to insert a text file into the body of a message during composition. o Fixed the bug that caused the last line of a signature to appear twice. o Added a few more "signatures" to sprucesig.sample (gosh I love these things ;-) 0.4.8c -> 0.4.9 o Added filtering capability thanks to a patch sent to me by Kristoffer Brånemyr . Thanks Kristoffer! I really appreciate this, you did a swell job ;-) 0.4.8b -> 0.4.8c o Added word-wrap so that words weren't broken up when reading a message/typing one out. o Added a Reply-To variable (can only be edited in spruce.conf for now) o Fixed a bug that most of you would probably never notice. In one of the previous versions I had modified the code so that I could easily change the max number of pop3 accounts by changing 1 variable in accounts_t.h by making a #define called MAX_ACCOUNTS but I forgot to change the array in rc.c to use MAX_ACCOUNTS instead of the hard-coded number I used before (aka 8). Thus, if you need more than 16 accounts, just edit accounts_t.h and change MAX_ACCOUNTS to the number you need ;-) 0.4.8a -> 0.4.8b o Default permissions on *.mbx files is now 0600 and the same for spruce.conf 0.4.8 -> 0.4.8a o Now supports up to 16 Pop3 accounts o Added a checkbox to select whether or not to have Spruce empty your "Deleted items" folder on exit o Added a spin dial to allow setting the time interval between automatic checking of email o All snprintf()'s were changed to g_snprintf()'s for easier porting (should now compile fine under IRIX and FreeBSD) o Fixed a 'bug' with the message quoting function (the function that places a "> " before each line in the body when replying to/forwarding a message) that sometimes caused spruce to segfault 0.4.7b -> 0.4.8 o Removes stray \r's that those pesky Win/DOS/Mac computers like to use from incoming mail ;-) o Some "security" updates in pop3io and smtpio to prevent buffer overflows - the fix I did should also help in porting Spruce to FreeBSD. o Deleting an email message no longer annihilates the message, rather, it moves it to "Deleted items". If the message is already in the "Deleted items", then it expunges the message completely. o Splash screen idea bit the dust, after all... we *do* want spruce to load quickly don't we?? I mean, that's what we love about it ;-) o Hopefully people like this method of quoting an email (in Reply and Forward) better than the previous way... I mean, after all...I worked hard on it!! *cough cough* Er, I mean Elliott Hughes did, thanks Elliott! ;-) o Also added was a periodic mail check (Thanks to Elliott) o No longer uses a system call to create the home directory and now creates ~/.spruce with mode 0700 thanks to a friendly Spruce user ;-) o No longer uses a system call to delete a mailbox o types.h has been placed before socket.h (I was informed that this would allow spruce to compile under FreeBSD) o Clicking on the Next or Previous menu/toolbar items no longer spawns a message window o Next/Previous menu/toolbar items always make sure that the item is in full view o Some other minor cosmetic changes were made, but were kept very minor because I know how you all just love the current interface ;-) 0.4.7a -> 0.4.7b o Fixed a bug that saved "Sent items" in the wrong file. 0.4.7 -> 0.4.7a o Fixed a bug that affected checking email when clicking on toolbar button (did not affect the menu option). 0.4.6 -> 0.4.7 o Fixed bugs that affected the address book such as when deleting contacts and adding new contacts. Neither of these functions spawn the composer anymore ;-) o Thanks to a Stampede developer, I think we now have nicer icons ;-) o More general code cleanups/speedups. o The Mailbox combo box is no longer editable to keep a user from accidently setting a Mailbox that is not existent. o Made the icons for the compose window larger, because I for one was starting to go blind ;-) o Spruce will now look in /etc/sprucesig for random signatures if ~/.spruce/sprucesig does not exist. o All mentions of Microsoft and/or any of their software has been removed from the sprucesig.sample file to protect myself and anyone who is associated with Spruce from any legal action from Microsoft. 0.4.5 -> 0.4.6 o Added a function to trim the header information off of messages displayed in the preview pane. (header information remains for the Message-reader Window) o Got the combo box for selecting the mailbox working ;-) o A few general code speed-ups (Just when ya thought it couldn't get any faster!) o Status bars now close upon finishing retrieving mail (Some people like them to stay, others want them to close...) o Updated smtpio and pop3io to take more precaution against buffer overflows (not that it should have been a problem before) o Options dialog will now open at runtime if a config file was not present (eg. first time you run spruce) o Double clicking on the message will now open it in the viewer. o Mailboxes (Folders) can now have spaces in the name. o Forward and Reply have been modified (hopefully for the better?) o Double clicking on a name/email in the address book is now the equivalent of clicking the "Select" button. o Bound some key combos to certain menu items (see `spruce --bindings`) 0.4.4 -> 0.4.5 o Added some more lines to sprucesig.sample (if anyone cares) o Added status bars for checking email. o Added toolbars to the main and composer windows o added some command-line arguments (`spruce --help` for details) 0.4.3 -> 0.4.4 o Fixed the problem with attaching signatures (random and from a file) from the drop-down menu. o Forward and Reply work a little more like they should ;-) (for "Forward"...perhaps I should come up with a function to trim the header information off eh?) o I *think* we fixed the bug that caused spruce to segfault on it's first run like in v0.4.3 (created spruce.inst shell script just in case we're wrong). o Now supports sending to multiple recipients instead of just 1 as in previous releases. o The composer window now closes on a successful send (this change was made due to popular demand) 0.4.2 -> 0.4.3 o Fixed the bug where users could add a NULL Mailbox (Folder) o Support for infinite Mailboxes (Folders) - not just 10 anymore o Added scrollbars to the Mailbox list o Added scrollbars to the list of email messages o Added scrollbars to the Address book list o Added scrollbars to the Pop3 account lists on both the account editor and to the Options dialog. o Created a new drop-down menu on the main window called "Message". You will now find "Delete Message" and "Open" in this menu along with a few new ones ;-) o Fixed the bug that sometimes added junk pop3 accounts. 0.4.1 -> 0.4.2 o Fixed the bug that caused a Gtk-Entry warning when the composer was started from the drop-down menu. o More Installation fixes (nothing to do with the program, just the makefile and such) o A bad HELO will no longer quit the sending of the email. This is just a temporary fix until I figure out how to solve this completely - the HELO command works for a good percentage of people, but I received an email from one person where they had problems...so now he can be happy ;-) o Fixed the bug that prevented spruce from being able to delete your emails off the server upon fetching them. (It was due to spruce using an RSET command after it deleted the messages, thus telling the server to ignore the delete commands issued) 0.4.0 -> 0.4.1 o Fixed the bug where it didn't show the last email message in the current Mailbox (Folder...or whatever you call it). o Fixed the bug so if it's your first time running Spruce, it won't crash on you when you open the Options dialog. o Fixed it so you will no longer get compiler warnings similar to: "warning: type defaults to `int' in declaration of `i'" o Added an AUTHORS file due to popular demand ;-) 0.3.9.1 -> 0.4.0 o Spruce is now a complete email client and not just a message sender. 0.3.9 -> 0.3.9.1 o Code optimizations dealing with resolving hostnames and various other socket stuff. (rewrote resolve() and Resolve() yet again) 0.3.8 -> 0.3.9 o Mostly just changes in the code to make it more efficient and/or easier to fit pop3io into it for a later release (0.4.0 ?). You'll notice that there is some pop3io files but they do not yet compile into the main program yet ;-( o Moved resolve() into server.c and wrote a new Resolve() function to take advantage of struct _server_ Both work fine and either can be used but if you are using my libs to make your own email client, consider using Resolve() instead of resolve() 0.3.7 -> 0.3.8 o And I'm at it again...grrrr. I forgot to bind the vertical scrollbar to the Body - fixed that in this version ;-) 0.3.6 -> 0.3.7 o Okay, I made a major goof - I accidently made 0.3.6 send the subject of the message as the body of the message also. Thankfully I caught that mistake and have now fixed it. Please see PATCH-0.3.6 to see exactly how to fix the problem in spruce-0.3.6 so you won't have to download spruce-0.3.7 ;-) 0.3.5 -> 0.3.6 o Spruce will now compile with gtk 1.2.x (will it still compile with gtk 1.0.x?? One may never know...) o The About dialog actually does something now :) o Added an Address Book dialog...but no code yet o Added a Defaults dialog...also no code yet o Fixed a "bug" in the code that gave a warning when compiling so it's all good now ;-)