CHANGELOG
Eterno Mail — v0.3.6
- Improved expanded and compact sidebar sizing, icon alignment, tooltips and the Compose button for clearer navigation.
- Fixed unstable message-list scrolling and scrollbar behavior on Linux/WebKitGTK.
- Made message moves and Trash actions update the local view promptly, with safer IMAP reconciliation.
- Improved Undo reliability when restoring moved messages.
- Fixed Gmail Trash and Spam actions targeting incorrect destination mailboxes.
- Refined conversation-viewer interactions and action feedback.
- Added release notes for the installed version directly to the What’s New dialog, using the project’s changelog.
- Fixed HTML and JavaScript injection through OAuth callback error codes and descriptions.
- Fixed concurrent OAuth session access during login and cancellation, and prevented an older callback from clearing a newer session.
- Required SMTP STARTTLS connections now close with an error when the server does not offer encryption, preventing plaintext fallback.
- Hardened attachment saving against unsafe filenames, parent-directory traversal and symlinks escaping the destination; Save All sanitizes filenames before building paths.
- Fixed attachment downloads with empty or short message IDs and prevented simultaneous downloads from overwriting the same default filename.
- Added S/MIME verification against system trust roots and stopped caching certificates classified as unknown signers. Existing self-signed and expired-certificate exceptions now require a valid cryptographic signature.
Security
internal/crypto: device key now uses a versioned format (v2). Existing
installations with the legacy format (v1) are automatically migrated on
first startup: all database credentials are transparently re-encrypted with
the new key derivation — no user action required.
Legacy v1 support will be removed in Aerion 0.5.0.
Eterno Mail — v0.3.5
- Fixed first-launch interaction becoming blocked after dismissing the startup dialogs.
- Fixed Enter and Space activation for focused interface buttons.
- Improved startup dialog sequencing and cleanup to prevent stale modal input locks.
- Improved external-link handling in the Terms and OAuth dialogs.
- Updated the What’s New dialog to use the actual runtime version.
- Improved Flatpak development builds inside container environments.
Eterno Mail — v0.3.4
- Added unified Drafts, Sent, Trash, Starred, Archived, Spam/Blocked and All Mail views across enabled accounts.
- Added account-specific special-folder drill-down and Gmail-compatible virtual Archived views.
- Improved draft safety with canonical draft references, sender identity persistence and attachment-safe Save & Close.
- Improved detached composer persistence so quick closes no longer lose or duplicate pending drafts.
- Added automatic background and manual GitHub release update checks.
- Added Priority, Categories and Chronological inbox display selection.
- Added localized tooltips to conversation viewer actions.
- Improved KDE Wayland/X11 titlebar compatibility.
- Updated public project documentation and interface refinements.
Eterno Mail — v0.3.3 development
- Introduced Eterno Mail branding, public legal documentation and updated public links.
- Refined sidebar navigation, sizing and icon alignment.
- Improved inbox actions, read-state handling and continuous message loading.
- Hardened IMAP pool concurrency and migration test coverage.
v0.3.3 - 08-06-2026
- Message list redesign - #70 + #340
- Added swipe gestures - right select and left delete - #68
- Added manual config of IMAP/SMTP auth mech
- Added digest auth for contacts and calendars - #313
- Added Polish translation - PR #374
- Fixed IMAP/SMTP auto auth mech - #365
- Fixed glitch when rapid deleting messages
- Refactored to engine-level serialization
- Improved toast notification logic - #115
- Added states to fix unwanted message list reset - #348
- Improved CalDAV discovery - #363
- Basic CarDAV (Mailfence) support - #366
- Fixed typo in autostart code - #33
- Updated nb translations - PR #371
- Added g, G, alt+g, alt+G, alt+c, alt+m shortcuts - #351
- Backfilled v to contact list
- Fixed .desktop - #356 - #367
- Fixed attachment leak on reply - #381
v0.3.2 - 07-16-2026
- Added Spellcheck for languages using Latin alphabet - #277
- Improved profile pic support - #183 - Requires force resync of contacts
- Added re-auth button to contact write
- Improved unread count and IDLE sync - #327
- True fix for duplicate e-mail add error - #318
- Fixed calendar auth on add - #337
- Added guard against wails bridge saturation dervied from calendar rapid view switch
- Fixed CarDAV sync profile pic bug - May require a force resync of contacts
- Fixed toast cutoff in mobile layout - #339
- Updated i18n translation
v0.3.1 - 07-08-2026
- Added custom oauth for imap, cardav, and caldav (designed for and tested with Stalwart)
- Custom oauth refresh token handling fix
- Use TOFU cert store for DAV certs
- Added Google meet link support - needs force resync
- Timezone config fix
- Multi-day week and day view fix
- Multi-day monthly view fix - #304
- Composer body config - #216
- Attachment parsing improvements - #307
- Fixed replying with correct identity #325
- Added error message for adding account with same e-mail - #318
- Made number of events per day in month view dynamics - #323
- Fixed icon rendering with newer DEs and compositors - #316
- Fixed diff tz time display in calendar
- Improved calendar about field rendering - needs force resync
- Fixed calendar link handling
v0.3.0 - 06-23-2026
- Prepared CardDav infra for extensibility
- Added Extension infrastructure
- ALPHA: Added Contacts extension - shipped disabled
- ALPHA: Added Calendar extension - shipped disabled - #28
- Updated extension translations:
- Czech
- French
- German
- Italian
- Vietnamese
- Chinese - CN, HK, TW
- Added shortcuts: V for View Message and D for Delete Message
- Added runtime config of client id/secret - #138
- Added force re-sync of contacts
- Added Vietnamese translation - PR #232
- Added separate smtp credentials option - #264
- Added no outgoing server option - #132 (#134)
- Added fallback for Mailfence and other non-quote-compliant providers - #209
- Added smtp auto-pre-fill of smtp from imap input - #179
- Added delete account button in settings accounts tab
- Fixed CardDav remove provider code path to not leave orphaned contacts in db
- Fixed Sent/Draft folder message listing - #227
- Fixed unified inbox actions - #234
- Fixed Microsoft admin pre-approved oauth - #29
- Fixed read/star polluting undo - #243
- Fixed duplicate unified inbox freeze - #241
- Fixed unparsible body fetch handling - #240
- Added incremental flag sync - #240
- Fixed drag-n-drop inline image - #224
- Fixed duplicate inline image rendering
- Fixed post action blank conversation pane - #271
- Fixed separate smtp creds persistence - #270
- Fixed plaintext reply/fwd - #285
- Fixed print feature - #280
- Fixed Windows links - #261
- Hardened Windows URL/attachment opening - Reported by @freemans32
- Fixed mail with no body + attachment - #293
- Bumped flatpak build to Gnome 50 runtime
v0.2.5 - 05-27-2026
- Sync progress indication redesign and shifting folder tree fix - #204
- Added German translation - PR #194
- Added Italian translation - PR #208
- Dark content auto bg color and overrides - #195
- Added guard rails to prevent accidental close of dialogs - #201 - #198
- Fixed message list on folder switch bug - #200
- Fixed detached composer draft ops - #213 - #214
- Fixed send receipt feature
- Fixed dark themes composer lists - #215
- Fixed setting dialog layout - #203
- Fixed (workaround) folder subscription for non-compliant providers (Microsoft 365, etc) - #218
- Code cleanup prior to diving into v0.3.0
v0.2.4 - 05-20-2026
- Improved oAuth browser open - #120
- Added copy link for oAuth - #120
- Added dark mail content option - #49
- Use desktop portal for email links first and fallback to xdg-open if it fails
- Added -version flag - #167
- Added setup exe and default app registration for Windows - #149
- Added Norwegian translation - #150
- Fixed dark to light core theme switch bug - #187
v0.2.3 - 05-14-2026
- Added Czech translation
- Added drag-and-drop to move messages to another folder
- Added cross account copy/move mail - #108
- Added draggable recipients in composer - #111
- Added auto-commit recipient on lost focus - #85
- Added composer del/backspace guard to prevent accidental message delete
- Fixed detached composer system theme detection - #153
- Fixed launch flow - #154
- Fixed dark theme rendering - #155
- Added unread count update after background sync to ensure accuracy
v0.2.2 - 05-09-2026
- Made contact circles themeable
- Added live theme change preview
- Added Adwaita themes (Light/Dark)
- Added Breeze themes (Light/Dark)
- Added Catppuccin themes (Latte/Frappe/Macchiato/Mocha)
- Added Dracula theme
- Added Github themes (Light/Soft Dark/Dark)
- Added Tokyo Night theme
- Added Nord themes (Light/Dark)
- Added Pop! themes (Light/Dark)
- Added VS Code themes (Light/Dark)
- Added Yaru themes (Light/Dark)
v0.2.1 - 05-07-2026
- Added thread and message focus mode - #129
- Added contact circle enable/disable
- Added French translation
- Fixed keyboard expand/collapse of focused messages
- Fixed untranslated drop down menu items
- Fixed iCloud Empty Trash - #136
- Added ESLint for frontend linting
v0.2.0 - 04-29-2026
- Refactored N+1 query on folder switch - #117
- Fixed IMAP server side search regression
- Fixed settings tab icons - #125
- Fixed plain text links - #113
v0.1.39 - 04-27-2026
As of 2026-04-26, Eterno Mail is CASA Tier 2 certified and verified by Google so oAuth2 sign-ins will no longer be blocked.
v0.1.39 is a major milestone that includes some remaining originally planned basic features and a substantial amount of bug fixes/refinements focused on making existing features and functions much more reliable/stable. It will serve as a solid foundation for us to continue the further development of this mail client.
- Added image block logic to composer to avoid leaks
- Added folder subscription for auto sync - #83
- Added optional accent bar for unread messages - #92
- Added copy text in viewer context menu - #77
- Added select all in viewer context menu - #77
- Enable native context menu in composer - #77
- Added Shared Mailbox support for Microsoft 365 - #93
- Improved copy/move to folder selection dialog
- Improved invalid encoding handling
- Fixed another ghost message issue
- Fixed invalid e-mail date hang
- Fixed identity switch on replies and forwards
- Fixed draft save and send race condition
- Added proper smtp connect timeout
- Added proper IMAP STARTTLS connect timeout
- Fixed inefficient serilization for inline images and attachments
- Added inline image and attachment size limit
- Fixed inline images on replies and forwards
- Fixed reply/forward signature placement
- Added AttachConsole to for Windows builds for debug output
- Fixed murena.io CardDav - #86
- Fixed some HK translations
- Fixed non-UTF filename attachment open and download
- Fixed save to sent folder behavior - #98
- Improved composer formating
- Fixed unchecked rand.Read() in Cryptographic Code
- Backfilled missing DB error handling
- Added proper panic recovery
- Fixed pasted inline image sending
- Fixed undo delete regression
- Fixed name and subject preview decoding - #104
- Fixed provider icons consistency - #102
- Added better pgp and s/mime error feedback
- Added a wider range of PGP keys and S/MIME certs support - #107
v0.1.38 - 03-22-2026
- Fixed message list refresh on IDLE sync
- Fixed orphaned deleted messages in message list
- Fixed orphaned sync error messages
- Increased go test coverage
- Bumped to Node 24 (LTS)
- GA: skip manifest commit if test build
v0.1.37 - 03-18-2026
- Changed copy to and move to folder selection to dialog box instead
- Improved moved message handling
- Fixed copy and delete logic for Gmail
- Fixed threading copies of message across folders together
- Fixed post bulk delete focus - #81
- Fixed post send conversation refresh
- Fixed default from identity for replies
v0.1.36 - 03-17-2026
- Fixed username auto-fill in add account dialog
- Fixed attachment warning logic - #79
- Added u-inbox reload guards for better post sync behavior
- Added additional display render error detection - #74
- Fixes for #78 and #76:
- Eliminated duplicate event emission from IDLE body fetch
- Eliminated redundant webkit calls
- Cache image allowlist on frontend
- Handle messages still downloading better
- Fixed Timer Leak in scheduleMarkAsRead
- Increased max concurrent db connections
- Added stale guards
- Reload necessary messages only during sync
- Filter unified inbox reloads to inbox folders only
Note: Bumped GA and Flatpak node version to 22
v0.1.35 - 03-13-2026
- Fixed spinning wheel of death in Image Tab of Settings - #73
- Bumping Github Actions version
v0.1.34 - 03-13-2026
- Added Images tab to Settings Dialog to manage Always Load lists
- Security - Remove OAuth debug
- Security - Fix attachment file perms
- Security - Sanitize attachment filename
- Security - Validate paths in OpenFile and OpenFolder
- Security - Fix IPC socket TOCTOU with umask
- Security - Strip CRLF in writeHeader
- Cleanup - Removed dead UnblockRemoteImages function
- Cleanup - image loading logic
- Added CardDAV returning time.RFC1123Z (purelymail) workaround - #71
- Added CardDAV returning unquoted Etag (mailbox.org) workaround - #26
- Fixed message list checkboxes not responding to shift click - #67
Note: This release is compiled with a new Client ID from the Microsoft newly verified account. However, as per #29, it still doesn’t completely solve the oauth “Admin Approval” problem unless your Microsoft 365 administrator has intentionally switched to approve Microsoft verified apps (not the default) in the org settings.
v0.1.33 - 03-11-2026
- Added dynamic title to detached composer
- Fixed frontend warning
- Updated npm packages
- Improved flags values guarding
- Fixed show attachment in folder - #69
- Fixed downloading synthetically named attachments
- Added proper flatpak attachments opening from toast logic
- Improved has_attachment marking
v0.1.32 - 03-10-2026
- Fix - Use reply-to on replies - #64
- Fixed shift + click selection regression - #67
- Fixed detached composer title bar - #65
- Fixed start hidden busy cursor - #66
v0.1.31 - 03-05-2026
- Fixed title bar setting regression - #57
v0.1.30 - 03-05-2026
- Extracted theme logic from App.svelte into a dedicated Svelte store
- Added a Dark (Balanced) theme
- Added a Light (Balanced) theme
- Added tables and HTML mode to signature composer
- Added option to use native title bar/decorations - #53
- Added display of reply-to, cc, and bcc if not empty - #54
- Added always load image setting - #40
- Fixed Cosmic Desktop bug - needs testing - #55
- Added workaround instructions for GPU driver bugs - #56
v0.1.29 - 02-26-2026
- Toast message to provide feedback for successful link clicks
- Cross accounts from field
- Handle external mailto calls
- Added composer tab in settings
- Allow setting detached composer as default
- Choose default or detached composer to handle mailto links
- Allow setting plaintext as default
- Moved read receipt setting to composer tab
- Cross account from field
- Fixed drag and drop inline images and attachments - #41
- Fixed star buttons and states - #42
- Fixed links in threads #48
- Fixed attachment logic and extraction for non-text parts - needs a force resync to apply
- Fixed orphaned drafts - #47
- Fixed flatpak attachment download - #51
- Consolidated duplicate code between composer and detached composer
- Close conversation viewer if deleted
- Don’t auto-open next message if in vertical mobile layout - #30
- Fixed empty from field - #39
v0.1.28 - 02-24-2026
- Slight visual adjustments to the message list checkboxes
- Always show checkboxes on message list when in vertical mobile layout - #30
- Added per folder filters for unread, starred, and attachments - #37
- Refactored MessageList.svelte for better maintainability and performance
- Resuming Flathub submission
Note to Flathub users: A massive amount of features and fixes were in v0.1.25 - v0.1.27 which were not released to Flathub. Check the Release Page to see these changes.
v0.1.27 - 02-23-2026
- Made IMAP folders with sub-folders collapsible
- Identity aware PGP and S/MIME
- Improved guard rails for PGP and S/MIME import, sign, encrypt, and decrypt
- Added multi-language support for missing dynamic message translations
- Proper flatpak implementation of autostart on login - #33
- Fixed nested IMAP folders fetching - #34
- Fixed empty or encrypted body preview in message list
v0.1.26 - 02-22-2026
- Fixed delete silently failing on proton and other generic providers - #31
v0.1.25 - 02-21-2026
- Added run in background - #15
- Added launch hidden - #15
- Added launch on startup - #15
- Added Wake and net detection for Windows and Mac
- Added Clickable notifications for Windows and Mac
- Added Empty Trash button for Trash folders - #21
- Added multi-language support foundation - #10
- Added 中文(香港), 中文(台灣), 中文(中国)
- Added IMAP search - #24
- Added Responsive layout to handle both tiling and mobile - #8
- Fixed sync race condition when moving message during post move sync
- Fixed Trash folder detection to include Bin
- Cleaned up and reorganized sync engine code to be more maintainable
Note: Not submitting this release to Flathub until this issue is resolved.
v0.1.24 - 02-18-2026
- GMail app password fix - #22
- Fixed dialog boxes blurry fonts - #23
- Added context menu to folder pane - #21
- Close conversation viewer when a message is marked as unread
- Added right alt for triggering context menu with keyboard
v0.1.23 - 02-16-2026
- Fixed race condition on marking message read when notification clicked
v0.1.22 - 02-16-2026
- Fixed wake from sleep flow - #17
- Added proper network state monitoring
- Improved wake, scheduled syncs, idle, and status logic with net state
- Added proper logic for offline mode
- Fixed S/MIME algo - #13
v0.1.21 - 02-14-2026
- Added PGP support - needs more testing
- Added S/MIME support - needs more testing
- Fixed composer rapid enter lag issue with 0 margin
<p> instead of <br>
- Added auto refresh of draft folder on discard
- Added logic to prevent uneccessary reloads of loaded conversations if there’s no change
- Fixed draft synced to server indication regression
- Fixed inserted images and attachments saved in draft folder
- Max window size fix #4
- Auto-focus to the To: field on launch of new composer and on forwards
- Fixed reliability issues with attach file and insert image
- Fixed deletion while syncing
- Improved dead connections handling which makes wake from sleep more reliable & should fix #9
- Fixed delete mail from trash #9
- Added reply, reply-all, and forward of a specific message
- Fixed move mail from trash back to inbox
- Improved Sent Folder detection (Wrong sent folder mapping will break threading)
- Ctrl+A when focused on message list will select all messages #14
- Ctrl+A when focused on conversation viewer will select all text of the expanded email in viewport
v0.1.20 - 02-11-2026
- Added resolution change detection - #4
- Added trusted self-signed cert flow and store - #6
- Improved imap login logic
- Improved image blocking to include CSS loaded images
- Enabled horizontal scroll in conversation viewer
v0.1.19 - 02-09-2026
- Fixed terms acceptance visibility
- Enhanced system theme detection
- Fixed idle.go/server.go
- Implemented a workaround for calling dialog through portal
- Removed redundant desktop-file-edit commands from Flatpak manifest
v0.1.18 - 02-08-2026
- Converted to Flathub build from source
v0.1.17 - 02-07-2026
- Added refresh conversation viewer if new mail arrives in the thread
- Added auto scroll to the bottom (newest mail) in conversation viewer on long threads
- GA/Flathub submission fix
v0.1.16 - 02-07-2026
- Removed flatpak perm that’s already allowed by default
- Fixed hash calculation for Flatpak build and Flathub submission
v0.1.15 - 02-05-2026
- Refactored Linux notifications to use org.freedesktop.portal.Desktop
- Kept DBUS direct notifications if launched with –dbus-notify
- Added trigger to refocus to Eterno Mail if notification is clicked
- Added
install.sh and uninstall.sh to Linux binary release
- Distribute binary tarballs with assets instead of just binary for Linux
- Fixed flatpak app ID
- Flathub submission fixes
- New Github Actions worksflow that makes much more sense
v0.1.14 - 02-05-2026
- Finalized flatpak submission
v0.1.13 - 02-04-2026
- Fixed links that don’t open in browser (ie. Linkedin, etc)
- Added show link on hover
- Added context menu for links so users can choose to copy the link instead of clicking it directly
v0.1.12 - 02-03-2026
- Removed AppImage build
- Implemented Flatpak build
v0.1.11 - 02-02-2026
- Fixed detached composer theme
- Fixed message focus on refresh
- Improved transitions for smoother UX
v0.1.10 - 02-02-2026
- Added other themes:
- Dark (Gray)
- Light (Blue)
- Light (Orange)
v0.1.9 - 01-29-2026
- Ability to disable window title bar in settings
- Added an AppImage just for Immutable/Atomic distros #1
v0.1.8 - 01-29-2026
- Fixed AppImage support for more popular immutable/atomic distros
v0.1.7 - 01-29-2026
- Fixed AppImage regression for non-atomic distros
- Sticking with 22.04 LTS to build since 20.04 doesn’t have webkit2gtk-4.1 and 20.04 is only a few months away from EOS.
v0.1.6 - 01-28-2026
- Fixed signature insertion on reply
- Fixed replies not being tracked in conversations
- Fixed ghost recipient on reply-All
- Cleaned up console.log/warn in frontend
- Added ability to delete single message from conversation
- Sync draft folder after saving draft from inline composer
- Reload conversation viewer after saving draft
- Added keyboard driven single message delete (focus on conversation viewer pane –> tab to msg –> delete)
v0.1.5 - 01-27-2026
- Bundle icons instead of downloading on launch
- Improved AppImage compatibility
v0.1.4 - 01-26-2026
- Fixed delete flow regression
- Fixed null reference errors
v0.1.3 - 01-25-2026
- Added “Mark as NOT Spam” to spam folders
- Improved Google contact sync error handling
- Auto-focus on the first message of search results on enter
- Added cancel folder sync
- Added shortcut keys for sync all accounts and folder sync
v0.1.2 - 01-22-2026
- Looses keyboard control if e-mail content was clicked
- Autofocus on first message when switched to new folder
- Disable focus on conversation viewer when links are clicked
v0.1.1 - 01-19-2026
- Compile AppImage with Ubuntu 22.04 instead to improve compatibility with older systems
v0.1.0 - 01-16-2026