App Suite UI

8.14.2 - 2023-06-21


  • Polyfill for TextDecoderStream


  • OXUIB-2390: Mail compose broken with js runtime error when sources are pre fetched using bundles
    • Root cause: TextDecoder worked on downloaded chunks, which breaks utf-8 encoding in case a chunk boundary contains a multi byte character
    • Solution: use TextDecoderStream implementation which handles utf-8 characters on chunk boundaries
  • OXUIB-2398: Entries overflow in appointment widget

8.14.1 - 2023-06-15


  • Dropdown title matches current AI model
  • Translation updates


  • OXUIB-2412: Onboarding shows mailCalendarAddressbook without checking for Calendar or Addressbook caps

8.14.0 - 2023-06-09


  • OXUI-1090: Implement improved appointment exception check
  • OXUI-1129: As a user I can select a reply-to address
    • Users can now add one or more reply-to addresses when composing an email.
    • Users can add a reply-to address to an email account that will be used as the default
    • Users can now see a reply-to address in the email detail view
  • OXUI-1139: As a user I want to hide my free&busy data for other users
    • Add new section 'Free/busy visibility' in calendar settings to define who can see the users availability in the free time planner
  • OXUI-1212: As an admin I can block mail filter actions from being applied directly
  • OXUI-1223: As a user I see update information ideally for each release
  • Translations for portal upsell buttons
  • OXUIB-2395: Enable What's new dialog for new accounts
    • It was not possible to configure What's New showing up for "new" users
    • Some customers wanted to show the dialog to users migrated from other systems
    • Those customers can now provide a base line version that is used as a default for the last seen version of a user, making the dialog show up for new users
  • As a user I get an indication in my calendar views that certain appointments are implicitly cancelled because all other attendees have declined
  • Extended logging for possible code loading issues


  • OXUI-1248: Use JWT for authentication at ai-service
  • OXUI-1260: Use improved phone number detection in descriptions (appointments, tasks, resources)
  • OXUI-1262: Respect reduced motion system setting
    • Observe prefers-reduce-motion media query to lower barriers to users with vestibular and attention deficit disorders
    • Remove unused animate.css library
    • Disable spinning update animation for users that prefer reduced motion
    • Replace motion animations for floating windows and notification panel for users that prefer reduced motion
    • Introduce fadeIn and fadeOut as drop-in replacements for $.fadein/out to improve smoothness of animations on modern hardware
  • Breaking change: OXUI-1274: Feature presence is now disabled by default
    • It can be enabled again by setting io.ox/core//features/presence=true in the configuration
    • Currently this is also needed to enable voice and video integration
  • Improve toggling behavior of recipient fields during mobile mail composition
    • If some fields are currently hidden, tapping the button will display all fields.
    • If all fields are currently shown and some fields are empty (such as CC, BCC, Reply To) or unchanged (such as the sender field), tapping the button will hide those fields
  • Make consent dialog and list of supported languages for AI integration configurable. Also add feedback links to AI-generated content in mail detail view as well as the corresponding dialog
    • The consent dialog can be configured using the following pattern: io.ox/core//customStrings/$id/$language=$customTranslation
    • If a language is not defined, the fallback will first be the English (en) custom string
    • The following elements are supported: ai.consent.title, ai.consent.text, ai.consent.checkbox, ai.consent.button
    • The text (ai.consent.text) can link to OpenAI when using %$1s (as known from translations) as placeholder for the link
    • The list of supported languages can be configured by io.ox/core//ai/supportedLanguages (space or comma separated values)
    • Supported values are en, es, de, fr, it, nl, pt, ja
    • The feedback URL can be configured using the standard pattern for features Example: io.ox/core//features/.feedback/openai=$url


  • Class grid for datepicker will be removed with 8.16. Pleas use class grid-datepicker instead.
  • Extension point io.ox/mail/compose/boot/preserve-mobile-signature
  • Obsolete/unused SCSS file io.ox/contacts/widgets/pictureUpload.scss
  • Starting from version 8.16, settings modules without a default-data function will no longer be supported.
  • Support for action.requires will be removed with 8.16. Please use action.matches instead.


  • Breaking change: Extension point io.ox/mail/compose/recipientActionLinkMobile
  • Breaking change: api.TabHandling in io.ox/core/api/tab.js
  • Breaking change: Legacy API references of old mail API endpoints at io.ox/mail/api


  • OXUIB-1003: Unexpected "Conflicts detected" popup
  • OXUIB-2313: Appointment details still visible after deleting
  • OXUIB-2338: Calendar breaks with many appointments in month view
  • OXUIB-2342: ExtendColumns mechanism to retrieve extra columns does not work
  • OXUIB-2348:Unable to save meeting attendees as distribution list
    • Root cause: MW is not able to resolve user contacts without gab capability.
    • Solution: Change distribution list members from gab to mail + display name format if gab capability is missing.
  • OXUIB-2353: Dynamic theme SVG logo does not work cross-domain
  • OXUIB-2357: Sender notice overflows on mobiles
  • OXUIB-2364: Upsell portal widget not clickable if imageURL is defined
  • OXUIB-2370: Multiple addresses in mailto: link gets parsed into one token
  • OXUIB-2371: Unable to sort contact list descending
  • OXUIB-2375: Appointments over multiple days not displayed correctly in mobile month view
  • OXUIB-2380: Layout issues for error states for accounts and subscriptions in settings
  • OXUIB-2382: Mini calendar not centered any more
  • OXUIB-2390: Broken error handling when loading mail compose editor
    • Root cause: javascript file extracted from bundle using wrong encoding
    • Solution: explicitly use utf-8 encoding for content in bundle files
    • A workaround to gracefully handle code loading exceptions will also improve error handling in the future
  • OXUIB-2392: Appointments wrongly added to all my public appointments calendar
  • OXUIB-2409: Accept/Deny dialog does not open in mails for exceptions in external series
  • Fix path issues with vite 3.3.1 and case sensitive file systems


  • OXUIB-2365: XSS in PIM attachments preview
    • Root cause: User content was used in a template string
    • Solution: Use jQuery to escape user content and prevent code execution