App Suite Releases
  • 8.47
  • 8.35
  • 7.10.6
Imprint
  • 8.47
  • 8.35
  • 7.10.6
Imprint
  • Release 8.55Upcoming
    • Noteworthy Changes
      • Important Changes
      • App Suite Middleware
    • Changelogs
      • App Suite UI
      • App Suite Middleware
      • Additional Components
        • AI Service
        • Booking Service
        • OX Guard UI
        • OX Documents
        • Switchboard
        • UI Service
    • Helm Charts
      • Helm chart values
      • App Suite Stack Chart
      • Booking
      • Helm Chart core-cacheservice
      • Helm Chart core-documentconverter
      • Helm Chart core-documents-collaboration
      • Helm Chart core-imageconverter
      • core-mw
      • UI Service
      • Switchboard
  • Release 8.54
  • Release 8.53
  • Release 8.52
  • Release 8.51
  • Release 8.50
Maintained. Older releases are best effort.
Upcoming
Not released yet
LTS
Long-term support branch
LTS discontinued
No longer supported, upgrade recommended

Important Changes

In short

Most of 8.55 needs no action. Before upgrading, check four things. Rolling upgrades from 8.46–8.54 need the latest patch release first if composition spaces are encrypted outside the mail storage. Shared accounts lose the right to change IMAP subscriptions until the new manageImapSubscriptions capability is granted. TLS is stricter, which can break connections that only worked because certificates were not checked. RMI clients and scripts must now send administrator credentials for several read methods.

The full list of software change requests, behavioral changes and configuration updates is on the middleware page. The sections below pick out what matters when upgrading.

Before a rolling upgrade

  • Encrypted composition spaces (SCR-2050): Where composition spaces are kept in the database or file storage (com.openexchange.mail.compose.mailstorage.enabled=false) with com.openexchange.mail.compose.security.encryptionEnabled=true, 8.55 encrypts them with AES/GCM. Nodes on 8.46 to 8.54 can only read the new format from the patch release that includes this change. Update them to that patch release before rolling to 8.55, and do not downgrade below it afterwards.
  • Distributed files (SCR-2032): Nodes now need a per-file token to fetch files from each other. Until every node runs 8.55, an older node cannot fetch from an upgraded one, which affects preview downloads, inline images of the PDF export and job results.
  • Shared account permissions (SCR-2170): Do not create shared account permissions until all nodes run 8.55. A node of the previous version creates them without the contacts account that shared account address books need.
  • Deputy permissions (SCR-1957): During the upgrade, nodes of the previous version do not know the new sentCopyToGranter column. They make no copy of mails a deputy sends, and lose the setting when they re-create a permission.

Changes that may need action

Shared accounts

  • IMAP subscriptions require a capability (SCR-2166): Changing the subscriptions of a shared account's mail folders now requires the capability manageImapSubscriptions, which is not granted by default. After the update nobody can change them until it is granted, either per shared account permission through provisioning, or to everyone through com.openexchange.sharedaccount.defaultCapabilities, which keeps the previous behavior.
  • Mail permission sets are enforced (SCR-2212): Every mail operation is now checked against the IMAP rights of the shared account's permission set. Users with viewer or editor can no longer move, delete or archive mails, expunge or clear folders, or copy mails into the shared account. Users who need to file away or delete mails need author.

TLS and certificates

  • No silent trust-all fallback (SCR-2047): An invalid com.openexchange.net.ssl.trustlevel, for example a typo, now falls back to restricted instead of all. For JMAP, com.openexchange.jmap.trustAll now defaults to false, and with com.openexchange.jmap.requireTls (default true) a JMAP server addressed via plain HTTP is refused.
  • The SSL white-list no longer covers proxies (SCR-2162): The white-list is matched only against the target host, not against an HTTP proxy tunneling the connection. If a TLS-intercepting proxy is in use, add its CA certificate to the custom trust store.
  • The SSL white-list matches literally (SCR-2040): A host name entry now matches only the name used to connect, no longer any address of its DNS answer. In return, white-listed hosts are exempt from host name verification under the restricted trust level, and the white-list now also applies to Redis, Cassandra and the asynchronous S3 client.

