Releases: Foundry376/Mailspring
Release list
1.24.1
On Linux, Mailspring 1.24.1 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!
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
MessageActionMenuItemextension point so plugins can add items to the message "..." menu. Thanks @AnsCodeLab!
Bug Fixes:
- 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
modin the preferences.
Developer:
- The Claude Desktop MCP integration now uses a stdio bridge built into Mailspring instead of relying on
npx. --spec-directorynow resolves relative paths and fails fast when the directory does not exist.
1.24.0
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_attachmenttool 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:
- 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!
- Fixed synchronization with NetEase IMAP servers. (#121) Thanks @aixia715!
- Fixed recurring meetings whose series started years ago not appearing in the calendar. (#2845) 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 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
ChangeLabelsTaskassertion failure when removing search results. (#2816) - Fixed a
TaskQueuecrash 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 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
qlmanageprocesses 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!
- 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
safeStorageAPI. (#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
clipboardAPI; 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.evalis enabled under the Playwright harness sopage.evaluateworks. - Upgraded
tarto 7.5.19 to address CVE-2026-59873. (#2811) Thanks @anupamme! - Switched
app/package.jsonfromresolutionstooverrides. (#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.openExternalrejections now capture the caller stack. (#2788) ContextifyScriptcompile 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.23.0
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
EventRSVPTaskwhen attendee ICS data goes stale. (#2770) - Fixed a crash in the translation plugin when the iframe
contentDocumentis not yet loaded. (#2752) - Fixed an onboarding crash when back-navigation empties the page stack. (#2750)
- Fixed
navigator.clipboard.writeTextin@electron/remoteMenuItem handlers. (#2754) - Fixed an
ERR_FILE_NOT_FOUNDcrash 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.Hellobefore emitting the badge signal. (#2778) Thanks @WebDevBar! - Stopped startup after a fatal
config.jsonload failure. (#2764) - Guarded
nativeThemeremote object access inSystemTrayIconStore. (#2753) - Guarded grammar check so it no longer emits warnings when logged out.
Improvements:
- Added a macOS 27 icon variant.
- 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
APIErrorinmakeRequest. (#2766) - Fixed an uncaught 'error' event crash in
MailsyncProcess.sync(). (#2773) - Fixed an unhandled rejection in
IdentityStorebackground polling. (#2768)
Developer:
- Upgraded
@electron/packagerto prevent build hangs on newer Node.js versions. (#2767) Thanks @wrench-exile-legacy! - Get the desktop name dynamically from
package.jsonand stop hardcodingMailspring.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.22.0
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
DefaultClientHelperMacpassing boolean to error callback, causing false Sentry reports. (#2731) - Fixed
AttributeDateTime.fromJSONtreating 0/falsy values as missing. (#2730) - Fixed quickpreview CSP clobbering the default session's app-wide CSP. (#2744) Thanks @dansleboby!
- Fixed
QuerySubscription._fetchRangecontiguity 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.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
activeMarksaccess errors in the composer editor. (#2714) - Fixed thread list scroll indicator not sliding through time when dragging the scroll handle. (#2716)
- Fixed
containserror 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
componentWillMountwithcomponentDidMount. (#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.21.0
Features:
-
Added Reply-To field to the composer header, allowing you to specify a different reply address when composing messages. (#2691) Thanks @Argjend12345!
-
Added bulk RFC2822 message export functionality to the sync engine. (#107)
Bug Fixes:
-
Fixed HTTP/2 framing errors that could crash the sync engine during metadata streaming. (#103)
-
Prevented global keyboard shortcuts from firing when focus is in the composer. (#2693)
-
Strictly validate accent color hex values from system preferences to prevent errors. (#2692)
Claude Security Audit:
-
Tightened validation to prevent file:// URIs in email content. (#2699)
-
Limited path traversal in protocol handler. (#2700)
-
Added allowlist validation for IPC window and webcontents methods. (#2701)
-
Improved HTML sanitization in the composer when pasting content. (#2702)
-
mailto links no longer support the ?attach= query parameter. (#2703)
-
Improved attachment name sanitization for security and compatibility. (#2705)
-
Improved email sanitization to block CSS @import tracking vectors. (#2706)
-
Added package name validation to prevent path traversal attacks. (#2698)
-
Added URL validation to the autoupdate handler. (#2697)
-
Show a notice about plugin trust when installing third-party plugins.
Improvements:
-
When a detailed error log is available during OAuth sign-in, it is now displayed to help with troubleshooting.
-
Used
execin mailsync wrapper script for direct signal delivery. (#105)
Developer:
-
Migrated build system from Grunt to a standalone Node.js script. (#2704)
-
Added option to skip installer creation in the build script. (#2707) Thanks @LinusDierheimer!
-
Dropped .map files from distribution packages. (#2686) Thanks @ReillyBrogan!
-
Replaced long-deprecated Raven with native Sentry envelope implementation and send sourcemaps during build. (#2694)
-
Upgraded TypeScript target from es2017 to es2024.
-
Refactored TypeScript compilation cache and only enable in dev mode. (#2695)
-
Removed macOS Touch Bar support. (#2696)
-
Updated ESLint and Prettier, and reference local versions in VS Code settings.
-
Added missing TypeScript types to function declarations across many files.
-
Upgraded Electron 41.2.1 to Electron 41.5.0.
-
Added Playwright tests for pre-release verification.
-
Added tests covering VCF/EML business logic and other utilities.
1.20.1
1.20.0
Features:
-
Added an "Automatic" theme (the new default) that follows system light/dark mode.
-
Added system accent color support — the standard light and dark themes now use your OS accent color by default and this can be disabled from Preferences > Appearance. (#2682)
-
Improved the UX around creating folders and labels in the left sidebar - it's much easier to create nested items. (#2655)
-
A new "•••" menu on items in the left sidebar makes features (including the new EML export option) more discoverable.
-
Added EML export functionality for messages and folders. You can save selected messages as EML by right-clicking or from the app's menu, and export entire folders by right clicking in the left navigation. (#2652)
Improvements:
-
Improved password storage error handling and reporting. (#2669)
-
Fixed a race condition causing Windows notification "Archive" and "Mark as Read" buttons to be unreliable.
-
Added Microsoft Office 365 / Outlook account setup guidance and troubleshooting documentation. (#2656)
-
Replaced text symbols with SVG icons in the toolbar. (#2658)
-
Refinements to EML export task in the sidebar.
-
Fixed the Wayland app_id after Electron 41 (Thanks @ReillyBrogan!)
Bug Fixes:
-
Fixed an undefined
@font-weight-semi-bolderror in the ui-less-is-more theme. (#2684) -
Fixed a crash in quick preview when the capture window is destroyed. (#2671)
-
Fixed an unhandled EPIPE error when writing to a dead mailsync process stdin. (#2673)
-
Fixed race conditions in draft expiration and changeset handling. (#2678)
-
Fixed broken IMAP UTF-7 encoding by replacing the broken
utf7package with a custom implementation. (#2672) -
Fixed printToPDF errors being incorrectly sent to Sentry. (#2677)
-
Fixed an issue where launch options and URLs were processed before app initialization was complete. (#2675)
-
Fixed a crash caused by null values in draft field change detection. (#2676)
-
Fixed an issue where metadata attachment could fail for newly sent messages. (#2664)
-
Fixed autoupdate error handling. (#2670)
-
Fixed error handling for ICS parsing in the EventHeader component. (#2668)
-
Fixed crash when navigating to 'All' with accounts that have no archive category. (#2666)
-
Fixed null reference crash in ContactDetail on update. (#2661)
-
Fixed MacOS notifications showing a second copy of the app's icon
-
Fixed null range crash in the email composer. (#2662)
-
Fixed a race condition in EmailFrame that could deliver a null
doc.bodyto message extensions. (#2665) -
Fixed OAuth code parsing to handle
+characters correctly. (#2654) -
Fixed the
core:pop-sheetshortcut being blocked in the message list with an open reply composer. (#2653) -
On Windows, fixed font-weight rendering by using CSS variables. (#2650)
-
On Linux, fixed xdg-mime 'not found' error not being caught on dash-based shells. (#2667)
-
Added error handling for
shell.openExternalcalls to prevent crashes on unsupported URLs. (#2679)
Developer:
-
Fixed ability to declare platform-specific options via config-schema. (#2681)
-
Moved
appdata.xmlto themetainfodirectory for proper Linux packaging. (#2659) Thanks @BlueManCZ! -
Replaced direct
Electron dialog.showErrorBoxcalls withAppEnv.showErrorDialog. (#2680) -
Improved plugin activation error handling and TypeScript compilation. (#2674)
-
Suppressed LESS parse errors from Sentry reporting. (#2663)
1.19.1
Bug Fixes:
-
On Windows, fixed notification click handling and removed a redundant window display call. (#2648)
-
Fixed the custom port input not updating in IMAP onboarding. (#2646)
-
Fixed VoiceOver handling on email composer token inputs (To, CC, BCC, etc.).
Improvements:
-
Additional accessibility improvements: arrow key navigation and roving tabindex between messages in the message list, keyboard focus improvements in the account sidebar, email frame ARIA target for read-all support, and focus management fixes for modals and preferences.
-
On Linux, added Wayland session detection and a fallback menu button for window managers that don't support the system tray. (#2647)
-
Improved handling of navigation keys (arrow keys, etc.) in the composer typing state. (#2644) Thanks @ejbiker93ss!
-
Improved contact details panel styling.
-
On Linux/Wayland: frameless windows now display GTK drop shadows and support extended resize borders
Developer:
-
Updated to Electron 41 (Chromium 146, Node.js 24.14), up from Electron 39 (Chromium 142, Node.js 22). (#2643)
- Chromium updated from 142 → 146, bringing security patches and modern web standard support
- Fixed white flash when opening app windows
- Reduced GPU memory usage on macOS
- On Windows: fixed a crash with UTF-8 file paths and a hang in native notification delivery
- On macOS: fixed menu items incorrectly staying disabled after being re-enabled
- On Windows: fixed window fullscreen state not being preserved correctly
- On Windows: system notifications now support action buttons and inline reply inputs
- Fixed keyboard shortcut accelerators not working after toggling a menu item's enabled state
- Replaced the deprecated Electron clipboard renderer API with the standard
navigator.clipboardAPI
-
Replaced legacy dependencies (
fs-plus,rimraf,mkdirp,uuid,temp) with native Node.js APIs, removing several third-party dependencies. -
Removed unused dependencies
deep-extendandgraceful-fs. -
Added TypeScript typecheck and lint steps to the per-commit GitHub Actions workflow.
-
Updated license dates.
1.19.0
Features:
-
Comprehensive accessibility improvements, including semantic landmarks, ARIA attributes, focus traps for modals, accessibility labels on buttons, and more. If you use Mailspring using a screenreader, we'd love feedback about this release. (#2638)
-
Added VCard import/export functionality to contacts. (#2626)
-
Added support for creating new calendar events via double-click on the calendar. (#2635)
-
Added Calendar menu and keyboard shortcuts. (#2634)
Bug Fixes:
-
Fixed a TypeError when a contact's birthday date is undefined. (#2632)
-
Fixed Windows app restart and update handling with Squirrel. (#2631)
-
Fixed
canBeUndoneinitialization in ChangeMailTask subclasses. (#2630) -
Gracefully handle
xdg-mimenot being present on some Linux machines. -
Fixed poor Sentry reporting of errors bridged over the
report-errorIPC channel. -
Fixed an "Invalid String Length" error in the mailsync-process wrapper on very large stderr output.
-
Fixed a CardDAV issue with headers on XML requests and empty multiget responses.
-
Fixed
ERR_ABORTEDerrors from quick previews being silently reported to Sentry.
Improvements:
-
Improved calendar event editing with ICS-based recurrence support. (#2637)
-
Added recurring event indicator icon to calendar events. (#2633)
-
Added tray icon theme picker and 'none' style option for Linux. (#2628)
-
Tuned thread list swipe gesture detection, and added an option to disable swipe gestures. (#2629)
-
Folded grammar check preferences into General > Composer. (#2639)
-
Improved emoji popover positioning and updated emoji artwork with new additions.
-
Recovered the Slate editor when the user selects all and deletes all text, leaving only quoted text.
-
Added
WSAGetLastError()logging for TCP connection failures on Windows (mailsync).
Developer:
-
Added
X-GNOME-UsesNotifications=trueto the Linux.desktopfile. (#2640) Thanks @LinusDierheimer! -
Added
vcs-browserto the Linux AppStream metadata. (#2641) Thanks @LinusDierheimer! -
Removed deprecated Electron 4 polyfills and other outdated TODOs. (#2636)
-
Moved tests to
@testing-library/react, run in GitHub Actions. -
Added community plugins and themes documentation. (#2627)