Up to Scribe...
About
Build74:
Build73:
Build72:
Build71:
Build70:
- Fixed a crash in the mail3 serialization code.
Build73:
- Back ported 4 bit PNG support from trunk.
- Fixed a NULL ptr exception in the CSS handling.
Build72:
- Fixed a bug in the fix from Build71.
Build71:
- Fixed incorrect parsing of "To" recipients when reading from a mail3 database.
Build70:
- [Mac] Fixed illegal characters being allowed into the default file name for the save as dialog.
- [Windows] Fixed Unicode characters being excluded from the file name for the save as dialog.
- Added Korean translation.
- Added draft OAUTH2 implementation for IMAP. This supports Gmail only at this point. I will be adding other services as I get time. Email me if you want a specific service added.
- Fixed handling of server response during IMAP "AUTHENTICATE PLAIN" mechanism.
- Fixed the list view sometimes scrolling to the bottom when selecting a folder.
- Fixed Reply-To header not being used in mail3 folders.
- [Windows] Fixed invalid file name characters breaking the Attachment save functionality.
- Fixed the item filter only working in "Folder On Left". Now it works in all Layout modes.
- Updated the build of iconv to the same compiler as Scribe. This should fix an occasional crash on shutdown.
- Rewrote the options save code to fallback to desktop mode (Options stored in $APPDATA\Scribe) rather than silently fail. This also includes fairly complete logging of the errors and some new dialogs if things go horribly wrong.
- Added code to detect that the app is installed in the "C:\Program Files" folder tree and assume that means Desktop mode (i.e. storing the options and so on in the $APPDATA tree).
- Back ported the async image crash fix from v2.1.
- Layout in main window fixed to support item filter on the Mac port.
- Added options to bayesian spam filter to "delete attachment" and "delete spam from server", defaulting to Off. These were previously on by default and not adjustable.
- [Mac] Fixed ability to self install OpenSSL.
- Fixed the SMTP port setting not being used.
- Fixed a hang in the selection of HTML font sizes by pixel height for larger sizes.
- Fixed importing various text files (e.g. Contact vCards). Added warning on error to the contact import.
- Fixed the leave on server setting defaulting to false when opening the UI.
- Fixed setting the label using a filter.
- Fixed a crash on shutdown when there are active HTTPS connections. (e.g. loading images over HTTPS or a SSL POP/SMTP/IMAP connection).
- Fixed reporting and handling of script errors.
- [Windows] Fixed the MAPI implementation to send a basic email. The build broke when I went to vs2008 and it's been broken ever since. None of the functions were exported correctly and the initialization didn't take into account portable/desktop mode. Now it should be fairly robust. And it even has proper logging of errors to 'ScribeMapiLog.txt' in the same folder as the exe/dll.
- Fixed the options file getting deleted when Scribe hasn't fully started and needs to quit. This can occur during the MAPI send mail function. And probably other cases as well.
- Fixed a problem with the recipients crashing fix from build 58.
- Fixed bare LF characters creeping in SMTP streams (the debug code from last time picked it up).
- Fixed lots of and lots of recipients crashing the client when you select a folder.
- Fixed a bug that caused sending to fail over SSL connections (again... a fix to the previous fix).
- (Hopefully) fixed a intermittent crash during installing optional components.
- Fixed the wrong version of the libjpeg component downloading with the current release.
- The installer now removes Lgi*.dll during install. This should eliminate old DLLs causing problems.
- [InScribe] v2.0 final build: only v2.x keys accepted from here on in. I may choose to back port some critical fixes from the trunk (v2.1), but this is the stable build from now on.
- [InScribe] Added code to automatically select the first configured SMTP account if none is selected.
- [InScribe] The code now strips off leading and trailing whitespace from the key and name when checking the user has purchased the software.
- Made the account settings dialog a little wider to show all the fields by default (instead of having to resize it to show the receive account type combo).
- Made various receive account settings disabled when they are not relevant. (e.g. IMAP accounts don't need "leave messages on the server" etc.
- New Thunderbird Address Book import: removed all the broken Mork parsing code and replaced it with LDIF import code. This means you have to export from Thunderbird to a file, and then import that file. But it works well now.
- Fixed the help files having blank content till you scroll.
- Ldap plugin: made the plugin statically link in the LDAP code, no messing with extra DLL's. Less to go wrong.
- Fixed a bug that caused sending to fail over SSL connections.
- Fixed display of certain types of GIFs in HTML that have transparent regions and are also not displayed at their original size by the HTML. (The resample code now supports 8bit + alpha).
- [Mac] Made the checkbox and radio button controls have a native look. Which also meant making those controls layout change to allow for the larger native graphics.
- [Mac] Added space bar key handling to the checkbox and radio buttons.
- [Mac] Moved the log file to ~/Library/Logs/Scribe.app.txt.
- [Mac] Added support for edit box "empty text" prompts.
- [Mac] Fixed loading of .gif files (and subsequently the About dialog).
- [Mac] Fixed not being able to create calendar entries.
- [Mac] Fixed popup date/time controls in the calendar window.
- [Mac] Fixed crash when using drag and drop.
- Made the shutdown dialog use table layout for font flexibility.
- [Mac] Fixed the floating edit boxes used for entering Contact emails, editing mail store names etc.
- [Mac] Fixed the Contact preview in the main window.
- [Mac] Fixed crash when dropping files on the mail window.
- [Mac] Fixed the thread condition code so that the resizing image attachments functionality work.
- Fixed attaching files that aren't images.
- Removed some code to keep track of the current mail between selecting folders. Seems to be playing up a bit.
- Fixed loading CMYK JPEG's.
- Added feature to resize images when attaching to an email. The options are currently in the advanced section. There are separate px (dimension) and KB (size) maximums.
- Fixed the PNG reader from leaking enough memory for the whole image. Doesn't matter too much for a few small images, but if you have some really heavy HTML email it starts to hurt.
- Made the edit controls for port settings in the account dialog consistent between the send and receive side. They are now both discreet controls on the same row as the server field that have empty text saying what the default value is.
- Added empty text prompts to the account server fields
- Made the HTTP image loader popup a capability bar to ask the user to install the zlib library if the HTTP stream is compressed. (Instead of just silently failing)
- Made the "copy log to clipboard" menu item translatable. Also made it put proper new line characters in the text.
- Removed the broken OAUTH implementation so that IMAP logins don't try and use it.
- [Windows] Removed .exe packing in the installer to allow crash debugging.
- Made all the script execution time warnings use FileName:LineNumber as the reference instead of the current instruction pointer. This means you can trace back to the source easily.
- Made all scripting operators safely handle the case where only one argument is a DateTime object (i.e. not crash).
- Fixed an occasional crash in the scripting engine when right clicking an email.
- Made the jpg and png libraries stay loaded for the lifetime of the application. They were being loaded/unloaded per image before. Caching on the OS side would generally make that fairly cheap, but it seems more sensible just to leave them loaded as a singleton object. Even if it's just for my sanity, as it clogs up the debugger Output pane.
- Fixed some parsing of CSS border styles and added better CSS background image support to the HTML control.
- Fixed serialization of message IDs on IMAP mail. This only happens when the source email has no message ID in it's headers, Scribe will create a message ID.
- Fixed the IMAP fetch mode. It's been broken for a while, using old IMAP code that hadn't been testing in a long time and had rotted in the changes to support IMAP full. I've re-written the relevant functions to use the current API and tested it a bit.
- Made a few strings here and there translatable.
- Re-wrote a lot string handling to not overflow their buffers in an ongoing effort to improve security and malicious or overly large input handling.
- [Mac] fixed support for non-default background colours on buttons (visible painting bug on the missing capabilities bar).
- Scripting: Fixed "!Var" in an expression modifying the variable's value instead of operating in a register.
- Fixed a hang when you add the "From Contact" field to a mail folder.
- [Mac] Fixed not being able to use Backspace / Delete keys in the mail filtering.
- Fixed sorting of mail3 folders.
- Fixed a crash after deleting a referenced image in an email that used HTML and then hitting save.
- Fixed loading grey+alpha PNG's.
- Fixed HTML layout issues.
- [Windows] Re-wrote the registry handling to be aware of permissions. Modern windows don't allow write access to the registry by default. A lot of Scribe's registry stuff was just silently failing. I've added a new option to control whether Scribe will register itself as a windows client. If that's on, and the software can't write to the registry it throws up a red missing capability bar on the main window prompting you to re-run with admin rights or turn off registering as a client.
- Fixed bounced email having their from address as yourself instead of the original sender.
- Fixed conversion of wingdings characters during HTML to text (say when replying or forwarding).
- Fixed usage of Unicode in HTML src and href attributes when the charset specified doesn't support Unicode.
- Added '(Password saved)' to the password controls when the user has stored a password. When the user clicks into the control that text is erase and they can enter a new password.
- Made the behaviour of missing folder files more obvious with a better error message and the option to open the mail stores window.
- Added method calls on variables to the scripting engine. Objects can implement their own API.
- Updated the replicate folders dialog to use the progress window at the end to show a message informing the user that it's closing the mail stores. Rather than just have a blank unresponsive window.
- Fixed filters with a script not displaying correctly in the item preview. (Added entity encoding for '<' and '>' characters.
- Fairly extensive re-write of the scripting engine, focusing on a new easier API with lots more functionality. All the documentation for scripting has been updated to reflect the changes. Some scripts will need to be re-written to work with the new API.
- Implemented a OpenSSL version check to make sure the installed version is at least some minimum version. This is to force users to update their build of OpenSSL in light of the heart-bleed bug. I'm also updating the version that Scribe automatically installs to v1.0.1g. OpenSSL library error messages now propagate up to the missing capabilities bar.
- Increased the speed of searching using the Find window by about 40x. The problem lay in the way the HTML was being parsed and converted back to text before searching. Turns out that doing a word search of the raw HTML is much faster and still gives good results.
- Added a status message to the find window that tracks the current folder and items per second.
- Fixed a HTML rendering issue when non-TD elements were attached to TR elements.
- [Windows] Added ability to install components when in 'Desktop' mode. I.e. where the application is installed in the Program Files tree and has no write access to it's install folder. This mechanism involves having a small (8kb!!!) Updater executable that asks for admin permissions on startup, which then copies the files from a temporary download folder to the install folder.
- Rewrote the text selection in the HTML control so that works reliably.
- Added 'cp????' alternate names for the 'windows-????' charsets.
- Fixed behaviour on IMAP server's that don't support the IDLE command. Previously it would hang in the IMAP thread, which wouldn't lock up the whole app, but you couldn't access any folders or shutdown correctly.
- Fixed the app icon in the help being gray scale. More generally, all 8 bit images in the HTML control now resize without corruption.
- Added functionality to import directories of .eml files in bulk.
- Fixed rare issue when replying to an email and the body of the source email would not be quoted in the reply.
- Fixed layout of HTML images that are display: block;
- Saving quoted-printable attachments from IMAP mail now doesn't complain about the attachment size mis-matching with the output file size.
- Fixed stray HEAD and BODY tags messing up HTML rendering.
- Fixed missed character boxes appearing in the POP3/IMAP/SMTP account log.
- Fixed the menu background being the wrong colour (again).
- Changed the way HTML to Text works (mainly used when replying to HTML email). It now passes through the HTML rendering control and gets converted from a DOM tree down to text. This should mean better parsing in the long term at the expense of some weirdness in the short term while issues get sorted out. Initial testing has shown some promising results.
- Re-wrote the algorithm that wraps and quotes email when you reply or forward. The old code works ok, but is impossible to read or maintain. The wrapping also pulls the "wrap column" setting from the appearance page. Even if you don't use wrapping in the editor.
- Fixed window border drawing in the Windows7 classic mode.
- Fixed the folder unread count not updating if a parent folder is not expanded.
- Fixed a crash when using the -m or -t command line options. Bit rot from change the get option API and the compiler didn't catch it.
- Fixed a HTML rendering bug when images are marked as "display: block;".
- Fixed some flicker in list controls when re-sizing columns.
- [Mac] Fixed pasting multi-line text into non-multi-line edit controls showing a scrollbar.
- Fixed the create/load folder dialog's radio buttons to work correctly.
- [Mac/InScribe] Fixed the identity menu updating correctly after you delete an identity/account.
- Html control -> Copy Source now copies the actual HTML including dynamic content rather than the script source.
- [Win] Fixed the mail window becoming unresponsive when clicking a recipient in the drop down.
- Fixed a hang in the CSS parser. It would choke on badly formed @media rules.
- Fixed the template menu to contain items linked to the the email in the templates folder.
- Fixed missing scroll bar in the HTML control when there is nested HTML documents followed by images.
- Fixed the Save Attachments filter action to save all files in the case where no file pattern is specified.
- Fixed printing plain text emails.
- [Win32] Fixed drawing the borders on Windows XP.
- Fixed the layout in the calendar window.
- Fixed blank start and end dates in the calendar window when loading an existing event.
- Added Ctrl+P shortcuts for printing from the main and email windows.
- HTML emails now print in HTML instead of being converted to text first. This feature is based on the existing HTML control rendering to a memory context (Screen DPI), which is then printed to the page. It's going to have the same limitations as the HTML control and won't be very high resolution. Certainly not "print" DPI, but its a whole lot better than HTML -> text printing. It's the best I can do at the moment.
- Added some new Scribe DOM fields to the mail object: selected, colour, label, read, and showimages.
- Fixed the mail3 back-end parsing and storing CC header details.
- Fixed "internal filtering" checkbox not being initialized when you open the Filter UI window.
- [Windows] Fixed mice with small wheel increments not scrolling in Lgi applications. (Integer rounding was causing the "amount" of scroll value to go to zero)
- Made the new filter condition item a bit darker. The medium dialog colour has got a lot lighter in Windows 7 (#f0f0f0) and it no longer very readable on the workspace background (#ffffff). So now I use a darker custom grey instead so at least you can read it.
- Fixed the layout in the folder select dialog. The table layout code now has some basic support for CSS, so I can man-handle difficult layouts into shape using a little CSS here and there.
- Fixed a bug in the .eml and .mbox export where a mail3 email would be missing the content-type header value. This mostly manifested when exporting mail from the Sent folder.
- Changed the default date field for a mail folder to "Date Sent".
- Fixed Bug #395: parsing of dates on new email when using mail2 folders.
- Fixed email losing attachments when copied from a mail3 to a mail2 folder.
- [Mail3] Moved the size cache into the database. It gets updated once after you open the folder containing email. Sizes now include all attachments and text data.
- Made the main window account status panel sensitive to font size. This involved removing the tab control and laying out the progress controls along size the log control.
- Improved performance of HTML layout with lots of table cells.
- Major rework of the message threading code. Its now far more correct. Supports Outlook's Thread-Index header.
- Fixed scribe to respond correctly to IMAP IDLE notifications for things like delete and mail is read.
- Fixed Scribe dropping BCC addresses from the email when sending.
- Fixed newly received email not sorting correctly by date when they are from different timezones.
- [Windows] Fixed the installer to detect a missing VS2005 runtime, download and then install it.
- OMG, if Scribe tries to encode a message with a multi-part alternative it uses the same MIME boundary. Epic breakage. (Fixed)
- Fixed IMAP mail returning HTML segments with a file name as possible content for the viewer.
- Fixed some HTML rendering issues, table layout, font size, and code optimizations.
- Changed the remove duplicates script to keep the oldest copy.
- Fixed a crash in the .gif decoder.
- Added support for HTTPS image loading, including proxy support.
- Updated version of Sqlite in use to the latest.
- Fixed logging SSL connections to a file.
- Fixed rare case of base LF's in outgoing email. This could happen when replying to email with base LF's in the source emails headers (e.g. Subject).
- Fixed not being able to scroll some HTML documents with the mouse wheel.
- Added better CSS support to the HTML control and fixed some layout issues. By this I mean Scribe now supports some complex CSS selectors (the more common cases). I will over time extend that to cover more of the obscure cases as well.
- Made the non-focus selection colours adhere to the prevailing windows standard. (Not 100% sure what value to use when calling GetSysColor for those cases).
- Speculative fix for crash in the .gif decoder.
- Removed command line option "-o" that specifies the options file. The options file is either in the same folder as Scribe.exe OR in the Application data folder (AppData tree on Windows, ~/Library/Scribe on mac). The application has to be able to find the options file with no command line arguments. This is because sometimes other applications call the software to send mail via the command line and won't pass Scribe the options path. So if it's not discoverable automatically then I had to pull it from the registry. That causes a problem when users install test builds, which then default to the live options file and nuke the live data if it all goes wrong.
- Enabled the context menu keyboard button for the text editor control. (So you don't have to use the mouse to correct spelling!!)
- Fixed size of outgoing email with attachments (Mail3).
- Added html mail preview "show images" button.
- Added support for alternate text on HTML images when the image hasn't loaded. Instead of a red 'X' in the image, the alternate text is shown, clipped to the image size.
- Added gzip support to HTTP images if you have the zlib DLL installed.
Beta40:
- Fixed a charset parsing error, where an extra space would cause quotes to be kept, instead of parsed. Which meant the charset wasn't used correctly.
- [Mac] Fixed hiding the application with Cmd+H.
- Fixed some memory leaks when copying data around and in the mail2 backend.
- Fixed a bug in the mail2 back end where the body of the email would be lost on newly created mail when copied to another mail3 folder. The mail2 back end creates a fake MIME tree for it's mail, which is needed by the other back ends when copying. This wasn't being built correctly in some cases.
- Fixed the folder selector to list all the open mail stores, not just the default.
- Fixed filters always being "incoming" after re-opening the application.
- Fixed password field not initially being disabled on the account receive tab.
- Fixed not being able to toggle the state of a checkbox with the space key.
- [InScribe] Fixed memory leaks if you create a new account but don't save it.
- Fixed mail losing it's body when being copied from one mail3 store to a another mail3 store.
- Fixed a bug that would delete the headers of an email when the charset is not supported.
- Fixed processing of white listed email so that it appears in the tray.
- Fixed a crash in the code that generates new mail growl notifications.
- Fixed an email losing it's body and attachments if you copy it from a mail3 folder to an IMAP folder.
- Fixed the SSL IMAP account not recovering from losing it's connection. This would happen say, when you put the computer to sleep and then wake it up again. Scribe was going into a 100% CPU loop and never attempt to reconnect. The UI however stayed responsive and you could quit the app, it was just the IMAP thread getting stuck.
- The mail's window closes when you open an email, then switch back to the main window and delete that email.
- Fixed an issue when creating a new IMAP folder and not being able to list email in that new folder without a restart.
- Fixed a display issue where an email with multiple HTML parts would show only some of the HTML.
- Started added some support for high DPI awareness:
- The To, From and Subject fields in the mail UI now resizes to the current font.
- Fields tab of mail UI is now a resizable table.
- The colour selector for an email now resizes to the current font size.
- The fonts/icons are no longer fuzzy on Vista/Win7 when you have medium or larger text selected in the control panel. (aka DPI virtualization)
- The positioning of icons in the tree and list views has been vertically centered when the line height is greater than the icon height.
- Radio buttons vertically center their icon.
- Most of the dialogs in the application now re-flow their components to the current font size. Some will also resize if you drag the edge of the dialog to resize the whole window.
- The status bar now puts their icons beside the text, instead of under.
- [Windows] Fixed very slow rendering of email that used glyph substitution. The code was constantly recreating fonts when it didn't need to.
- Fixed mail losing their body when copying mail from a mail3 folder to an IMAP folder.
- Added some basic install on demand functionality for various add-on libraries. If you click on an email that needs iconv or libjpeg to display correctly, a missing component bar appears between the header and the content, with a message stating the missing components and a button labelled "Install". When you click that button Scribe queries the memecode site for the download location of the required libraries and downloads them to the Scribe folder. Then it re-displays the email to show the content correctly. This also works with the SSL libraries as well. Currently working fine on Windows, but I haven't had time to test Mac support.
- Moved most of the HTTP related stuff to go through the proxy setting in the options, which also now defaults to the system HTTP proxy setting if there is no proxy specifically defined in Scribe's options.
- Fixed an important bug in the bayesian filtering backend. When using incremental word list updates small changes would go through an optimized code path that didn't write the changes to disk due to a dirty flag not being set. This caused the changes to remain only in memory and be lost on restart. Making the bayesian filter not work correctly, as the lists would rapidly get out of date. I noticed this because I kept getting the same spam over and over, and eventually thought "this can't be right". Sure enough it wasn't.
- Fixed and optimized outlook (MAPI) import.
- Fixed rebuilding the Bayesian word lists bumping into the 2gb memory ceiling (32bit windows build) if you had a large enough folder(s), by unloading folders after using them. I've also made it store in memory only the words referenced in each mail store. Originally it would store all the words from all the mail stores at once. Before writing them to disk at the very end. This was great for speed but used a lot of memory, now it's almost as fast, but uses less memory.
- [Mac] Fixed dropping files on to some windows not working.
- [Mac] Fixed the first tab of the Filter window not positioning itself correctly when first shown.
- [Mac] Increased the size of the filter condition boxes so that text isn't truncated at the bottom.
- Fixed the initial creation of the IMAP cache folders to not create child folders sometimes.
- IMAP cache folders are now automatically located in the right place according to Desktop/Portable installs.
- [Mac] Fixed occasional warning about LgiFactory file on exit.
- [Mac] Added normal Scribe menu items to the dock context menu. (i.e. same as the Windows tray icon context menu).
- Major re-write of the new mail handling. There is now a bunch of states (loading, filtering, bayes, growl notification, tray icon notification) that new mail passes through, and both synchronous and asynchronous events that push email through those states. The old code was too complicated to keep track of that well and I couldn't fix all the bugs. Hence the re-write.
- Fixed the filter delete action not marking the email as "not new".
- Fixed the delete duplicates script not working.
- Fixed memory leaks in the NewHashTable and NewList scripting calls.
- Fixed the path to the mail folders to be relative to the options file location when possible.
- Fixed imap BODYSTRUCTURE parsing to handle "{##}" style size prefixes. I still don't know where the BODYSTRUCTURE format is documented, so I just keep adding to the parser when it encounters stuff it can't handle :{
- .eml files now open the same as received email, rather than email you create yourself. This means the from and to fields look correct.
- [Vista/Windows7] Modifications to the build process to avoid side by side issues.
- Fixed importing .ics files with multiple VEVENT sections.
- Added support for reading iCal files with byte order marks.
- Changed the default behaviour of selecting an IMAP folder for the first time to only scan for UID's higher than the highest known existing UID. This cuts down on the response time for the command on large folders.
- Scribe now looks in parent MIME segments for a charset if the charset is missing. Lots of Chinese spam just has the charset in the top level multipart segment. Scribe was interpreting the text as us-ascii and that confused the spam filter. Getting the charset right means the bayes filter correctly classifies the message as spam. Nyuh nyuh.
- [Mac] Fixed support for charset conversions.
- [Mac] Added support for setting Scribe as the default email client. Can handle mailto: links but not open .eml files just yet. I hope to add that in the next release. The plist is there for it, but for some reason it's not picked up by Finder.
- Fixed a bunch of memory leaks in the filter UI.
- Fixed a memory corruption bug in LgiFindFile, which is used by a whole lot of stuff but I noticed it while rendering HTML.
- Fixed folder locations being stored using a relative path where possible. There was some confusion in the code as to which base path a relative folder path was referencing, so I've standardised on the options file path (as opposed to the exe's path)
- Added 24hr support to the week view of the calendar.
- Fixed deleting calendar entries via keyboard to prompt you if you have "confirm item delete" on.
- Fixed crash on compact mail3 (was a vc6 issue, doesn't happen on vs2005 i.e. compiler bug). Also made it threaded so the UI doesn't lock up.
- Removed the 2nd context menu appearing on an email when using the keyboard to open it.
- Added 32/64bit to the about box.
- Fixed the destination IMAP folder's unread count not updating when a filter moves an unread message.
- Rewrote the IMAP structure parser to fix bugs.
- Added up/down buttons for reordering filter actions.
- [Mac] Fixed crash when you Cmd+Q (quit) while accounts are still active sending or receiving email.
- [Mac] Fixed icons having a slightly different grey background.
- [Mac] Fixed the flashing new mail icon being upside down sometimes.
- Moved all bayesian filter functions into their own thread so that it doesn't lock the GUI up at any point. This improves the performance of the IMAP full mail store in particular.
- [Mac] Fixed being able to toggle checkboxes with the space bar.
- Made cancel in the find window work again.
- Fixed buffer overrun in the HtmlToText code.
- Bayesian analyser now displays unicode correctly by using the HTML control instead of a message box. The HTML control uses Lgi's own code to display text, which in turn has the ability to load in fonts that actually have the glyphs in question.
- Fixed recent mail not being filtered when you navigate to the IMAP inbox for the first time in the session.
- Unified the filtering of both IMAP and POP email. I didn't realise that the filter was all over the place and so I've moved all the filtering of incoming mail into one function. The take away bug fix is that now the IMAP mail gets filtered correctly by the Bayesian filter.
- Fixed "probably" spam being listed in the new mail list (i.e. flashing mail icon, and it's right click menu).
- Fixed moving messages from a mail3 folder into an imap folder. The append command wasn't reading the UID out of the IMAP servers response, amongst other issues.
- Emptying the IMAP trash now works for large amounts of mail, works faster than before and also expunges the messages afterwards.
- Fixed moving more than one email at a time using the find results window.
- Fixed some memory leaks.
- Added initial support for Growl notifications. At the moment this is just for new mail, but it will be extended to some other things in the future. Support is provided via direct socket implementation in Lgi rather than some 3rd party code. I had a look at the available libs and thought it was easier to write from scratch than integrate a library. For C++ it's about that bad. Growl support defaults to off, until I'm happy it doesn't make things worse. The option to turn it on is in the "Other" tab of the options, and the option only gets read on startup, so restart after changing it.
- Fixed a bunch of memory leaks in the spell checking engine.
- Revised the parsing of name/email pairs again to prefer parts inside angled brackets when both name and email are valid email addresses.
- Made the add contact window load the groups folder before scanning it.
- Fixed the add contact window putting the group name in the 'name' field of the recipient, instead of the 'address' field (i.e. with angle brackets around the name).
- Made contact groups use normal To/CC/Bcc header style.
- Fixed occasional crash in PNG filter.
- Fixed contact groups.
- Fixed the IMAP email's dates in the cache being sensitive to the current date format.
- Added RFC 2047 decoding for the name of IMAP attachments.
- Fixed some MBOX importing issues.
- Fixed not being able to enter email addresses in the Contact window.
- [Mac] Fixed a crash when attaching files with no apparent mime type.
- Fixed "(null)" dates in IMAP folders.
- Fixed incorrect processing of the IMAP "RECENT" untagged event for new email. The result of this is that when new mail arrives in the Inbox it now shows up correctly.
- Fixed the dialog closing when the focus is in the account dialog's signature entry editbox and you press Enter.
- Fixed the client causing IMAP email to be marked /Seen before it's actually marked read in the user interface.
- Imported a whole lot of punctuation, spelling and meaning fixes someone contributed to the help files. (Btw if you feel like contributing to the help files, just edit the HTML directly and send me the edited files, I'll merge them with the trunk).
- Added some basic search to the help browser.
- Fixed the NTLM implementation to work with Exchange 2010. This means bundling a heavily modified version of the LGPL libntlm. The modifications are available here, however I doubt the maintainers will be interested in them.
- Added support for the non-standard "Deleted Items" IMAP trash folder.
- Fixed processing of IMAP fetch responses to handle out of band command responses.
- Fixed detection of IMAP server's folder separator character.
- Tightened up the decoding of name/addr pairs a little more to handle the case where both the name and the address have '@' characters in them. Now it will guess the correct meaning in that case by doing fairly complete RFC validation of the email. (anything would be better than the strchr(possible_email, '@') that I was doing).
- Fixed parsing of quoted characters in IMAP FETCH responses.
- Fixed Scribe using 100% CPU when there is an idle IMAP SSL connection.
- [Mac] Fixed the plugin dialog not closing when you click "Close".
- [Mac] Fixed crash when compacting a mail store.
- [Mac] Fixed the standard progress dialog being too small.
- [Win32] Fixed creation of the default extension for common files types in the case that there is no attachment file name.
- [Win32] Fixed the client making itself the default even if you switch off the "check default client on startup" option. (No one complained - amazing! I found it myself)
- Fixed Bug #335: Relative dates in the title page are incorrect.
- Fixed not being able to import MBOX folders.
- Added character's below 0x20 (space) to the disallowed filename characters for saving attachments. I got an attachment with a '\n' in the middle of the filename.
- Fixed uuencoded attachments not being decoded. More like ported the code from v1.xx over to the new architecture.
- Fixed the calendar colour settings getting displayed incorrectly.
- Re-wrote the execute process filter action to use modern Scribe DOM fields.
- Added some documentation on Scribe specific scripting that covers all the methods you can call, how to setup callbacks, where to put files and how to do filter based scripting. This is in addition to the existing Lgi scripting docs that cover the basic syntax and system library methods. This is a work in progress.
- Fixed addressing of local variables in script functions.
- Added support for new methods in the scripting engine: BrowseFolder, GMenuAddItem, GMenuAddSubmenu and FilterDoActions.
- Added support for new DOM fields: Thing.Type, Filter.ActionsXml, Filter.ConditionsXml and Filter.Name.
- Created a new default script for creating filters based on messages. The initial entries are the "Create filter for mailing list" (which used to be C++) and a new one called "Filter email from [addr]'. Obviously now that this is a script, enterprising users can all lots of their own entries using the existing ones as templates.
- Rewrote the folder browser to a) resize to font sizes and b) have a "New Folder" button. It's now in the lr8 resource file.
- There have been some significant fixes to the GTableLayout object that does dynamic layout in dialogs.
- Fixed Bug #290: Some files and settings not cleaned up by the uninstaller, updated uninstaller for win7.
- Added support for decoding and showing emoji in the HTML control. Support for emoji already existed when viewing plain text emails in the previous build.
- Fixed the saving of message dates in the options file to be forced into y/m/d format. Previously they were saved in the currently selected date format, and if the user changed that date format (in the options) then all hell breaks loose when you try and receive mail. So the solution is to a) always save in y/m/d and b) "guess" the right format when loading them back in. y/m/d is always guessable... but there is some confusion with d/m/y and m/d/y if the day is less <= 12. So it's not perfect, but it's the best solution given the bad situation.
- Fixed Bug #315: Filtered mail don't arrive in the correct sort order.
- Fixed the colour of calendar items in the title page (i.e. when you select the root mailbox node).
- [Win32] Fixed Bug #216: Date formats don't support leading zeros as defined in the windows regional settings.
- Fixed spelling errors in the quoted text of compose control being painted in the default text colour instead of the quoted text colour.
- Fixed the default folder date fields being mixed up, i.e. the Inbox having "Date Sent" and the Sent folder having "Date Received".
- [Win32] Improved sending files from Office 2010 (via MAPI) in the following ways: doesn't crash, doesn't load the whole file into memory and it now supports more than one file. Slightly better.
- Fixed Bug #305: STARTTLS connections fail (for some users at least).
- [Mac] Made the spell checker use the native cocoa NSSpellChecker instead of the aspell library.
- [Mac] Fixed pasting text from other applications not having line breaks in the right place. (\r to \n conversion)
- Added iPhone/Softbank Emoji rendering support for plain text messages.
- Optimized the text composition control to only check changed regions of the text for style changes (e.g. URL detection). For large messages this should improve layout time.
- Factorized the URL detection code out of the text compose control so that I can use it in more places, for instance the code that converts plaintext/emoji into HTML.
- [Mac] Fixed imag