App Suite Releases
  • 8.47
  • 8.35
  • 7.10.6
Imprint
  • 8.47
  • 8.35
  • 7.10.6
Imprint
  • Release 8.51
  • Release 8.50
  • Release 8.49
  • Release 8.48
  • Release 8.47LTS
  • Release 8.46
    • Noteworthy Changes
      • Important Changes
      • App Suite Middleware
    • Changelogs
      • App Suite UI
      • App Suite Middleware
      • Additional Components
        • AI Service
        • OX Guard UI
        • Switchboard
    • Helm Charts
      • AI-Service documentation
      • App Suite Stack Chart
      • Helm Chart core-cacheservice
      • Helm Chart core-documentconverter
      • Helm Chart core-imageconverter
      • core-mw
      • Switchboard
  • Release 8.45
  • Release 8.44
  • Release 8.43
  • Release 8.42
  • Release 8.41
Maintained. Older releases are best effort.
Upcoming
Not released yet
LTS
Long-term support branch

App Suite Middleware

8.46.139 - 2026-05-21

Fixed

  • Re-verify cached schema state when blocking updates remain pending
  • Use more generic error code in failure notification to avoid possibly exposing sensitive information

8.46.138 - 2026-05-20

Fixed

  • Externalize data: URL inline images into managed files
  • Sanitize illegal filename characters when saving mail attachments to Drive
    • The "Save to Drive" action (PUT /mail?action=attachment) only replaced "/" with "_" in the attachment file name, leaving other characters that are illegal in file-storage names (":", "", "?", "*", """, "<", ">", "|") to flow down into the storage layer which then rejected the request with FILE_NAME contains illegal characters.
    • Reuse FilenameValidationUtils.sanitizeName to replace every illegal character with "_", trim trailing dots/whitespace and fall back to a generated default name for reserved names; use MailMessageParser.generateFilename as the fallback so the original sequence id and MIME type drive the substitute name.
    • Adds FilenameValidationUtilsTest covering the colon scenario from the support ticket plus the existing replacement, trim, reserved-name and Unicode cases.
  • Send failure notification for scheduled mails even when transport setup fails
  • Surface legacy single-schema pools in listdatabaseschema and runallupdate

8.46.137 - 2026-05-20

Fixed

  • User proper order for charset and collation

8.46.136 - 2026-05-12

Fixed

  • Orphaned mail accounts with oauth=0 disappear from account list
    • Reject 0 as a valid OAuth account identifier across all mail account read/write paths (DB layer, cache codec, user-copy provisioning) and add an update task that migrates pre-existing 0 values to NULL.

8.46.135 - 2026-05-07

Fixed

  • Properly handle null values in jslob storage

8.46.133 - 2026-04-30

Changed

  • Added possibility to log all connection-using thread on "too many connections" error
    • Changed: Added possibility to log all connection-using thread on "too many connections" error - /appsuite/support#1363
    • Changed: Add jitter/offset to periodic (general) clean-up jobs to avoid start burst - /appsuite/support#1363
    • Fixed: Reduce configdb pressure of nightly cleanup runs - appsuite/support#1363
    • Mitigates the synchronized configdb-connection burst at the beginning of the nightly cleanup window that surfaces as DBP-0001 / "too many connections" against the cluster:
    • Mix a per-node salt (hostname + random component) into the deterministic per-job offset so that the same job is started in a different slot on every pod, preventing the cluster-wide synchronized burst that pure jobId.hashCode()-based offsets produced.
    • Make the per-job schema concurrency configurable via com.openexchange.database.cleanup.schemaConcurrencyLevel (default 4 instead of the previously hard-coded 10), which is the main multiplier for parallel configdb access per pod.
    • Add a global hard cap on concurrent configdb schema look-ups via com.openexchange.database.cleanup.maxConcurrentSchemaLookups (default 8), independent of concurrencylevel/schemaConcurrencyLevel.
    • Pre-resolve representativeContextId -> PoolAndSchema in a single batch lookup per cleanup run and pass it through to CleanUpJobRunnable, so per-schema cleanup no longer issues an additional configdb roundtrip per schema.
    • Add a soft submission ramp-up at the start of the schedule window via com.openexchange.database.cleanup.rampUpMillis (default 60s) on top of the existing jitter, eliminating the exact window-boundary spike independent of hash collisions.
    • Treat Category.CATEGORY_SERVICE_DOWN (e.g. DBP-0001 "Cannot get connection to config DB" / "Cannot create pooled object") as retry-able with exponential back-off and jitter both for per-schema execution and for uncached configdb schema look-ups, so the pool can recover instead of being hammered while saturated.

8.46.131 - 2026-04-28

Fixed

  • Limit number of concurrent transport attempts for scheduled mails
    • Changed: Avoid premature permit release - /appsuite/platform/core#497
    • Changed: Introduced simple SMTP connection pool & Use PIPELINING extension for MAIL-FROM and RCPT-TO commands - /appsuite/platform/core#497
    • Changed: Added configuration switch to allow per node/JVM to perform the check and transport of due scheduled mails - /appsuite/platform/core#497
    • Fixed: Limit number of concurrent transport attempts for scheduled mails - /appsuite/platform/core#497
    • Added property documentation

8.46.130 - 2026-04-24

Fixed

  • IAE-133: Orderly apply punycode decoding for OAUTHBEARER user name if "com.openexchange.mail.filter.punycode" is set to "true"

8.46.129 - 2026-04-22

Fixed

  • Prevent possible IMAP injection vulnerability

8.46.128 - 2026-04-21

Fixed

  • Avoid writing periodic save-points (by default) to avoid possible access problems

8.46.127 - 2026-04-16

Changed

  • Ensure consistent connection pool state

8.46.126 - 2026-04-15

Fixed

  • PBSR-1664: Orderly consider mail login resolver when dealing with a user's ACL name

8.46.125 - 2026-04-15

Fixed

  • PBSR-1664: Orderly consider mail login resolver when dealing with a user's ACL name

8.46.124 - 2026-04-15

Changed

  • SCR-1691: Added command-line tools for mail signatures

8.46.123 - 2026-04-02

Fixed

  • Dont remove commit SHA

8.46.122 - 2026-04-02

Fixed

  • Removed accidental debug output remnants
    • Fixed: Removed accidental debug output remnants -

8.46.120 - 2026-03-30

Fixed

  • Don't drop stack trace if "includeStackTraceOnError=true" is present in request parameters

8.46.119 - 2026-03-26

Fixed

  • Detect Java version without additional JVM options

8.46.117 - 2026-03-25

Fixed

  • Keep user in recipient list when replying to a mail in a shared folder

8.46.115 - 2026-03-18

Fixed

  • Orderly keep URIs to external images

8.46.114 - 2026-03-17

Fixed

  • Ignore possible "file not found" error when moving entity-associated files due to deletion of that entity (e.g. user deletion)

8.46.112 - 2026-03-12

Added

  • Allowing to enable IMAP trace logging by request

8.46.111 - 2026-03-11

Fixed

  • Special handling when replying to a mail in a shared folder

8.46.109 - 2026-03-10

Changed

  • Some refactoring for Redis health check

Fixed

  • Added alternative faster symmetric encryption for less security use cases & rather fail-fast behavior for Reids connector policies

8.46.108 - 2026-03-04

Fixed

  • Pass proper thread context map on logout of a DAV session

8.46.107 - 2026-03-04

Fixed

  • Added config option to Redis-based session storage to control execution of timer tasks

8.46.105 - 2026-03-04

Fixed

  • Use more robust compare-and-set implementation when acquiring a unique sequence identifier

8.46.104 - 2026-03-04

Fixed

  • Added retry behavior in case a recoverable SQL error occurs that suggests restarting
  • Orderly consider user/context information when evaluating "com.openexchange.mail.filter.activated" property

8.46.103 - 2026-03-03

Fixed

  • Docker image missing stable-8.x tag when pushing release image

8.46.102 - 2026-03-03

Fixed

  • Docker image missing stable-8.x tag when pushing release image

8.46.101 - 2026-02-27

Fixed

  • Avoid too many recursive calls when compiling IMAP SEARCH expression from a search term instance

8.46.100 - 2026-02-27

Fixed

  • Avoid too many recursive calls when compiling IMAP SEARCH expression from a search term instance
  • Added config option to Redis-based session storage to control execution of timer tasks

8.46.95 - 2026-02-24

Added

  • INF-581: Always apply default HTTP headers in WebDAV responses, including new 'X-Powered-By' header
    • Added: INF-581: Always apply default HTTP headers in WebDAV responses,

8.46.94 - 2026-02-23

Fixed

  • IOL-2841: Periodically touch composition space cache during file upload to ensure it does not vanish from cache

8.46.93 - 2026-02-20

Fixed

  • GDPR data export does not show errors from api
    • translation updates

8.46.91 - 2026-02-16

Changed

  • Include the hint on successful data export that some modules might not have exported - /appsuite/support#1158

8.46.89 - 2026-02-12

Fixed

  • Drop invalid deputy permissions from result set - /appsuite/platform/core/-/issues/459

8.46.88 - 2026-02-10

Changed

  • Don't fail during mail compose if a referenced image could not be found - appsuite/support#1146

Fixed

  • Remember reply headers in composition space's meta data - /appsuite/platform/core#455

8.46.87 - 2026-02-05

Changed

  • Don't fail during mail compose if a referenced image could not be found - /appsuite/support#1146

8.46.85 - 2026-01-28

Fixed

  • Dropped Eclipse Collections and any of its usages - /appsuite/platform/core#450

8.46.84 - 2026-01-23

Fixed

  • Avoid excessive parsing of corrupt E-Mail address string - /appsuite/platform/core#447
  • Drop superfluous "InitialTombstoneCleanupUpdateTask" update task since there is a periodic execution - /appsuite/platform/core#448
  • Verify schema state if fetched from (Redis) cache - /appsuite/support#1162

8.46.83 - 2026-01-21

Added

  • Introduced notification queue to send arbitrary messages to client to notify users

Changed

  • INU-5023: Correlate first vCard to OX contact property via 'x-1st' instead of 'pref' marker
    • SCR-1635: Changed Handling of TEL Preference in vCard Mapping
  • SCR-1637: Upgraded Apache Tika and Commons IO libraries
  • Updated core-mw chart dependencies
    • Updated Gotenberg image to v8.25.1
    • Updated Gotenberg chart to v1.14.0
    • Updated Collabora image to v25.04.8.1.1
    • Updated Collabora chart to v1.1.54
  • Quote log levels in values.yaml
  • Handle possible failure to parse S3 document identifier to a UUID as FLS-0017 error (File does not exist in file storage)
  • Only consider actual calendar user during conflict checks for incoming scheduling actions
  • Only consider user image if alias is matched unambiguously
  • Corrected error mapping for AWS S3 code "ServiceUnavailable"

Fixed

  • Invalidate user-caches after commit phase
  • Mark such scheduled mails as failed (and thus no further transport attempts) for which the transport attempt failed; e.g. SMTP error
  • Reliable implementation for max. number of IMAP connections
  • Error with OXToolMySQLStorage.existsUser with a user who only has a name. The query for user by id was executed.
  • Fixing compiler errors as well as false positives with @NonNull annotations
  • Translations for bug: Scheduled mail failure notification body wrong
  • Follow-up to also accept URL parameters w/ empty value
  • Drop all deputy-associated permissions from mail folders
  • Keep valid %XX sequences in path of an URI
  • Reliable implementation for max. number of IMAP connections
  • Added backticks around otherwise interpreted input
  • Orderly count read bytes from spooled file, properly encode ATTACH properties with Base64 encoding
  • Do not collect addresses from mails located in spam folder
  • Obey 'separateTransactionForSequenceIds' setting and partake in surrounding retry/backoff strategy when saving attachment metadata
  • Don't attempt to reload attendees if not applicable
  • Don't put folders from secondary mail accounts into user-sensitive cache
  • Added fallback handling for incompatible DURATION values, skip inconvertible events during refresh of iCal subscriptions
  • Use common logic to generate file name when attaching contact as vCard
  • Prefer possibly configured personal part for special no-reply address
  • Insert appropriate information into notification mail in case no further attempt is made to transport a scheduled mail
  • Detect & drop harmful content in CDATA section
  • Added documentation for available configuration settings for snoozed mail feature
  • Consider all commits since the last tag during the changelog commit check
  • Handle possibly missing file store identifier when examining admin user
  • Also consider SCHEDULE-AGENT parameter when checking PARTSTAT transitions
  • Do not treat such inline images as extra images that are already referenced in HTML content
  • MacOS detection > v20
  • Orderly handle possible "user not found" error when looking-up by mail login string
  • Optionally resolve hidden events to re-instantiate previously deleted events as attendee
  • Check for possibly failed login when performing POP3 ping
Prev
App Suite UI
Next
Additional Components