Mailspring 1.4 adds macOS Touch Bar support and expands the `Thread` and `View` menus to include a
wider range of functionality previously tied to keybindings but missing from the apps menus.
Mailspring 1.4 also brings a revised welcome screen that separates Office 365 and Outlook and
adds presets for Yandex and GMX. The new welcome screens display tips specific to each provider,
ensuring that you follow any required steps (like creating an App Password or enabling IMAP.)
Fixes:
* Mailspring now connects to SMTP servers that only support GSSAPI or Kerberos and PLAIN using the PLAIN method rather than trying to use Kerberos and failing. #341
* The "undo send" toast in Mailspring now has a countdown timer, and the undo button has been visually differentiated from the background. #872
* Emails no longer get "stuck" when using undo send in some scenarios. #336
* Undoing a send of an inline reply during the undo-send time window no longer leaves the composer "locked" or re-sends the original draft. #596, #390
* Mailspring no longer throws an exception when parsing quoted text for some emails.
* Removing the last account from Mailspring no longer causes it to return to the "Connect an Account" screen with errors that prevent you from moving forward without restarting the app.
* The print window now warns you if one or more messages were omitted because they were collapsed, and renders properly in the dark theme.
* The default SMTP port for Outlook is now the STARTTLS default and not port 25. #725
* Mailspring 1.3 brings an overhauled search bar with powerful autocomplete that makes it easier to create advanced search queries.
* In addition to searching for freeform text and using the Gmail query language (`subject:`, `in:`, `is:`, `from:`, `to:`), Mailspring now allows you to search by date using natural language terms like `since: "last week"` and `before: "february 5th"`. Try combining them with other terms to search a specific time window!
* You can now right-click a thread to search for other threads from that sender or with that subject.
* You can now focus the search bar and conduct searches entirely with keyboard shortcuts (use Escape to exit the search bar!) #960
* Mailspring now uses Electron 2.0.2, which delivers some [great bug fixes and new features](https://github.com/electron/electron/releases/tag/v2.0.0):
* Chrome 61, Node 8.9.3, V8 6.1.534.41 with improved performance and lower memory footprints
* Better GTK+ theme support, including support for menu styling
* Better support for Linux desktop notifications
* The app will no longer cancel restart or shutdown
Fixes:
* Mailspring no longer clips some messages containing images incorrectly. #569
* The Reply-To header is now shown when you expand the message headers. #973
* Dropping images onto the composer now reliably inserts them as inline attachments. #822
* Mailspring now correctly opens attachments with filenames containing emoji on Windows.
* You can now drag and attachment out of Mailspring by it's quicklook preview as well as it's title.
* Using Mailspring on Windows in a user account containing accent characters or other special characters no longer prevents attachments from being cached. #810
* Mailspring no longer throws an exception when trying to display a message with attachments but no downloaded body. #804
* The "hamburger" icon in the top right of the main window no longer appears gray-on-gray in the "Ubuntu" theme. #801
* Auto-hiding of the menu bar now works correctly on Linux. #938
* Clicking on the open/link tracking "detail dot" now shows individual tracking events correctly. #945
* The Print window no longer contains an incorrect menu bar on Windows. #958
* Signatures with Facebook and Twitter profiles now display the service favicons reliably when viewed in Gmail and Outlook. #968
* Invalid themes no longer "brick" the app - Mailspring will present an alert with the error and offer to revert to the basic theme. (Mailspring-Theme-Starter/issues/1)
* Drafts sent with RTL text now appear correctly justified for recipients. #869
* In the Linux Snapcraft release, app indicator compatibility has been improved by coercing XDG_CURRENT_DESKTOP to Unity (Thanks Martin Wimpress at Canonical!)
* On Linux, clicking on the system tray toggles the visibility of Mailspring's windows instead of always showing them. #650
* On macOS, Mailspring asks if it can move itself to Applications and handles the new app translocation rules in High Sierra correctly.
* Drafts now allow file attachments up to 25MB in size, and the error message has been corrected. #854
* When linking email accounts, the IMAP/SMTP host fields correctly ignore whitespace to avoid connection errors. #876
* Mailspring's sync process no longer crashes when the snooze / reminder actions of more than 200 threads need to be processed at once.
* Mailspring now correctly auto-links email addresses in the composer into mailto: links #814
* Searching by `subject:xxx` now works, thanks to fixes to the mailsync indexer. #860
* Viewing a draft with no recognized `from` participant no longer causes the app to crash. #857
Development
* Bumped to Electron 1.8.7, which includes patches for security vulnerabilities (updated command-line backlist switches), and fixes a flickering issue on high-DPI macOS displays.
* Copy / paste now works correctly in message contents and draft fields, correcting a regression in 1.2.0.
* Right clicking words in the composer now correctly shows spelling suggestions. #747
* Right clicking in the composer now presents a "Paste and Match Style" option. #655
* The left 50px of "To" field of message headers is now clickable.
* Signatures with images now display correctly in mail clients that don't support CSS. To take advantage of this improvement, remove and re-attach images to existing signatures.
* URLs containing the format `#/xxxx?a=b` are now automatically linked correctly.
* The "learn more" link in the thread sharing modal now links to a public knowledgebase article.
* **Thread Sharing** allows you to easily sync an email thread to the cloud and share it using a link. Mailspring automatically syncs new emails that arrive on the thread and anyone with the link can view the thread or download attachments.
Fixes:
* Searching your mailbox using the "in:folder" syntax no longer produces a limited / old set of results when many, many results match.
* The composer cursor no longer gets "stuck" occasionally when typing diatric or multi-key composition characters. #718, #578
* The composer no longer copies an empty string to the clipboard if you have no selected text when you press Ctrl/Cmd+C. #787
* The thread toolbar buttons now have a grouped appearance which makes the UI more compact and usable. #283
* Mailspring now uses the correct presets for Fastmail and Startmail accounts. #759, #756
* Clicking to collapse a message with expanded headers now works as expected. #636
* Mailspring never shows images by default when you're viewing your spam folder. #784
Development:
* The "Download attachments when..." option, which was never implemented in the new sync engine, has been removed from Preferences > General.
* When resetting an account, Mailspring correctly re-fetches open/read receipt and snoozing metadata
* Connecting accounts no longer fails when the email provider returns non-UTF8 characters in IMAP responses.
* The open tracking pixel now has an `alt` tag that self-identifies it as a tracking pixel, which prevents messages from Mailspring from being flagged as spam by some providers. #668
* Mailspring no longer registers for the Utility and Development application categories and appears in the `mail` package category on Debian systems. #673, #678
* On Linux, the tray assets are larger again (48x48px) in an attempt to make them render properly in more distros.
* In the Taiga theme, the selected item in dropdown menus is visible. #674
* When adding an IMAP account, Mailspring now uses the domain's MX records to identify if it can use settings for a common email service to skip the full, complicated IMAP settings screen.
* When adding a Gmail account, Mailspring now uses two-legged OAuth instead of three-legged OAuth which allows it to renew it's access token more rapidly. (Re-authenticate Gmail accounts for this to take effect.)
* Mailspring `VACUUM`'s the SQLite database every two weeks to prevent fragmentation that can eventually ruin performance. Unfortunately, data cannot be read or written during this process and it can take ~2 minutes for a 3GB database, so it is performed at launch with a new progress screen.
* Mailspring no longer becomes "blocked" when ingesting a large number of deletions in a mailbox and will no longer attempt to retrieve many, many new messages all at once.
* When changing accounts in the composer the signature correctly updates to the new account's default. #570
* In the message viewer, the "Download All Attachments" button appears if the email contains multiple images. #583
* In the message viewer, inline images specified using a "cid:filename.png@RANDOM"-style URL now render correctly in the message body instead of as attachments. #569
* Threads with only sent emails no longer appear as from "1969" in some places. #508, #457
* The "Local Time" shown in the company sidebar is now correct and updates in realtime.
* On Linux, `mailspring.desktop` no longer reports that the app is an editor for `text/plain`#602
* Undo no longer triggers in both the email body and other recently edited text fields at the same time. #613
* Creating a draft no longer clears the conversations's "snippet" in the thread list.
* When printing a thread, Mailspring no longer prints `undefined` beside particicpants with no name.
* When pasting HTML, Mailspring now correctly preserves links that have other styling. #592
* When using "two pane mode", viewing the same conversation repeatedly will mark any new messages as read. #617
* When sending an email, the word "attachments" in your signature will no longer cause the app to complain about missing attachments. #610
* Mailspring no longer attempts to create the folder `Mailspring..Snoozed` on providers that include the path delimiter in the IMAP namespace prefix. #634
* When composing an email, Mailspring will display an alert if you need to choose a Drafts folder to send mail. #634
* Mailspring now uses Electron 1.8.2-beta5, which includes stability and security fixes.
* Exporting raw data from the Activity Dashboard now waits for the filesystem buffer to flush, preventing it from writing only some of the email data on slower hard drives.
* Mailspring no longer briefly spawns duplicate sync processes in some scenarios when you have many accounts linked.
* When your mailbox contains emails with the same subject and participants and no `Date` header, Mailspring now syncs them all instead of syncing them as a single message, which should prevent thrashing
* A subtle multithreading issue has been fixed which could cause your folders to become corrupted and prevent Mailspring from launching.
Memory and Performance:
* Creating a draft is now ~16x faster in scenarios where lots of quoted text is present.
* The undo history of the composer is cleared when you navigate away from a draft, reclaiming memory.
* Completed tasks are purged from the app's task queue more rapidly so performing many, many actions on your mailbox does not cause the application to use more memory.
* The new composer now supports additional Gmail shortcuts, which you can view from Preferences > Shortcuts, including Cmd-K (make link), Cmd-Shift-8 (make bulleted list), etc. (#555)
* Mailspring now supports indicators in Ubuntu Gnome Session (Ubuntu 17+)
* Mailspring now supports Secureserver (GoDaddy), Roundcube, 163.com, and several other providers that did not allow folder names to contain the `[` character.
* On Linux, Mailspring now lets you choose to auto-hide the menubar, or use the sleek, Windows-style unified window frame with the menu behind a hamburger button.
* A regression from 1.0.11 has been fixed - Mailspring no longer fails to sync new mail for some accounts that do not support CONDSTORE. Mailspring will no longer give these messages timestamps from "1970". (#475)
* Mailspring only attempts to passively fetch message contents once for each message, so bad messages no longer cause the app to "hang" in an "Syncing your Mailbox" state.
* When snoozing, a setting in Preferences > General now allows you to choose whether emails should be moved to the top of your inbox or just returned to the inbox as unread. (Thanks @casuallancelot)
* The dark theme has been overhauled to improve readability and ensure visual queues are present for important UI. It looks more like Spotify and less "all gray."
* Mailspring no longer uses all memory on the computer in a rare scenario where your mail provider return an infinite range of message IDs. (#91)
* Mailspring can now be put in a verbose logging mode using `AppEnv.mailsyncBridge.toggleVerboseLogging()`, in which all IMAP and SMTP traffic is logged.
* Mailspring now identifies an "Archive" folder if one is present in your Office 365 / IMAP accounts and enables the "Archive" button and "Swipe to Archive" behavior. If it is not picked up automatically, you can set it from Preferences > Folders.
* Company profiles are now available in the right sidebar! See tons of great information about the people you're emailing, including their local time zone, the company's core business area, and more.
* New folders / labels appear faster after you create them, and adding folders now works properly on IMAP servers that use a namespace prefix like `INBOX.`.
* On Linux, Mailspring looks for your trusted SSL certificate roots in more locations, fixing the "Certificate Errors" many Fedora and ArchLinux users were seeing when linking accounts.
* On Linux, Mailspring bundles SASL2 and SASL2 plugins, resolving "Authentication Error" messages that users of non-Debian Linux distros saw when the local installation of SASL2 was an incompatible version.
* On Linux, Mailspring now links against libsecret, resolving intermittent "Identity missing required fields" errors that were caused by the Node bindings to libgnome-keyring's API.
* The "Install Theme...", "Install a Plugin Manually..." and "Create a Plugin..." menu items now work. Note that Nylas Mail / N1 themes require some modifications to work with Mailspring!
* Mailspring now stores user preferences in the appropriate platform-specific location: `Library/Application Support` on the Mac, `AppData/Roaming` on Windows, etc.
*`NylasEnv` is now known as `AppEnv` and `nylas-exports` and `nylas-component-kit` have been renamed `mailspring-*`. Additionally, packages need to specify `"engines": {"mailspring":"*"}` instead of listing `nylas`.
* Much more of Mailspring has been converted to ES2016, and CoffeeScript is no longer supported for plugin development. The CoffeeScript interpreter will be removed in a future version. Please use ES2016 JavaScript instead.
* Mailspring now uses `Prettier` — before submitting pull requests, ensure `npm run lint` is clean, or add a Prettier plugin to your text editor. (It's awesome!)
* Mailspring does not send your email credentials to the cloud. Features like Snooze, Send Later, and Send Reminders now run on your computer. Future versions may re-introduce the option to run these features in the cloud.