SUPPORT : Mailsmith : Archived Release Notes : Mailsmith 1.5.3 Release Notes
Mailsmith 1.5.3/1.5.4 Release Notes
This page documents all feature enhancements and bug fixes included in the Mailsmith 1.5.3 and 1.5.4 maintenance updates.
Additions
There are no new features in Mailsmith 1.5.4.
The following enhancements are new for Mailsmith 1.5.3:
Mailsmith now provides the ability to search for mail by its relevance to a collection of words or phrases, rather than a "literal" or "keyword" search. To find mail in this fashion, choose "Find Messages About..." from the Search menu, and type in some words or phrases that describe the mail that you're looking for.
Important Note For Existing Customers:
Mailboxes must have their contents indexed before Mailsmith can locate any messages within them using the "Find Messages About" command. To build (or rebuild) a content index for one or more existing mailboxes, select them in the mailbox list of the Mail Browser or Mailbox List window, and choose "Rebuild Content Index" from the contextual menu. (Note that if you have lots of mail, this will take a while.) If you opt not to do this, then the "Find Messages About" command will only be able to locate new messages added to your mail store, not messages that already exist.The results of a "Find Messages About" are presented in order of their relevance to the search terms you entered, with the most relevant messages occurring first in the list. The list is not sortable, and is limited to the first hundred (100) messages located by the search.
Note that "relevance" will vary depending on the number and nature of the terms you enter; for example; if you just entered a single word, the message containing the most occurrences of that word would be the most relevant. If you enter multiple words or phrases, messages containing the greatest overlap with the entered word(s) or phrase(s) will have the highest relevance; this will vary depending on various linguistic analyses performed by the indexer.
The "Simple Query" and "Advanced Query" menu commands have been moved to the "Search" menu. [Ex post facto: they are grouped together with the new "Find Messages About" command.]
If you choose "Print" while a message list has focus, Mailsmith will print the selected message(s), if any. If there is no selection, the message list is printed, as before. Note that when there is a multiple selection, no print dialog is displayed; it's as though you selected and chose "Print One Copy" for each message.
You can now create a new mail message with a file pre-attached simply by dropping the file onto the Mailsmith application icon. Specific exception is made for text files with Mailsmith's creator; such files are assumed to be log files created by previous versions, and since Mailsmith can open text files, it will open these.
Note that as of this change, Mailsmith will specifically avoid creating text files with its own signature. If you have configured the "editor" helper application in the Internet control panel (not possible at this time on Mac OS X), then Mailsmith will use that application's signature; otherwise Mailsmith will create text files with BBEdit's application signature. (BBEdit Lite is free.)
Mailsmith now supports the optional "attaching" parameter as specified in the version 1.1 specification of the 'GURL' event, for attaching file(s) to an outgoing mail message.
The "Send AppleDouble 'TEXT' Enclosure Data as Text" preference and its subordinate settings have been consigned to the dustbin of history. They're no longer needed. The data portion of an AppleDouble-packaged enclosure is now Base64 encoded for proper transport fidelity.
Mail views for stored messages are now modifiable. Note that you cannot make permanent changes to a stored message -- when you close the window, or view a different message in the same window, any modifications will be lost.
This change allows you to apply text transformation commands such as Hard Wrap or Rewrap Quoted Text in order to make malformed incoming messages more readable. You can also run plug-ins such as Selznick Scientific Software's "SmartWrap" or any similar tool for the purpose of cleaning up incoming messages. Or ROT13. Or whatever. :-)
Mailsmith will automatically detect certain kinds of damage by inspecting mailbox files as it starts up. If this happens, -and- it's something curable, Mailsmith will fix it and write an entry in the "Damaged Mailboxes" log, and if rebuilding the mailbox is recommended, the Rebuild Mailboxes dialog will open up with those mailboxes pre-selected.
In the Mail Lists prefs panel, there is now a preference to turn off the "Select Next Message After Delete" behavior introduced in version 1.5.1. The factory default for this preference is on.
Added a new term for queries and filters: "(any address)", as in:
if (any address) contains "siegel"
This term will match not only the recipient addresses matched by "(any recipient)" (To, CC, BCC), but will also match originating addresses: From, Reply-To, Sender, and the Return-Path address. Thus, matching on (any address) can be used as a shorthand for a multi-term query constructed as an OR against all of the foregoing address types.
When new mail arrives, Mailsmith will now apply a subtle animation to the application in the dock (when running on Mac OS X only, naturally). So if you don't like the bouncing dock icon, you can turn it off and still know that new mail has arrived.
Mailsmith now recognizes AIFF and other QuickTime-playable sound file formats located in the "Sounds" folder in Mailsmith Support, as well as in /System/Library/Sounds and ~/Library/Sounds on Mac OS X. (As a bonus, you can place such files in the "Sounds" folder in Mailsmith Support as well.)
When running on Mac OS X, Mailsmith will now create its mail store in ~/Mail (a new top level folder). Existing mail stores in ~/Documents and the application folder are still supported.
When rebuilding the Post Office (reconstructing after the "Post Office" database has been deleted), Mailsmith will now generate an entry in the Rebuild Log. Also, if a mailbox is damaged to the point that it can't be hooked up to the new post office, it'll be logged, rather than causing the process to stop prematurely.
If you launch a copy of Mailsmith that tries to use the same mail store as a copy that is already running, Mailsmith will bring up a dialog asking you to quit the other copy. When you do so, startup will proceed. If you click the "Cancel" button, Mailsmith will start up without access to any mail store. (Harmless, but unuseful.)
You can now select and delete the first item in a criteria or action list, by holding down the Option key and clicking on it, just as you can for other items in such lists. If multiple items are selected, the first item in the list is always deleted last. Note: if deleting the first item in the list would leave the list empty, it will not be deleted.
Soft wrapped text views no longer have an "infinite" horizontal scrollbar. Instead, when wrapping to the window width, the horizontal scrollbar is always disabled, or for any other wrap width, the scrollbar's extent will be computed based on the current wrap limits. The horizontal scrollbar's range remains "infinite" in unwrapped text views.
Note that if you are wrapping to a character width and using a proportional font, you may get strange results. Also, if you are wrapping to a character width and are using a bogus font with a bad widMax, the range may be wrong--it might be a little (or a lot) larger than necessary. Hopefully it won't be smaller, but you can always turn wrapping off if your font is hosed. (Patrick sez: Or, you could even use a proper font. :-)
Fixes
The following problems have been fixed in Mailsmith 1.5.4:
Fixed possible stack overrun when copying 255 byte long strings.
The object cache was borrowing from the bank and not paying back, and Guido was on vacation.
Fixed a real reference counting bug, as well as a potential one that could cause message state to be lost if you quit immediately after changing the state.
Revised database object cache management logic to improve performance and reduce "thrashing" conditions which can occur when the cache is full during periods of heavy database usage.
Fixed strangeness which would happen when navigating the results of a partially completed query.
The "Notes" field of database objects is now only loaded from the database when it's actually needed.
When running on Mac OS 9, Mailsmith will stop adding items to the mailbox popup menu (used in the New Mailbox dialog, query dialogs, and other places) in time to avoid an OS limitation which causes a crash when dealing with huge menus.
Fixed bugs in menu and floating-palette presentation relating to items whose names began with a hyphen.
Changed the default prompts for making a new address book entry.
Changed the default sort order for new mailboxes to the magic date column. The previous default sort order was date received, which wasn't visible in the default configuration and led to user confusion.
Fixed bug which prevented date-only queries on "Date Received" from finding the proper messages.
Nailed in some armor plating to guard against a reported crash at quit.
Fixed bug in which Mailsmith would not correctly decode UUencoded attachments generated in a certain (arguably incorrect) fashion.
Updated the 'open' resource to allow drag-and-drop of arbitrary files onto the application icon (on Mac OS 9; the plist for X has already been updated). Mac OS 9 users: if you can't drop any file onto Mailsmith's application icon, rebuild your desktop.
Made changes to the database object cache to improve purging performance and eliminate the occurrence of the 16417 error (insufficient space in object cache).
Made a tweak to object cache management, so that the disk block cache isn't invalidated when purging.
When sending a text file using AppleDouble, and the file is not otherwise encoded (as could happen pursuant to certain prefs settings), Mailsmith now correctly normalizes the line endings of the attached text.
Found and fixed lurking crash which could occur when importing messages with a specific malformation.
Mailsmith will no longer assume that un-encoded enclosures are of type 'TEXT' unless the MIME part type is "text". Internet Config suffix mappings are allowed to take effect instead. This means that, for example, a PDF attachment which is sent with a transfer encoding of "8-bit" as an "application/octet-stream" will be saved as a file of type 'PDF ' (provided that the file mappings are set accordingly).
Certain kinds of database corruption (in particular, a smashed cross-database reference) would cause Mailsmith to crash or report a 16421 error. Mailsmith is now able to recover from certain forms of this damage and resolve the reference anyway. If this can't be done, then a 16422 error will be reported, and you will need to contact Tech Support for further assistance.
Long/Unicode filenames should now appear correctly in the save changes confirmation dialog.
Fixed fuse-lighter would cause Mailsmith to crash at odd times (but usually while downloading/filtering or querying).
Fixed crash which would occur during periods of heavy database cache activity (usually while filtering a large number of messages).
Fixed various sorts of refcounting evil in NeoAccess.
Fixed a cosmetic glitch in menu items with more than one leading dash (the minus was converted to an em-dash, which looked funny if the name had more than one leading minus).
Mailsmith no longer assumes that drafts live exclusively in the Drafts mailbox; this fixes a 16400 error which was reported when moving a draft to another mailbox, editing, then sending it.
Fixed bug in which database object comments retrieved from the database were being truncated to 255 bytes. (They were being stored correctly.)
A previous workaround for a database engine bug had the side effect of causing a database performance problem. The original bug has been fixed, and so the workaround is no longer necessary.
The problem tended to affect mailboxes in which a large number of messages accumulated for a while, and then deleted all at once. The best example of this was the Trash. The resulting database structure was fragmented and subsequent insertions were slow. Rebuilding tended to cure the problem temporarily, and then the symptoms would eventually return.
Now that the underlying problem is fixed, this should no longer be a problem. Note however that to take advantage of this change, mailboxes must be rebuilt; the "(incoming mail)" and "(trash)" mailboxes in particular will probably benefit from same.
Fixed incomplete workaround for Internet Config bug on Mac OS X which was causing a -50 to sometimes occur when trying to send an enclosure and the "Use Internet Config file mapping for MIME Type" preference was active.
Dirty-window indication is now done correctly for preferences, mailbox info, filter, account, address, and group windows.
The "Save Draft" button is disabled if the message window has no unsaved changes.
Compression is now turned off for small files attachments, as previously intended.
When sending a message with high-ASCII (128-255) characters in the primary recipient's name (e.g. "Deathtöngue"), the name was not properly encoded before storage, so it would subsequently be displayed incorrect in lists and message views. This is fixed, though it should be noted that the fix is not retroactive.
Fixed crash in the HTML-to-text conversion when processing data with lists.
At some point, AppleScript decided to start generating typeStyledText when coercing "to string" in scripts:
set uni to "foobar" as Unicode text
set txt to uni as string <-- generates styled text, not plain
This was a problem in the following script:
tell app "Mailsmith 1.5" set mw to make new message window tell mw make new to_recipient at end with properties ¬ { address: txt } end tell end tellThe "make new to_recipient" line would fail. Now it works.
Fixed ancient bug which would occur in situations where an internal cross-database reference was changed, but not written out correctly, and at some subsequent point in time stale data was used. This would lead to crashes and probable corruption of the Post Office database.
Magic columns work correctly now for messages burst from MIME digests.
Figured out a workaround for the famous Mac OS X default-button bug (Radar #2868911).
Fixed a crash which could happen when bringing up a Navigation Services dialog to save.
Fixed a bug where if you hit delete rapidly in the mail list you'd end up getting a -110 error.
Fixed the double draw with trash and go to next.
Fixed a double draw logic bug in CMailList when the message cache was dirty.
CM clicks to mark a message unread in the mail list (which also cause a selection change) no longer result in the message being marked unread, the immediately read.
Fixed a bug in which deleting unread messages while downloading mail would cause a -108 error to be reported.
Database auto-flushing now happens as desired on a regular interval, even if the application is in the background.
Made some changes to internal cache utilization so that the caches are used more effectively.
Fixed bug which would cause malformed generation of quoted-printable content.
If filter logging fails (usually due to a file system error), the error is now swallowed locally instead of causing filtering to stop.
Reworked free-list resource management to avoid resource fork corruption problems.
Deleted obsoleted help resources.
Automatic database flushing now takes place at a lower level than before, and consequently auto-flushes after certain state changes that weren't previously covered.
Fixed a lurking bug in which an 1800 error could be reported while trying to send mail.
Numerous internal code cleanups to improve code size and efficiency.