App Suite UI (latest)
All versions
Imprint
All versions
Imprint
  • Feature Catalog
    • General
      • Getting around
      • Search and notifications
      • Settings and appearance
      • Signing in
      • Account and security
      • Onboarding and devices
      • Working with content
      • Sharing and delegation
      • Storage, plans and feedback
      • Progressive Web App
      • Feedback
      • Upsell
      • Triggers
    • Mail
      • Reading and organizing
      • Attachments
      • Writing and sending
      • Security and trust
      • Accounts and automation
      • Signatures and templates
      • Working with the other apps
      • BIMI
    • Calendar
      • Seeing your day
      • Appointments
      • People and invitations
      • Calendars and subscriptions
      • Rooms and resources
      • Video meetings
      • Search, print and transfer
    • Address Book
      • Contacts
      • Address books
      • Finding people
      • Lists and the other apps
    • Tasks
      • Tasks
      • Task lists and delegation
      • Working with the other apps
    • Drive
      • Working with files
      • Finding and arranging
      • Sharing
      • Storages and capacity
      • Working with the other apps
      • OpenCloud Drive Integration
    • Portal
    • Enterprise and Provider Edition
    • Compliance

      • Accessibility
      • Accessibility Conformance Report
      • Data protection
  • Upgrade Guide
    • Everything new since 7.10.6
    • From 7.10.6 to 8.35
    • From 8.35 to 8.47
    • From 8.47 to 8.55
    • Breaking changes and requirements
  • Deployment Guide

    • Configuration
    • Settings list
    • Login page
    • What's New dialog
    • Mail assets
    • Mail rendering and security
    • All messages folder
    • Unseen messages folder
    • Theming
    • Authentication
    • Browser support
  • Customize & Extend
    • Manifests
    • Toolbars and menus
    • Portal widget
    • Sign In
    • Internationalization
  • Architecture
    • Core UI service

Breaking changes and requirements

What an upgrade asks of a deployment: the changes that need a configuration edit, a new resource or a migration before or after the move. Each entry says who it is for, because the two audiences rarely overlap — an operator does not care that a CSS utility was renamed, and a plugin author does not deploy the database.

What a release brings is listed separately, under Upgrade Guide.

Only the releases still ahead of you

Anything older than 8.46 is treated as history. A deployment upgrading today moves from 7.10.6 to one of the LTS releases, so the breaking changes of 8.4 through 8.44 were relevant when deployments were actually moving through those versions. They remain in the project's CHANGELOG.

8.54 - Core utility layer moved to Tailwind v4 Developers

Tailwind CSS v4 emits a utility layer beside the existing Bootstrap and core.scss cascade. Plugins may use the safe-listed utility classes without adding Tailwind to their own build; see src/themes/tailwind.css.

Plugins using the old utility names have to migrate:

ReplaceWith
flex-growflex-1
border-noneborder-0
roundedrounded-md
rounded-lgrounded-xl
rounded-trounded-t-md rounded-b-none

Nothing here affects a deployment that does not ship its own plugin styles.

8.50 - Guided tours moved back into the core UI Operators

Guided tours no longer ship as a separate repository and container image - they are part of the core UI. A deployment that ran the separate image can stop doing so.

They are off by default. To keep them, set the feature toggle:

io.ox/core//features/guidedTours=true

The feature itself is described under Onboarding and devices.

8.49 - OX Count can be deployed centrally Operators

Only relevant where OX Count is part of the deployment. The App Suite-specific UI files moved back into the core UI, so the OX Count server can focus on collection and its own dashboards - which is what allows several App Suite deployments to share one central OX Count.

Migration steps:

# replace the old enable flag with the standard feature toggle
io.ox/core//features/count=true

Then remove the count-specific entry from the UI service's baseUrls configuration.

Settings that changed with it:

OldNew
io.ox/core//count/enabledio.ox/core//features/count
io.ox/core//count/disabled (dev/debug)removed
tracker/url, tracker/enabledremoved, both were deprecated
count/delaycount/backgroundInterval (-1 disables background collection while still allowing explicit posts, such as NPS)

8.46 - The UI container is a node.js service Operators

The former "home container" - a static nginx server delivering UI assets - has been replaced by a Fastify-based node.js service. Two consequences need planning:

  • BIMI requires a database to cache records and logos, where the feature is enabled
  • Memory limits must be reviewed. The nginx service only served static files; the node.js service needs more room, especially with BIMI on. The default is 256Mi for both request and limit, and the chart deploys two instances by default. For serving static files alone, one instance is enough.

A CPU request is still defined but no CPU limit is set, which is intentional - it lets the service absorb short bursts without being throttled. Where cluster policy requires one, 1 CPU is a common choice.

This is what introduced the Backend-for-Frontend pattern: UI-adjacent work no longer has to be routed through the Java middleware. BIMI is the first feature built on it, and the architecture notes describe the shape.

8.46 - JWT issuing moved from Switchboard to the core UI Operators

The core UI service now issues JWTs, taking the job over from Switchboard. The keys it needs, and how to generate them, are described under JSON Web Key Set; the settings on both sides are in the same authentication guide.

The CHANGELOG entry for this release links a migration guide on the older /8/ui/ documentation. That page has no such section here, so the configuration reference above is the current source.

Last Updated: 10/7/26, 2:41 PM
Prev
From 8.47 to 8.55