Middleware Documentation deprecated
Welcome to the documentation about the inner workings of the Java-based middleware platform of OX App Suite. This technical documentation covers articles about different topics and features, grouped by different subtopics on the left.
The latest notable changes of the middleware can be found below.All notable changes to this project will be documented in this file.
8.22.0 - 2024-02-07
Added
MW-2022: Tests for Helm Charts27853eb2e56b0e0aMW-2088: Additional Analyzers for the App Suite Advanced Routing Stack5d17f425MW-2125: Moved helper methods to utility classeed2d786- UI-125: Set
plugins/upsell//driveAdtoprotected7f045ea8
Changed
MW-2145: Use cluster map service throughout Middleware code9bcfd1f9MW-2216: Dropped AJP route and need for JSESSIONID cookie (and HTTP session respectively)66647c56MW-2226: Remove ignore action for unknown CU3f1d0227MW-2229: Use pre-assembled contexts on context creation814bf8eaMW-2268: Change copyright headers back to Open-Xchange GmbH6a15c8d6c68c8e61b4b7616fMWB-2430: Don't retry deleting the same events repeatedly when clearing a folderdfaa4dbfMWB-2466: Improved error message in case cryptographic functionalities are requested, but no appropriate features/modules (OX Guard) are installed/availablede3b459bOXUIB-2704: Apply requested range when merging results from808821fa- Log some repeatedly occurring messages only once per day
0d141908a8aea5189fc93733 SCR-1340: Updated Jackson & Fabric8 libraries11643ffeSCR-1341: Added new lean property to possibly add Open-Xchange server information to HTTP responses080a0c13SCR-1343: Updated Netty libraries from v4.1.97 to v4.1.106baa9755aSCR-1344: Updated lettuce library from v6.2.6 to v6.3.14a61b713- Updated logback-extensions from v2.1.10 to v2.1.11
1c3444db2807ac93 - Updated Gotenberg image from v7.9.2 to v8.0.3 to a custom image without MS fonts and chart from v0.6.0 to v1.0.1
Fixed
MWB-2250: Send proper notification mail to user in case data export failed due to missing content in selected module(s)3957b8c0MWB-2311: Include events with unset TRANSP when loading overlapping events from storage5bcc8210MWB-2401: Send REPLY if comment is removedd8646ca8MWB-2414: Use default object metadata when initializing CopyObjectRequest3b991f6cMWB-2420: Don't advertise empty address string on corrupt address0d2475a5MWB-2425: Improved SQL statement and added loggingf42fe4d3MWB-2434: Don't empty trash folder in "fire & forget" fashion if processing takes place through (AJAX) job queue. Orderly await completion then.279bde05MWB-2439: Ensure attendee comment is set on REPLY50febc36MWB-2444: Support for arbitrary settings in PodSpec is missingbb464b2aMWB-2452: Specify reasonable timeout when checking for possible shared attachment folders or scheduled mail referencesc755a394MWB-2456: More lenient insert into database on duplicate attempt014115e3MWB-2458: Properly apply UID conflict strategyd552d3bbMWB-2460: Advertise proper error message to client on exceeded quota18a5dd56MWB-2461: Updated restricted scopes in "Drive Sync App" example6a793fc4MWB-2464: Restored "Upgrading Without Downtimes" article92b32f13MWB-2467: Use context id as fall-back if no context name setd358aeadMWB-2470: Adjust 'login2user' table when using preassembled ctx6aea8bb2SCR-1339: Added methods in 'com.openexchange.admin.storage.interfaces.OXUserStorageInterface' for using pre-assembled contexts
MWB-2471: No replacement of illegal Content-Id identifiers9a70859aMWB-2482: Avoid excessive HTML processing w/ Jericho HTML parserf04860db
8.21.0 - 2024-01-10
Added
MW-2118: Implementation: REST Interface for Log Configurationed20e40dMW-2119: Extend Log Configuration with "includestacktrace" and "socketLogging"6776d5a2MW-2190: New metrics for provisioning aspects (PluginInterfaces, storage- and API-calls)b0b135a6MW-2226: Send CANCEL Message when Declining Party Crasherfb9fd9e1
Changed
DOCS-5156: Changed registry location for pdftool40d95a78MW-2143: Improve user update workflow7bd853b9MW-2192: Restrict Cleanup Jobs to Site-local DB Schemas3f89ea99MWB-2422: Optimistically gather updateable references in database when moving context file storages9ae9d6fb
Fixed
MWB-1653: Support for ox_props debug flagf3b8f1acMWB-2285: Avoid NPEfb269b44MWB-2379: Fixed attachment references in HTTP API documentation1fce8b44MWB-2392: Avoid excessive look-up by regular expression3ba026f4248f53fbMWB-2393: No regex-based processing on invalid Content-Id056219b9d6b8f40eMWB-2395: Avoid setting NULL parameter for NOT NULL column in table 'del_user'1fc2d875MWB-2399: Only announce "scheduled_mail" capability for a composition space if all preconditions are metb177d6f2MWB-2403: Ensure to only re-assign "changed_from" column upon user deletione8141bbbMWB-2410: Added config option to avoid using IMAP entity's display name when listing shared folders1d05f312MWB-2415: Correctly hand down initialized connection to database24f5743cMWB-2416: Guarded access to mail structure's content-type and -dispositionae507b3aMWB-2417: Write mailbox name as UTF-8 if IMAP server advertises "UTF8=ACCEPT" capability8308f025MWB-2421: Ensure that warnings are of exception category WARNING6e5c2d72MWB-2432: Orderly pay respect to possible UTF8 support when writing mailbox names to crafted IMAP commands6ba3f6d6- Added missing yaml docu files
ebfa6550
8.20.0 - 2023-11-29
Added
MW-1994: Introduced scheduled mail feature318e13b9408098641ca1ede2MW-2056: "Forward" Appointments via Email0372cb66MW-2088: Additional Analyzers for the App Suite Advanced Routing Stack4b5d6d31MW-2112: Request Analyzer Implementation for Tokens Login and Drive JumpMW-2135: Request Analyzer for "Advertisement" REST endpointMW-2133: Request Analyzer for Dovecot PushMW-2136: Request Analyzer for config-related "Preliminary" endpointsMW-2134: Request Analyzer for "Admin" REST endpointsSCR-1302: Added context_id field to TokenLogin json responseSCR-1284: Add parameters to drive jump redirect for request analyzing
MW-2173: Add logging for writeable database access to non-local segments6387936eSCR-1309: Added lean propertycom.openexchange.database.logWritesToNonLocalSegments
Changed
- DOCS-4961: Adjusted default of "maxSize" for image transformations to 20MB (
SCR-1316)ecace03a MW-1595: Update documentation articles for v8ff5fdb37MW-2139: Restrict Pre-Upgrade for Groupdware DB Schemas to Site-local DB Schemase17a00d7MW-2144: Deprecate the in-memory SessionD and Hazelcast session storage8aa2d519MW-2170: Updated gotenberg chart dependency and enabled read-only filesystemf04d8c8cMWB-2345: Reduced amount of session parameter names in log message187887a7- Enhanced error response for *DAV requests
0bc4811a SCR-1317: Added configuration options to enable debugging/profiling SQL queries535206edSCR-1325: Updated Google Guava from v31.1.1 to v32.1.3b0339982SCR-1326: Updated Hazelcast from v3.5.1 to v3.5.6f05c206cSCR-1328: Removed CPU Resource Limit91efe276
Fixed
MWB-1730: Orderly check if organizer event copy is targeted by scheduling messages (2)cfd168d4MWB-2328: Use proper MySQL v8 compatible syntax on user creationa86108c0MWB-2354: Ordlery deal with shared folders from different owners with the same display name50143d91MWB-2358: Drop PRIMARY KEY prior to modifying column belonging to PK, then re-create PRIMARY KEY6592349dMWB-2360: Mailfilter module not accessible via OAuth (cherry picked from commit 49f1551cc56bbe06bf422a7a6dbeaabb50d38842)552a0d3fMWB-2366: Respond with "Search too complex" error if applying a wildcard pattern to a mail search expression takes excessively long93eeba9bMWB-2367: Use simple glob matching for file/directory exclusions, use guarded matcher for regex patterns sent by legacy clientsa8f6643fMWB-2368: Advertise "search_in_folder_name" and "search_by_term" for "infostore" database foldersc00a21b0MWB-2370: Propagate master changes only into exception events the user actually attendsbafc8cd1MWB-2372: Folder API requests are not working with "Application Specific Passwords"99a61a51MWB-2374: Orderly handle Unified Mail messages when examining a message for scheduling informatione45cabd5MWB-2376: Indicate correct part number in multipart upload to S3f6e52b17MWB-2380: Generate exception events as needed for unsolicited REPLYs to recurring event instances0abda2b6MWB-2382: Select proper recipient addresses on reply to own mailsa9f10444SAZ-4: Use singleton connection to user database for all write accesseseb0836a5
8.19.0 - 2023-10-24
Added
MW-2088: Middleware components for the App Suite Advanced Routing Stack- Added new bundles for the request analyzer feature (
SCR-1241) - New properties for Segmenter Client Service (
SCR-1277) - Upgraded the gson library from 2.9.0 to 2.10.1 (
SCR-1266) - New REST endpoint exposed at
/request-analysis/v1/analyzeto analyze client requests and associate them with segment markers - Added first batch of request analyzer implementations covering the most common client requests
- Introduced
request-analyzerservice role to deploy and scale conainers independently - Implemented segmenter client API to determine active site for a certain segment
a2705aa2
- Added new bundles for the request analyzer feature (
Changed
MW-2094: Added the 'LastModified' and 'ModifiedBy' metadata to each Sieve rule.5197be2aMWB-2296: Only allow certain URI schemes for external calendar attachments (SCR-1307)5277863aMWB-2345: Enhanced logging, added fallback for missing response error code from auth server3da0018de2332e6a- Removed vulnerable lib sqlite-jdbc and provided needed dependencies by plain snappy-java lib
3d9e92d3 - Updated core-mw chart dependencies and enabled read-only filesystem for gotenberg
075e07d3 - Updated vulnerable lib commons-fileupload 1.4 to latest version 1.5
353845aa - Updated vulnerable lib jackrabbit-webdav 2.19.1 to version 2.21.19
408e8dd3 - Updated vulnerable lib net.minidev:json-smart and (its dependency accessors-smart) 2.4.8 to version 2.4.11
3b7dae91 - Updated vulnerable lib snakeyaml 1.33 to version 2.2. Depending libraries (e. g. jackson-*) required an update too
d48c6679 - Updated vulnerable okio-jvm 2.8.0 lib to latest 3.5.0 and cleaned up dependencies (added okio, updated okhttp + kotlin*, test dependencies)
0aae47f3 - Removed default values for chart dependencies and link to source
9861882b
Fixed
MWB-2220: use existing functionality for secret properties3e12ce12MWB-2250: No success notification if there are no result files263f92ebMWB-2283: Don't try to assign a new category when moving to "general" category10e99977MWB-2296: Check potential UID conflicts for newly added attendeesd075d98fMWB-2297: Prefer display name for object permission validation errors43e8d4b8MWB-2300: Optimized moving folder (and its subtree) to trash8ef3f9750b68cc47MWB-2309: Cross-check resource attendees when evaluating 'all others declined' flag in list responses154ae880MWB-2310: "infostore?action=upload" fails with "EOF" error on Appsuite 8269accfbc2840ffaMWB-2322: Probe for name of the function for geo conversion (3)12d7d73fMWB-2333: Sanitize broken/corrupt Content-Type string when parsing multipart content22a9393bMWB-2336: Aligned naming of settings to the ones used by UI86bf97bdMWB-2337: Ignore possible "NO [NOPERM]" response when issuing a METADATA command to retrieve deputy information from all IMAP folders3ce1f58aMWB-2339: Ensure privisioning related log properties are dropped once message has been logged35022c92MWB-2343: Preferably consider 'X-MICROSOFT-CDO-INTENDEDSTATUS' when parsing event transparency from iTIP2e04a819MWB-2349: Orderly display plain-text mail w/ alternative text partsbaefd0a8711ea55bMWB-2352: More user-readable error message in case message flags cannot be changed due to insufficient folder permissions91188e1e- Enhanced detection for images with data URIs
997ed5ff MWB-2353: No global lock when initializing in-memory folder mapf7fef269
Removed
MW-2169: Removed preliminary sharding extensionSCR-1311: Removed obsolete Rhino Scriptingebef2cd8SCR-1312: Removed obsolete bundle07bc8d6c
8.18.0 - 2023-09-27
Added
MW-2010: Support for Webhooks8f93c95f79d3fc0a39b017d3MW-2116: Added option to use session parameter as a secret source.0c1b50d4- Mail: Support dedicated column for user flags to be queried by action=all or action=list request
86c22aa5
Changed
MW-2120: Convert Mail User Flags to/from UTF-8b130a436MW-2124: allow subscribe/unsubscribe actions via oauth1df8ddf8MWB-2315: Remove user-specific templates9ef5570dSCR-1283: Enhanced redis hosts configurationc6f1ef04SCR-1285: Updated Netty NIO libraries from v4.1.94 to v4.1.97ca90cc77d1f792bfSCR-1286: Updated lettuce library from v6.2.5 to v6.2.646e37ee3- Don't require 'infostore' module permission for mail pdf export
1afcccae
Fixed
MWB-1730: Process CUs without calendar accessefce0922MWB-1781: Set MySQL client protocol to SOCKET for localhost connectionsf2cff023MWB-2286: not very helpful error message in case features.definitions is not defined77afac3dMWB-2287: Orderly detect possible "mail not found" error while checking for referenced mail on reply/forward643153ceMWB-2290: Ensure "INBOX" folder is translated, too682f34a4MWB-2294: Socket Logging not working108ea815MWB-2298: Changed column 'propertyValue' of table 'subadmin_config_properties' to be of type TEXTaa35c6d8MWB-2299: Handle unsupported image format as illegal image upload89635a00MWB-2306: Extend the "login" column for "user_mail_account" and "user_transport_account" tables2fe842acMWB-2307: Don't use config-cascade cache if scope preference has been setb4f7aa7bMWB-2313: Check queried in-compose draft messages against cached onescb82807fa6ed27f4MWB-2316: Broken link in "Export PDF" documentationf87b10e8MWB-2317: Capability is missing in "Export PDF" documentation0e96d602MWB-2319: Don't limit POP3 server response when querying UIDLs of available messages55899950MWB-2320: Updated JUnit to 5.10.0 to support Eclipse 2023-09e5d2942fMWB-2321: Removed persistence section in values.yaml41b31013MWB-2324: Restored parsing of erroneous token refresh responsesafaad652
Removed
Security
8.17.0 - 2023-08-30
Added
Changed
MW-2003: Handle Time Transparency of Appointments per User- Added
transpfield to attendee - Handle transparencies set via CalDAV clients
12aee31
- Added
SCR-1270: Updated Google API Client libraries800dc9fMWB-2259: Added more DEBUG and INFO logging for GDPR data export39f74aeab77d3eSCR-1275: Upgraded MySQL Connector for Java from v8.0.29 to v8.0.3376146ce
Fixed
MWB-2266: Extremely long-running requests are not terminatedf9e86fc4bce9cde434d324f05fa1cc0833b38fea462be0655d3bd8f2f85638fd494263- Hard timeout of 1h for tracked requests of any kind & hard timeout of 60 seconds for mail compose related communication with primary mail backend
- Introduced wait time for concurrent operations. If elapsed, the operation is aborted
- Use Apache FreeMarker template engine with safe configuration
MWB-2242: Take over selected filestore id properly during user creationMWB-2249: properly disable context during filestore move92e1649MW-2094: Backwards compatibility for extra metadata in sieve scriptsdfee773MWB-2275: Yield cloned objects from Caching LDAP Contacts Accessf4d0b36MWB-2250: Added sanity check for Task Status.1858544MWB-2272: Explicitly LIST a folder once not contained inLIST "" "*"queried from IMAP serverab95588MWB-2265: Prefer to use config-cascade-wise configured value forcom.openexchange.imap.imapSupportsACLc01a70aMWB-2274: Properly encode dynamically inserted part of LDAP folder filters91fe39eMWB-2277: Changed displayed error messages according to customer's suggestion7754cadMWB-2242: Corrected invocation for 'list_unassigned' in filestore08481d7MWB-2280: Reset attendee transparency on rescheduling2f13573
Security
8.16.0 - 2023-08-01
Added
ASP-131: Implemented a MailExportService that converts e-mails to PDFsSCR-1235: Introduced a new action to the 'mail' module for exporting mails as PDFsSCR-1236: Introduced new properties for the MailExportServiceSCR-1237: Introduced new properties for the CollaboraMailExportConverterSCR-1238: Introduced new properties for the GotenbergMailExportConverterSCR-1239: Introduced new properties for the CollaboraPDFAConverterSCR-1240: Introduced a new capability to activate the PDF MailExportService4d0de04
MW-2036: added contact collector documentation5441175MW-2073: Log any HTTP header852548bMWB-2238: allow to configure a purge folder for trash deletion- The property com.openexchange.imap.purgeFolder allows to configure a parent folder for renamed trash folder. If one of those folders is configured then the trash is not deleted by the middleware itself.
f870dcc
- The property com.openexchange.imap.purgeFolder allows to configure a parent folder for renamed trash folder. If one of those folders is configured then the trash is not deleted by the middleware itself.
- Add missing configuration for new packages
c8651ec
Changed
- Improve markdown for core-mw chart
6518c42 MW-1862: Upgrade encrypted data dynamically during usage- Throw exception if legacy encryption is detected in CryptoService
- Services/storages detect legacy encryption by this exception and recrypt secrets themselves (by using async task)
- If shared item protected by secret with legacy encryption is accessed, use LegacyCrypto and log this event (not possible to recrypt here)
- When users logs in, all items shared by him are collected and checked if secrets needs to be recrypted
SCR-1233: Update encryption for passwords of anonymous guest usersd5843c4MW-1840: Reworked the CryptoService- changed the encrypting algorithm to AES/GCM/NoPadding
- deprecated the encrypt and decrypt methods with the old mechanisms
- removed default salting - Now callers are responsible for their salts
- introduced fallbacks for the old mechanics
MW-1894: moved CryptoUtil to c.o.java, replaced all instances of SecureRandom with the centralised version7a3e3e5
MW-1861: Use Implicit Salt in CryptoService- Utilise argon2i for password hashing
- Use the legacy crypto for the Key-based methods
- Let the callers dictate the byte size for salt and iv
- Use a 96bit key for IV
- Re-create secure random after a specified amount of time
- Use implicit salt and IV in CryptoService
2faf2ca
SCR-1252: Updated Netty NIO libraries from v4.1.89 to v4.1.948c7eb32SCR-1247: Updated pushy library from v0.15.1 to v0.15.28365cffSCR-1245: Updated metadata-extractor from v2.17.0 to v2.18.0bd4e29cSCR-1253: Updated lettuce library from v6.2.3 to v6.2.5731ca0bSCR-1246: Updated Google Guava from v31.1 to v32.1.11cbe1a4SCR-1231: Updated OSGi target platform bundles2a0ea4eMWB-2208: Do log possible IMAP protocol errors while trying to acquire a part's content8867c1bSCR-1255: Updated Apache Tika library from v2.6.0 to v2.8.0d19b0fcSCR-1256: Upgraded Javassist to 3.29.2-GA6a6ac84SCR-1244: Updated htmlcleaner from v2.22 to v2.29ee140dfSCR-1243: Updated dnsjava from v3.5.1 to v3.5.2558227a
Removed
Fixed
MWB-2258: Adjust 'credentials' table for enhanced crypto serviceSCR-1267: Extend password columns in db to store encrypted passwordse6cdc21MWB-2253: removed unused import804a806- to fix not working imageconverter and documentconverter
MWB-2252: Keep possible HTML comment markers when examining CSS62add69MWB-2251: Prefer configured call-back URL regardless ofdf0ed24- applicable dispatcher prefix
MWB-2186: The upload of big files gets slower and slower (against MW 8.x)d55359b0efa733- properly load reseller service on demand
3166ed3 MWB-2228: Move EventsContactHalo into com.openexchange.halo.chronos bundle8171cd7MWB-2221: Append additionally available plain text content to existent one738b68cMWB-2184: Add support for extraStatefulSetProperties and make use of ox-common.pods.podSpec92f6ce9MWB-2240: Don't output inline images as attachment8de296cMW-2203: Omit OS version for web clientsfca25d2MWB-2228: Move contact halo into com.openxchange.server bundle691da48MWB-2231: Confirmation buttons not working when inviting a person to a series exception19f8753MWB-2248: Pass proper range when querying messages from contained sub-accounts if Unified Mailf9c8829MWB-2227: Attendee cannot be re-invited to occurrence of event series553bb34MWB-2233: Removed ulimit configuration from start script128ba0bMWB-2241: Lowered log level to DEBUG when moving active/idle sessions to first short-term session container82938e9MWB-2223: convert all images with CID for the html bodyc7776e1MWB-2210: Consider virtual folders when getting attachments through chronos moduled992d75
8.15.0 - 2023-07-05
Added
MW-2045: Introduced separate bundle for parsing a schedule expression and for initiating periodic tasks. Refactored database clean-up framework to have a "maintenance" window, in which execution of general clean-up jobs is permitted. It also accepts custom clean-up jobs having their own schedule.8b9bb19MW-2020: Dedicated simple HTTP liveness end-point for early access to liveness check & await availability of database during start-upa476d76MW-1084: Added support for segmented updates with OIDC2277d3aMW-2073: Log any HTTP header6bdd0d5
Changed
MWB-2212: Allow specifying deferrer URL with pathcab25e7MWB-2200: Output JSON session representation if it becomes too big118f0dbMWB-2059: Improved access to queried message range in case IMAP server does not support SORT capabilityfffe20cDOCS-4766: Include pdftool from docker image4d9d0ad- Enhance session representation managed in Redis storage by user database schema
3798214 - Enhance session representation managed in Redis storage by segment marker (that is the target database schema by now)
c008e24 MWB-2214: Improved error handling in case ajavax.mail.FolderNotFoundExceptionoccurseb5a9f1
Fixed
MWB-2193: missed to remove deprecated servlet path to admin API.- removed servlet path registration for obsolete path
- removed obvious parts related to AXIS2
017321e
MW-2050: Refactored message alarm delivery worker to orderly use database locksc99b0b5MWB-2130: Try to perform hard-delete by delete-through-renamedb8afceMWB-2182: Fixed typo "(E|e)xcpetion" in codeb054b35MWB-2130: Try to perform hard-delete by delete-through-rename54ac301MWB-2201: Do translate standard folders of secondary accounts as wellb549cf4MWB-2196: Pay respect to order parameter when sorting contacts by special sorting1db09a3MWB-2168: Support AWS S3 IMAP role usingAWS_WEB_IDENTITY_TOKEN_FILEenvironment variable2b35ea82d9ad76MWB-2187: Add necessary imports61dd61e51eb12fMWB-2181: Fixed possible null dereference15519caf059c8dMWB-2187: Assume configured IMAP host for IMAP authentication does not need to be checked against blocked hosts (seecom.openexchange.mail.account.blacklist)0971c88MWB-2189: Orderly close database statements083f2c3MWB-2199: Mention the affected YAML file if an invalid format is detected1b4a086MWB-2178: Handle possible null session on account retrieval357cc79MWB-2045: Omit specific OS version for macOS clients (2)78a60c1MWB-2194: Fixed typo in property descriptionb71221fMWB-2179: Orderly handle iTip request without method58fbf02MWB-2180: Check for possible null return value when looking-up a user with invalid user identifier44c3edeMWB-2185: Use SMTP default settings when changing a user's assigned SMTP serverd1c73cbMWB-1764: Don't check against blocked hosts/allowed ports when obtaining status for subscribed mail accounts2e7f30aMWB-2214: Try to re-open folder in case ajavax.mail.FolderNotFoundExceptionoccurs (IMAP folder not LISTed, but SELECTable)d60a70c
8.14.0 - 2023-06-06
Added
MW-1545: Option to hide own Free/Busy time- Users can now configure whether their free/busy data is exposed to others (values
all,none,internal-only) - Appointments that are visible by other means (shared folder, common participation) continue to be visible
- Default value of setting is
all, configurable and protectable (SCR-1197), and exposed to clients in JSlob (SCR-1198)e5d91c8
- Users can now configure whether their free/busy data is exposed to others (values
MW-1981: Added caching to the resource storageed81544SCR-1213: Introduced event flag 'all_others_declined' to indicate if one might be alone in a meetingae51f2c
Changed
MW-2007: Remove man pages from image85e335dSCR-1219: Upgraded JSoup library in target platform (con.openexchange.bundles) from v1.15.3 to v1.16.14d3cbc5INF-173: Disableopen-xchange-dataretention-csvby default9048c7d
Fixed
MWB-2160: Avoid excessive parsing of E-Mail addresses possibly containing CFWS personal names; e.g.<bob@example.com> (Bob Smith)2fb55a62ed855cMWB-2150: Don't expunge messages from POP3 storage that could not be added to backing primary mail storage6cf89a7MWB-2156: Make DAV UserAgents configurableMWB-2158: Allow all folder names for iCAL feeds94c0f36MWB-2149: Prepare refreshing of subscriptions in a blocking manner to avoid having underlying HTTP being being recycled1bb9343MWB-2171: Split orphan instances on import2db7d02MWB-2167: Offered parameter and config option for sanitizing CSV cell content on contact export8b1d684MWB-2137: Unable to Delete Contacts Account if Implementation Missing883b9bd- Redis Session Storage: Use
tagsto differentiate between common and brand-specific session metrics6655f6f MWB-2144: Disabled Hazelcast-based session test since Hazelcast has been replaced by Rediscab9736MWB-2161: Allow relative paths in yaml file names9dd17f3MWB-2162: Limit number of considered filestore candidates to a reasonable amount when determining the filestore to use for a new context/usereb9e0cac9b4b4dMWB-2139: Check a session's origin for both - guest and application-specific authentication - prior to validating mail access' authentication data43229c2MWB-2153: Test forapplication/x-pkcs7-signatureas well asapplication/pkcs7-signaturee99052dMWB-2165: Keep quotes in local part of an E-Mail address when extracted from ENVELOPE fetch itemafdece957df52f- Prevent invalid Resource Names for new CalDAV Collections
c7fae63 MWB-2143: Acceptharddeleteparameter to let client instantly delete a previously opened composition spaceec807118ad2a99MWB-2159: Avoid unnecessary error in case of attempting to remove an already dropped sessiona9e1914c4ef016MWB-2138: DAV file upload fails with redis session storage364df81MWB-2149: Prepare refreshing of subscriptions in a blocking manner to avoid having underlying HTTP being being recyclede5da60bMWB-2164: Use header for authorization instead of query string4634856MWB-2150: Follow up, reset parameter index before re-using6370ec6MWB-2145: NumberFormatException on partial file upload1feeed1
8.13.0 - 2023-05-03
Added
MW-1909: iTIP Analysis and Apply actions for Resource Notification Mails- Scheduling mails to/from booking delegates of managed resources are sent as iMIP messages
- Introduced additional header
X-OX-ITIPfor quick identification of such mails, obeying unique server id (MW-1405) - Existing iTIP analysis and apply workflows were extended accordingly
- Consolidated notifications and scheduling messages and their transport providers
- Introduced property
com.openexchange.calendar.useIMipForInternalUsersto switch to full iMIP messages for internal receivers generally (SCR-1191)91c0491
MW-1908: Send Calendar Notifications to Resource Owners- Booking delegates now receive mails upon new, modified, deleted events with the resource
- Organizers now receive mails upon replies for their booking requests
SENT-BYproperty of originator/recipient as well as mail'sFrom/Senderheader are set appropriatelyc9b28c4
MW-1405: Introduced a unique server identifierd891c9d
Changed
MW-1913: Changed mail push config to prevent multiple notifications
Deprecated
Fixed
MWB-2124: Change PRIMARY KEY through creation of a temporary table if the attempt to drop PRIMARY KEY is prohibited by MySQL server78d6f9a- IMAP: Allow fast
EXPUNGEof trash folder in "fire & forget" fashion29c12f93fc0079 MWB-2118: No Option to prevent creation of Guest Users with Specific Email Addresses595c926MWB-2110: Proper imports of Netty IO packagese1a850dMWB-2125: Do not batch-delete more than 1,000 objects from S3 storage using DeleteObjects request204ef8eMWB-2045: Omit specific OS version for macOS clientsb0c9b40MWB-2129: Orderly surround column name with backpack characters '`'bfc75b7MWB-2121: Properly check master authentication first for getData calldcca450MWB-1893: Error when deleting appointment series with multiple different organizersa9dbcedMWB-2122: Update lastmodified timestamp when decrementing use count917e8a0MWB-2119: Optimized cleanup job & settings52068afMWB-2128: CalDAV: Unexpected runtime exception on REPORTf3bda8bMWB-2116: Correctly use commands for POP36b8749c- IMAP: Set proper status for IMAP
AUTHENTICATEcommand89c0766 MWB-2095: Conflicting folder "Userstore" exposed to Drive Clients29c3373MWB-2127: Re-adding a resource leads to a permission error33b804dMWB-2103: Missing the verb in calendar invitation email template for it_IT822aafcMWB-2120: Fixed the documented default value forcom.openexchange.oidc.hosts5427c82MWB-2134: Don't return an unmodifiable instance of java.util.Map186e9b1MWB-2030: Orderly do set session- and share-cookie when resolving share linka417c17MWB-2090: Enhanced the documentation to warn about potentially vulnerable password change scripts42334a4- Removed duplicate dot in internal password change notification
c9d1baa
Security
8.12.0 - 2023-04-03
Added
MW-1747: Introduce Redis-backed sessions service988cb4ec3c7177b257128434eecdMW-2029: Introduced metrics for Redis session storage12f8ebcMW-1841: Allow enforcing 'STARTTLS' for IMAP, POP3, SMTP & sieveMW-2029: Introduced metrics for Redis session storagebbc8f11MW-2023: introduced possibility to block commands from apply59402e4MW-1986: added login_hint and target_link_uri as parameter for oidc loginadc2f10- made multiple servlet oauth capable
91b3699 MWB-2073: Introduced new property to disable adding a Sproxyd end-point to blacklist8617d91SCR-1181: New Properties to Control 'used-for-sync" Behavior of Calendar Folders94c4251MW-2002: Publish Changelog at documentation.open-xchange.com3f0b316
Changed
MW-1864: lost and found tests- fixed, refactored or deleted several tests
- refactored SoapUserService and linked classes
- deleted outdated indexedSearch
7f57ae9
MW-1516: Use IDBasedContactsAccess for CardDAV- Refactored to have gnu.trove as a bundle in target platform
0ebe8ff MW-1947: Updated vulnerable librariesMW-1955: Hand-through possible Redis connectivity/communication errors to client during runtime & probe Redis end-point until available during start-upaae4f1cMW-1955: Disable max. number of sessions by default for Redis session storage1b65cebMW-1947: Updated vulnerable librariescb95cbeMWB-2059: Removed corrupt sort by UIDd316136MWB-2059: Fast sorting by IMAP UID in case sort by received date (INTERNALDATE) is requested776449b
Fixed
MWB-1982: Timeouts for external content do not cancel the connection- The fix allows to interrupt client connects and InputStream reads by having hardConnectTimeout and hardReadTimeout parameters that are used for external connections
- Defaults to 0 (disabled)
- The following services have a defined default of 120000 for 'hardReadTimeout' and 30000 for 'hardConnectTimeout': autoconfig-server, davsub, icalfeed, rssfeed, snippetimg, vcardphoto
63b60eb
MWB-2040: Concurrency issue when moving a touched session to first session container. The moved session might not be "visible" for a short time.52069a4MWB-2061: Organizer URI not preserved when creating Appointment7b3e574MWB-2094: Yield a modifiable list instance from messages to copy3aacd7aMWB-2056: Include all overridden instances in scheduling object resource3bd7550MWB-1975: start report generation in parallel to task generation72047d7MWB-2101: Unnecessary Data Retrieved from Filestore when Servingd262bd1MWB-2081: Check table existence prior to deletion attempt (and recognize if developer accidentally passed the cause as last argument)2372064MWB-2054: Auto-delete guests when owner of per-user filestore is deleted (SCR-1193)a296656MWB-1985: delete all tasks in folders owned by deleted user5f26d66MWB-2055: Skip unrelated events when iterating events needing98b8140MWB-2086: Potentially malicious SQL injection when using full-text autocomplete408fcdaMWB-2022: Generate a generic error response providing SMTP server response information in case an SMTP error code occurs while attempting to send a message0d43966MWB-2091: Mark each messages of a multiple mail forward as forwarded2cde555MWB-2089: Quite old 3rd party library uses weakly accessible sun.nio.ch package. User newer library making use of up-to-date JRE tools instead.4ff5296- Fixed reading alias from settings
840d937 MWB-2080: Added details about 'baseDN' setting in LDAP client configuration7668409MWB-2058: Populate 'uuid' column when registering a new server as692222cMWB-1982: Timeouts for external content do not cancel the connection75086ca
Security
8.11.0 - 2023-03-08
Added
- Generic watcher for input stream read processes
85699c6fd49709b8dcbad129749c - Added possibility to filter mail drive files
651999c MWB-1959: added possibility to filter http api metric labelsa75d3e0- Support hard timeout for processor tasks
8f1b1b9 SCR-1190: Added property accepting to define a timeout in milliseconds when reading responses from IMAP server after a command has been issuede2ef0ef023c13c6e81751- Add missing packages to cloud-plugins helm definition
935005a
Changed
- Updated shipped VTIMEZONE resources
4fd83de MWB-2049: Ensure no wrong push match has been determined for a certain push notification307d766f314ec7ad17da7cfc57a895642295dadcfb508879f70efa61MWB-2063: Lenient parsing for DTSTAMP property6401516MWB-2039: Improved concurrency when loading time zone information2ac192aMWB-2059: Let /mail?action=all end-point support "allow_enqueue=true" parameter70cf31d273c592c7b656fMWB-2040: Added some logging and introduced a session-list mutator lockc625aef702e171845d03ce6938e0MW-1964: optimizations referring to spectral findingsa9ba5edMWB-1845: Ensure a reasonable size for buffers, which will be allocated for writing data to a connectionb47f248679df5a- Use only one AtomicLong to generate request number
8f34cbc - Uses timestamp to generate a unique name for the pre-update job so the helm chart can be applied multiple times in a row if needed. Also adds a (configurable) ttl to expire the job after 24hrs.
cfcb71a MWB-2061: Prepare entity processor decoding for internal organizers270fe7e- Upgraded logback-extension to 2.1.5
eed8bf3 MWB-2031: Accept new property to disable black-listing of end-point for which an I/O error or HTTP protocol error was encountered8efbc56MWB-2039: Set missing log message argumentd3fd63a- Assume property "logback.threadlocal.put.duplicate" is "false" by default to use concurrent MDC property map
6d84989
Removed
MW-1974: Drop Hazelcast Upgrade Packages46a7063MW-1774: Removed ClusterTimeService940239eMW-1778: Disabled/deprecated the 'ramp-up' json actione20b7c436107b9MW-1767: Enqueued the drop ldap ids update taskd839294
Fixed
MWB-2054: Auto-delete guests when owner of per-user filestore is deleted (SCR-1193)eaec0e9MWB-2048: Limit accepted POP3 server response to reasonable length/size478b986MWB-1877: Avoid DNS rebinding attacks where possible (check against possible block-list on connection establishment)2bf40e2MWB-2038: Respect possible IPV4-mapped IPv6 addresses when checking if contained in a block-liste4566e43a97e40MWB-2047: Limit accepted IMAP server response to reasonable length/size9033774MWB-2037: Drop FOREIGN KEYs from several Groupware tables8a5ac87MWB-2057: Add XCLIENT extension support for sieveb5e1320MWB-2046: Limit accepted SMTP server response to reasonable length/size1f8c5e2MWB-1395: Introduced limitation for number of queued image transformation tasks9c17e53MWB-2020: only apply sanitizing to certain fieldsac8c67cMWB-2019: Sanitize non whitespace control character5e1bf5dMWB-2025: Fixed avoidable exception on DEBUG loggingdd4514aMWB-1967: Don't set i18n name for public IMAP namespace if there are multiple ones configuredd26a8a5MWB-2071: Indicate conflicting calendar object resource in different collection via CALDAV:unique-scheduling-object-resource precondition3e20448MWB-2041: Fixed "file not exists" errors for single shared filesc95b330MWB-1790: Orderly complain about missing command-line argumentsb0a4cf9MWB-2068: Orderly accept connect parameters when updating a mail account's attributesf78c307MWB-2069: Yield "unsupported" result when analyzing links pointing to own shares1dbc012MWB-2030: Orderly set session- and share-cookie when resolving share link212bed8MWB-2044: Only update folder last-modified if permissions are sufficientf14cf42MW-1778: Added missing annotation7b29de7
8.10.0 - 2023-02-08
Added
MW-1910: Extended "needsAction" action to include Delegated Resources- Lookup for events needing action is now also done for attendees the user has delegated access to (resources and other users)
- Introduced new parameter "includeDelegates" for "chronos?action=needsAction" (
SCR-1162) - Adjusted method signature of "getEventsNeedingAction" throughout chronos stack (
SCR-1163)546c406
MW-1898: On-behalf management for Managed Resources- Actions 'updateAttendee' and 'update' in module 'chronos' can now be performed on behalf of a resource attendee
- This can be indicated by targeting the virtual resource folder id
- Added 'own_privilege' into 'resource' model to reflect the user's scheduling privilege for a certain resource (
SCR-1154) - Participation status of managed resources will now be 'NEEDS-ACTION' if confirmation is pending
- Initial hooks for subsequent notification messages are prepared
ca32f9c
MW-1944: New Action "getRecurrence" in Module "chronos"MW-1931: Extended provisioning for managed resourcesMW-1969: Accept "mail" as original to add attachments to a composition space referring to file attachments of existent mails #2599a83dSCR-1181: New Properties to Control 'used-for-sync" Behavior of Calendar Folders821254bINF-80: Activate additional languages in default App uite 8 installationsb186a1dMW-1969: Accept "mail" as original to add attachments to a composition space referring to file attachments of existent mailsfdbd9d6MW-1888: Upgraded Socket.IO server components to support Engine.IO v4 and Socket.IO v3512d654(https://gitlab.open-xchange.com/middleware/core/commit/0cb2b2f041236ea8c90b1e5863d8bf922f14a442)57f4869
Changed
MWB-2024: Upgraded logback-extension to 2.1.4MW-1912: Allow multiple Password-Change Services0ad74d8- Fixed new warning since Eclipse 2022-06 "Project 'PROJECT_NAME' has no explicit encoding set"
05797c1 MW-1957: referring to RFC5455-3.8.5.3, shift start/end date of recurrence master to the first occurrence1ef8fd9- Don't build log message if log level does not fit #2
35ba26f MWB-1970: Use active database connection when loading enhanced entity data for events5e20d9bMWB-1970: Don't advertise 'count' capability for database-backed folderscdc6973MWB-1970: Maintain cached list of file storage account identifiers per service9d8a301MWB-1970: Use active database connection when loading enhanced entity data for events (2)7efa8fc- Added special HTTP protocol exception signaling that a certain URI is denied being accessed
0200041 - Enrich calendar results with contact details for internal organizers if requested via 'extendedEntities=true'
e5950b7 MW-1830: Generation of mandatory Secret Values through Helm Chart9dbb102- Indicate 'optional' participants in notification mails
e1b31f0 - Fixed logging & some thread visibility issues
8fa7246 MWB-1991: upgraded micrometer from 1.5.1 to 1.10.363d112cMWB-2001: Added logging for periodic attachment storage cleaner55cc090- Use thread-safe classes
b606631 MW-1985: Improve DB warning/error logs9945242- Removed unused Apache POI library from JavaMail bundle
f42b86d - Fixed some issues announced by Eclipse IDE
e1b054b - Improved logged error message
9417579 - Removed remnants
cb9b85d - Resolved warnings
9778c66ba04ee49fea79757819862dbdc9d06e0f602f2a31f5e6de37d206ac0cf2ad17e48753a - Don't build log message if log level does not fit #3
b55c826
Removed
MW-1946- removed org.apache.tika (and com.openexchange.textxtraction). The required functionality is now provided through the new bundle com.openexchange.tika.utilf7076faMW-1930: Removed direct links from notification maila2e29a9- Removed obsolete test
3733b38
Fixed
MWB-1983: Limit line length and header count when fetching HTTP headers of an HTTP message + Replaced usage ofjava.net.HttpURLConnectionwith Apache HttpClient where necessary1d12911MWB-2026: Try to handle possible connection loss errors during mail export operation6ff82b6MW-1840-8x-patch: Encrypt with old engine, try decrypt with new if possible0f8a3f3MWB-1999: impp type other than work or home is set properlye3f0d3cMWB-2023: Fixes to pre-update job for installations with multiple complex rolesc0bf897MWB-2021: Return proper value for "com.openexchange.subscribe.subscriptionFlag" on folder retrieval0d186b1MWB-2027: Specify missing error message argument on SQL errorbeb2904OXUIB-2162: wrong translation for calendar change23ff72eMWB-1997: API access not fully restricted when requiring 2FAbd67a4eMWB-1983: Limit line length and header count when fetching HTTP headers of an HTTP message + Replaced usage ofjava.net.HttpURLConnectionwith Apache HttpClient where necessary #2c0e345bMWB-2005: Fixed retrieving RSS feedfc07069MWB-2028: Fixed look-up of attachments in case IMAP message has TNEF content5934db4MWB-2008: Don't allow to access snippets/signatures from other users if not shared00957b4MWB-1991: properly remove metrics in case pool is destroyed38286d9MWB-2020: added sanitizing to filter rules + improved the sanitizing regex21ca22eMWB-1981: properly check returned ical size5bea149MWB-2025: Fixed avoidable exception on DEBUG loggingcf950d6MWB-1939: Print exposure time as fraction if possible8de8cb3MWB-2006: use owc only on feature branches65b1aa9MWB-2007: Only set "domain" parameter when dropping a cookie if value is considered as valid: Not "localhost". Not an IPv4 identifier. Not an IPv6 identifier22f9029MWB-1928: Only check usage (space capacity) of destination storage when moving from user-associated file storage to context-associated one since no entity assignment takes place #2f76537bMWB-2036: Do escape column names when building database statements for context move89c9a1fMWB-1991: adjusted 3rdPartyLibs.properties0fa654aMWB-2021: Return proper value for "com.openexchange.subscribe.subscriptionFlag" on folder retrieval (2)a1775e7MWB-2000: Only query fields necessary to construct contact image URI10856ccMWB-2010: Set correct compression level for data exportsfb07ee6- Fixed importing and exporting the same package
db5cd45 MWB-2000: Only query fields necessary to construct contact image URI (2)96bfe2d
8.9.0 - 2023-01-10
Added
Changed
- Refactored context restore for better readability and maintenance
197a237 - Change for
MWB-1962: Upgraded Hazelcast from v5.1.2 to v5.2.1bfe140b - IMAP: Check via ID command if IMAP server appears to be a Dovecot server
f639fa4 - Avoid unnecessary creation of byte array when outputting thumbnail content to client
6777845 - Avoid unnecessary SELECT statement and use "INSERT ... ON DUPLICATE KEY UPDATE" instead
1b47613a4f414d - Direct initialisation of "AttributeChangers" instances
6c4bf47 - Use singleton w/ dedicated initialisation/dropping
48accd9 - Thread-safe collection
48d858c - Use proper URL for HttpContext when trying 2nd time
2984c65 - Use singleton w/ dedicated initialisation/dropping #2
edeff71 - Removed unnecessary variable
749e77b - bump helm chart version
- This is for the new configurable helm chart deployment type
0cf0eb3
- This is for the new configurable helm chart deployment type
- Cache as immutable set
0033fd3
Removed
- removed unnecessary join (to be compatible with guest users)
d46976c
Fixed
- fixed some variables in the translation
26065e5 MWB-1947:- Introduced map for storing/managing state during authentication flow
- Added property
com.openexchange.oidc.mail.immediateTokenRefreshOnFailedAuthto enable/disable immediate refresh of OIDC OAuth tokens on failed authentication against mail/transport service - Implemented immediate refresh of OIDC OAuth tokens in case of failed authentication against mail/transport service
276670e
MWB-1966: Use proper error code to advertise resource exceptions to client0e2e389MWB-1995: Check if distribution list members are accessible prior to adding them #28beba6aMWB-1963: More reasonable default value of 2GB (2147483648 bytes) forcom.openexchange.servlet.maxBodySizeproperty, which now effectively limits file uploads (no chunked HTTP upload anymore due to omission of Apache Web Server that is replaced by Istio). Moreover, introduced new property "com.openexchange.servlet.maxFormPostSize" with default value of 2MB (2097152 bytes) to have a dedicated property to control max. size for form data sent via POST.bd6fe39MWB-1972: Correctly indicate resource type in principal resources1ef0a13MWB-1995: Check if distribution list members are accessible prior to adding them153909bMWB-1936: Revisited transport checks8542d55MW-1989: Don't let delete operation fail upon malformed change exception data while tracking changes3d47d7eMWB-1985: properly handle public tasks folder in case no-reassign is set036afccMWB-1984: Prefer address from EMAIL parameter when deciding if iMIP mails from iCloud are considered as 'known' sender543dbcc- Change for
DOV-4625: Detect missing space character in case of corrupt NIL value for PREVIEW fetch item; e.g. "PREVIEW NILUID 1"d2ca600 MWB-1956: Apple Mail flag taken over even though Open-Xchange color flag has been explicitly set to NONE9f18684MWB-1964: Let guest inherit sharing user's filestore if applicablee82657bMWB-1961: throw proper error in case user is missingd682bf8MWB-1934: Don't allow empty "From" address on mail transporte64de8aMWB-1820: only removes guests in case of real failures110596fMWB-1971: improved matching of distribution list members1218c53MWB-1851: Return proper folder identifier when saving draft to POP3 account05e59fcMWB-1951: Use unicode address to resolve mail recipient7fb1c8cMWB-1986: Fixed SQL error in SELECT statement (Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause)91105d0MWB-1978: Prevent changes of object id when generating delta event7de23e6
8.8.0 - 2022-12-14
Added
MW-1857: Option to disable SMTP for 3rd party Mail Accountsa6d5a0b- Added a new middleware property
com.openexchange.mail.smtp.allowExternalwhich defaults to true - Utilise that property to filter the transport details in the mail account POJOs
- Introduced a new read-only JSLob entry under
io.ox/mail//features/allowExternalSMTPwhich reflects the middleware's property - Forbid sending mail from an external SMTP server as long as the setting is set to false
- Forbid creating/updating mail accounts with transport information as long as the setting is set to false
- Added a new warning for preflight/validity checks which reflect this
- Added a new middleware property
MW-1831: Push configuration for macOS drive clientd2a9903SCR-1157: Introduced properties for macOS client push notification configuration
SCR-1165: Added options to specify socket read timeout when applying filter to existent messages53f3023MW-1938: New Templates and Examples section for documentation and adapted jenkins workflow to dynamically point to the correct version of the files11bbcbc
Changed
- MAL: Enhanced
MSG-1016error code by actual connect timeout valuee194eb1 - Mail Auto-Config: Let auto-config attempt fail immediately in case login attempt encounters failed authentication due to wrong credentials/authentication data
f1fea9045b68d0 MWB-1943: Apply consistent configuration to mail auto-config as used when connecting to the account during runtime1d682ef- Don't build log message if log level does not fit
4b55202 MW-1941: Updated and re-structured documentation373dce4OXUIB-2066: Propagate configured mail fetch limit via JSlob under "io.ox/mail//mailfetchlimit"895d606- Database: Utility method to re-execute DB operation on transaction roll-back error
bb47eab MW-1904: Adjust for Reserved Words in MariaDB 10.6d713340- Using back-ticks in SQL statements to handle new reserved words in MariaDB 10.6
- Only the keyword
OFFSEThad to be adjusted in SQL statements
- Don't build log message if log level does not fit #2
37dd1ad - JavaMail: Optimized creation of FetchResponse instances through remembering if RFC8970 "PREVIEW" capability is advertised by IMAP server
cb17cd5 - MAL: Enhanced "
MSG-1016" error code by actual connect timeout value #2c108082 MWB-1909: Extended information in case an error occurs470911d
Fixed
MWB-1902: Use localized display name for groups towards clients27f0a50MWB-1857: Incomplete response when requesting /infostore?action=list0d4ddce- Change for
OXUIB-2067: Avoid alternative MIME part look-up by Content-Id in case no such part is contained in IMAP message's BODYSTRUCTURE information49f3b9e MWB-1944: Don't cache user-sensitive non-file-backed propertiese7d0385MWB-1904: Properly indicate 'DAV:need-privilege' precondition with HTTP 403 for PUT requests w/o sufficient privileges65e64e6MWB-1940: Only inject a valid image URI into mail body's HTML part if such an inline image seems to exist in parental maild70ce12MWB-1887: Delete folders chunk-wise to avoid excessively big database transaction244847dMWB-1901: Disable usage of XCLIENT SMTP extension by default4452098MWB-1948: Perform alternative SASL long against SMTP server if initial response exceeds max. line length of 99890b9477MWB-1899: Accept escaped wild-card characters in search pattern141e691MWB-1912: aligned checks with documentation8de34a9USM-36: Re-introduce CUD actionse83189bMWB-1928: Only check usage (space capacity) of destination storage when moving from user-associated file storage to context-associated one since no entity assignment takes place06f177bMWB-1909: Handle possible NULL result value when querying countsa64eb82MWB-1950: Do not check the user while resolving mail recipients in recipientOnly modus263a2b5MWB-1929: Remove sessions from remote nodes during backchannel logout synchronously82d4253- Fix connection leak in test clients
a415e8e MWB-1931: Don't allow empty passwordsd506a00MWB-1944: Don't cache user-sensitive non-file-backed propertieseb74ebfMWB-1887: Don't forget to finish Infostore instancef1d4fc4MWB-1923: Avoid premature closing of attachmentsa9a5174- Use proper fall-back for "com.openexchange.imap.folderCacheTimeoutMillis" setting
87d9b67 MWB-1941: Deleteuser fails with invalid CU035a397MWB-1949: fixed wrong option within the documentation of the command line tool357d263GUARD-391: Split lines only on newline during normalization8873cfd
Security
OXUIB-2034: Deny setting certain jslob core subtreesa603fa8929b9a- See also
MWB-1784
- See also
8.7.0-8.7.19 - 2022-11-11
Added
MW-1877: Permissions for Resources- Introduced resource scheduling privileges 'ask_to_book', 'book_directly' and 'delegate'
- By default, group 0 has 'book_directly' privileges for each resource("unmanaged mode"), unless defined differently ("managed mode")
- Extended resource model by a corresponding permissions array, storing privileges per entity
- HTTP API is adjusted accordingly (
SCR-1154) - New database table resource_permissions to store resource privileges of users/groups (
SCR-1153)4de788f
MWB-1871: added possibility to parse images of nested messages- Added new lean property com.openexchange.mail.handler.image.parseNested with defaults to true
b42dfec
- Added new lean property com.openexchange.mail.handler.image.parseNested with defaults to true
MW-1903: introduced CORE_TEST param to Jenkinsfile6a4a0baMW-1507: Calendars for Resources- Introduced virtual folder identifiers for resource calendars (
SCR-1149) - Folder ids can be used in typical "chronos?action=all" requests to get the contained events, actions "advancedSearch", "get" and "list" are supported as well
- Events returned under the perspective of a virtual resource folder will also have this virtual identifier assigned within the folder field
- The requesting user will either get all details of an event in a resource folder, or only an anonymized version - depending on whether the event is visible for the user in another folder view or not.
6fbc61a
- Introduced virtual folder identifiers for resource calendars (
MW-1792: Allow changing of "includeSubfolders" flag through link permission entitye326340
Changed
- Minor changes for mail auto-config
8221066 MWB-1901: Do not issue XCLIENT command if no XCLIENT parameter is supportedc915650MWB-666: Send "431 - Request Header Fields Too Large" HTTP error response instead of "400 - Bad Request" when HTTP packet header is too largea7cc43c- JavaMail: Check appropriate capability "SEARCH=X-MIMEPART" prior to performing a file name search
3cc2ce8 OXUIB-2025: Added support for TEXT search term to filter messages that contain a specified string in the header or body of the messagef775905OXUIB-2025: Added support for TEXT search term to filter messages that contain a specified string in the header or body of the message #2910eb69MW-1915: Migrated helm lint/publish and docu build/publish to jenkins391bc2bMW-1813: New approach for centralized version informationcf6d801MWB-1826: Added some logging49c0b33MWB-1891: Don't validate distribution list member's mail address during user copye3c0f22MW-1914: Extend Webhook integration for Jitsi ConferencesINF-30: Use globally configured appRoot16853d6
Removed
- Removed c.o.dav.push leftovers
4369c69 - Removed c.o.mail.authenticity leftovers
c753f59 - Removed c.o.oauth.linkedin leftovers
638988b - Removed c.o.halo.linkedin leftovers
121f054 - Removed c.o.subscribe.linkedin leftovers
01d80d1 - Removed c.o.mail.authentication leftover
2a846b0 - Removed no more required folder
d57ee8c - Removed no more required folder
1a482ee - Removed obsolete o-x-test-bundles
dd513de - Removed c.o.printing leftovers
a2f7b3e - Removed no more required folder
5ee810f - Removed redundant/obsolete folder implementations
102032c
Fixed
MWB-1907: Restored previous SOAP behaviour by accepting individual parameters instead of a wrapping parameter objectd1c2de4MWB-1876: Check redirect location against blacklisted hosts when creating an iCal subscription.e219389MWB-1911: Do not require deputy service in case user replies to a message residing in a shared mail folder4377dff- JavaMail: Add the ability to the API consumers to load the API implementations by using a different protection domain when the API is used with security manager enabled
12f4647 - JavaMail: Implement equals() and hashcode() on jakarta.mail.Header (#597)
8294cf2 MWB-1908: Keep remembering OIDC -> OX session id mapping in state after auto-loginc11a94d- JavaMail: j.m.u.FactoryFinder.factoryFromServiceLoader needs PrivilegedAction #621 (#622)
83d9c14 MWB-1909: Adjusted queries issued by datamining tool to obey MySQL's ONLY_FULL_GROUP_BY modea4e293e- JavaMail: Fix630 2 (#633)
75b7136 MWB-1893: Don't let delete operation fail upon malformed change exception data while tracking changes78615b9MWB-1887: Fire events with a separate thread avoiding unnecessary occupation of deletion-performing main thread0cbd10cMWB-1887: Allow /folders?action=clear being performed as enqueuable operationcc226a7MWB-1898: Added documentation examples for mapping context-/user-id properties to LDAP attributes properly3be7f84MW-1813: bug fixed by which the version was not resolved correctlyaa0d040MWB-1889: Drive mail with expiry date / with password can not be send7b462f4MWB-1892: Don't filter "com.openexchange.grizzly.serverName" property from log event4d342b8MWB-1878: Handle empty Disposition-Notification-To header on deletecf06c47MWB-1882: Upgraded Apache Commons Text from v1.9 to v1.10.07a911beMWB-1890: Do obey folder types restriction when constructing search term for looking up events of user87ec00eMWB-1874: Remove references to contact in distribution list member when contact's email is cleareddb7ef9eMWB-1695: Introduced "requiredCapabilities" for App-specific Password ApplicationsSCR-1155ec439e9MWB-1865: Use internal resources for image build #2320b808MWB-1834: Check command line options before accessing the reseller servicee94ab2aMWB-1865: Use internal resources for image builda48433d- use proper fallback property for exclude file pattern
0eadd7d MWB-1866: Orderly consider public folder mode when userizing event data in result tracker15274d9MWB-1719: Don't forget to reassign returned Stream instance when applying filtera76a018MWB-1870: Multifactor Webauthn provider throws UnsupportedOperationException8c8a2b7
8.5.0-8.6.3 - 2022-10-05
Added
MW-1785: Introduce pre-upgrade task framework6396946MW-1815: Attach files from drive to chronos eventsfabeec5MW-1647: Handle linked attachments for appointmentsfc5477c
- Externally hosted attachments can now be stored for appointments, with an URI pointing to the data
- Introduced new field
uriforAttachmentDataobject (HTTP API), with column id891 - Added new field
uriforc.o.groupware.attach.AttachmentMetadataDTO as well - Adjusted interface
c.o.chronos.storage.AttachmentStorageand implementation to reference non-managed attachments properly during deletions - Breaking Change Update task
com.openexchange.groupware.update.tasks.AttachmentAddUriColumnTaskto add columnuriin tableprg_attachment
- Externally hosted attachments can now be stored for appointments, with an URI pointing to the data
MW-1817: Integrate upgrade preparation bundle into core-mw helm chart997fb26MW-1607: Add domain support for push payloade924d1b- Drive clients can now subscribe for push notifications using domains 'myFiles', 'sharedFiles' and 'publicFiles'
- The domain value gets re-inserted into push payload for transport 'apn2'
- Removed configuration property com.openexchange.drive.events.apn2.ios.pushDomain
- Drive clients can now subscribe for push notifications using domains 'myFiles', 'sharedFiles' and 'publicFiles'
Changed
MWB-1849: Improved parsing of OAuth provider error message31933c5MWB-1826: Added useful DEBUG log messages when adding an image to a signature1f1e8f9MWB-1828: Improved handling ofjavax.net.ssl.SSLException5180c7bMWB-1849: Improved parsing of OAuth provider error message #2c950617MWB-1830: Improved error message in case of denied requeste0d3c94MWB-1759: Deny requesting large message chunk in case client queries more than only identifier fields8e6ddb4MWB-1800: Introduced configuration option4e95327- "com.openexchange.calendar.storage.rangeIndexHint" to allow insertion of index hints into typical database queries of the calendar module
MWB-1776: Utility method to clear DNS cacheb9c7ff3MWB-1759: Don't query flags if not required24729beMWB-1716: Added some helpful logging about bundle status1918165MWB-1716: Added some helpful logging about bundle status #2d056354MWB-1764: Added DEBUG logging when checking status of a mail account yields an error2119413MWB-1750: Improved handling of possible javax.net.ssl.SSLException "Unsupported or unrecognized SSL message"0af276aMWB-1776: Added logging when DNS cache has been clearedfe93ae2MWB-1759: Delay initialization of TLongObjectHashMapbbb6a9fMWB-1759: Nullify intermediate result103f70f
Removed
MW-1866: Remove bundle com.openexchange.quartzc1975fcMW-1817: Remove parallel container execution for update joba04115f
Fixed
MWB-1842: Prophylactically decode potentially MIME-encoded strings in property values in iCalendar files from MS Exchange24af8ecMWB-1848: removed fallback value for manifest version field8b468a8MWB-1839: Use dedicated introductions for forwarded meeting requests the user is not invited toe03a09eMWB-1608: Fixed RuntimeExceptions in calendar stackbd422acMWB-1808: properly detect reminders with missing permissionsbb3f1e6MWB-1813: Added documentation for mail?action=expunge56bff39MWB-1811: Ensure internal entity is admin, prevent permission57ca47b00b77021358b10MWB-1838: Yield no result when auto-processing REQUEST with party crasher, let client re-apply iTip independently of message status flag8ec6208MWB-1840: Return empty ajax respone if no event was found during resolve action81be74c- Add missing com.openexchange.gab import in bundle com.openexchange.admin.plugin.hosting
9749ecb MWB-1805: Use URL-decoded variant of username in Authorization header for macOS Contacts client if applicable7d805e8MWB-1735: Fixed links in Command Line Tools articlesb9ac1acMWB-1711: Removed obsolete ContextDbLookupPluginInterfaced9309b1MWB-1721: Evaluate 'X-Device-User-Agent' and pretty print common EAS devices in active clients overview7b197c1MWB-1702: Skip premature cache invalidations to prevent race conditions upon folder update7e643b8MWB-1787: Prefix download URI with current scheme/host if no absolute URI is configured in manifest5424d16MWB-1737: Removed obsolete ETag check after HTTP 409 errorseac8317MW-1817: Proper yaml in overwrite configmap if no properties are set7c4f3c8MWB-1760: Properly indicate "share not found" status for invalid targets of anonymous shares152f332- Apply maxHeapSize to init containers
493c5e4 MWB-1722: Do not convert aperture value, because we already read the f-number from exif datac5d97dc- Disable hz update bundle by default
01c5d7d