Refresh the folder tree per account so large accounts don't freeze the UI (appsuite/support#1522)
Opening or refreshing a mail account with a very large number of folders (e.g. a shared account with 1000+ folders) no longer freezes the UI; the folder tree is now refreshed per account, in the background, in chunks
Folder actions (empty, restore, delete) now refresh only the affected account instead of reloading every account
As a user I can choose the address book when creating a contact 98f3ec277
The contact create dialog now has a "Save in" address book picker (private, public and shared books you can write to), so new contacts no longer always land in the default address book
As a user I can schedule sending at more times of day 0daba097e
Scheduled send now offers more quick options: afternoon (1 PM) and evening (6 PM), in addition to morning and Monday morning, listed in chronological order
Predefined options now send within a short time window instead of one sharp time, so messages are spread out; this can be configured or disabled (see configuration documentation)
Added a note clarifying that scheduled messages are queued and may be sent with a short delay, so recipients may not receive them at the exact chosen time
As a user I can see tasks in the calendar 861dca160
A new "Tasks" calendar shows your tasks that have a due date next to your appointments Turn it on under Settings > Calendar, then show or hide it like any other calendar
As a user I can set new appointments to private by default a16c596f2
Mark new appointments as "Private" by default
Setting can be found under Settings > Calendar > Advanced Settings
Applies only to your own (private) calendars
As a user I can vertically resize the all-day section in day and week views 661ae6ee7
A resize bar below the all-day area lets you drag it taller or shorter when you have many all-day appointments. Desktop only; the height is not persisted.
As a user I see BIMI logos by local-part selector (LPS)
BIMI now supports local-part selectors (LPS): a domain can show a different brand logo per sender local-part, e.g. support@example.org
Operators can preconfigure a logo for a specific local-part and allow individual addresses on otherwise blocked provider domains
As a user I would like to see the creator of shared or delegated tasks (AS-236)
Task details now show who created a task when it was created by someone else, for example in shared task lists or when a task was delegated to you
The creator's name also appears on task cards in the side panel
Select the creator's name to open their contact details
Categories for shared accounts (PBSR-1476)
Central management of designs for Signature Designer 7387348ce
Template rendering switched to Mustache
Ops can supply additional .html templates and a designs.yaml policy (visibility, ordering, custom fields, defaults, labels, per-template metadata) via the mail-assets ConfigMap
ConfigMap mounted via the mailAssets.configMapName helm value at /etc/mail-assets
See features/signature-designer for deployment and configuration details
Central management of email signatures and templates (AS-76)
Admins can configure read-only predefined email signatures and templates via signatures.yaml and templates.yaml in the mail-assets ConfigMap (mounted at /etc/mail-assets)
Predefined signature and templates appear above user signature/templates in settings and the compose dropdown with a Predefined badge; cannot be edited or deleted
Placeholders ({{ fullName }}, etc.) are rendered at insert time using the user's contact data
Requires feature flags:
io.ox/core//features/managedTemplates: true
io.ox/core//features/managedSignatures: true
See features/signatures for configuration details
Feature toggle for unsubscribe feature (unsubscribeFromMailingList)
Introduce Tempo, a native Temporal wrapper for date and time a05e543b3
Tempo is a thin wrapper around JavaScript's native Temporal API (with a polyfill fallback for browsers that haven't shipped it yet). It gives the app one date/time layer with consistent formatting, locale/week semantics, and strict input validation — replacing the parallel luxon and moment.js stacks we've been carrying.
The ultimate (later) goal is native Temporal everywhere with luxon and moment.js removed. This commit reaches that state for luxon in src/ (only src/io.ox/core/locale.js keeps a compatibility import per the Milestone 5 transition decision). moment.js removal continues incrementally after merge: ~115 src/ files still import moment via @/moment and will burn down through Milestone 7 batches, gated by the new lint:moment-imports guardrail.
Developer entry point: src/io.ox/core/tempo/README.md — includes a moment/luxon → tempo cheatsheet, day-of-week conventions table, and the "When in doubt, convert to date-time" callout.
Port of mail d&d helper app is configurable (PBSR-1746)
User can send automatic email replies for every received email 07da25032
Appointment comments are now indicated by a chat icon instead of quotes (support#1269)
Detect and block external mail content client-side 2994ae75f
Email HTML was already sanitized in the browser; detection and blocking of external images (and other external resources such as backgrounds and fonts) now happens on the client as well.
Increase default height of folder picker (support#1272)
the folder picker was pretty small even on large screens
default height is now 60% of viewport height
maximum height is 480px, minimum height is 80px
Load luxon on demand via @/luxon, out of the boot bundle ed39b44c3
Load moment on demand instead of in the boot bundle 0bd6d63a0
Only preload dependencies of plugins that actually load at boot 5078f0e0d
"Use browser default" setting doesn't seem to work for fonts (support#1493)
Replaced the confusing "Use browser default" and "System" compose font options with a single "Sans Serif" default; the font list is now alphabetical
Compose font sizes now use pixels instead of points, shown as the same px list in the settings dropdown and the editor toolbar
Added a "Reset to defaults" link to the compose font settings
Existing font and size settings are migrated automatically
"X" in Install OX App Suite dialog is badly visible in dark theme (support#1500)
Adding attachments from HiDrive to a task or contact doesn’t work (support#1525)
Attaching a file from a connected storage account (e.g. HiDrive) to a task or contact failed
Such attachments now save correctly
After enabling a shared account in the settings, icons and unread state are set correctly e7624f89f
BIMI logos in email list not automatically loaded (support#1498)
Cannot open quoted part of mail in mail viewer (support#1536)
In Safari, the quoted part of an email could not be expanded
Fixed the quoted-text toggle (and other in-message interactions) in Safari
Drive shows empty folder instead of error when listing fails c6ac00065
End-users might miss they applied a file filter in Drive (support#1441)
Inline images not shown in plain text emails (support#1496)
Marking an email as read via the blue dot next to the checkbox no longer works (support#1430)
This only affected the combination of the vertical list view and visible checkboxes.
The checkbox's click area overlapped the blue dot, preventing it from being clicked.
Pasting formatted text adds extra blank lines between lines (support#1261)
Redirect on LGI-0016 during manifest load (support#1478)
Resend notification for cross-context shared mail folders (support-1489)
Restore attachment drag-out via referrer policy (support#1396)
Searching emails with "before" and/or "after" includes emails of that day (support#1521)
Second Factor Authentication tour has a overlapping dialog box (support#1485)
Selected filter directory is not shown correctly for Shared Accounts 3bcacdf38
Standalone viewer shows sidepanel (support#1484)
Do not load the sidepanel toolbar in the standalone popout viewer (opened in a separate browser tab), where it has no purpose when viewing a single file
UI glitches in dark mode (support#1526)
Unable to Download Previous File Version (Support#1488)
Virtual folders might trigger server-side exceptions when trying to load extended folder permissions (column 3060)
Whats New release date for 8.50 was not string and turned into 8.5 89e049163