Last Update: 2025-07-01
CVSS: 5.0
This was caused by an empty Disposition-Notification-To header.This has been solved by adding a handle for empty Disposition-Notification-To header.
CVSS: 4.3
CVSS: 4.3
CVSS: 9.8
CVSS: 5.0
CVSS: 5.0
CVSS: 4.3
CVSS: 9.8
This was caused by conflicting lists of (default-)folders: io.ox/mail//defaultFolders and list of types in folders/extensions.jsThis has been solved by removing hardcoded entry in folders/extensions.js
An individual thread is used to perform asynchronous session storage tasks. In case Hazelcast gets unresponsive, those threads pile up rendering the system unresponsive as too many threads need to be handled by JVM.This has been solved by introducing separate worker(s) for issuing operations against Hazelcast-backed session storage.
Was caused by incomplete (but still valid) freebusy data.This has been solved by making the planning view more robust, using the data that is there and using defaults for the rest.
Drive Mail attachments not accessible via mail API.This has been fixed by making Drive Mail attachments accessible via mail API.
Messed-up file holder reference when checking for possible image transformation.This has been solved by orderly managing file holder reference when checking for possible image transformation.
CVSS: 4.3
CVSS: 5.4
CVSS: 5.4
CVSS: 5.4
CVSS: 4.3
CVSS: 5.3
CVSS: 5.3
CVSS: 5.0
We introduced restrictions on apps that can be launched. This broke some actions with “closable” apps. Namely edit/create distribution list and invite to appointment actions.This has been solved by introducing list of valid edit apps so the actions work again.
Excessive reading of mail parts on inline view of video files or when outputting images.This has been solved by avoiding excessive reading of MIME part content.
Missing folderdata because of insufficient permissions.This has been solved by checking if event is in all public appointments folder. This way we can make some assumptions even without full folder data.
Root collection path statically set to “com.openexchange.dav.prefixPath”.This has been solved by applying proper internal/external path translation for DAV root collection.
CVSS:5.4
CVSS:4.3
CVSS:5.4
CVSS:8.2
This was caused by a bug in the Chrome browser.This has been solved by adjusting an old fix for slow loading mail compose.
Mismatch in order of displayed contact fields.This has been fixed by moving fields to match edit form.
Improvement: Do not complain when client tries to delete a non-existing attachment.
Was caused by a missing gt call.This has been fixed by adding the missing gt call.
In case client-passed token does not match the one currently associated with requested composition space while trying to perform an update ends in an infinite retry loop.This has been solved by using dedicated error code in case client-passed token does not match the one currently associated with requested composition space.
USM combines original mail and forward text into a new mail which is sent in base64 format. This seems to be invalid and is rejected by the backend. ICS attachments are filtered by USM if the mime-header content-type contains application/ics or text/calendar.This has been solved by sending combined mail in text format. Create correct mail with hierarchical multipart. ICS attachments will be filtered only if corresponding calendar objects exist.
Resizing an email attachment could cause individual attachments to be duplicated.The process has been revised so that resizing an image attachment cannot be interpreted as a new attachment.
Uploaded attachments were spooled to local temporary file while unnecessarily holding lock on affected composition space. This holds that lock for too long.Solution: Spool attachment to local temporary file w/o acquiring lock. However, actually adding the attachment to the draft mail is required to be performed mutually exclusive.
Checked local state for possible too many composition spaces which might not be up to date.This has been solved by always checking content of standard drafts folder on mail server to reliably test for too many composition spaces.
LibreOffice is having a problem with the default property in styles, regardless of the value LO interprets it as default = “true”. There should only be one default paragraph style in a document. LO thinks that there are twice and lets the latter win. So In this case the correct paragraph style “Normal” is overwritten by the paragraph style “ListParagraph”.Solution: We will no longer write the property “default” in styles when its value is “false”, this is also valid. The bugfix only works for newly created documents and documents that are saved again in our editor.
This was not supported.Now ‘apps’ can be hidden via jslob setting “io.ox/onboarding//hidden/apps”. The syncapp is hidden by default.
Missing organizer caused js error in UI.This has been solved by making UI more robust so it doesn’t break if an appointment has no organizer.
Slow upload leads to timeouts.Solution: Do not let upload time out since not measurable whether there is slow connection bandwidth or poor performing file storage end-point.
Dav does not call the session hit that the MW does. As a result, the check for multifactor is missed.This has been solved by adding additional check for multifactor in DAV servlet. Should simply reject if found. There is no way to authenticate multifactor in DAV. Application passwords should be used.
Chrome removed U2F support.Utilize webauthn U2F mechanisms to support the logins in Chrome.
Applied regular expression leading to excessive resource consumption. Too heavyweight logic to convert HTML to plain text.This has been fixed by avoiding using regular expression to split HTML content to lines and fixed possible NPE when querying available composition spaces. Improved html-to-text conversion to be faster and use less memory.
This wasn´t considered yet.This has been solved by extending the regex.
Max. number of composition spaces not orderly considered when opening a new one.This has been solved by Considering max. number of composition spaces when opening a new one.
Extend log to get more infos.
Parse errors if a MIME message contains a corrupt Content-Type string.This has been fixed by sanitizing Content-Type string in case a corrupt one is present in MIME message or one of its parts.
Missing help text for dynamic options.This has been fixed by adding a help text for dynamic options.
Update of DAV:displayname property permitted through CalDAV for default Birthdays calendar.Treat DAV:displayname property as protected for Birthdays calendar, and indicate forbidden property updates via DAV:cannot-modify-protected-property precondition.
Errors while trying to resume a previously paused data export.Solution: Handle possible connect failure while exporting mails. Avoid pausing running data export tasks. Let started ones complete and avoid unnecessarily stopping data export tasks in case a continuous timeframe is configured, e.g. “com.openexchange.gdpr.dataexport.schedule=Mon-Sun”.
Plain connection established although SSL connection expected.Solution: Orderly signal whether a direct SSL connection should be established or not.
InputStream.available() might not indicate available content.Solution: Probe for next byte instead of relying on InputStream.available().
This has been solved by adjusting trivial grammatical error.
Wrong action type leads to creating a copy instead of editing the draft.This has been solved by changing the type from ‘copy’ to ‘edit’.
Missing organizer caused js error in UI.Solution: Make UI more robust so it doesn’t break if an appointment has no organizer.
Editing an image with the createImageBitmap function within a worker in Chrome Browser version = 77 leads to incorrect results.Solution: For Chrome Browser version = 77, the editing process with createImageBitmap is no longer performed in the worker.
Client-wise specified expiration date got adjusted by user’s time zone.Now passing client-wise specified expiration date as-is (assume GMT+0) and do not adjust by user’s time zone to solve this issue.
This has been solved by fixing a typo in Czech .po file.
Possible SQL transaction timeout while trying to copy a user from one context to another: “Lock wait timeout exceeded, try restarting transaction”.This has been solved by following the suggestion from MySQL server and repeat the user-copy execution in case an SQL transaction timeout is encountered.
CVSS:8.2
The first fix was only for form login.Now this has also been fixed for token login.
Retry mechanism circumvented through introduction of client tokens for any reason.This has been solved by re-enabling retry mechanism.
Was caused by too strict permission check when processing CANCEL messages.Solution: Require delete permissions for targeted user attendee when applying CANCEL messages.
Was caused by sporadicaly timeouts when obtaining a connection to the storage.Solution: Retry establishing a connection to file storage in case caught exception indicates a timeout while connecting to an HTTP server or waiting for an available connection from connection pool.
Rampup extensions trying to fetch data without session requiring multifactor. Replaced missing rampup call.Solution: exit the rampup stage early if multifactor is required after login. Add back missing rampup call.
The calculation has been corrected and irrelevant scrollbars are hidden to solve this issue.
Missing access when looking up enhanced entity information as guest user.This has been sollved by adjusting handling when looking up enhanced entity information.
Possible premature end of stream when reading a Scality object’s content.Solution: Gracefully deal with possible premature end of stream when reading a Scality object’s content.
Backported changes relied on newer handling of localized folder names.This has been solved by continuing to use untranslated name if no localized name is present.
CVSS:3.1
CVSS:3.1
CVSS:3.1
CVSS:3.1
CVSS:3.1
CVSS:3.1
Configured value for special “all messages” folder (through property “com.openexchange.find.basic.mail.allMessagesFolder”) is not a fully-qualified mail folder identifier. UI had a 300ms delay before disabling the select button in the folder picker. This allowed picking invalid folders.Solution: Don’t expect fully-qualified mail folder identifiers when performing a mail search. Remove 300ms delay in UI and implement failsave for invalid folders, so invalid folders should no longer be selectable.
Used same PayloadIdentifier
for different users leading to profiles overwriting each other.This has been solved by using unique PayloadIdentifier
to avoid profiles for different users overwriting each other.
Reset of participant status behaves differently then removing and adding of the same participant.When participant status is reset also remove hidden flag, so event is displayed for the attendee again (internal attendee). Also, send “invitation” notification (internal attendee) or iTIP (external attendee) mail to attendee with reset status.
Extensive logging of error afflicted file-storage accounts when performing a drive search.This has been solved by adjusting log level of user-specific errors to “debug”.
In rare cases when adding the start hours for “only working hours” mode can lead to wrong calculations due to different offset values.Mind the offset and add it if necessary to solve this issue.
GET/POST generally added a ‘?’ to the requesting url.This has been solved by removing needless ‘?’ for GET/POST requests when no url params a set.
Possible “Missing attachment identifier in mail part” error when parsing draft mail.This has been fixed by avoiding “Missing attachment identifier in mail part” error.
Accessing a file during storage move signals file-not-found error although file list has been retrieved from storage itself.Pass an appropriate file-not-found handler if file listing was retrieved from storage, but accessing a file fails due to absence. This allows to perform checkconsistency
to repair that.
Broken encoding for standard google account nam ein slovak.This has been solved by using UTF-8 encoding instead if ISO-8859-1 encoding for the display name when creating the callback URL for Google.
Missing option to automatically convert login info to lower-case.This has been fixed by introducing boolean property “com.openexchange.authentication.imap.autoLowerCase” (default is false
) to specify that login info is supposed to be automatically converted to lower-case when attempting to authenticate against IMAP server.
Found paths in IMAP-IDLE backed push implementation for which notifications are published w/o providing basic message info (like subject).Always provide basic message info when publishing notification to solve this.
When loading the Mail Compose dialog in the mobile view it is possible that the mail quota has not been updated yet and therefore the default value is stored. This leads to the assumption that the mail quota has been reached.The method with which the mail quota is evaluated has been adjusted to solve this issue.
When loading the Mail Compose dialog in the mobile view it is possible that the mail quota has not been updated yet and therefore the default value is stored. This leads to the assumption that the mail quota has been reached.The method with which the mail quota is evaluated has been adjusted to solve this issue.
Through bubbling folders got opened instead of toggled.This has been fixed by stopping bubbling with stopPropagation.
Inconsistencies left over after last refactoring, typo in “Confirm new Password”.This has been solved by cleaning up behavior of labels and placeholders to be consistent with the username field, fixed “Password” -> “password”.
Premature deletion of shared attachment folder on edit-draft invocation.This has been solved by avoiding premature deletion of shared attachment folder on edit-draft invocation.
Multi-mime-encoded header value wasn’t properly decoded.Now properly decode a multi-mime-encoded header value.
Inserting PRIMARY keys more than once during IC server job proccessing gives DB server exceptions in some timing dependent cases.This has been solved by preventing mutliple access to PRIMARY DB keys fixes the problem with IC server DB communication.
Creating the missing settings entry “portal//recents”
deletes the existing settingsentry “portal//fulltour/shown”
causing the tour to start again.Now, when starting a portal app, the missing property “portal//recents”
will explicitly be created in frontend code and sent to server.
Images with quite unusual width/height aspect rations get too much distorted when scaled into a target rectangle so that e.g. text rendering within the target image gets distorted/unreadable after processing.This has been solved by checking aspect ratios for source and target images for unusual ratios above 21:9 (2.33) when scale type CONTAIN is requested and w/h aspect ratios of source and target image differ significantly. Prevent scale processing of images completely in those cases so that as much source image information as possible gets transferred to the requester/browser as possible. This significantly improves readability of e.g. text like content in such images delivered to the frontend.
Added newline within log output prevents output of root cause.This has been fixed by removing newline within log output to log root cause of exception.
Unnecessary double capability check, which broke upsell configuration.This has been solved by just checking for one capability for each entry.
Rampup extensions trying to fetch data without session requiring multifactor.This has been fixed by exiting the rampup stage early if multifactor is required after login.
There is no check if the email exceeds the available storage space before it is forwarded to the backend.A check, if the email exceeds the available storage space before it is forwarded to the backend, has been implemented. Furthermore, a dialog with a corresponding hint has been implemented to indicate the switching to DriveMail.
Failed virtual folder “request” caused error and error handler failed as ‘error’ and ‘options’ were undefined.This has been solved by adding fallback for ‘error’ and ‘options’.
Feature were accidentally removed during refactoring.This has been solved by adding feature again.
Message’s delivery-status was not displayed.Now display message’s delivery-status.
Referenced shared attachment folder not removed on message deletion.This has been fixed by dropping referenced shared attachment folder on message deletion.
Drive Mail folder not dropped when composition space is closed.This has been solved by also dropping Drive Mail folder when composition space is closed.
Password change not forwarded to cross-context database.Align guest reference in cross-context database after setting new password in “reset” dialog to solve this issue.
File attachment size not correctly advertised on mail and composition space retrieval calls.Now orderly advertise file attachment size on mail and composition space retrieval calls.
RestrictedAction.Type was missing from the getAttachmentAction.This has been solved by adding missing action type.
Rights changed to viewer for guestes without notice.Now give a notice to user when rights are changed.
Final draft messages are not stored in appropriate account’s standard drafts folder.Final draft messages are now orderly stored in appropriate account’s standard drafts folder. Please note that storing intermediate draft messages associated with an alive/intact composition space are intentionally stored in primary account’s standard folder.See also: https://documentation.open-xchange.com/7.10.5/middleware/mail/mail_compose/01_drafts.html#mail-storage-utilization
com.openexchange.report.appsuite.storage.ContextLoader.getAllContextIdsInSameSchema(int, Connection) returns an empty abstract list if a schema has no results for contexts (see table context_server2db_pool).This has been solved by returning new ArrayList<> instead of Collections.emptyList().
Wrong calculation of end time slot (was not based of endtime, but starttime and length).This has been solved by fixing calculation of endtime slot so the slot that contains the end time is included correctly.
It was not possible to receive notifications for external mail accounts.This has been solved by implementing check for external inboxes. Note: This is done via periodic requests and not via sockets, since there is no MW support for this. Implemented a feature switch for this so the current behavior does not change for customers that don’t want this.io.ox/mail//notificationsForExternalInboxes
default is false.
Was causee by an obsolete ui artefact.This has been fixed by removing whole part on accounts settings pane.
Was caused by a caching problem on permission rollback, warning contained in response not displayed.Fixed caching problem and changed warning in response to error.
Repeatedly loading of resource files for JavaMail providers and address map.Solution: Cache loaded resource files for JavaMail providers and address map (reset cache on reloadconfiguration).
In case a calendar user appears multiple times in the attendee lineup, a folder existence check may fail due to selecting the false one.This has been solved by considering further alternatives when checking if event is rendered in folder or not.
Stored draft message is kept messing up Drive Mail folder when multiple versions are sent.Solution: Manage a separate Drive folder in case new composition space has shared attachments enabled and has been spawned via “Edit copy”.
Size information not propagated.Orderly advertise size of attachments when opening a composition space for a forward.
This has been solved by adding specific mapping for fr_CA when loading help.
CSS selector for steps was too generic.This has been fixed by using id selectors for wizard steps.
Was caused by a missing check for capabilites carddav / caldav.This has been fixed by hiding toggle buttons when carddav or caldav is missing.
SMTP host & login information advertised as “None” in case SMTP authentication is disabled through configuration.Several changes were applied: Do not advertise SMTP host information as “None” in case SMTP authentication is disabled through configuration. Set SMTP user name in configuration regardless if SMTP authentication is enabled or not. Fallback to IMAP login in case SMTP login is provisioned to be an empty string.
CVSS:3.1
CVSS:3.1
CVSS:3.1
Moment renamed en-SG to en-sg.This has been solved by updating the locale lookup table to new filename.
This was caused by immediate loading of drafts on mobile.This has been solved by introducing lazyload for mobile devices.
Since the redesign the default was set to author right for folders and viewer rights for files.Solution: Changed it to default to viewer rights in all cases.
When redrawing the default configuration was used all the time.This has been fixed by only using default configuration when no download is pending. Show requested modules instead.
UI did not check for error codes and kept requesting long running jobs.This has been fixed by removing jobs from queue for error code JOB-0002 so they are not requested anymore.
Flex shrink was behaving strangely for small devices.This has been resolved by removing shrink for some components.
The copy require was missing from the FILEINTO action command, hence the MailFilterService was generating the wrong require directive for the sieve script. The issue lies within the MailFilterService.getFilterRule when the method reconstructs the Rule object from the sieve script, i.e. the copy require is not added as an optional require.This has been solved by including the copy as an optional require for the FILEINTO action command.
Starting with 7.10.5 we improved the support for the Mobile-Outlook-App. Now it may be used to sync via EAS. But so far only basic features have been tested. The Mobile-Outlook-App is the first client which uses ItemOperations_Fetch to sync a contact. So far only mail objects have been fetched. Fetching a contact is not implemented yet.Implement fetch of contact objects. The protocol allows more collection types : calendar, tasks. So far these cases did not occur in our tests. It could be that the fix does not avoid all messages. In that case we will neeed debug logs (including EAS log).
The parameter “subscribed” has changed its default from true to false. USM does not send it, because it was not necessary so far.USM adds the parameter “subscribed” always set to true.
Text was unselectable and focus trap prevented from proper selection.Enable text selection and disable focus trap.
Added missing mappings and files.
This bug is caused by the incorrect calculation of the height of the text field.The calculation has been corrected and irrelevant scrollbars are hidden.
This was caused by missing check for ‘permissions’ of folders ‘supported_capabilites’ property.This has been solved by adding missing check.
Wrong dirty check caused request that was not needed.This has been solved by fixing wrong dirty check.
Class ‘mail-detail-content’ was added to body element while plain text mails still add a wrapping DIV with that class name beneath the body element.This has been fixed by adjusting selector to allow adding ‘Show entire message’ button again.
Missing QR code support for eas.This has been solved by adding QR code support and MWB-1179.
Wrong dirty check caused request that was not needed.This has been solved by fixing wrong dirty check.
EAS support was missing.This has been solved by adding EAS support.
Userization of delete exception dates not working properly for event series in public folders.Solution: Don’t userize change- and delete exception dates for events in public folders.
Was caused by missing differentiation between success and error state.This has been solved by idling dialog only when error was returned.
The launcher drop-down moved to the left edge of the top bar and received its own section name in CSS.This has been solved by adding the new section to the others where topbarHover is applied.
Multiple clicks on close button were possible.This has been solved by disabling buttons in window header when app is closing.
Attaching a large file and then deletes/cancels while it’s uploading led to an error.This has been fixed by fetching pendingUploadingAttachments and pendingDeletedAttachments during the upload process to cover more edge cases.
For some cases, the resolving of the index targets seems to fail for html output, while it works for pdf output.This has been fixed by removing all links from the Index to the glossary terms for html output.
Wrong package in mail authenticity config documentation.This has been solved by using correct package in mail authenticity config documentation.
Mail flagging was not implemented with EAS.If the client sends a non-empty nodeflag USM sets the “flagged” bit within the mail system flags. The other direction: if the “flagged” bit is set within the mail system flags USM/EAS sends to the client the following node:FlagFlagStatus2/FlagStatusFlagTypeFollowUp/FlagType/Flag
.If the “flagged” bit is not set and the cached sync status within EAS shows that the bit was set previously at the last sync USM/EAS sends an empty node to the client to indicate that the flag shall be cleared:Flag/
If the “flagged” bit is not set from sync to the next sync no flag node is sent to the client.
Button was moved to help icon.This has been fixed by changing text accordingly.
The error was handled twice although it occurs only once.The double handling of the error is unnecessary. The error is now displayed in the tab only and this can be closed with “close”.
Wrapping of elements were disabled.This has been fixed by simply wrapping actions in toolbar if not enough space is available.
Just added more logging, not fixed yet.
Missing safety checks prior folder display name template replacements.Solution: Additional safety checks prior folder display name template replacements, added logging if replacements are unavailable.
Possible null dereference when dropping a standard mail folder.Fixed possible null dereference when dropping a standard mail folder.
All-day appointments were not considered during recurrence id normalization.This has been solved by considering all-day appointments.
Static build URL used HTTP and not HTTPS.This has been fixed by preferring HTTPS URL and only retry with HTTP if the forceSecure flag is set (over HTTP API). Also, log a warning if HTTP is used.
Filenames containing dashes confused the fulltext index tokenizer.Solution: OX Drive searches for files with “exact-match”, ignore fulltext index for those requests.
SMTP host & login information advertised as “None” in case SMTP authentication is disabled through configuration.This has been solved by not advertising SMTP host & login information as “None” in case SMTP authentication is disabled through configuration.
Feature checks were not sufficient.Federated sharing text now also checks if filestorage_xox or filestorage_xctx capabilities are present. Onboarding wizard now checks for capability client-onboarding and if the setting for the new wizard is actually enabled (io.ox/core//onboardingWizard).
Missing customization for what’s new feature list.This has been solved by adding extension point to customize this list.
Was caused by wrong references.This has been fixed by using right references.
Appointments were drawn before the ‘injectVirtualCalendarFolder’ was called.Now register change listeners for appointments with incomplete folder data to solve this.
Was caused by a NPE while sorting display names.This has been fixed by adding null guard and by preventing null values.
From address determined by examining user’s primary mail account data.Orderly pre-select user’s default send address when composing new mails to solve this issue.
CVSS:3.1
CVSS:3.1
CVSS:5.3
CVSS:3.1
CVSS:3.1
CVSS:5.3
CVSS:3.1
CVSS:3.1
Onboarding-hint-popover is shown automatically and visual anchor is hidden behind “whats new”.This has been solved by using Stage instead of Extension to show popover and ensuring popover does not “collide” with other steps visually.
Missing style for drive download button.This has been solved by addingcorrect style to drive download button.
Missing differentiation between user and contact.This has been fixed by differentiating between user and contact mapping.
Missing manual configuration scenarios.This has been solved by adding manual configuration scenarios for iOS and added eas for android.
Browser have different focus styles.This has been fixed by adding consistent focus style for all browsers.
Was caused by wrong capability check for drive apps.This has been fixed by adding capability check for drive capability to disable drive menu options.
Wrong parameter within the translation made the warning hard to read.Fixed parameters within spanish translations.
Was caused by wrong calculation of offset.This has been fixed by adjusting offset calculation.
This has been solved by fixing a typo.
Warning was not added to baton and therefore not processed.Warning gets added to baton now.
Was caused by missing convert of’\n’ to ‘br’
when html is preferred mode for mails.This has been fixed by adding the missing convert.
The file attachment sizes was not orderly advertised with the first request for forwarded mails. File attachment sizes was always rendered if a size is returned in the response.Solution: Orderly advertise size of attachments with first request for forwarded mails and only render file sizes that are larger than 0 B, otherwise don’t render them at all.
Draft was saved before all delete requests were processed.This has been solved by fetching pendingUploadingAttachments and pendingDeletedAttachments during the upload process to cover more edge cases.
Unexpected premature termination of byte stream when reading content from S3 end-point. When having two folders named e.g. “resumé” and “resume” only one folder gets into the data export.This has been solved by adding an option to enable conversion of Unicode characters in ZIP archive entry names with somewhat reasonable ASCII7-only characters:com.openexchange.gdpr.dataexport.replaceUnicodeWithAscii
Default value is false. So, when setting it to true ZIP archive names like “résumé” are converted to “resume”.
Was caused by broken update task dependencies.Has been solved by fixing update task dependencies.
Incompatible timezone identifier gets cached along with overridden instances, which causes problems when re-loading the data from the cache.Normalize recurrence identifiers prior processing events from external iCalendar source to solve this.
Content-dependent identifier for onboarding profile names were accidentally cropped.This has been fixed by re-adding content-dependent part to profile display name.
Priority not kept when restoring a compose window from formerly saved draft message.This has been solved by keeping priority when editing draft messages.
Wrong sequence number chosen while trying to apply attributes to shared Drive mail attachments.Fixed applying attributes to shared Drive mail attachments.
The files are not visible because it’s not possible to open the attachements in documents.This has been solved by hiding the attachments folder to not confuse the user.
Global templates are not helpful with com.openexchange.capability.alone=true.With com.openexchange.capability.alone=true global templates in office settings are not displayed anymore for users.
Print as PDF did only work for Office files and PDF files.This has been fixed by enabling that images can be printed via “Print as PDF” too. Plain .txt files are enabled now too for “Print as PDF”, which was also not possible before.
Focus was not set to list after action.This has been fixed by setting focus to next list item after action.
Remaining whitespace in tokenized query after non-word characters have been replaced.This has been solved by trimming pattern after replacing non-word characters in client-supplied token.
Generic error returned when vCards exceed the maximum size during bulk import.This has been solved by explicitly handling too large vCard during bulk import requests.
Iteration of checked event series begins too late.This has been solved by considering duration when initialize recurrence iterator for conflicting series events in checked period.
Missing log message for failed authentication attempts against primary mail/transport server.This has been solved by adding logging failed authentication attempts against primary mail/transport server.
From address determined by examining user’s primary mail account data.Solution: Orderly pre-select user’s default send address when composing new mails.
Missing convert of ’\n’
to ‘br’
when html is preferred mode for mails.This has been solved by adding missing convert of ’\n’
to ‘br’
.
Button was drawn but not visible.This has been fixed by triggering ‘complete’ to adjust height again.
Wrong data from external calendar source taken over as-is.This has been fixed by adjusting bogus all-day dates prior to storing event data from subscriptions.
Too low settings for HTTP connection pools for both - auto-config server and ISPDB end-point.This has been solved by increasing settings for HTTP connection pool of both - auto-config server and ISPDB end-point - while lowering values for read and connect timeout.
SMTP host information advertised as “None” in case SMTP authentication is disabled through configuration.Now do not advertise SMTP host information as “None” in case SMTP authentication is disabled through configuration.
Possible java.lang.StringIndexOutOfBoundsException
when trying to decode subject string obtained from ENVELOPE fetch item.Fixed possible java.lang.StringIndexOutOfBoundsException
when trying to decode subject string obtained from ENVELOPE fetch item.
No fallback access used when collecting pending alarm triggers from disabled accounts.This has been solved by using fallback access when collecting pending alarm triggers from disabled accounts.
Lock entry not cleansed from database in case temporary database outage/inaccessibility occurs.This has been solved by enhancing acquired lock by a time stamp that gets periodically touched (every minute). Consider lock as expired if not touch for more than 5 minutes.
”[ ]” were not part of suffix characters we use in our regex to detect the end of links, similar to “, . ?” etc.This has been fixed by adding “[ ]” to possible suffix characters.
Capabilities were not used correctly, selectors were no longer valid and tour accidentally opened the chat app.This has been solved by adjusting selectors and capabilities and no longer open the chat app.
The local time zone was used to render the timestamp in the filter rule.This has been solved by now using UTC for rendering.
Wrong selection of day with certain (work)week settings.This has been fixed by removing basic setting dependent .startOf(‘week’) and replace with startOf(‘isoWeek’) in addition to a small adjustment for choosing the correct day.
Settings were not updated and may contain old account name.This has been solved by updating settings correctly.
A broken image link leads to failure of send/transport attempt.Solution: Don’t let failed image URI resolution prevent from sending a mail.
Existent data export tasks silently deleted if associated user/context do no more exist.This has been fixed by not deleting such “orphaned” data export tasks when invoking listdataexports
command-line tool.
A translation from a previous bugfix was missing.This has been solved by adding the missing translation.
CVSS:3.1
CVSS:3.1
CVSS:3.1
A combination of changes and streamlining caused loss of firstname and lastname, company was used as fallback.This has been solved by adding available data were possible so company name is not used as fallback, prefer display name over company name for external participants.
Was caused by possible long-running Matcher.find() invocation.This has been fixed by adding fast plausibility check & introduced a timeout-aware matcher alternative that respects a passed timeout whenever matching the input sequence or finding a certain sub-sequence is requested to avoid possibly long-running matcher invocations.
Context names are checked case-insensitive for equality when attempting to change a context’s name and thus changing to the same context name, but different cases were considered as a no-op.This has been solved by checking case-sensitive for equal context names when attempting to change a context’s name.
No response status distinction for read-only operations in If-None-Match/If-Match checks.This has been solved by using HTTP 304 response during If-Match/If-None-Match checks for GET and HEAD.
Missing special handling for error codes that advertise actual transport succeeded, but append to standard sent folder failed.This has been fixed by adding special handling for error codes that advertise actual transport succeeded, but append to standard sent folder failed.
Inconsistent translation of ‘notes’.This has been fixed by adjusting translations.
Too many occurrences of low-level HTTP end-point pools for initialized Sproxyd clients.This has been fixed by adding cache for low-level Sproxyd HTTP end-point pools.
The filter cannot evaluate type ‘auto’ for text colors in shapes (Presentation and Spreadsheet, ooxml).Solution: Instead of sending ‘auto’ when the user selects ‘Auto’ as a text color, the best text color is evaluated corresponding to the shape background. This calculated color is sent to the filter.
When an image is inserted via the buttons in template drawings, the mousedown happens on the content root node, but the mouseup does not. But these events are registered for an optional scrolling. Therefore the scroll position was not correctly adapted when the user changes the slide using the slide pane and does not click at least once into the document after inserting the image.This has been solved by checking the target nodes for mouse down and mouse up events that are required for scrolling.
Document was not flushed before the copy was created in Drive. Flushing causes to save all pending changes which, in Spreadsheet, includes to commit the cell edit mode.Solution: Flush document before starting to copy the file in Drive for user actions “Save As” and “Save As Template”.
Templates contained more than 5 different languages on XML level.This has been fixed on XML level, replaced all (western) lang attrs to be only en-US for EN templates, de-DE for DE templates.
Event listerners were still listening on an old collection.This has been fixed by adjusting event listeners after folder rename.
Single and double clicks on the same element were competing and leaded to inconsistent behavior.This has been fixed by treating double clicks as single clicks on list elements in list layouts.
Buttons were not enabled after dialog gets idle.This has been solved by setting dialog to idle also when cropped image can’t be loaded.
Was caused by forwardUnquoted not recognized by plaintext editor.This has been solved by adding forwardUnquoted detection for plaintext editor.
Draft was saved before all delete requests were processed.This has been solved by waiting for all delete requests to be resolved, also if draft gets deleted.
Different generation of fallback attachment filename extension.This has been solved by using the common method to yield fall-back name with a reasonable file extension.
Unexpected trigger of update task for a schema that is currently checked for possible expired composition spaces.Skip clean-up of expired composition spaces for those schemas that are currently updated or need an update to solve this.
Sender’s full name for introduction in drive mail notifications escaped twice.This has been fixed by escaping sender’s full name for introduction in drive mail notifications only once.
The callback URL was not constructed properly.This has been fixed by constructing the callback URL properly.
Restricted scopes session parameter were incompatible with portable serialization.This has been solved by using comma-separated string for restricted scopes session parameter.
Equal exceptions chained multiple times.This has been solved by avoiding chaining equal exceptions multiple times.
Possible concurrent modification of storage objects is quitted with “HTTP/1.1 423 Locked” status response leading to abortion of request processing.This has been fixed by introducing retry mechanism with exponential back-off in case Sproxyd service quits request with “HTTP/1.1 423 Locked”.
Intermediate clean-up task unexpectedly dropped file storage resources.This has been solved by not running clean-up task when there are currently running data export tasks.
CVSS:3.1
CVSS:3.1
CVSS: 3.1
CVSS: 3.1
CVSS: 3.1
CVSS:3.1
Primary address was used in all cases.This has been fixed by adding recipient parameter when calling api.ack and in case mail was send to alias address also this one is used for ack.
The short drag started the drag and drop mechanism of the appointment. Usually, this will not be a problem, but if the appointment is not within the displayed timeframe, the drag and drop mechanism does not work.This has been solved by disabling drag and drop for appointments, that are not within the visible timeframe.
Documentation simply was not added during development.Add documentation from feature description to technical docs.
With WebSockets disabled, desktop notifications for mail didn’t fetched a contact image.This has been solved by refactoring mail desktop notifications to use the same message style as with WebSockets enabled.
Heading ‘Reminder’ was still visible on the settings pane when showPastReminders was set to protected.Do not render heading when setting is protected.
Theme has been translated with Design and Design has also been translated with Design.This has been solved by changing the translation of Theme from Design to Theme.
Was caused by missing listener to detect, whether the vcard is attached or not.This has been fixed by introducing missing listeners.
This was caused by a missing trigger and listener for reset events.This has been solved by adding missing trigger and listener for reset events.
Settings pane for account was not updated when recovering passwords.This has been fixed by adding listener to refresh and update the account settings pane.
Due to incorrectly linked events, the portal widget does not always detect when events are changed.The incorrectly linked events were adjusted accordingly to solve this issue.
The header and footer were absolute positioned, which doesn’t look nice with a flex layout.This has been fixed by refactoring markup to use flex layout as it is intended.
ForwardUnquoted was not recognized by plaintext editor.This has been solved by adding forwardUnquoted detection for plaintext editor.
No conversion to default time zone when printing in month and week view.This has been fixed by adding time zone conversion.
UI was not updated after recovering accounts.This has been fixed by triggering an UI update, when accounts are recovered.
Due to an unhandled error the login could be prevented.Now the error is intercepted so that the login is not aborted.
Wrong timezone was selected when parsing date input.This has been solved by using default timezone when parsing the date input.
When spam folder is empty and you move a mail to it (via “mark as spam”) folder count was still 0.This has been solved by adding a refresh of the folder.
Feed sometimes wrongly uses numeric character reference instead of char.This has been solved by adding a rule to replace those occurrences with simple quotes.
Was caused by custom print rule of individual mail applies.This has been fixed by overwriting css page property.
The dropdown overlaped the viewport.Now, when overlap is detected make dropdown scrollable.
In some cases not the “total” value of a folder was used for display but a calculation. If the setting “com.openexchange.showAdmin” is set to false the displayed value differs from the actual number.If the folder supports the “total” value this value will be used now. If the setting “com.openexchange.showAdmin” is set to false, the displayed value is calculated accordingly.
Was caused by post-processing after calendar import is triggered per event group.This has been solved by importing post-process results in single task, enqueue long running import jobs.
CSS rule for overflow was overruled.This has been solved by improving selector so overflow rule is active again.
tinymce adjusts height of node flexible and “starts” with a single line.Add a dynamic min-height as it is already set for iframe container.
Firefox has od focus behavior, scrolls to bottom on focus, and ignores scroll top function.This has been solved by deferring scroll top to fix firefox focus bug.
The signature content was not correctly recognized when switching from plain text to html editor.This has been solved by removing signature on editor toggle and append it again afterward.
macOS client sends unconditional DELETE for no longer listed vCard resources after list of synchronized folders changes.Use variable path to special aggregated collection with different modes for macOS clients and introduced new modes for folders in aggregated collection.
A modified “subscribed” or “usedforsync” status in one of the underlying folders is not recognized during the incremental synchronization of the aggregated collection in CardDAV.This has been fixed by including folder state in sync-token of aggregated collection for CardDAV.
ETag and Schedule-Tag header values not submitted as quoted string.Submit ETag and Schedule-Tag header values as quoted string.
Decoded strings from basic authentication header were trimmed.Don’t trim decoded strings from basic authentication header.
Unknown timezone in invitation not interpreted correctly.More sophisticated comparison of parsed timezone observances during import.
Inefficient max. size restriction of in-memory folder cache.This has been solved by using the SessionD events when the short term sessions are removed and use the Guava cache’s expireAfterAccess method with a decent max time that should only remove stale entries.
One optimisation was done: Resume reading an S3 object’s content when HTTP connection gets unexpectedly closed due to premature EOF (actually read bytes do not match advertised content length)
Several fallback machnisms led to duplicate entries.This was fixed by avoiding to import an already existing email.
Deletion of data export task fails due to missing/absent user/context entities when querying appropriate schema reference for a user to operate on correct database.This has been solved by making config-cascade robust towards missing/absent user/context entity.
The company and department fields were not checked if they were set in the actual contact object.This has been solved by checking if the company and department are set in the actual contact before adding them to the vcard file.
Decoding with URLDecoder caused the plus sign to be converted into a space character.This has been solved by fixing the URI decoding.
Null check for relay state was not sufficient.This has been solved by properly checking for empty relay state.
In case com.openexchange.showAdmin was set to false the check for contact count was wrong.
Primary address was unnecessary checked.Don’t require primary address when checking mail account connectivity to solve this issue.
Likely a database error happens when trying to create or modify an appointment, but unfortunately the clean-up code itself raises an error that overlays the original one. Thus it is not possible to see the database error causing the failing create/update.Don’t overlay possible exceptions when performing clean-up stuff. The associated change cannot be considered as a fix for this issue. However, it is necessary to detect what is really going wrong when attempting to create or modify an appointment.
Address to notify not checked if covered by user’s aliases. if so, not notification should be sent.Do not advertise “disp_notification_to” field in a mail’s JSON representation if address to notify is covered by user’s aliases to solve this issue.
Case-sensitive check if provided E-Mail addresses are contained in set of user aliases.This has been solved by ignore-case checking if provided E-Mail addresses are contained in set of user aliases.
Was caused by wrong package name.This has been solved by using correct package name.
Standard display message advertised to client in case error “PSW-0001” (“Cannot change password…”) occurs when user’s attempts to change his/her password.This has been solved by adding better understandable display message when error code “PSW-0001” (“Cannot change password…”) is advertised by Open-Xchange Middleware.
This is caused by hundreds of reload configuration calls with each one triggering an appsuite history check.Fixed by never perform history checks in parallel.
Some images doesn’t contain a timezone in addition to the capture date. In those cases the library which extracts the capture date uses the GMT timezone as a fallback in case the timezone information is missing in the exif data.This has been solved by using the user’s timezone as a fallback for the capture date instead. Please be aware that this is still not a perfect solution for this problem. For example it depends on the timezone configuration of the appsuite when the image has been uploaded. So for example in case the timezone between the camera and the appsuite is different this leads to similar problems. Or in case the timezone of the appsuite is changed then images uploaded before and after the change have a different offset. Also this fix only applies to newly uploaded files. Existing files are still going to show the capture date based on the previous calculation which used the GMT timezone.
Excessively long-running operation to look-up a subsequence/pattern in HTML content.This has been solved by adding conditions for early abort and ultimately shield from too excessive matcher execution.
Slightly different attachment check for get and all requests. In case the content-disposition header is missing the get request in contrast to the all request considers the name attribute of the content-type header to identify attachments.This has been solved by considering the name attribute during all requests as well.
Update task accidentally removed when updating update task framework, although it was used as dependency for other tasks.This has been fixed by restoring removed update task.
“pref” parameter is used by the server to differentiate between multiple numbers of the same type, while the client only recognized one “pref”, as general preference.This has been fixed by only adding “pref” parameter when exporting TEL properties if required. Note that this is only a mitigation, e.g. when there are multiple “cell” or “home” numbers, the “pref” parameter will still be set.
Back when the sorting order was changed to descending one case was not adjusted.This has been fixed by using desc sorting order when not using imap search.
The client creates contacts in folder 6 (which is not allowed), so the server stores it in the user’s default contact folder implicitly. After a deletion of this contact in the web interface, this is only indicated for this folder, so that the client assumes that the contact in folder 6 is still there.Re-route newly created contacts to default and fake deletion in targeted collection.
Combining text nodes after pasting, so that the email-detection process finds the pasted email-addresse
In the specified environment, the comment ID was transferred to OX Presentation, but it was not found in the parameters of the application launcher. ‘Go to comment’ in notification mails is working now in SingleTab environment
z-index of the topbar was set to 2 because IE 11.
OX Documents monitors the life-cylce and online state of all Appsuite OX Documents nodes. Handling of lost Hazelcast nodes works as expected, but there a some more situations where we see the described behavior. The OX Documents monitor implementation now checks the lifecycle events from Hazelcast more carefully and detects that a merge has been done. This is handled and internal classes are re-initialized to work with the new Hazelcast uuid (especially the JMS queue names are derived from it).
Shorten title in German, check other languages if they are affected, too.
When we receive a jms message we check if all header keys are valid. If it is not the case we will stop processing the message. We change the behaviour in case there is an invalid header in the jms message. We lock this event, but we do not stop processing of this message.
A maximum runtime needs to be introduced for each call to the PDFTool (similar to watchdog for RE processes), returning an error after the configured jobExecution timeout time and responding to the appropriate request in time.
Fixed the enable/disable state of the ‘create folder’ button. Therefore, the button is not clickable in wrong cases, the error can’t happen anymore.
Be more verbose on errors, kill the pid-file.
When we must do a close hard for a document we send 3 jms messages. If one message got lost we would have a problem.