Administration tools and APIs

  • Administrator credentials for read methods (SCR-2209, SCR-2184, SCR-2177): Read and listing methods of several RMI interfaces, among them DBMigrationRMIService, ConsistencyRMIService, ShareRMIService, ExternalAccountRMIService and DataExportRMIService, now require administrator credentials. The bundled command-line tools pass them on. Custom RMI clients and scripts that call these methods without credentials need updating.
  • Data export routes on the provisioning gateway (SCR-2179): The default of provisioningGateway.services in the core-mw chart now includes DataExportService, so the provisioning HTTP gateway offers data export routes, including administrative exports on behalf of a user. Deployments that set the list themselves keep it.
  • No write scope for signed-in access tokens by default (SCR-2057): com.openexchange.accesstoken.signin.defaultScopes no longer contains write_mail. Clients that sign in through login?action=accessToken and need to write must name the scope.
  • No asterisk in CalDAV and CardDAV logins (SCR-2154): An * in the login name is no longer replaced with @. Clients still configured with a login like user*example.com need the regular login name.

Changed defaults

  • SMTP pipelining (SCR-2152): com.openexchange.smtp.enablePipelining is now true, and com.openexchange.smtp.chunksize is 0, so mail is sent with DATA instead of BDAT chunks. Set false and 131072 to restore the previous behavior.
  • Carrier threads for virtual threads (SCR-1998, SCR-2217): The parallelism now defaults to four carrier threads per CPU, at least 64, with a maximum pool of that plus 256. Values set through JAVA_OPTS_* take precedence.
  • Background update locks expire (SCR-2140): A background update lock left behind by a node that died now expires, so another node can finish the tasks instead of the schema staying locked until an administrator steps in.

Other behavioral changes

  • The repeated hour at the end of daylight saving time (SCR-2207): A local time that occurs twice now refers to its first occurrence, as RFC 5545 requires. Events in that hour that are created or saved again start one hour earlier than before.
  • Feedback pseudonyms (SCR-2048): Exported NPS and star rating feedback now identifies users with an HMAC keyed by com.openexchange.userfeedback.pseudonym.secret. Pseudonyms change once with the update and cannot be linked to earlier exports. Set the same secret on all nodes.

App Suite UI

  • Links in plain text emails: Every URL scheme on the middleware's HTML allowlist (io.ox/mail//whitelist/allowedProtocols) is now turned into a link in plain text emails. Review the list on upgrade.
  • Dragging emails to the desktop: The feature toggle io.ox/core//features/mailDragOut and the setting io.ox/mail//dragAndDrop/maxListSize are removed. Dragging emails out now requires io.ox/core//features/mailDragOutToken and the capability drag_and_drop_http. Dropping several emails as one ZIP file is no longer possible; a single email still drops as an EML file.
  • Distribution lists: Email-enabled distribution lists are added as a single recipient. Preset io.ox/mail//compose/autoResolveDistributionLists to true to keep resolving them into their members.
  • Tailwind utility classes: The classes deprecated in 8.54 will be removed with 8.56. Plugins still using them should migrate now.

Database update tasks

8.55 brings the following update tasks. Details are in the linked change requests.

Change requestUpdate task
SCR-1872com.openexchange.chronos.storage.rdb.groupware.CalendarAddTrashColumnsTask
SCR-1957com.openexchange.deputy.impl.groupware.DeputyStorageAddSentCopyToGranterColumnTask
SCR-2035com.openexchange.sharedaccount.storage.rdb.groupware.SharedAccountAddTargetIndexTask
SCR-2071com.openexchange.accesstoken.impl.groupware.AccessTokenAddGrantColumnsTask
SCR-2079com.openexchange.mcp.activity.ActivityCreateTableTask
SCR-2083com.openexchange.accesstoken.impl.groupware.AccessTokenAddFoldersColumnTask
SCR-2087com.openexchange.mail.credential.impl.groupware.MailCredentialAddRefreshDueColumnTask
SCR-2094com.openexchange.mail.credential.impl.groupware.MailCredentialRefreshDueByCallerKeyTask
SCR-2115com.openexchange.notification.queue.impl.groupware.NotificationQueueAddDataColumnTask
SCR-2148com.openexchange.deputy.impl.groupware.DeputyStorageAddSendAsColumnTask
SCR-2165com.openexchange.accesstoken.impl.groupware.AccessTokenAddRotationColumnsTask
SCR-2170com.openexchange.sharedaccount.storage.rdb.groupware.SharedAccountAddContactsAccountTask
SCR-2181com.openexchange.gdpr.dataexport.impl.groupware.DataExportAddAdministrativeColumnsTask
SCR-2196com.openexchange.account.recovery.rdb.groupware.RecoveryDetailsCreateTableTask, com.openexchange.account.recovery.rdb.groupware.RecoveryEmailIndexBackfillTask
SCR-2203com.openexchange.groupware.update.tasks.Login2UserAddIdIndexTask
SCR-2211com.openexchange.mail.credential.impl.groupware.MailCredentialAddPoolColumnTask
Next
Changelogs