❌

Normale weergave

v1.8.1 - Nested Tags, Encryption at Rest, Forward as Attachment, Deep Links, Catalan Translation, Expanded Plugin APIs

Door: rathlinus
7 Augustus 2026 om 01:58

1.8.1 (2026-08-07)

A GitHub Actions incident left the 1.8.0 release build queued indefinitely, so no Docker image was ever published for that tag. 1.8.1 re-runs the release with the same code, plus one plugin slot that merged in the meantime.

Thank you for your donations:

One-time

Monthly

Features

  • Mail: Nest tags in a tree by picking a parent when you create one
  • Mail: Per-tag visibility β€” always, only when unread, or always hidden
  • Mail: Assign and clear several tags at once, with a reworked tag display
  • Mail: Recover tags from the server by scanning mail for JMAP keywords no local tag explains (#658)
  • Mail: "Forward as attachment" in the viewer and the message-list context menu
  • Mail: Refresh button in the mail-list toolbar
  • Composer: Confirm sending without a subject instead of blocking the send, with "Don't ask again" (#684)
  • Contacts: Contact cards for organizations (#701)
  • Security: Manage S/MIME and PGP public keys and configure Stalwart encryption at rest from account security settings
  • Notifications: Background notification onboarding, sequenced after the PWA install prompt
  • Navigation: Deep links for mail, calendar, contacts, files, and settings, with screen-reader improvements
  • Settings: Always show the Unified Mailbox switch in Layout settings
  • i18n: Catalan translation
  • i18n: Localized editor toolbar across every locale
  • Plugins: Contact API β€” contact.get, contact.create, contact.update, contact.search
  • Plugins: contact-cryptokeys UI slot, behind the ui:contact-cryptokeys permission, so a plugin can render a contact's crypto keys in place of the built-in list
  • Plugins: user.getAccounts and user.getIdentities
  • Plugins: user.logout method and logout hook
  • Plugins: Crypto API β€” public-key management and encryption-at-rest control on the privileged tier
  • Plugins: onBeforeBlobUpload can offload an attachment to external storage
  • Plugins: Binary Blob/File bodies for api.http.post
  • Plugins: upfiles.get moved behind email:blob-read, off the privileged tier
  • Dev: Mock JMAP defaults now include nested tags

Changes

  • Mail: The "Reset to defaults" button is gone from tag settings β€” one stray click wiped a carefully built tag list, with no confirmation and no undo

Fixes

  • Send: Send through the identity's own account client so DKIM matches the From domain (#461)
  • Send: Split Name <addr> recipients into the JMAP name and email fields (#672)
  • Send: Time out stalled JMAP requests so a send can't hang forever (#702)
  • Mail: Keep inline images when replying to application/octet-stream cid parts (#543)
  • Mail: Reply on your own thread message no longer re-addresses the original recipients (#703)
  • Mail: Empty folder no longer stops after 500 emails (#711)
  • Mail: Move messages across accounts from the "Move to" context menu, preserving read state and deferring source removal to Stalwart
  • Mail: Stop resurrecting deleted rows in the mailbox refresh merge
  • Mail: Keep the message/rfc822 attachment visible after inline unwrapping
  • Mail: Strip sender and recipient names from forward-as-attachment filenames
  • Mail: Open mailto: links in the built-in composer
  • Mail: Spell out the full tag path in drag-and-drop toasts, so Personal/Receipts and Work/Receipts no longer read as the same tag
  • Mail: Act on current email state in the context menu's mark-as-read instead of a stale copy
  • Mail: Match the selected-row tint between dark and light mode
  • Mail: Restore lost animations after the Tailwind config move
  • Drafts: Restore the sender identity when reopening a draft
  • Calendar: Stop re-adding the organizer to the attendee list on every save (#731)
  • Calendar: Stop re-probing shared accounts that have no calendar access
  • Calendar: Route the parse dump through the debug logger
  • Contacts: Stop minting duplicate "Trusted Senders" address books (#730)
  • Contacts: Hide Contacts and Calendars when the account lacks the JMAP capability
  • Contacts: Require an explicit shared-account fallback for contacts and calendars
  • Files: Show the modification date instead of the creation date (#700)
  • PWA: Honor the configured theme color in the desktop title bar and keep it in step with the active theme (#671)
  • Accounts: Reconcile the stale persisted account chip after an impersonation handoff
  • Auth: Only request a credential cookie when the server has a SESSION_SECRET
  • JMAP: Split requests to stay inside the server's advertised limits β€” maxCallsInRequest, maxObjectsInGet/InSet, maxSizeRequest, and concurrency
  • JMAP: Treat an aborted SSE connect as a close, not a failure
  • JMAP: Surface the underlying network error cause in passthrough failures
  • Settings: Avoid leaving TZ="undefined" when restoring an unset timezone
  • Plugins: Stop a privileged plugin from reading another privileged plugin's PRF secret
  • Plugins: Correct the method names for message errors and crypto.getPublicKeys
  • i18n: Restore key parity across locales and the English send_timeout string
  • Docs: Document the remaining env vars in the env templates, and correct the facts and headings in README and FEATURES

  •  

Stable Channel Update for Desktop

6 Augustus 2026 om 22:26

The Stable channel has been updated to 151.0.7922.108/.109 for Windows and Mac and 151.0.7922.108 for Linux, which will roll out over the coming days/weeks. A full list of changes in this build is available in the LogΒ 


Security Fixes and Rewards

Note: Access to bug details and links may be kept restricted until a majority of users are updated with a fix. We will also retain restrictions if the bug exists in a third party library that other projects similarly depend on, but haven’t yet fixed.


This update includes 41 security fixes. Please see the Chrome Security Page for more information.


[TBD][499602793] Critical CVE-2026-19137: Use after free in WebGL. Reported by anonymous on 2026-04-05

[N/A][524824288] Critical CVE-2026-19149: Use after free in Aura. Reported by Google on 2026-06-17

[N/A][532941869] Critical CVE-2026-19154: Use after free in Skia. Reported by Google on 2026-07-09

[N/A][534903095] Critical CVE-2026-19157: Out of bounds write in ANGLE. Reported by Google on 2026-07-14

[TBD][537729021] Critical CVE-2026-19170: Use after free in WebGL. Reported by Muhammad Alifa Ramdhan, Pan ZhenPeng, Billy Jheng Bing Jhong of STAR Labs SG Pte. Ltd. on 2026-07-22

[N/A][537838324] Critical CVE-2026-19172: Use after free in Views. Reported by Google on 2026-07-22

[$5000][537390933] High CVE-2026-19169: Insufficient validation of untrusted input in Contextual Tasks. Reported by Sven Dysthe (@svn-dys) on 2026-07-21

[$500][536945254] High CVE-2026-19168: Inappropriate implementation in V8. Reported by XBOW and triaged by AndrΓ©s Luksenberg on 2026-07-20

[N/A][500097298] High CVE-2026-19138: Heap buffer overflow in CrashReporting. Reported by Google on 2026-04-06

[N/A][511731805] High CVE-2026-19139: Race in CredentialProvider. Reported by Google on 2026-05-10

[N/A][513044017] High CVE-2026-19140: Use after free in GPU. Reported by Google on 2026-05-14

[N/A][513602949] High CVE-2026-19141: Use after free in Resources. Reported by Google on 2026-05-15

[N/A][515428251] High CVE-2026-19142: Use after free in Views. Reported by Google on 2026-05-21

[N/A][517772612] High CVE-2026-19143: Insufficient validation of untrusted input in WebAPKs. Reported by Google on 2026-05-29

[N/A][520167277] High CVE-2026-19144: Use after free in HTML. Reported by Google on 2026-06-05

[N/A][521878431] High CVE-2026-19145: Use after free in Translate. Reported by Google on 2026-06-09

[N/A][523713150] High CVE-2026-19146: Uninitialized Use in GPU. Reported by Google on 2026-06-14

[N/A][524439798] High CVE-2026-19147: Use after free in Aura. Reported by Google on 2026-06-16

[N/A][524460000] High CVE-2026-19148: Out of bounds write in GPU. Reported by Google on 2026-06-16

[N/A][526380803] High CVE-2026-19150: Inappropriate implementation in V8. Reported by Google on 2026-06-22

[N/A][530663440] High CVE-2026-19151: Use after free in V8. Reported by Google on 2026-07-02

[N/A][531165110] High CVE-2026-19152: Inappropriate implementation in Navigation. Reported by Google on 2026-07-04

[N/A][532939327] High CVE-2026-19153: Insufficient validation of untrusted input in Workers. Reported by Google on 2026-07-09

[N/A][533053621] High CVE-2026-19155: Use after free in Payments. Reported by Google on 2026-07-09

[TBD][533331920] High CVE-2026-19156: Heap buffer overflow in Base. Reported by Viktoria Zlatinova on 2026-07-10

[N/A][535749174] High CVE-2026-19158: Use after free in Views. Reported by Google on 2026-07-17

[N/A][536067175] High CVE-2026-19159: Use after free in Views. Reported by Google on 2026-07-17

[N/A][536068737] High CVE-2026-19160: Uninitialized Use in Skia. Reported by Google on 2026-07-17

[N/A][536165038] High CVE-2026-19161: Uninitialized Use in Skia. Reported by Google on 2026-07-18

[TBD][536271629] High CVE-2026-19162: Out of bounds write in V8. Reported by OpenAI Codex Security (amyb) on 2026-07-19

[N/A][536449742] High CVE-2026-19163: Use after free in Media. Reported by Google on 2026-07-19

[N/A][536470854] High CVE-2026-19164: Insufficient validation of untrusted input in Codecs. Reported by Google on 2026-07-19

[TBD][536512612] High CVE-2026-19165: Use after free in Extensions. Reported by @bean5oup on 2026-07-19

[TBD][536584251] High CVE-2026-19166: Use after free in Web Authentication. Reported by heesun on 2026-07-20

[N/A][536666274] High CVE-2026-19167: Integer overflow in GPU. Reported by Google on 2026-07-20

[N/A][537832446] High CVE-2026-19171: Use after free in Media. Reported by Google on 2026-07-22

[TBD][538332338] High CVE-2026-19173: Out of bounds write in Skia. Reported by Vu Van Tien (@n0_Be3r) on 2026-07-24

[TBD][538378084] High CVE-2026-19174: Integer overflow in V8. Reported by Seunghyun Lee (@0x10n) of QED Audit (qedaudit.io) on 2026-07-24

[N/A][540138836] High CVE-2026-19175: Use after free in Payments. Reported by Google on 2026-07-29

[TBD][540157141] High CVE-2026-19176: Use after free in Skia. Reported by WinD39 - Huynh Dinh Vu on 2026-07-29

[TBD][540289900] High CVE-2026-19177: Insufficient validation of untrusted input in UI. Reported by Fabian Wahle (Hap Security) on 2026-07-29


We would also like to thank all security researchers that worked with us during the development cycle to prevent security bugs from ever reaching the stable channel.

Interested in switching release channels? Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Srinivas Sista

Google Chrome

  •  
❌