* Mailspring now shows visual previews of PDF, DOCX, XLSX, XLS, CSV, and Markdown attachments on Windows and Linux as well as macOS. Selecting an attachment in the message view and pressing the space bar or clicking the small "eye" icon shows a preview of the contents in a new window.
Fixes:
* Mailspring no longer crashes with a fatal error on CentOS, Red Hat Enterprise Linux (RHEL) 7.6 with a "CXXABI_1.3.9" message. When we upgraded to Electron 4, using GCC++5 to build parts of Mailspring resulted in libraries too new for some linux platforms.
* In dark mode, text in message bodies is no longer black.
* The `copy` and `cut` context menu items are disabled when right-clicking a password field.
* The Brazillian Portuguese translation has been improved (Thanks @leoescarpellin!)
* You can now view Mailspring's open source license and all of it's dependencies' licenses and copyright notices from the menu.
* An important bug that caused Mailspring to occasionally send blank or incomplete drafts (especially long relies or messages with significant quoted text) has been resolved! #948
* Printing email messages now works reliably and a new "Save as PDF" option in the print window makes it easy to export an email thread. #1236#1027
* Extremely long messages now clip in the message panel and a "popout" option allows you to view their entire text in a separate window, similar to Gmail. This allows Mailspring to more reliably maintain good performance as you browse your email.
* A Brazillian Portuguese translation has been added (Thanks @leoescarpellin!)
* Russian and Japanese translations have been improved (Thanks @kometchtech, @TiiRiiX)
* Mailspring now runs on **Electron 4**. This should fix the menu bar not appearing in Ubuntu 18.10 (#1258, #1158) and comes with a long list of bug fixes and improvements (Mailspring was previously on Electron 2.0.14.) _As of this release, Mailspring and Electron no longer support macOS 10.9._
* The `has:attachment` search filter has been added. Note that this clause only returns messages Mailspring has downloaded and has "seen" the attachments for. (Currently the last three months of mail.) #1260
Fixes:
* Sending emails with consecutive whitespaces now works as expected. #1270
* Mailspring now adds itself to the Dock in macOS Mavericks properly. #1256
* The `Send and Archive` option is no longer shown when you're composing a new message. #980
* Mailspring no longer hangs when trying to sync a mailbox containing a message with an unidentified MIME part. #1266
* Mailspring no longer inserts an extra whitespace when you compose a reply with a default signature. #1264
* The tool tip displayed when scrolling in the message panel is now localized correctly.
* Copy / paste and the Terms / Privacy links in billing and registration windows now work properly. #1280
* Open tracking pixels now display as `Sent from Mailspring` when the recipient's email client shows image alt text. It's important we have alt text identifying the image in some way for highest deliverability, but the previous `open tracking` alt text was a bit too revealing for many users.
* Mailspring now honors "Do Not Disturb" on macOS and "Quiet Time" on Windows. Notifications do not appear and the "new mail" sound does not play.
* Mailspring is more stable and handles a variety of edge cases better thanks to crash reports from Sentry.
* Right-clicking an image and choosing "Copy Image" now works correctly on Linux.
* Mailspring's Outlook keyboard shortcut preset now includes Ctrl-Q for "mark as read" and many other shortcuts. On Windows, Alt-F4 quits the program rather than the non-standard Ctrl-Q.
Development:
* Mailspring now uses it's own logo API rather than Clearbit's, since we cannot provide appropriate Clearbit attribution when the logo images are used in email signatures.
* Mailspring now ships with Electron 2.0.14, which fixes a variety of small issues. We will move to Electron 4.x as soon as electron/electron#14260 is resolved.
* Mailspring now defaults to English for languages whose translations have not been manually reviewed by a contributor. You can customize the interface language via a new setting in Preferences > General.
* Hundreds of translations have been manually reviewed and refined in German, Chinese, French and Korean. (Thanks to @pandanonyme@jungin500@qitar888@DarkSmile92!)
* When connecting a Yahoo Mail account, Mailspring notes that Yahoo requires an App Password. Provider-specific notes are also included in the "View Log" text for easier debugging.
* You can now change the "Sender Identity" (the name that is sent in the From field with your email address) for each account in Preferences > Accounts. #1169
Fixes:
* Mailspring no longer aggressively autocompletes :10 to the :100 emoji, or :12 to the :1234 emoji, to avoid conflicts with typing times. #1148
* On macOS, Mailspring's spellchecker correctly transitions to the language you're typing in consistent with Linux and Windows.
* The Emoji picker now works correctly when using Mailspring in a language other than English. #1189
* Shrinking Mailspring's UI using the "inteface zoom" setting no longer causes spellchecking "squiggles" to become invisible.
* The "Does Not Contain" mail rule now requires that every item in the field not contain the text as expected, rather than just requiring that any one of the items (senders, recipients, etc.) not contain the text. #1110
* Mailspring's "Upgrade to Pro" modal no longer appears badly clipped when using a custom interface zoom level.
* The fixed size "Add an Account" window now ignores custom zoom levels so that fields and forms are not clipped.
* Thousands of translations have been improved or manually reviewed. Thanks to @odie2@pamo@SimonVanacco@louim@DarkSmile92@phylophyl and @renfliu for help in 6 languages!
* Mailspring now ships Linux appdata files (Thanks @kirbyfan64!)
Fixes:
* Reverts a change to IMAP message parsing that was designed to extend support for Proton Mail Bridge,
which caused many emails from some IMAP servers to appear to be from "NIL".
* Mailspring now supports localization! The app detects your system locale and all text, menus, buttons, etc. in the app appear in your language. Mailspring's core strings has been manually localized in 38 languages and the rest (mostly error messages and text describing features) have been automatically translated.
* We'd love your help improving these localizations! A new "Developer > Toggle Localizer Tools" menu option in Mailspring allows you to submit better translations right within the app. You can also edit the translation files directly and submit a pull request. See the new [localizer guide here](https://github.com/Foundry376/Mailspring/blob/master/LOCALIZATION.md).
* If you use a RTL language, Mailspring's entire UI now appears right-justified, including the sidebar, preference panels, scrollbars, and more. If you use Mailspring in Arabic or Hebrew and notice issues in the right-to-left presentation, please file issues or submit pull requests.
Fixes:
* The "contact profiles" feature of Mailspring Pro is much more robust and reliable thanks to a new profile discovery mechanism.
* The "contact profile" sidebar shows the Gravatar associated with the email address before falling back to the "empty box with initials".
* Mailspring now uses the latest version of libetpan, which improves stability and fixes several parsing bugs. It also more flexibly parses IMAP responses that include unquoted text fragments. #429
* On Linux, Mailspring now uses the pixmaps dir to show an icon in the corner of each window. #1135
* On Linux, Mailspring uses circular icons rather than square ones. #1098
* The padding of the search bar in the Darkside theme has been fixed. #1048
Developer:
* Trying to open a package that does not define `engines` in it's package.json no longer crashes the app.
* Mailspring now uses Electron 2.0.11 which resolves #1108.
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.