New Update Mailspring Updates Thread

Office, email and business apps
12 Replies 3,105 Views

lokamoka820

Level 55
Verified
Top Poster
Well-known
Homepage: Mailspring | The best free email app

Boost your productivity and send better email with Mailspring, a beautiful, fast email client for Mac, Windows, and Linux. Mailspring is free to use and an optional pro version adds read receipts, send later, reminders and more.

Mailspring 1.14.0
Sep 15, 2024
This version of Mailspring includes several changes and bug fixes, as well as an update to our Electron core.
  • Mailspring now connects to Outlook accounts using OAuth, resolving connection issues for Hotmail, Outlook and some Office 365 accounts.
  • The autoconfig database used to identify your IMAP and SMTP settings automatically has been upgraded to reflect changes in provider settings.
  • On Windows and Linux, previewing attachments is more robust and works with a wider variety of files. These attachments also have rendered previews in the message view.
  • Mailspring allows you to add Medium, GitHub and YouTube links to email signatures created in the app. (#2484) Thanks @sudeephazra!
  • Subject lines no longer overflow if they contain single long words (#2485) Thanks @probablykasper!
  • The Simplified Chinese translations have been improved - thanks @qiuzhiqian!
Developer:
  • Mailspring now uses Electron 30, a recent supported release based on Chromium M124 - thanks to @Phylu for lots of PRs and manual testing that helped us move up three years of versions (v17 => v30) in the last 12 months!
  • The Changelog now mentions security contributions by Positive Technologies, Payatu, and Sonar in v1.13.3.
Note: This release does not fix ongoing issues with Gmail OAuth - we are working through Google's revised certification process for continued access to the Gmail API and expect it to be complete in the next two weeks. Thanks to everyone for your patience, their process changed this year.
 
Mailspring 1.15.0
Jan 2, 2025
Happy 2025! This version of Mailspring upgrades the app to Electron 33 and Chromium 130, ensuring the latest upstream bug fixes, security patches and improvements are available in the app.
  • macOS 10.15 (Catalina) is no longer supported. macOS 11 (Big Sur) or later is required.
  • We are considering dropping Ubuntu 16, Ubuntu 18 and other Linux releases >6 years old. If this would impact you, please let me know at ben@foundry376.com! It's getting harder to build a mailsync binary because our CI services are dropping support.
Fixes:
  • Mailspring now conforms to the AppStream metainfo standard. Thanks @mischkl!
 
Mailspring 1.15.1
Jan 27, 2025
This is a patch release that resolves several user-reported issues. Thank you!
  • On Windows, notifications could not appear because of an issue checking Windows "Quiet Hours" settings
  • Dragging and dropping file attachments to the composer or the signature editor resulted in a path error.
  • On Windows, you may need to install Language Packs for some languages to be available for spellcheck, and this no longer causes an error.
  • The RPM build no longer generate build_id links to prevent conflicts when installing multiple Electron apps.
 
1.16.0
  • Thunderbird-style Autoconfiguration (#2493)
  • Fix in-app previews for PDF attachments on Windows / Linux
  • Update and improve zh-TW Traditional Chinese locale (#2498)
  • Update Czech translation (#2500)
  • snap: Use core24 as base (#2497)
  • Change lsb-core-noarch to be an optional dependency in the RPM package. (#2503)
  • Fix a few misc application errors logged to our reporting service
  • Upgrade to Electron 37.2.2 - Chromium 138, V8 13.8, and Node.js 22.16 for faster JavaScript execution and better email rendering, native system context menus on Linux, and more!
 
1.21.1
Performance:
  • Optimized search regex compilation in category and label pickers. (#2715)
  • Improved sync engine performance by reducing unnecessary SQLite writes and moving parsing outside transactions.
Bug Fixes:
  • Improved theme support in calendar
  • Fixed dark mode email bodies not reflecting the system tint color.
  • Fixed activeMarks access errors in the composer editor. (#2714)
  • Fixed thread list scroll indicator not sliding through time when dragging the scroll handle. (#2716)
  • Fixed contains error when parentFilter receives a non-Element node. (#2712)
  • Fixed secrets potentially appearing in the connection error detail modal. (#2717)
  • Fixed package name validation rejecting names with uppercase letters. (#2718)
  • Fixed sync engine crash during many-account sync by increasing SQLite busy timeout.
  • Fixed message importance headers not normalized for compatibility with some providers. (mailsync#113)
  • Improved error logging for empty or malformed error objects. (#2713)
Developer:
  • Upgraded Electron from 41.5.0 to 41.6.1.
  • Upgraded React and React DOM to v17. (#2725)
  • Upgraded react-transition-group from 1.2 to 4.4.5.
  • Replaced deprecated componentWillMount with componentDidMount. (#2724)
  • Replaced legacy context API with React Context. (#2722, #2723)
  • Refactored class components to functional components with React.memo. (#2720)
  • Removed PropTypes, replaced with TypeScript types. (#2710)
  • Added missing TypeScript types to function declarations across many files.
  • Renamed remaining package spec directories to specs, converted JSX to TSX. (#2711)
  • Added Playwright tests for composer interactions.
  • Fixed lint CI step that was performing fixes instead of validation. (#2719)
  • Removed unused CircleCI configuration.
  • Set C++ standard to C++17 across all platforms. (mailsync#114)
  • Various CMake and build improvements for mailsync. (mailsync#108, mailsync#109, mailsync#110, mailsync#111, mailsync#112) Thanks @LinusDierheimer!
 
1.22.0 (6/13/2026)
Features:
  • Added the ability to choose which themes apply in automatic light/dark mode. (#2732) Thanks @Jayphen!
Bug Fixes:
  • Fixed null crash when clicking "Send now" on undo-send toast after the message had already been sent. (#2738)
  • Fixed two null-access crashes reported in Sentry (MAILSPRING-CLIENT-1G, MAILSPRING-CLIENT-18, MAILSPRING-CLIENT-2V). (#2740)
  • Fixed two Sentry crashes: null account in preferences and null window in app menu IPC. (#2741)
  • Fixed crash when archiving from search with label-based archive categories. (#2743)
  • Fixed null crash when removing threads with unsynced trash/archive category. (#2736)
  • Fixed Outlook account setup. (#2735) Thanks @Suchiman!
  • Fixed Windows print crash caused by invalid file URL. (#2733)
  • Fixed TOCTOU null-reference crash in draft body setter (MAILSPRING-CLIENT-S). (#2728)
  • Fixed DefaultClientHelperMac passing boolean to error callback, causing false Sentry reports. (#2731)
  • Fixed AttributeDateTime.fromJSON treating 0/falsy values as missing. (#2730)
  • Fixed quickpreview CSP clobbering the default session's app-wide CSP. (#2744) Thanks @dansleboby!
  • Fixed QuerySubscription._fetchRange contiguity check using actual result length. (#2734)
  • On Windows, fixed EPERM crash when forking background query agent. (#2745)
Improvements:
  • Improved Microsoft OAuth: better email resolution and suppressed no-mailbox errors from Sentry. (#2746)
  • Added diagnostics around "draft not found" error on send and cleaned up waiting queues. (#2727)
  • Moved payment flow out of modal to launch on the web for newer Stripe integration.
  • Richer exceptions when account has no from address or when label is provided to ChangeFolderTask.
  • Draft reminders now use thread: metadata prefix so sync engine promotes them to thread on send. (#2729)
  • Sync engine now forwards identity-level refresh events from delta stream. (mailsync#115)
 
1.23.0 (7/19/2026)
Features:
  • Added Office 365 shared mailbox support. (#2763) Thanks @Kevin-Hamilton!
  • Added the ability to export folders to mbox files. (#2765) Thanks @Kevin-Hamilton!
  • Added an option to count unread messages across all accounts. (#2779) Thanks @WebDevBar!
  • Added a toggle for email render mode. (#2737) Thanks @AidanWarner97!
  • Added an MCP server (off by default) that lets local agents interact with mail.
  • On Linux, added a taskbar unread badge for KDE and other non-Unity desktops. (#2756) Thanks @WebDevBar!
Bug Fixes:
  • Fixed a composer crash on quoted emails with inline images. (#2776)
  • Fixed a composer crash when grammar-check decorations apply mid-composition. (#2775)
  • Fixed missing Slate attributes on the IMAGE_TYPE fallback node. (#2774)
  • Fixed a composer cut crash and suppressed Sentry noise from third-party plugins. (#2755)
  • Fixed a crash when dragging threads to the sidebar after a thread is deleted. (#2760)
  • Fixed a crash in EventRSVPTask when attendee ICS data goes stale. (#2770)
  • Fixed a crash in the translation plugin when the iframe contentDocument is not yet loaded. (#2752)
  • Fixed an onboarding crash when back-navigation empties the page stack. (#2750)
  • Fixed navigator.clipboard.writeText in @electron/remote MenuItem handlers. (#2754)
  • Fixed an ERR_FILE_NOT_FOUND crash in Show Original when the RFC822 fetch fails. (#2772)
  • Fixed null crashes in SendDraftTask, thread-sharing, and send-and-archive. (#2757)
  • Fixed a null crash in three IPC handlers when BrowserWindow.fromWebContents() returns null. (#2758)
  • Fixed cancellation of GetManyRFC2822Task (folder export). (#118) Thanks @Kevin-Hamilton!
  • Fixed handling of XDG paths. (#2761) Thanks @LinusDierheimer!
  • On Linux, fixed an EPIPE crash loop in the uncaughtException handler. (#2769)
  • On Linux, send org.freedesktop.DBus.Hello before emitting the badge signal. (#2778) Thanks @WebDevBar!
  • Stopped startup after a fatal config.json load failure. (#2764)
  • Guarded nativeTheme remote object access in SystemTrayIconStore. (#2753)
  • Guarded grammar check so it no longer emits warnings when logged out.
Improvements:
  • Reduced Sentry noise: expected IMAP/SMTP auth and connection failures are no longer reported. (#2762)
  • Reduced Sentry noise from OAuth SSL failures and improved the mailsync crash message. (#2771)
  • Downgraded the unknown-feature warning from an error report to a console warning. (#2759)
  • Wrapped unhandled fetch errors in APIError in makeRequest. (#2766)
  • Fixed an uncaught 'error' event crash in MailsyncProcess.sync(). (#2773)
  • Fixed an unhandled rejection in IdentityStore background polling. (#2768)
  • Added a macOS 27 icon variant.
Developer:
  • Upgraded @electron/packager to prevent build hangs on newer Node.js versions. (#2767) Thanks @wrench-exile-legacy!
  • Get the desktop name dynamically from package.json and stop hardcoding Mailspring.desktop. (#2748, #2777) Thanks @LinusDierheimer!
  • Use a template var as the icon value in Mailspring.desktop. (#2747) Thanks @LinusDierheimer!
  • Added branding colors to appdata.xml. (#2751) Thanks @LinusDierheimer!
  • Fall back to ad-hoc signing in the copy-to-app build phase. (#117) Thanks @Kevin-Hamilton!
 
1.24.0 (9/12/2026)
Note: The Flatpak version of Mailspring now uses Portal for secret storage, and you may be prompted to re-authenticate accounts after upgrading.

Note: Mailspring now requires macOS 13 (Ventura) or later, because Chromium has dropped support for macOS 12. Windows and Linux system requirements are unchanged.

Features:
  • Added support for dragging threads into the composer to attach them as .eml files. (#2800)
  • Added subject line support to email templates. (#2794)
  • In the calendar, dragging an event now converts between all-day and timed. (#2819, #2812) Thanks @manilabui!
  • Added an MCP get_attachment tool so local agents can view mail attachments. (#2807) Thanks @ahmedwalid05!
  • On Windows, Mailspring now recovers from GPU-related renderer crashes that happen before the window loads by relaunching with hardware acceleration disabled. Thanks @ejbiker93ss!
Bug Fixes:
  • Fixed a crash in the thread list context menu for threads with no participants. (#2839)
  • Fixed a composer crash when removing a link mark with no active mark present. (#2802)
  • Fixed a composer crash when applying a signature to an empty document. (#2804)
  • Fixed a composer crash when backspacing near an unpaired UTF-16 surrogate. (#2808)
  • Fixed a composer crash from an unset Slate selection point. (#2787)
  • Fixed a crash when the custom-fonts plugin activated during boot. (#2785)
  • Fixed a ChangeLabelsTask assertion failure when removing search results. (#2816)
  • Fixed a TaskQueue crash when queries loaded out of order. (#2786)
  • Fixed an uncaught "Unknown button clicked" crash in the config load-error dialog. (#2798)
  • Fixed all-day events losing or gaining a day across edit, drag, and recurring paths, including near DST transitions. (#2799, #2805, #2806, #2810) Thanks @manilabui!
  • Fixed resizing recurring events when applying the change to all events. (#2814) Thanks @manilabui!
  • Fixed calendar deletion and blocked edits on read-only calendars and past events. (#2797) Thanks @manilabui!
  • Fixed pasted text colors and line spacing on Windows. (#2796) Thanks @Mylosis!
  • Fixed scrollbars appearing in the inbox-zero animation. (#2821) Thanks @m-salman-afzal!
  • Fixed synchronization with NetEase IMAP servers. (#121) Thanks @aixia715!
  • Mailspring now falls back to legacy TLS settings when the handshake is rejected, and surfaces a suggestion when it does. (#119)
  • Fixed crash safety, XML escaping, and log hygiene issues in the sync engine. (#122) Thanks @brhellman!
  • On Linux, EROFS, EIO, ENOSPC, and EBADF are now swallowed alongside EPIPE in the stdout/stderr error handler. (#2789)
  • Plain text messages are no longer inverted in dark mode, causing black-on-dark-gray text.
  • Messages with stylesheets in the HTML <head> region now render with the styles intact.
  • Fixed recurring meetings whose series started years ago not appearing in the calendar. (#2845) Thanks @brhellman!
  • Fixed timed calendar events at midnight and across DST day boundaries rendering in the wrong day column or not at all. (#2847) Thanks @manilabui!
  • Fixed timed calendar events sitting off their gridlines on DST days. (#2852) Thanks @manilabui!
  • Fixed a timed event losing its time of day when its edge was dragged in month view. (#2858) Thanks @brhellman!
  • Fixed the calendar view jumping when an event was selected for the first time. (#2854) Thanks @brhellman!
  • Fixed the day/week calendar grid not scrolling to the end of the day in short windows. (#2851) Thanks @manilabui!
  • Fixed every calendar invitee being underlined as a malformed address. (#2844) Thanks @brhellman!
  • Fixed "Refresh Calendars" not actually syncing calendars. (#2853) Thanks @manilabui!
  • Fixed a TypeError when creating or editing calendar events with an organizer or attendees. Thanks @ejbiker93ss!
  • The calendar now syncs immediately after you RSVP to an invitation. Thanks @ejbiker93ss!
  • Fixed the mini month view's today marker not advancing past midnight. Thanks @ejbiker93ss!
  • Fixed Outlook-style read/unread keyboard shortcuts on Windows. (#2849) Thanks @ejbiker93ss!
  • Fixed "Reset Theme" after a theme compile error not recovering when the failing theme was set as the light or dark theme. Thanks @ejbiker93ss!
  • Fixed contact email addresses with surrounding whitespace failing validation or being sent as malformed recipients. Thanks @ejbiker93ss!
  • Mailsync startup failures now report the actual reason instead of "an unknown error has occurred". (#2827) Thanks @brhellman!
  • On macOS, Quick Look thumbnail generation now times out so hung qlmanage processes can't accumulate. (#2862) Thanks @nitay!
  • Fixed an unhandled promise rejection when opening identity links while signed out. (#2861)
  • Fixed the system tray icon not appearing on Linux when Mailspring launched before the desktop's tray host was ready, and when running in the Snap or Flatpak sandbox. (#2863, #2825)
  • Files copied from Finder, Explorer, or a Linux file manager and pasted into the composer now attach under their original filename instead of "Pasted File".
Improvements:
  • Selected calendar events now stay selected and scroll into view when switching views. (#2815) Thanks @manilabui!
  • You can now drag across past events in the calendar to create a new event. (#2809) Thanks @manilabui!
  • Improved Contact.fromString parsing and the Account.meUsingAlias fallback. (#2793)
  • HTML signatures can now be pasted into the "Raw Signature" box.
  • On Linux, autostart now uses XDG Desktop Portals when running inside Flatpak. (#2838) Thanks @LinusDierheimer!
  • The key manager now uses the async safeStorage API. (#2823) Thanks @LinusDierheimer!
  • Removed the legacy dark-theme email inversion; the "Match app theme" email render mode is gone and email bodies now default to light mode. (#2850) Thanks @ejbiker93ss!
Localization:
  • Added Swedish desktop and integration labels. (#2837) Thanks @yeager!
  • Updated the Czech translations. (#2855) Thanks @tomo90!
  • Completed the missing Traditional Chinese strings. (#2790) Thanks @nrps9909!
  • Updated the Hebrew translations and added Hebrew to the list of human-verified languages. (#2801) Thanks @omeritzics!
  • Updated translations of new strings and made minor corrections. (#2784) Thanks @Impostor0729!
Developer:
  • Updated Electron from 41.7.2 to 44.3.0 (Chromium 152, Node.js 24.20). (#2818, #2825) Thanks @wrench-exile-legacy and @LinusDierheimer!
  • Migrated to Electron 44's promise-based clipboard API; the module is no longer available in renderer processes.
  • Added Playwright coverage for composer paste (text, HTML, images, and copied files) and clipboard writes; window.eval is enabled under the Playwright harness so page.evaluate works.
  • Upgraded tar to 7.5.19 to address CVE-2026-59873. (#2811) Thanks @anupamme!
  • Switched app/package.json from resolutions to overrides. (#2822) Thanks @LinusDierheimer!
  • Fixed the three type errors that were keeping CI red. (#2829) Thanks @brhellman!
  • reportError() now captures a real stack for stackless inputs. (#2828)
  • Errors thrown by community plugins are no longer reported to Sentry. (#2783)
  • Uncaught shell.openExternal rejections now capture the caller stack. (#2788)
  • ContextifyScript compile errors with no first-party frames are no longer reported to Sentry. (#2859)
  • On Linux, newer versions of sqlite3 are now built with clang-15.
  • Added a Claude Code hook that lints edited TypeScript files.
 
1.24.1 (9/14/2026)
Features:
  • Added "Mark All as Read" to the folder context menu, and an option to show unread counts for all folders. Thanks @AnsCodeLab!
  • New drafts in a unified inbox now default to the account of the focused thread. Thanks @AnsCodeLab!
  • Added a MessageActionMenuItem extension point so plugins can add items to the message "..." menu. Thanks @AnsCodeLab!
Bug Fixes:
  • On Linux, fixed accounts being lost after upgrading when the KWallet secret name changed. Mailspring now falls back to the previous secret storage key and re-saves credentials. (#2864) Thanks @LinusDierheimer!
  • Fixed mail rules breaking when a folder's ID changed right after it was created. Rules now match folders by name when the match is unambiguous.
  • Fixed the sidebar not switching from "Drafts" to "Activity" and other perspectives with the same layout.
  • Fixed reminders created in the draft UI missing the last reply timestamp, so they never fired.
  • Uploading a new signature image no longer overwrites the previous image on Mailspring's servers. Previously, replacing a signature image changed the image in emails you had already sent, and teams sharing a Mailspring ID could overwrite each other's default signature images.
  • On Windows, composer and thread popout windows no longer show a second title bar beneath the native one; press Alt in those windows to show the menu bar. Thanks @ejbiker93ss!
  • On Windows, the system tray icon is no longer blurry at 125% / 150% and other fractional display scales. Tray icons now ship as multi-size .ico files so Windows can pick an exact-match frame instead of stretching the 16px image.
  • Fixed popout windows sometimes opening with the wrong toolbar when a hot window is assigned a window type. Thanks @ejbiker93ss!
  • Fixed link and open tracking being lost when moving a draft between accounts.
  • When attaching multiple files to a draft, the file order is now preserved.
  • Pasting from Excel or OpenOffice now prefers the HTML clipboard content, and pasting several files at once attaches all of them, not just the first.
  • Pasted JPEG, GIF, BMP, and WebP clipboard images are now recognized so they stay inline in the composer. Thanks @AnsCodeLab!
  • Fixed some hardcoded colors in package stylesheets that did not follow the active theme.
Improvements:
  • Emails with an explicit black text color (common in iCloud and Apple Mail signatures) are now shown white on dark background in dark mode, instead of a bright white background. (#2850)
  • The folder context menu is now grouped with separators.
  • On Windows, keyboard shortcuts are now shown with Ctrl / Alt / Shift instead of mod in the preferences.
Developer:
  • The Claude Desktop MCP integration now uses a stdio bridge built into Mailspring instead of relying on npx.
  • --spec-directory now resolves relative paths and fails fast when the directory does not exist.
 
1.25.0 (9/19/2026)
Features:
  • The Activity panel has been redesigned around three tabs: a new Feed tab lists every open and click with search, filtering, grouping by recipient or message, collapsing of repeated events and CSV export; a new Engagement tab ranks your recipients by how much they open and click your mail; and Reports has a new design with more charts.
  • Added a "Go to Unread" navigation command (g u in the Gmail shortcut set), listed under View in the menu bar and rebindable from Preferences > Shortcuts.
  • On macOS, the base theme now matches the macOS 27 toolbar and window styling.
Security:
This version includes several patches for security vulnerabilities and is recommended for all users. Thanks 홍서연 at ENKI WhiteHat for detailed investigation and reporting.

Bug Fixes:
  • Fixed initial sync silently dropping messages on servers that advertise CONDSTORE and QRESYNC (FastMail, Dovecot, Zoho and others). Only the first 1024 messages of each 5000-message chunk were ingested.
  • Fixed QRESYNC VANISHED handling that could unlink an entire folder's messages or drop expunges permanently on CONDSTORE+QRESYNC servers.
  • Fixed a crash loop when an IMAP server or gateway (DavMail, Proton Bridge, Zoho) lists the same mailbox twice.
  • Fixed Inbox and Sent appearing empty, with messages flickering between folders, on non-Gmail accounts that expose an \All mailbox. Messages that exist in both Inbox and Sent now consistently resolve to one folder.
  • Fixed SMTP connections failing on servers that enforce RFC 5321's requirement that EHLO/HELO carry a fully qualified domain name or address literal.
  • Fixed a sync-engine crash on launch when two accounts started contact sync in the same second and generated identical contact IDs. Random IDs are now seeded from the OS entropy source.
  • Fixed malformed OAuth token responses crashing the sync engine, and a task with a null JSON field wedging it.
  • Fixed Proton accounts losing their container folder, which placed Mailspring's helper folders (Snoozed) in the wrong place. proton.me addresses are now recognized, and Thunderbird autoconfig no longer overrides Mailspring's provider settings. (#2886)
  • Fixed adding a Gmail or Office 365 account while offline reporting "Unable to connect to the server / port you provided" instead of an offline error. (#2887)
  • Fixed the print window rendering inverted when the dark email render mode is enabled.
  • Fixed deleting a single moved occurrence of a recurring event deleting the entire series from the server. (#2866) Thanks @brhellman!
  • Fixed editing any field of a recurring event resetting its recurrence rule, so a fortnightly meeting became weekly and RDATE-only series lost their dates. (#2868) Thanks @brhellman!
  • Fixed moving a recurring series leaving its EXDATEs behind, so every cancelled occurrence came back on every guest's calendar. (#2867) Thanks @brhellman!
  • Fixed events with an IANA TZID whose VTIMEZONE the CalDAV server omitted (RFC 7809) reading as floating local time. (#2877) Thanks @brhellman!
  • Calendar edits now write DTSTAMP in UTC as required by RFC 5545. (#2873) Thanks @brhellman!
  • Fixed the calendar toolbar overlapping the date below ~800px wide, and day headings drifting from their columns. (#2870) Thanks @brhellman!
  • The event card and editor now scroll when they outgrow the window, so Save and Cancel are always reachable. (#2874, #2878) Thanks @brhellman!
  • Fixed a focused calendar event reopening its card and scrolling the grid on every re-render and view switch. (#2872) Thanks @brhellman! (#2882) Thanks @manilabui!
  • Fixed the time tooltip never appearing while dragging a calendar event. (#2871) Thanks @brhellman!
  • Fixed an invitation's date rendering in the same red as the conflict warning; the location is now a clickable link. (#2869) Thanks @brhellman!
Improvements:
  • Knowledge base links throughout the app now point to the new documentation URLs.
Developer:
  • The Windows build now fails if any shipped PE binary lacks a certificate table, and surfaces signtool's error when installer signing fails. (#2884)
  • Certificate failures in the sync engine are logged through MCLog instead of a stderr BIO.
  • Updated CONTRIBUTING.md with the current Node version and instructions for downloading mailsync.
 
1.26.0 (10/1/2026)
This is a major sync reliability release - The sync engine now tracks every folder a message lives in, rather than forcing each message into a single folder. This permanently fixes mail "flickering" between folders or disappearing from the Inbox when the same message exists in two places — a long-standing issue for iCloud users, self-addressed mail that lands in both Inbox and Sent, Exchange's duplicate Sent copies, and ProtonMail labels. (#2891) This refactor was enabled by a huge new suite of automated mailsync tests that run against real Dovecot, Cyrus in Docker and fake problematic IMAP servers.

Features:
  • Folder and unread counts left wrong by previous versions are repaired automatically on upgrade. Thanks @dansleboby!
  • Calendars now refresh every 15 minutes instead of every 45, so invitations accepted on another device or meetings moved by the organizer show up sooner. Contacts sync slightly less often to conserve Google API quota. Thanks @brhellman!
  • After an event is saved or deleted, Mailspring re-reads the calendar from the server so the event reflects what the server actually stored. (#2915) Thanks @brhellman!
  • Calendars deleted or unshared on the server are now removed from Mailspring along with their events. Thanks @brhellman!
  • Mailspring now records whether each calendar is your own or shared with you, so RSVPs are never written onto someone else's calendar. (#2916) Thanks @brhellman!
  • Day and week calendar views now draw events with the same chip style as the month view, and selected events fill with the calendar's own color. (#2895) Thanks @manilabui!
Security:
  • Links in print preview, quick-preview and "show original" windows now open in your browser instead of loading the remote page in the window.
  • Links from auxiliary windows only open in your browser after a real click or keypress, so a meta refresh in a message can no longer open a page on its own.
  • "Show All" on a clipped message now sanitizes the message body and blocks remote images like the reading pane.
  • Replying, forwarding and sending no longer fetch remote images referenced by the message when automatic image loading is off. Opening an event's notes no longer fetches images referenced by its description, which could tell the sender you opened the invitation. (#2901) Thanks @brhellman!
  • A malicious event UID can no longer cause the sync engine to write outside the calendar collection on the CalDAV server. Thanks @brhellman!
Bug Fixes:
  • Fixed duplicate Sent copies appearing on Exchange Online, Gmail, Yahoo and Zoho, which file their own copy of sent mail.
  • On servers without IMAP MOVE, moving a message no longer permanently erases other messages another client had only marked for deletion (e.g. Outlook's "mark for deletion" mode).
  • Fixed several provider quirks: folder roles detected by name and \Archive support, servers reporting UIDNEXT 0, Coremail/NetEase servers that require an ID command, and servers that refuse LIST being treated as missing folders.
  • Fixed mail rules not applying to self-addressed messages whose Inbox copy arrived after the Sent copy.
  • Fixed the Unread view's recently-read threads leaking across views. (#2905) Thanks @dansleboby!
  • Fixed Gmail messages losing text the sender placed inside the signature block when there was no quoted text. (#2902) Thanks @dansleboby!
  • On Linux, fixed two title bars appearing on KDE and GNOME for users who never chose a menubar style. (#2903) Thanks @dansleboby!
  • Fixed blank lines appearing in the inline reply composer. (#2896) Thanks @arnonuem!
  • Fixed adding some Google Workspace and Office 365 accounts by always using the provider's servers for OAuth accounts. (#2907) Thanks @Jorl17!
  • Fixed the Send button silently doing nothing when a draft's From address matches no account or alias; Mailspring now explains the problem. (#2910)
  • Carriage returns are stripped from text dropped into the composer. (#2908)
  • Fixed Google contacts with a birthday but no date failing to open in the contact editor. (#2912)
  • Fixed an error when a sound effect can't be decoded. (#2911)
  • Malformed URLs passed to Mailspring on launch are now ignored. (#2913)
  • On macOS 27, notifications now respect the system "Play sound for notifications" setting and Focus modes, and the notification sound plays correctly.
  • On macOS, fixed the window not being draggable beneath the window controls.
  • Updated Electron to 44.5.1 to fix webview detach errors. (#2909)
  • Mailspring now tells you when the server rejects an event save instead of leaving the unsaved edit on screen. (#2914) Thanks @brhellman!
  • Fixed RSVPs to recurring events including other guests' attendance in the replies for moved or modified occurrences. (#2917) Thanks @brhellman!
  • Fixed recurring events created in winter showing an hour off in summer: VTIMEZONEs now carry the zone's daylight saving rules, including every offset change. (#2885, #2900) Thanks @brhellman!
  • Fixed Outlook and Exchange events using Windows zone names ("Central Standard Time") being shifted to your machine's time zone when edited. (#2897) Thanks @brhellman!
  • Fixed an invitation that redefines the UTC zone shifting every UTC time for the rest of the session. (#2898) Thanks @brhellman!
  • Fixed UTC timestamps in calendar data being read as local time. Thanks @brhellman!
  • Fixed deleting a single occurrence of a recurring event deleting the entire series on the server. Thanks @brhellman!
  • Fixed accepting an invitation already present on the calendar failing as a duplicate create. Thanks @brhellman!
  • Fixed every calendar being marked read-only on servers that omit or aggregate privilege information. Thanks @brhellman!
  • Fixed Fastmail/Cyrus scheduling Inbox and Outbox collections appearing as calendars, and DAV principal discovery on some servers. Thanks @brhellman!
  • Fixed RSVP emails violating MIME line-length and encoding rules, which some mail servers refuse. Mailspring also accepts iTIP COUNTER proposals when responding. Thanks @brhellman!
  • Fixed a failing manual calendar refresh aborting the sync process. Thanks @brhellman!
  • Fixed CalDAV and CardDAV discovery on servers that use 303, 307 or 308 redirects from /.well-known. Thanks @Alintya!
  • Fixed a blur on a calendar time field moving the event to today, a timed event losing its time when its day is changed, and a bare hour like "3" always being read as PM. (#2890, #2892, #2893) Thanks @manilabui!
  • Fixed all-day event saves writing the wrong date span. (#2894) Thanks @manilabui!
  • Fixed event notes missing when the description begins with itemprop=description meta tags.
Improvements:
  • The offline indicator is a less aggressive gray, and coming back online re-syncs your accounts immediately, clearing the indicator.
Developer:
  • Added an extensive fakeimap, Cyrus and Dovecot test suite for the sync engine.
  • Updated out of date GitHub Actions versions.
  • Fixed Playwright assertions for the macOS 27 navigation bar.
 

Recently browsing

Members who viewed this thread in the last 5 minutes

Back
Top