Linus Rath
|
acc90eb455
|
feat: add "Move to Trash and mark as read" delete action #323
|
2026-05-22 19:08:02 +02:00 |
|
Linus Rath
|
63f2169ae7
|
fix: add OAUTH_ALLOW_PRIVATE_ENDPOINTS for split-DNS setups
|
2026-05-22 17:22:14 +02:00 |
|
Linus Rath
|
e843ef0ebb
|
fix: convert recurrenceRules to singular in batch create
|
2026-05-22 17:00:53 +02:00 |
|
Linus Rath
|
4b463f9691
|
fix: prefix hand-written URLs with basePath for subpath deployments
|
2026-05-22 16:38:55 +02:00 |
|
Linus Rath
|
e3f6ae874d
|
feat: add settings template for multi-email .zip filename
|
2026-05-22 15:30:15 +02:00 |
|
Linus Rath
|
52f5a5b42c
|
feat: support importing emails from .zip archives
|
2026-05-22 15:22:33 +02:00 |
|
Linus Rath
|
3ac14ecf38
|
feat: add filename transform settings
|
2026-05-22 14:57:25 +02:00 |
|
Linus Rath
|
0dca019fe5
|
fix: stop URL-encoding drag-out filenames and preserve Unicode letters
|
2026-05-22 14:49:17 +02:00 |
|
Linus Rath
|
ca0d6805cf
|
feat: add Downloads settings tab with template editor for .eml and attachment filenames
|
2026-05-22 14:46:25 +02:00 |
|
Linus Rath
|
8bcb487442
|
feat: name dragged/exported .eml files as "date (from-to) subject" with ASCII-only chars
|
2026-05-22 14:28:36 +02:00 |
|
Linus Rath
|
8810a63262
|
feat: drag emails out to file explorer as .eml
|
2026-05-22 14:04:52 +02:00 |
|
Linus Rath
|
d3778e6521
|
fix: handle malformed event dates in calendar route #316
|
2026-05-22 14:04:02 +02:00 |
|
Linus Rath
|
ac4a89120d
|
fix: preserve inline images when replying #163
|
2026-05-22 12:06:55 +02:00 |
|
Linus Rath
|
1c02970ae1
|
fix: use canonical INBOX in Sieve filter paths #313
|
2026-05-22 11:51:25 +02:00 |
|
Linus Rath
|
fc5f6f43d6
|
feat: expose PWA, app identity, and extension directory keys in JSON config #312
|
2026-05-21 23:35:58 +02:00 |
|
Linus Rath
|
dbc0eea148
|
feat: group composer From dropdown by account in Pro shell
|
2026-05-21 23:07:02 +02:00 |
|
Linus Rath
|
e80412b6fd
|
feat: show contacts from all logged-in accounts in Pro shell
|
2026-05-21 22:32:17 +02:00 |
|
Linus Rath
|
7076f1ded8
|
feat: show calendars from all logged-in accounts in Pro shell
|
2026-05-21 18:48:55 +02:00 |
|
Linus Rath
|
e6782e61a8
|
fix: sync plugin slot iframe height with reported content height
|
2026-05-21 17:59:24 +02:00 |
|
Linus Rath
|
1756f5ac1c
|
feat: enable search in unified mailbox in pro mode
|
2026-05-21 17:12:06 +02:00 |
|
Linus Rath
|
628966d3b5
|
fix: split app into (main)/(sandbox) route groups so plugin iframe hydrates properly
|
2026-05-20 23:41:49 +02:00 |
|
Linus Rath
|
1c44f59ba1
|
feat: allow setup wizard over plain HTTP with dismissable warning gate
|
2026-05-20 19:01:46 +02:00 |
|
Linus Rath
|
d530d9614b
|
fix: serialize draft autosave with send to stop replies stalling in Drafts #303
|
2026-05-19 23:33:11 +02:00 |
|
Linus Rath
|
7003020855
|
fix: prevent duplication of Bulwark rules with literal braces in values
|
2026-05-18 23:58:21 +02:00 |
|
Linus Rath
|
ecd0467ffa
|
fix: stop pulling node:dns into client bundle via OAuth discovery
|
2026-05-18 19:31:38 +02:00 |
|
Linus Rath
|
cf9292262d
|
feat: pluggable reply/forward quote header #295
|
2026-05-18 17:53:23 +02:00 |
|
Linus Rath
|
b2d24670ff
|
fix: scope iCal subscriptions per JMAP account and fix refresh/clear
|
2026-05-18 16:39:02 +02:00 |
|
Linus Rath
|
fa261fecfd
|
fix: omit empty cc/bcc from Email/set so server does not emit bare Cc: header #301
|
2026-05-18 16:36:45 +02:00 |
|
Linus Rath
|
400703154e
|
fix: ignore plugin-supplied target in ui.openExternalUrl to block host-frame hijack
|
2026-05-18 16:18:00 +02:00 |
|
Linus Rath
|
3ceada7b8a
|
fix: tighten HTML sanitization at plain-text email + signature + i18n render sites
|
2026-05-18 16:07:34 +02:00 |
|
Linus Rath
|
eb0643d887
|
fix: pin parent origin in iframe-bridge to block cross-frame postMessage
|
2026-05-18 16:01:29 +02:00 |
|
Linus Rath
|
1fc670138b
|
fix: update bundleHash to full SHA-256 for integrity verification and migrate legacy hashes
|
2026-05-18 15:57:52 +02:00 |
|
Linus Rath
|
313a1fcce9
|
fix: stop persisting S/MIME passphrases in sessionStorage
|
2026-05-18 15:32:04 +02:00 |
|
Linus Rath
|
7efd8d59bf
|
fix: escape print-window fields and re-sanitize body to block XSS
|
2026-05-18 13:24:52 +02:00 |
|
Linus Rath
|
c2eb2c081b
|
fix: gate admin routes against cross-origin CSRF
|
2026-05-18 13:21:01 +02:00 |
|
Linus Rath
|
b299a0b602
|
fix: validate plugin/theme id in marketplace install to block path traversal
|
2026-05-18 13:03:49 +02:00 |
|
Linus Rath
|
f275fbe2e4
|
fix: bind stalwart auth context to credential, not cookie-claimed username
|
2026-05-18 13:00:40 +02:00 |
|
Linus Rath
|
f134766fd1
|
fix: validate OAuth discovery endpoints against SSRF
|
2026-05-18 12:53:43 +02:00 |
|
Linus Rath
|
6ebf720688
|
fix: block script-bearing MIME types from inline attachment preview
|
2026-05-18 12:47:44 +02:00 |
|
Linus Rath
|
b1eb2b3c9b
|
fix: correct regex for valid API post path validation
|
2026-05-18 12:44:54 +02:00 |
|
Linus Rath
|
48aa607b56
|
feat: lock down plugin runtime in sandbox + signing + approval
|
2026-05-18 12:44:23 +02:00 |
|
Linus Rath
|
088810bd20
|
feat: harden plugin sandbox and migrate in-tree plugins
|
2026-05-18 12:17:54 +02:00 |
|
Linus Rath
|
e16f572252
|
fix: use plugin slot offer snapshots for useSyncExternalStore
|
2026-05-18 11:00:05 +02:00 |
|
Linus Rath
|
9f312aa556
|
feat: sandbox plugins in null-origin iframes with postMessage RPC
|
2026-05-18 10:50:49 +02:00 |
|
Linus Rath
|
ed6b5d5f33
|
fix: clear identity signature fields when emptied
|
2026-05-18 00:53:54 +02:00 |
|
Linus Rath
|
92127e2f00
|
fix: allow table-based layouts in HTML signature sanitizer
|
2026-05-18 00:24:08 +02:00 |
|
Linus Rath
|
bb7e1c4538
|
fix: per-account push subscriptions so multi-account notifications work #298
|
2026-05-16 22:50:01 +02:00 |
|
Linus Rath
|
997bedc91b
|
feat: allow admin password overwrite during setup recovery
|
2026-05-16 18:21:48 +02:00 |
|
Linus Rath
|
307e6d5d34
|
fix: warn + block install when app version is below plugin's minAppVersion
|
2026-05-16 18:11:52 +02:00 |
|
Linus Rath
|
ca1108f455
|
feat: master-user impersonation route + app-top-banner plugin slot
|
2026-05-16 17:59:07 +02:00 |
|