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.43.52 - 2025-10-02
Added
SCR-1605: New property to limit maximum attendees per conflict check (SCR-1605)a8ab6a50SCR-1606: New property 'com.openexchange.caldav.calendarMultigetLimit'9ebafff9SCR-1607: New property 'com.openexchange.calendar.lookupPeerAttendeesEnabled'd60b22db92b413fc- Support to disable TLS for mariadb-client
8fa9a1aa core#378: Introduced options to limit reminder range requestsff01b6c6support#850: Documentation for 'com.openexchange.undo.enabled'1d60817fsupport#888: Indicate configured value of 'maxAttendeesPerConflictCheck' via JSlob API13e27b0f
Changed
- Added no-op mappings for orphaned user properties links/number_of_links (columns 591 and 595)
696a2e00 - INU-4985: Consolidated parsing/writing of BDAY and ANNIVERSARY without year part in vCards
fa640454 support#883: Query attendees chunk-wisefa6b1237SCR-1599: Changed typo in property name and now properly use "com.openexchange.mail.proxyExternalImageUrls" instead of "com.openexchange.mail.proxyExternalImagerUrls"b3e3f26dSCR-1604: Updated OSGi target platform bundles8d2042e9SCR-1611: Added possibility to enable round-robin on IP address selectione5170e58cbd035717cbb4d40e4038669SCR-1612: Updated Spring Framework libraries from v5.3.32 to v5.3.392f79d5d3- Updated core-mw chart dependencies
1df9308f- Updated Gotenberg image to v8.23.2
- Updated Collabora image to v25.04.5.3.1
- Updated Collabora chart to v1.1.49
- Check number of recipients against configured limit ("com.openexchange.mail.maxToCcBcc") as well as validate recipients' addresses
b87f2b2b - Do not need to explicitly pass mysql args to initconfigdb script
69f04b2a - Updated integrated timezone definitions to tzdata2025a
29585c43 core#358: Delete previously scheduled mail data along with associated message when re-editing as draft0a47882d8b5e5bafcore#364: Cope with "Domain ends with dot" address parse exception on message transporte5629919core#378: Only load data for limited amount of attendees during conflict checksaf1beadf
Fixed
- Also consider
- Drop existent scheduled mail on "Cancel send" and manual deletion from Scheduled folder
e0f178b0 - Fixed typo in table name in
com.openexchange.groupware.update.tasks.DropJsonCacheTableTaskupdate task363eb65b - Removed the deprecated clause from property description for "com.openexchange.cache.v2.redis.disableHashExpiration"
66bed375 core#371: Minor contact trash oversights241920d6core#372: Process data chunk-wise during 'movecontextdatabase'37352651SCR-1603: New Configurartion Properties for 'movecontextdatabase'
core#377: Stick with common routines when resolving CardDAV resources from LDAP7d162650core#378: Include folder id term when resolving resources by UID7e3b66ebed65479ecore#383: More robust parsing of image URIs as well as apply proxy routing to external images on reply/forward9082b8b8235f6695ef63083d15e644cf7362c334core#384: Orderly update folder's anonymous guest permission on follow-up mail transport attempt1659bb08
8.42.48 - 2025-09-03
Added
SCR-1594: New Configuration Property 'com.openexchange.admin.user.convertguest.default' (SCR-1594)e2dbf73e#367: Documentation for external image proxy for HTML mails - /appsuite/platform/core#3671b9b592e
Changed
FCV-127: Don't use fallback path for image transformation if ImageConverter server is configurede13222f2SCR-1588: Changed limitations for images in snippets (signatures)8f458ee3SCR-1589: Updated Apache Commons BeanUtils library from v1.9.4 to v1.11.01c2a66cfSCR-1590: Updated Apache Commons FileUpload library from v1.5 to v1.6.04f046978SCR-1591: Updated Apache Commons Lang library from v3.14.0 to v3.18.053adfa6dSCR-1592: Updated Apache CXF libraries from v3.5.10 to v3.5.11ec426be9SCR-1593: Updated Nimbus JOSE+JWT library from v9.41.2 to v10.0.2cb05b698SCR-1595: Drop unused "jsonCache" table as well as referenced entries in "updatetask" tablea1b9b056SCR-1596: Updated Bouncy Castle libraries from v1.78.1 to v1.795f4c9638SCR-1597: Updated Netty libraries from v4.1.121 to v4.1.124bd60537eSCR-1598: Updated UnboundID LDAP SDK from v5.1.4 to v7.0.3ae280843- Updated core-mw chart dependencies
91a56a05 - Improved documentation for session monitoring
d22adcd0 - Updated Gotenberg to v8.22.0 and Collabora to v25.04.4.3.1
3ec4d0c0 - Wait for ongoing requests as specified by terminationGracePeriodSeconds
94fa50e7 #358: Preserve composition space header references when storing draft for scheduled transport - /appsuite/platform/core#3589eeb2fbb#360: Copy and adjust user's jslobs too, /appsuite/core#36031bb08a4#364: Added extended logging when sending due scheduled mails - /appsuite/platform/core#3646e977ad9#635: Use an SQL IN statement to delete multiple documents from infostore database tables - /appsuite/support#635085b83e0664364f5d085d091#754: Avoid annoying WARN log message if decryption of a secret string fails - /appsuite/support#754929345b0
Fixed
- Proceed to next occurrence if applicable during initial alarm trigger calculation
c877d896 - Properly track WebDAV metrics for OPTIONS method
0b6aa672 - Minor user copy issues, removed copying app password feature
ef414810 - User copy group and calendar hardening
5775eec7 #357: Drop "@import" words from CSS content - /appsuite/platform/core#357faa58c902ad0745fcb1c7e70#358: Explicitly drop existent scheduled mail on edit - /appsuite/platform/core#3589afed86804cccc3ad9f72cc6507a8f6a4036b822e0fba9872ba861c0bfc02fb7#361: Orderly detect possibly harmful HTML content - /appsuite/platform/core#361b15c70ff#362: Orderly parse arguments for the "string" test - /appsuite/platform/core#3627a789ed9#364: Improved handling for failed transport of scheduled mails - /appsuite/platform/core#36432375e84#367: Allow accessing images located at an internal address - /appsuite/platform/core#3675d0cdcad#368: Allow dropping user's contact image through passing emptyelement - /appsuite/platform/core#368 8c3a822d#369: Skip deletion of S3 chunks if there are none - /appsuite/platform/core#36936d5fee8#736: Corrected ID mangling when searching by folder name in drive - /appsuite/support#736052979b6
8.41.52 - 2025-08-06
Added
SCR-1584: New Property 'com.openexchange.calendar.includeCreatorInFreeBusy' (SCR-1584)3bac5ed8d26c4b33SCR-1586: New Parameter 'user' for Action 'resolve' in Module 'chronos' (SCR-1586) - /appsuite/support#7311d120b60#741: Documentation for defaultLanguage property that is used for the login page if no user language can be detected - /appsuite/support#741de118a79#1101: Expose owner info for share mail folders - /appsuite/web-apps/ui#1101251d8570
Changed
SCR-1581: Updated bucket4j library (Java rate-limiting library based on token-bucket algorithm) from v8.7.0 to v8.10.1224a10f0SCR-1582: Upgraded JSoup library from v1.19.1 to v1.21.1cfdd3d52SCR-1588: Changed limitations for images in snippets (signatures)73270a37#265: User-copy improvements - /appsuite/core#2659e6acda8SCR-1585: User copy improvements
#329: Optimized bulk retrieval of folder properties - /appsuite/platform/core#329d5365974#340: Retry with SMTP "DATA" command in case "BDAT" command is rejected - /appsuite/platform/core#340369fce8f8cc59d86ec36133a5fdc9ae3#341: Use common Map.Entry interface to signal supported languages - /appsuite/platform/core#3418b824d37#344: Additional measures to skip unknown entities in loaded event data - /appsuite/platform/core#34473e479b7#345: Default folder for Drafts, Sent, Spam and Trash are required - /appsuite/platform/core#345a1292e44#349: Use pagination when querying context identifiers - /appsuite/platform/core#349641c1be099b0a9d7#731: Improved documentation when acting on behalf from received scheduling mails - /appsuite/support#7310d8a13eb#735: Use pagination when querying context identifiers - /appsuite/support#735de4be187
Fixed
- Close LDAP connection pool (wrappers) prior re-initialization
d373bb79 - Include attachments when exporting events - /appsuite/platform/core/350
b97c1ae8 - Several corrections and improvements for LDAP contacts provider cache
1e271402 - Fixed typo in openid docu
bac67164 - Removed deprecated property from oidc docu
581077e1 #306: Orderly throw exception if endpoint is not configured with TLS - /appsuite/platform/core#3060b6aea274a91c2c70e1b1dc0#332: Fixed description for various "AUTO_TO_LOWERCASE_UID" properties for admin module - /appsuite/platform/core#332a18a0dc8#335: Orderly parse retrieved value to appropriate type - /appsuite/platform/core#3350132b9ad9eeddbc84899a674#336: Deny attribute values containing HTML fragments - appsuite/platform/core#33692744f0b#337: Corrected SQL statement used by 'registerfilestore' - /appsuite/platform/core#337f3d066bc#338: Route access to external image resources through a proxy that denies possibly requested basic-auth - /appsuite/platform/core#338647b67d83c949b971e55d928b34391a42f8c09c1e364679420028a2b8e30ceff477b3516#339: Dynamic repository for hyper links in documentation - /appsuite/platform/core#33926190f8b#342: Deal with possible NO response when probing for file name search capability of an IMAP server - /appsuite/platform/core#342260792f8ef08d521#345: Retry database transaction in case of detected deadlock and retry recommendation - /appsuite/platform/core#345019be0ad#351: Avoid dependency to admin bundle through introducing an intermediate service delegating to admin functionality - /appsuite/platform/core#351b1ac04e251edb9a7b2ec9212faf4f27e#354: Inject 'exclude admin' clause at right locations while crafting contact search statement - /appsuite/platform/core#354eb7c9a74#355: Cleaned up notification mail template leftovers - /appsuite/platform/core#355b23978e1#356: Keep user-specified setting for a config-cascade setting originating from non-user scope - /appsuite/platform/core#3567777fd5a#357: Drop "@import" words from CSS content - /appsuite/platform/core#357c548f8c7
8.40.56 - 2025-07-09
Added
#6: Introduced limits for maximum number of tombstones per external calendar account - /appsuite/platform/core#682af4d12SCR-1576: New properties to control number of tombstone records
Changed
SCR-1577: Updated OSGi target platform bundlese606fa05#262: Allow only a certain max. number of invocation to OIDC authentication failed handler - /appsuite/platform/core#26282f04d2f8da777bd35f51825#304: Added special connection error circuit breaker - /appsuite/platform/core#3044885e8dc43a650e3#318: Take client identifier from servlet path if possible - /appsuite/platform/core#3184215f081#635: Use an SQL IN statement to delete multiple documents from infostore database tables - /appsuite/support#635181f2ee7
Fixed
#670: Determine file size from passed input stream instead of re-querying file storage - /appsuite/support/-/issues/#670bc1e9087#317: Added missing snippet import action docu. Ref. 317eb1ba639- Set default value for contact autodelete rententiondays
c4140800 #205: Don't add events to existing calendar object resource w/o series id - /appsuite/platform/core#2054a9cbe2b#245: Aligned identifying fields when checking maximum size of returned event collections - /appsuite/platform/core#245ede890df#262: Re-Initialize authentication information mail access state once new OAuth token were acquired - /appsuite/platform/core#2621620ad40#282: Orderly set content type 'application/x-apple-aspen-config' after signing plist file - /appsuite/platform/core#2824523a01c#320: Ensure moved/copied files are moved back/deleted on exception path during file storage move operation - /appsuite/platform/core#320ee935054#325: Use local reference when printing capabilities in debug mode - /appsuite/platform/core#325e52cfbde#327: Apply lowered read timeout when probing for file name search capability of an IMAP server - /appsuite/platform/core#3271d960a94#331: Prevent amount quota deadlocks while creating events - /appsuite/platform/core#331d6aea38dbfdd32d7#333: Use a temporary table (derived table) when deleting entries from 'updateTask' table while reading from it in a subquery - /appsuite/platform/core#333e81c52f2
Removed
8.39.64 - 2025-06-11
Added
- Made similarity service optional #286
653cc5cc #268: Support for Cross-context ACLs in Mail Folders - /appsuite/platform/core#2687a1231dc#274Extended copy action to support multi-contact selection and undo and overall polishing - #2747f4810c9
Changed
SCR-1572: Introduce 'separateTransactionForSequenceIds' setting for calendar storage operations - /appsuite/platform/core#27214e81b53- Adjust contact autodelete configuration to use jslob
57d40a30 - Extended mail category attributes by an icon name
0f12aed09efde57f1eb296964821fc6908e7db60 - Adjusted tests to run without test contact providers. Ref. #295
3b508809 #262: Retry IMAP-IDLE run loading newest session representation from session storage into local cache - /appsuite/platform/core#2629a23afa0#307: Added possibility to perform a case-insensitive look-up for context/user in database - /appsuite/platform/core#307308d05f7#567: Added DEBUG logging when altering "no copy into standard sent folder" mail setting - /appsuite/support#5676d1160ee
Fixed
- Perform check to implicitly assume protocol=SOCKET for mysql command-line tool at right location - /appsuite/platform/core#309
38df4bd1 - Deal with possibly dying connection when probing for FILENAME SEARCH capability
5840ffdc - Initiate transaction for proper ID generation in case Unified Mail is newly initialized
bb939049 - Orderly invalidate mail account even though connection in transaction state might be passed
81105973 #267: Set proper version in API documentation - /appsuite/platform/core#267a3ef0ba4#272: Don't attempt to resolve external attendees by email unless required - /appsuite/platform/core#272c70a165e15cfecfcSCR-1571: Exposed parameter 'trackAttendeeUsage' for 'chronos?action=new' and 'chronos?action=update'
#276: Do not cache trash folder at creation time, /appsuite/platform/core#27614fd750d#277: Ensure no duplicate entry is inserted into update task table and clear existent ones - /appsuite/platform/core#2774bfc75e2e986e4a5#279: Only inject credential provider if proxy username is configured for mail autoconfig - /appsuite/platform/core#279879926b0#280: Include managed attachments in iMIP when forwarding events - /appsuite/platform/core#280f8d89095#281: Use system proxies for APNs push if defined - /appsuite/platform/core#2818a6b5e2f#306: Orderly throw exception if endpoint is not configured with TLS - /appsuite/platform/core#306a7457309#308: Obey to sort by received date descending in case messages' flags are equal - /appsuite/platform/core#308dca8e845#312: Perform chunk-wise deletion of tomb stone entries - /appsuite/platform/core#312c562706e2d38754c970f5123#567: Allow property-wise override for "no copy into standard sent folder" mail setting - /appsuite/support#567a6fbdef8#600: Early return in case a chosen source's values have been applied - /appsuite/support#600e0158716
Removed
8.38.77 - 2025-05-15
Added
SCR-1453: New parameter "sortByUseCount" for "search" action in module "resource"5a2665d0SCR-1566: Update Task to Clear Empty Categories for Contacts766e14cf- Add version label to base layer image
e20991f7 - Priority class for pods
16fb5c79 - Redis connection monitoring in grafana dashboard
aef939e8 #82: Free/Busy and Conflict Checks for iCalendar Subscriptions - /appsuite/platform/core#82490fcc0bSCR-1564: New Configuration Property 'com.openexchange.calendar.externalConflictChecksTimeout'
#188: Ensure deputy folders are auto-subscribed implicitly - /appsuite/platform/core#1882dbe6443#194: Send Notification Mail when Granting Deputy Permissions - /appsuite/platform/core#194c2398f57
Changed
- FCV-127: Let wait time begin once image transformation task has been scheduled and be interrupt-aware during processing
001cf090 SCR-1562: Updated Jackson libraries from v2.18.1 to v2.19.0e0496494SCR-1565: Redis connector now uses a pool of shared connections2ba79002SCR-1569: Updated lettuce library from v6.5.5 to v6.6.00669f957SCR-1570: Updated Netty libraries from v4.1.119 to v4.1.121f8857a48- Enforce serial processing for modifying operations of modules 'addressbooks' and 'chronos'
08b20222 #217: Provide sensitive Helm Chart values alternatively as existing Secrets - /appsuite/platform/core#217f891d856#234: Contact trash adjustments and improvements, /appsuite/core#234d477a875#237: Added 'dontResolveEntities' parameter also for 'POST' request method variants - /appsuite/platform/core#237ee798df3#247: Ensure delayed JSlobs are flushed to database on user update - appsuite/platform/core#24764cfa9acad654add07b3c87e4de9f4fe#253: Enhanced documentation for crawler-based contact subscriptions - /appsuite/platform/core#2538251da3f#255: Lenient parsing for LAST-MODIFIED and CREATED property - /appsuite/platform/core#25585cba477#257: Improved SIEVE parser error message if a nested rule is detected - /appsuite/platform/core#2574e47f411#545: Assume same mail back-end (user base) for primary and secondary accounts - /appsuite/support#545a621b609
Fixed
- Possible race-condition regarding contact trash folder
d86bc505 - Add watch permission for role to allow watching secrets
7577a55b - Apply header space if no html body tag exists
a7dc1e13 - Prevent Gotenberg from writing to /home/gotenberg/.local
11b9646e - Improved rule line counting for different line breaks
f98b1aeb #236: Guest user password setup fails - /appsuite/platform/core#236f256050e#251: Explicitly query relevant attribute when resolving mail login via LDAP - /appsuite/platform/core#2517b52bd7f#256: Orderly display HTML content as-is if nothing has to be modified - /appsuite/platform/core#2566dd8beab#259: Orderly write/read mail setting's quota and quota-per-file information to/from Redis cache - /appsuite/platform/core#259a441bc27#260: Orderly replace UI web path in notification link - /appsuite/platform/core#2606a2e1c17#263: Orderly use languages configured by core-mw helm chart - /appsuite/platform/core#2639a7451a8#264: Convert<input>elements of type "image" to appropriate<img>elements - /appsuite/platform/core#26450ab8a60#270: Respect CSS content length when looking-up closing brace}as end of a CSS block - /appsuite/platform/core#2702c48bdd2#273: Pass proper parameters on cache key generation - /appsuite/platform/core#273fe0bb3b6#573: Freshly obtain session by session identifier from session storage to avoid using possibly outdated authentication data - /appsuite/support#573ef8faad951fce319- Orderly invalidate mail account even though connection in transaction state might be passed
81105973 - Deal with possibly dying connection when probing for FILENAME SEARCH capability
5840ffdc
8.37.72 - 2025-04-15
Added
#173: Added folder mode to deputy permission feature - /appsuite/platform/core#173b984df95#182: Auto-delete for contacts in trash folder - /appsuite/core#1829022c6bb
Changed
SCR-1565: Redis connector now uses a pool of shared connections249b96afSCR-1551: Added newer Failsafe library to target platform39225b61SCR-1552: Upgraded the GSON library from v2.10.1 to v2.12.1500471a5SCR-1553: Upgraded JSoup library from v1.17.2 to v1.19.1b5af6dacSCR-1556: Upgraded MySQL-Connector-J from v.8.3.0 to v9.2.0e37ea5a3SCR-1558: IntroduceddontResolveEntitiesparameter to support import of separate event copies - /appsuite/platform/core#23744affc26#234: Contact trash feature polishing, /appsuite/core#234f65ee4d2SCR-1554: Rename contact trash folder to maintain consistency across the modules
#252: Don't expect invocation of 'post_logout_redirect_uri' callback during OIDC logout flow - /appsuite/platform/core#252a9e1fb2f56a5e853
Fixed
- Orderly copy configuration when using the go entrypoint script
b1c36869 #154: Added documentation for contact origin column - /appsuite/platform/core/1544cb707a1#154: Ensure contact trash folder is excluded for sync - /appsuite/core#154d5ae50a8#182: Property documentation - /appsuite/core#182a698106b#193: Only update attributes if there are actual changes - /appsuite/platform/core#193c57ae562#195: Check multiple possible public session cookie candidates for a valid session - /appsuite/platform/core#1955b5870635993d1ee6f22b4c4#213: Preserve flags on edit draft - /appsuite/platform/core#213178dd702#224: Corrected parameter handling when storing snippets into database - /appsuite/platform/core#22420967c51#232: Save autodelete props in config-cascade - /appsuite/core#23235cbc90c#235: Adjusted "Limitations" sections of CalDAV documentation to emphasize that no shared tasks folders can be synchronized - /appsuite/platform/core#235b81c65bc#238: Use 'default dict' for safe handling of properties in YAML templates to prevent nil values in core-mw configuration files - /appsuite/platform/core#23858101fcf#239: Escape illegal characters in cache filter suffix portions - /appsuite/platform/core#239a12ea0ba#241: Retry reinitialization of users_per_filestore table with manual INSERTs in case CREATE TABLE AS SELECT statement is prohibited - /appsuite/platform/core#241aeff879b#244: Don't check for possible locked document when dropping from trash folder - /appsuite/platform/core#244464c4c25#248: More contact trash polishing, /appsuite/core#2483b0d53f2#250: Keep local IP address in generated session - /appsuite/platform/core#250ef128617#464: Added option to disable 'send on behalf of' detection - /appsuite/support#46431837e29#499: Removed superfluous call to hard-delete messages when moving messages from Unified Mail's folder to another Unified Mail's folder - /appsuite/support#4995ce559fc#223: Ensure proper result size for contact requests ifcom.openexchange.showAdminis set tofalse- /appsuite/support#22391fb9f20
8.36.36 - 2025-03-12
Added
SCR-1528: Documentation for new "convert-guest" option (SCR-1528)690b888e- Introduced Go entrypoint script
5ef954d4 #154: Introduced trash folder for contacts - appsuite/platform/core#1547d92eeacSCR-1516: Added hardDelete parameter to contacts deleteSCR-1517: Added hardDelete to InternalContactsAccess InterfaceSCR-1518: Added restoreContact to FolderReadWriteContactsAccessSCR-1519: Added hardDelete to FolderReadWriteContactsAccessSCR-1520: New restore action for addressbook endpointSCR-1523: New property com.openexchange.contact.trashFolder.enabledSCR-1526: New origin column for prg_contacts and del_contactsSCR-1532: Introduced 'contact_trash' capability and config-path / jslob
- Added mail filter checker framework + reject single command check
3d92cbcc #190: Import further EMAIL properties into email1/email2/email3 unless already populated - /appsuite/platform/core#19008eb5663#200: More explanations and examples for Redis Cluster - /appsuite/platform/core#200ab589f65
Changed
- INU-4803: Additional tests for eager EMAIL import of vCards
9eed9407 SCR-1536: Updated Caffeine caching library from v3.1.8 to v3.2.01d7a4cef8abddf98SCR-1537: Updated Netty libraries from v4.1.115 to v4.1.11956c9cee6- Updated gotenberg and collabora dependency
370c39db #119: Convert guest to regular user - /appsuite/platform/core#119dfa51990#188: Added new lean properties to specify primary account's namespaces which are necessary when using Dovecot's DoveAdm API to manage deputy permissions - /appsuite/platform/core#188617bb891#206: Use spooling directory also when generating a data export's result files - /appsuite/platform/core#206e6841be1
Fixed
- Fixed no-class-def error javax/net/ssl/SSLSocketFactory
71aa75b3 - OXFolderAccess: Restored accidentally removed line
8943ec8f - Added docu for special value types for UI settings
c9e4f0b9 - Adjusted weakforced docu for helm deployments. Ref. #458
e388f3ff - Changed convertguest soap field to last position. Ref. #207
969bb120- Basically training wheels for shitty soap clients.
- Fixed typo in webauth prop docu
078bce96 #199: Support Unified Mail for requested undo operation - /appsuite/platform/core#1990a0549b795ab799bfbcfa8cb#202: Don't fail on 'null' values from MGET results - /appsuite/platform/core#2027bb2f282#215: Prefer a local cache for too frequently queried context data - /appsuite/platform/core#2152528a54f9b16de681936214c5d673c14#460: Enforce plain JSON response for mail-compose requests - /appsuite/support#4603b02cc48854799e503de8102#473: Pay respect to UserSettingMail.isHardDeleteMsgs() setting - /appsuite/support#4737bdc88a4
8.35.66 - 2025-02-12
Added
SCR-1486: New propertycom.openexchange.carddav.addressbookMultigetLimitdced5468- Added async provisioning framework
35b89cf8 #134: Health Check for Redis Cache - /appsuite/platform/core#134cb4b20fd#137: Expose CardDAV URL for Address Book Folders - /appsuite/platform/core#137185ab623#138: Warm-up Thread-local Cache when Handling Client Requests - /appsuite/platform/core#13859b383b7#139: Control Sharding for Redis Cluster - /appsuite/platform/core#13939594fad#144: Fixed existing graphs and added new ones based on redis cache metrics - /appsuite/platform/core#14422e1f263
Changed
- Add shared-read-only flag to snippet module to have shared snippets that may be seen, but must not be modified/deleted by other users
1c7e0b79 - Batch-resolve resources when handling CARDDAV:addressbook-multiget request
e5d88cea - INU-4548: Support configurable custom flag for mails
068cf122 SCR-1496: Enhanced OAuthAuthorizationService#validateAccessToken with Header collection parameter - /appsuite/platform/core#74e2f67eb3SCR-1510: Changed defaults for Client-Onboarding YAML configuration fileff520286SCR-1511: Update Apache Commons Codec from v.1.17.0 to v1.17.222bc2e48SCR-1512: Updated Apache Commons Codec library from v1.6.0 to v1.9.097cf880eSCR-1513: Update Apache Commons CSV from v1.6 to v1.13.0b6e9162bSCR-1514: Limit number of addressed keys per MGET operation (SCR-1514) - /appsuite/support#3402ddb4815SCR-1522: Updated Snappy library from v1.1.10.5 to v1.1.10.77b1667e0SCR-1528: New Option "convert-guest" in "createuser" Commandline Tooldfa51990SCR-1529: New "convertguest" Element for "create" in "OXUserService"dfa51990- Added appropriate OAuth scopes to mail compose actions
f573ffe3 - Allow to overwrite securityContext
633bd9ef - Skip capability check and don't trigger preview generation if not needed
fc3410fd - Updated collabora and gotenberg dependency
0c27b6ce - Changed copyright year to 2025
918cc6eb - Removed db defaults from values
0e9687e8- Removed the db defaults so that they can be overriden by global entries
- Also adjusted the mysql secret to use those defaults in case nothing is configured
#62: Gather subfolder ids for search from condition tree map - /appsuite/platform/core#629e45d258#119: Convert guest to regular user - /appsuite/platform/core#119dfa51990#142: Disable Global Folder Cache by Default - /appsuite/platform/core#142061688e4#156: Redirect to configured failure redirect location after erroneous token response - /appsuite/platform/core#1561da98a5a#163: Updated to newest SLF4j and Logback libraries - appsuite/platform/core#163350f77e9#169: Update cxf-libraries to 3.5.10 (CVE-2025-23184) - appsuite/platform/core#16932ee4852#171: Added documentation article for database cleanup jobs - /appsuite/platform/core#171584fb812#415: Subscribe/unsubscribe IMAP folder if deputy permission is granted/revoked - /appsuite/support#41523e516da74df2fb4#697: Use more compact token format - /appsuite/web-apps/ui#697d3a42a18
Fixed
- Connect CLT param
access-denied-portalto code #189fc3907a8 - IIJMX-554: Don't use IMAP folder's sequence number when sorting by received date is performed in application
d0ec138c - INU-4767: Improved handling of corrupt address list
dde1c354 - Only check conflicts for added/updated attendees unless re-scheduled
9a8cdb59 - PLG-450: Continue if visible folders cannot be collected for non-default contacts account
bed1aa6b - Fixed main by removing commons-cli-1.6.0 from target platform
97ecdfe4 - Adjusted documentation for 'flags' parameter
0a200e04 - Sorting of distribution list by first name #159
9c227c1c - Allow deletion of user attributes via json null values
aa90258d - Cache invalidator instance to prevent excessive pub key requests
7d0b14c5e66fc312 - Changed docu links to oss repo
d7d42e84 - Enable test on borrow for redis connection pool
f8d5be57 - Fixed AbstractAdvertisementConfigServiceTest
f301738b - Made flagging documentation more independent of the client
8f0c48b9 - Properly store host parameter during login
c02c5045 #62: Include system type when gathering subfolders for infostore search - /appsuite/platform/core#6257f6fa30#130: Skip initial reachability check for remote redis connections - /appsuite/platform/core#130654a44e0#135: Fall back to storage access if accessing cache yields errors - appsuite/platform/core#135fedb75c9#140: Corrected link in Contacts Provider LDAP documentation article - /appsuite/platform/core#1404d0e012c#141: Use only one cache region for advertisment config - /appsuite/platform/core#14176287ed5#143: Handle empty JSON input as no available value is Redis cache - appsuite/platform/core#143132c9186#147: Hard-delete mail(s) if located in trash folder - /appsuite/platform/core#147986b872f#155: Don't attempt to invalidate caches if no group members are set - /appsuite/platform/core#1550459beba#162: Explicitly use UTF-8 charset when writing vCards - /appsuite/platform/core#162da0558ca#168: Handle possibly absent password when checking subscribed mail account's status - /appsuite/platform/core#168bc29ddb5#170: Prevent from invalidating a remote node's JSlob entry if it has been stored after local node's entry - /appsuite/platform/core#1707a0b1413764f684f#175: Pick proper mail from conversation when performing sort - /appsuite/platform/core#1754e951b71#179: Ignore unmappable ACLs when updating an IMAP folder's ACLs - /appsuite/platform/core#179e8b25370#180: More look-up attempts in case of missing draft - /appsuite/platform/core#180907c5286#183: Fixed SQL 'INSERT INTO ... ON DUPLICATE KEY UPDATE' statement - /appsuite/platform/core#1837c290330#185: Evaluate CARDDAV:limit in CARDDAV:addressbook-query Report - /appsuite/platform/core#1850c0a3eb4#186: Consider all known 'devices' for CalDAV/CardDAV onboarding providers - /appsuite/platform/core#1860de5043a#187: Added config switch to keep own address when replying to self-sent message - /appsuite/platform/core#1872bec6d40
8.34 - 2025-01-15
Added
- PLG-360: Added entry for new feature 'open-xchange-plugins-contact-storage-provider'
a2388168 SCR-1477: New property to select default collection for new contacts via iOS / CardDAV (SCR-1477) - /appsuite/platform/core#111807f8f65SCR-1486: New property 'com.openexchange.carddav.addressbookMultigetLimit'dced5468#134: Health Check for Redis Cache - /appsuite/platform/core#134cb4b20fd#137: Expose CardDAV URL for Address Book Folders - /appsuite/platform/core#137185ab623#138: Warm-up Thread-local Cache when Handling Client Requests - /appsuite/platform/core#13859b383b7#139: Control Sharding for Redis Cluster - /appsuite/platform/core#13939594fad#144: Fixed existing graphs and added new ones based on redis cache metrics - /appsuite/platform/core#14422e1f263#344: Documentation for Redis cache in "cluster" mode - /appsuite/support#344053907a2
Changed
- Additional
add-opensfor health monitor inJAVA_OPTS_OPENS809d4d69 - Batch-resolve resources when handling CARDDAV:addressbook-multiget request
e5d88cea MW-2012: Allow moving appointment series to other calendars9cdf4674SCR-1479: Updated Netty libraries from v4.1.114 to v4.1.11546bc8634SCR-1480: Updated lettuce library from v6.5.0 to v6.5.170d335a4SCR-1481: Updated Fabric8 libraries from v6.10.0 to v6.13.4a8b2bd86SCR-1482: Added redis.tls chart value - appsuite/platform/core#123fea38f75SCR-1485: New options for the Redis Connector8604bb1dSCR-1496: Enhanced OAuthAuthorizationService#validateAccessToken with Header collection parameter - /appsuite/platform/core#74e2f67eb3- Type-specific redis configuration
ca71e1d2 - [Redis Cache] Added support for putting multiple key-value-pairs into cache
f4a910da - Added appropriate OAuth scopes to mail compose actions
f573ffe3 - Skip capability check and don't trigger preview generation if not needed
fc3410fd - Updated collabora and gotenberg dependency
0c27b6ce #62: Allow to fetch multiple values at once from Redis cache - /appsuite/platform/core#625d5061e59df6895c9e45d258#65: Allow specifying the name of the HTTP header that forwards the originating remote port - appsuite/platform/core#6502bee688#102: Make mail-related actions un-doable - /appsuite/platform/core#1022c7db14223b032bda9853a68#114: Added check when storing user feedback if actually enabled as per configuration - /appsuite/platform/core#1148df5b5ca#120: Added additional example for LDAP client configurations - /appsuite/platform/core#120159a0807#142: Disable Global Folder Cache by Default - /appsuite/platform/core#142061688e4#156: Redirect to configured failure redirect location after erroneous token response - /appsuite/platform/core#1561da98a5a#340: Use shortcut when checking calendar/contacts provider capability - /appsuite/support#340a6b56856f20ea710
Fixed
- IIJMX-554: Don't use IMAP folder's sequence number when sorting by received date is performed in application
d0ec138c - INU-4767: Improved handling of corrupt address list
dde1c354 - Only check conflicts for added/updated attendees unless re-scheduled
9a8cdb59 - PLG-450: Continue if visible folders cannot be collected for non-default contacts account
bed1aa6b - Set correct dependencies for update task - appsuite/support/350
f3da1e30 - Improved skiptoken matching. Ref. #116
95642e67 - Ensure compatibility with mysql 8+. Ref. #131
9f4edcc5- Removed unnecessary default value from the propertyValue column
- Fixed AbstractAdvertisementConfigServiceTest
f301738b #113: Continue import w/o attachments on absence of 'filestore' capability - /appsuite/platform/core#11360d4732e#121: Re-added formerly dropped method from Cache interface through a delegate implementation - /appsuite/platform/core#121e69917bb#122: Keep subsequent space characters through quoting - /appsuite/platform/core#1220ff626f0#129: Remember upload chunk size beyond underlying file holder's validity - /appsuite/platform/core#129f81de9c5#130: Skip initial reachability check for remote redis connections - /appsuite/platform/core#130654a44e0#135: Fall back to storage access if accessing cache yields errors - appsuite/platform/core#135fedb75c9#140: Corrected link in Contacts Provider LDAP documentation article - /appsuite/platform/core#1404d0e012c#141: Use only one cache region for advertisment config - /appsuite/platform/core#14176287ed5#143: Handle empty JSON input as no available value is Redis cache - appsuite/platform/core#143132c9186#147: Hard-delete mail(s) if located in trash folder - /appsuite/platform/core#147986b872f#155: Don't attempt to invalidate caches if no group members are set - /appsuite/platform/core#1550459beba
8.33 - 2024-12-18
Added
PLG-360: Added entry for new feature 'open-xchange-plugins-contact-storage-provider'a2388168SCR-1477: New property to select default collection for new contacts via iOS / CardDAV (SCR-1477) - /appsuite/platform/core#111807f8f65#344: Documentation for Redis cache in "cluster" mode - /appsuite/support#344053907a2
Changed
- Additional "add-opens" for health monitor in "JAVA_OPTS_OPENS"
809d4d69 MW-2012: Allow moving appointment series to other calendars9cdf4674SCR-1479: Updated Netty libraries from v4.1.114 to v4.1.11546bc8634SCR-1480: Updated lettuce library from v6.5.0 to v6.5.170d335a4SCR-1481: Updated Fabric8 libraries from v6.10.0 to v6.13.4a8b2bd86SCR-1482: Added redis.tls chart value - appsuite/platform/core#123fea38f75SCR-1485: New options for the Redis Connector8604bb1d- Type-specific redis configuration
ca71e1d2 - Redis Cache: Added support for putting multiple key-value-pairs into cache
f4a910da - Added appropriate OAuth scopes to mail compose actions
25ca51bc #62: Allow to fetch multiple values at once from Redis cache - /appsuite/platform/core#625d5061e59df6895c#102: Make mail-related actions un-doable - /appsuite/platform/core#1022c7db14223b032bda9853a68#114: Added check when storing user feedback if actually enabled as per configuration - /appsuite/platform/core#1148df5b5ca#120: Added additional example for LDAP client configurations - /appsuite/platform/core#120159a0807#340: Use shortcut when checking calendar/contacts provider capability - /appsuite/support#340a6b56856f20ea710
Fixed
- Set correct dependencies for update task - appsuite/support/350
f3da1e30 - Improved skiptoken matching. Ref. #116
95642e67 - Ensure compatibility with mysql 8+. Ref. #131
9f4edcc5- Removed unnecessary default value from the propertyValue column
#113: Continue import w/o attachments on absence of 'filestore' capability - /appsuite/platform/core#11360d4732e#121: Re-added formerly dropped method from Cache interface through a delegate implementation - /appsuite/platform/core#121e69917bb#122: Keep subsequent space characters through quoting - /appsuite/platform/core#1220ff626f0#129: Remember upload chunk size beyond underlying file holder's validity - /appsuite/platform/core#129f81de9c5
8.32 - 2024-11-20
Added
SCR-1470: Added new lean property to control detection of inline imagesbbea0f54#21; New setting for preferred Calendar User Address #21ba9e4fd9#90: SSO Logout when OX Sessions are closed through "Sign out from all devices" - /appsuite/platform/core#90b2940eee
Changed
MW-2254: Introduced baselayer image build034f278fMWB-2245: Avoid duplicate -XX:MaxHeapSize set via helm chart1500ffddMWB-2614: UseBadPasswordexception for failed decryption1822715c- Also, log legacy encryption warning only once per day
SCR-1462: Added new property to track Redis operation taking longer than a configured thresholdfcaa5081SCR-1472: Updated Netty libraries from v4.1.112 to v4.1.114cb0e08caSCR-1473: Updated lettuce library from v6.4.0 to v6.5.0374b02a7269f72d4SCR-1476: Updated several libraries to update Jackson libraries from v2.16.1 to v2.18.19ccc5f1a- Adapted clearing Java's DNS cache to new supported Java version(s)
e2b49305 - Signal support for mail folder resynchronization & enhanced /mail?action=examine response to also include modseq if supported
f875eba3 - Updated the gotenberg image from 8.2.0 to 8.12.0 and the chart from 1.1.0 to 1.7.0
476a2207 #43: Optionally skip de-registration of push listeners during user/context delete - appsuite/platform/core#436adee17c#65: Allow specifying the name of the HTTP header that forwards the originating remote port - appsuite/platform/core#658944f5f7947749364aba5203#66: Chunking for S3 file storage - appsuite/platform/core#66cc6ae98739e84d078827a25a42a6624f#69: Check if tables still exist prior purging accounts - appsuite/platform/core#695db6da56#75: Update vulnerable libraries827c446a- Update libraries xmlrpc-commonclient/server to 5.0.0 (CVE-2016-5004)
- Update library xmlsec to 2.3.4 (CVE-2023-44483)
- Update library nimbus-jose-jwt to 9.41.2 (CVE-2023-52428)
- Update library ion-java to 1.11.9 (CVE-2024-21634)
- Update library mysql-connector-j to 8.3.0 (CVE-2023-22102)
- Update library velocity-engine-core to 2.4 (CVE-2024-47554)
- Update library protobuf-java to 3.25.5 (CVE-2024-7254)
- Update library logback-classic/core to 1.2.13 (CVE-2023-6378)
- Update cxf-libraries to 3.5.9 (CVE-2024-28752)
#76: Do not perform computation intensive obfuscation/un-obfuscation of sessions' password while holding Redis connection - /appsuite/platform/core#76fa7b834c59f9c83411cece02ec93381b#80: Updated documentation about CardDAV collection handling for iOS clients - /appsuite/platform/core#80f9bfa280#95: Use more modern values for sun.net.inetaddr.ttl and networkaddress.cache.ttl - /appsuite/platform/core#958476484f#103: Added trace logging for authentication probes during request analysis - /appsuite/platform/core#103880854f6f974d214#109: Added logging in case a down-/upload request is interrupted or gets killed - /appsuite/platform/core#109c84586f3bf1ebcb0#227: Ignore possible NoSuchFileException - /appsuite/support#22759ec740a#236: Added reference to 'checkTopLevelDomainOnAddressValidation' property in documentation - appsuite/support#236dabcbca5
Fixed
MW-2371: Added required Zone to DateTimeFormatter1d71991e6b77a62aMWB-2435: Do not generate new random values for missing secret env variables on every update70ed49a4MWB-2631: Inline Metadata Missing in Syncfiles Responsec603e68bMWB-2641: Use correct target DB for moved context124a7bf64f5b8faa- Added missing update task dependency to Filestore2UserUpdateReferencesTask
4f1f52e4- See Ref. #55
- Expose remote debug port and use correct role selector
d4a27d52 - Use hz service name that is defined by the document role
39de7859 - Dont run pot generation on main
e547461e - Improved regex for password filtering
dbb1a528 - Move POT to seperate stage again
be4098e5 - Prevent NPE if json error contains no message
0657a779 - Revert imageBuildPod.yaml changes
48c482b5 - Use ant container for pot generation
7436e13a - Use proper error
909e279f #4: Pay attention to com.openexchange.push.dovecot.unregisterAfterDelete setting - /appsuite/platform/core#4b6e249e2#68: Un-mark schema for deletion after deletion fails, ensure to load db connection settings properly - appsuite/platform/core#68e0834696#72: Do not try to reparse a mail when creating its JSONrepresentation - /appsuite/platform/core#722f176f3d#76: Establish a new connection to Redis if a timeout occurs while waiting for a connection to become available in pool - appsuite/platform/core#767ad1734094f60ac3#77: Properly indicate support for MKCOL in OPTIONS response - /appsuite/platform/core#772e2d9bf7#79: Check for valid credentials prior to store attempt - appsuite/platform/core#7937aed19b#85: Determine file name by Content-Type/Content-Disposition headers if not given through Subject header - appsuite/platform/core#850fa12c8e#97: Sanitize UID prior using as 'id-left' in Message-ID header - /appsuite/platform/core#976f9a4417#98: Fixed NoClassDefFoundError when trying to access Scribe classes - /appsuite/platform/core#9877f2ba9c#100: Encode resource (in)availability in cached representation - /appsuite/platform/core#100438fa052#101: Replace illegal characters instead of throwing an error. Ref. #101b382e7cf#105: Don't use unreliable piped streams for task export - /appsuite/platform/core#10525b188e3#106: Properly check key name #106782be787#107: Adjusted config docu links in quota docu. Ref. #10779d6963c#110: Removed summary from request body of folder-modifying requests - /appsuite/platform/core#11084c80b60
8.31 - 2024-10-23
Added
- New setting for preferred Calendar User Address #21
ba9e4fd9
Changed
MW-2254: Introduced baselayer image build034f278fMWB-2614: UseBadPasswordexception for failed decryption1822715c- Also, log legacy encryption warning only once per day
SCR-1462: Added new property to track Redis operation taking longer than a configured thresholdfcaa5081- Signal support for mail folder resynchronization & enhanced
/mail?action=examineresponse to also include modseq if supportedf875eba3 #43: Optionally skip de-registration of push listeners during user/context delete - appsuite/platform/core#436adee17c#65: Allow specifying the name of the HTTP header that forwards the originating remote port - appsuite/platform/core#658944f5f794774936#69: Check if tables still exist prior purging accounts - appsuite/platform/core#695db6da56#80: Updated documentation about CardDAV collection handling for iOS clients - /appsuite/platform/core#80f9bfa280#227: Ignore possible NoSuchFileException - /appsuite/support#22759ec740a#236: Added reference tocheckTopLevelDomainOnAddressValidationproperty in documentation - appsuite/support#236dabcbca5
Fixed
MW-2371: Added required Zone to DateTimeFormatter1d71991e6b77a62aMWB-2435: Do not generate new random values for missing secret env variables on every update70ed49a4MWB-2641: Use correct target DB for moved context124a7bf64f5b8faa- Added missing update task dependency to
Filestore2UserUpdateReferencesTask4f1f52e4- See Ref.
#55
- See Ref.
- Use hz service name that is defined by the document role
39de7859 - Dont run pot generation on main
e547461e - Move POT to seperate stage again
be4098e5 - Revert imageBuildPod.yaml changes
48c482b5 - Use ant container for pot generation
7436e13a #68: Un-mark schema for deletion after deletion fails, ensure to load db connection settings properly - appsuite/platform/core#68e0834696#72: Do not try to reparse a mail when creating its JSONrepresentation - /appsuite/platform/core#722f176f3d#76: Establish a new connection to Redis if a timeout occurs while waiting for a connection to become available in pool - appsuite/platform/core#767ad1734094f60ac3#77: Properly indicate support for MKCOL in OPTIONS response - /appsuite/platform/core#772e2d9bf7#79: Check for valid credentials prior to store attempt - appsuite/platform/core#7937aed19b
8.30 - 2024-09-25
Added
MW-1068: Improve support for SCHEDULE-AGENT2fd626d0SCR-1454: New configuration property "com.openexchange.cache.v2.redis.disableHashExpiration"323c4fa1
Changed
- IIJMX-530: Don't fail if UNSUBSCRIBE fails for IMAP-backed POP3 folders
a13200d0 MW-2191: Upgraded to Java v21baa040d1MW-2309: Use new caches for schema update states and db assignments0c626dd2MW-2330: Replaced old context cache with the new v23c718354MW-2335: Transform "MailAccount" Cache to Redis13c84cf9MW-2338: Removed "messaging"-related functionality and APIs8cc8df6f705f5c82MW-2347: Use new cache for advertisement config caching60bacf4bMW-2363: Removed legacy SessionD and Hazelcast-backed session storage39d5b717MW-2368: Disable Hazelcast by Defaultde5e5633- Breaking Change
SCR-1452: Moved Java Data Objects (JDO) API to target platformec8ad9d1- Some refactoring for the code packages in c.o.cache.v2
64cb03b6 #17: Reintroduced soap log filter for passwords - appsuite/platform/core#1792cdfb97
Fixed
- Avoid duplicate service instance for singleton LeanConfigurationService
66a48fbf - Perform synchronous unregistration from Dovecot HTTP Notify plugin using a lowered socket read timeout
6a4f87bb #23: Reverted some checks for pretty old messages that should not occur - appsuite/platform/core#239fa35f10#25: Restored enhanced conflict checks during attendee update operation - appsuite/platform/core#257114c95f#29: Check mail messages reference retrieved from cache prior iterating - appsuite/platform/core#29ac674a24#30: Update local file storage account reference after remembering error in metadata - appsuite/platform/core#306677a246#31: Prevent NPE during shutdown. Ref.12413312#32: Added auto-expiration of possible write lock for table filestore2user - appsuite/platform/core#3246c2abb652c202c953873901#33: Throw proper error if mail is not found. Ref.251098c8#36: Properly apply HTTP client config for iCal timezone updater - appsuite/platform/core#36814c70a8#39: Don't retry login attempt by default (w/ exponential back-off wait policy) when IMAP server signals UNAVAILABLE response code - appsuite/platform/core#392b5a3191#40: Keep user-sensitive information for isSubscribed() and getUsedForSync() - /appsuite/platform/core#40e2ae5bac#43: Unregister user from Dovecot HTTP Notify plugin asynchronously - appsuite/platform/core#43f00456a1#44: Moved creation of reseller tables to accessing bundlesa6cad0b7#48: Retry fetching thread-sorted messages if an inconsistent received date is detected - appsuite/platform/core#488270853b381f39c5#49: Prevent possible NPE when replacing organizer in a calendar event - appsuite/platform/core#4958fbb18f#54: Added missing org.xml.sax dependency to MANIFEST.MFbbe6bf28#562: Differentiate between deputy feature being 'enabled' and 'available' - appsuite/web-apps/ui#56283447b85
Removed
8.29 - 2024-08-28
Added
MW-2319: Token Login Variant for PWA Onboarding99832baaMW-2323: Adjust Helm Charts for Redis 7.49ca0b47fMW-2339: Deputy-Management via Provisioning APIc2073664MW-2353: Documentation for Redis and Active/Active3409b456
Changed
MW-2043: Upgraded scribe library to v8.3.38918dd8aMW-2360: Added support for a special Redis instance dedicated for cache data78ef57c2MW-2365: Adjusted hazelcast documentationf6780571MWB-2698: Introduced aliases for sieve script names418def09SCR-1425: Removed Replacement of "email 1" by "default sender address"1c15bd25SCR-1428: Deprecation of JCS-based "CacheService"792aee72SCR-1432: Updated Netty libraries from v4.1.111 to v4.1.112c19e0a6fSCR-1433: Updated lettuce library from v6.3.2 to v6.4.0173351e1SCR-1440: Updated OSGi target platform bundles5f2c4c34SCR-1441: New Configuration Property "com.openexchange.oidc.staySignedIn"e254b475- Inject 'preferred' hint for user's primary mail address within
9b32b026 SCR-1448: Upgraded dnsjava from v3.5.3 to v3.6.177bdeed6SCR-1450: Removed org.eclipse.osgi.services helper bundle200225deSCR-1451: Updated Google Guava from v33.2.1 to v33.3.094b1f970- Avoid recursive delete calls if PluginException occurred (2) -
194688e3 - Use compact representation for folder user properties
6e59f30d - Use reverse order in
CalDAV:calendar-user-address-setproperty for Thunderbird/Lightningdf5ffa78
Fixed
- Added checks for pretty old messages that should not occur
#23bbb60b00 - Consider possible MX records on ISPDB look-up for a possible mail account setup
#24a305df9b - Optimized reading schema state (update tasks)
#108cb20be42ecd9d47 - Defer dependent capability checks
47f8b86d - Inject fallback display name for *DAV-based subscriptions if missing
#22a6e0cbe0 MWB-2512: Use 'no-reply' account for synthetic push sessions6a623131MWB-2530: Orderly compile path to a shared folder from target user's point of view5898d475MWB-2667: Deny writing rules requiring unsupported capabilities55dfa3ba8c0c8602MWB-2701: Replace possible space characters in URLs with appropriate URL encoded representation (%20)ec8a08f4MWB-2702: Properly compare user mail aliases with punycode0f78cb94MWB-2705: Fixed writing JSlob IDs as JSON array to channelf8178b31- Orderly track new cache service in IMAP bundle
#86a991f77
Removed
MW-2367: Remove Xing integration52ec3fa3SCR-1426: Removed "FilteringObjectStreamFactory" Service and parent Bundle "com.openexchange.serialization"3e051826
8.28 - 2024-07-31
Added
Changed
App-suite-platform-1/provisioning#2: Avoid recursive delete calls if PluginException occurredd2e17ef2MW-1746: Redis Pub/Sub for Inter-Node Communicationb6cba2afMW-2329: Use new cache for filestores6c414a99MW-2341: Transform "UserSettingMail" and "UserPermissionBits" Cache to Redisa13444a5MW-2342: Transform "User" Cache to Redis1958a34eMW-2344: Replaced jcs cache with google cache13b86258MWB-2674: Try to add further information to createdMAIL_FILTER-0002error to signal why authentication attempt failed7b659b20MWB-2690: Avoid "CopyPartRequest" and ensurex-amz-meta-x-amz-unencrypted-content-lengthis set when S3 client-side encryption is enabledd922d83aSCR-1415: Updated Google Guava fromv33.0.0tov33.2.12ba7b1d6SCR-1419: Upgraded ROME library for RSS and Atom feeds fromv1.0tov1.19.0199a4b1f1c6e5dcdbb4a7e40SCR-1421: Deprecation of "FilteringObjectStreamFactory" Service2bfd73cb- Consolidated *DAV capability checks
bb6bb3ce - Use logback-extension
v3.0.3to have removal of details in superior class8dbdab0cdb5854e9 - Added retry-after header to 429 soap errors
4121cf95 - Alternative caching approach for file storage accounts
5416cd99 - Change the color and font of property fields in the http-api documentation
c6cbabfb
Fixed
IAE-59: Include client IP address in meta information for a scheduled mail97b12d03b6b09a38MWB-2645: Abort auto-login if user/context in session not founda808257eMWB-2664: Don't log job's execution duration if nothing has been performed63dbf1cf3144c9490695d5df54646f357fd6139eMWB-2681: Properly initialize hash map8e284bfa10032ed6MWB-2682: Consider configuration when writing cookie in generic *DAV servlet45be1d86MWB-2686: Restore previous behaviour in case non-existent context is passed2ed9d00aMWB-2687: Extended propertyKey column to 256 chars5c123570MWB-2692: Check specified iCal feed URI has a valid host componentf45df772Core#12: Added missing update tasks (and changesets) to documentatione723395dCore#9: Use proper field name for configurationsad496e4c- Allow duplicate properties in an admin path
93ce80ba
Removed
SCR-1420: Removed unused xmlbeans library78d2c577- Replaced 'subscription' permission availability with capability checker
cdc1836f
8.27 - 2024-07-03
Added
MW-2325: Multi-Database Support for Redisda3e7525SCR-1383: New Propertycom.openexchange.redis.resilientDatabase
SCR-1402: New Columnpriorityfor Database Tablescalendar_eventandcalendar_event_tombstoneb235659dSCR-1403: New fieldpriorityin Event model of HTTP API48e3ffef
Changed
MW-2309: Transform Next Caches to Redis58109405- Previous regions
FileStorageAccountandUserAliasare now backed by Redis cache
- Previous regions
MW-2328: Additional (configurable) logging for some SOAP API requests36705091MW-2337: TransformMessagingAccount,c.o.messaging.json.messageCache,LDAPHostnameand Reseller-related Caches to Redis114878b4MW-2340: TransformFolderUserPropertyCache to Redis9b1e0ff2MW-2651: Use canonical hostname when accessing distributed managed files3cc5dafdMWB-2641: Enhanced logging when copying a database table row fails during 'movecontextdatabase'ec85db90SCR-1393: Updated Netty libraries fromv4.1.106tov4.1.111918566acSCR-1394: Updated lettuce library fromv6.3.1tov6.3.297520f3dSCR-1395: Updated Apache Commons IO library fromv2.15.1tov2.16.15add29cfSCR-1396: Updated Apache Commons Codec library fromv1.16.1tov1.17.07c98d03eSCR-1404: Updated JCTools (Java Concurrency Tools for the JVM) fromv4.0.3tov4.0.5986656d6SCR-1411: Added an account index to various calendar tables for improved look-up40aaf3b0- Preparations to selectively invalidate caches after changing
2b3be06c - Updated integrated timezone definitions to tzdata2023d
256754a3
Fixed
MWB-2639: Don't filterw:sdtelements during sanitizing5cf45632MWB-2644: Added config option to specify whether to use HTML on reply/forward to/of text-only E-Mails if HTML is chosen as preferred message format1fa4aa99MWB-2649: Avoid NPEdb5c060eMWB-2650: Wrong FCM Push documentation03419906MWB-2657: Consistent value 200 for propertyAVERAGE_CONTEXT_SIZEdce8905bMWB-2659: Use proper i18n service to use best-fitting translation for a user's locale06307248MWB-2664: Lowered periodic log message about completion status of a database clean-up job to DEBUG log level220ef5f9MWB-2666: Added missing import5ce65bb4MWB-2670: Redirect to configured logout page as fallback if session no longer exists91dc5373MWB-2676: Dropdetails(aka MDC) from JSON-formatted log message ifDropMDCmarker is present in log event742918c48a65fcfc
Removed
MW-2245: Web Socket Support20b517b4MW-2265: Removed PropertyMapManagement from user cc layercb6f485cMW-2318: Apache Commons Lang v2.689d0be5fSCR-1388: Removed obsolete bundlecom.google.gdata0c24e04bSCR-1389: Remove javax.jms library7a7165bb
8.26 - 2024-06-05
Added
Changed
MW-2326: Re-implemented put-if-absent for KeyDB; e.g. replaced special SET(GET) command with PX and NX option setea34eba6MW-2332: Export SimpleMeterRegistry4724b21f- add io.micrometer.core.instrument.simple to the list of exported
- packages in the bundle com.openexchange.metrics.micrometer, to allow
- using it in unit tests
MWB-2622: Added logging when events w/o recurrence are encountered during 'needs-action' generationae17204a
Fixed
- CP-514: Let authentication plugin signal to ignore the call to it - 2
da54dce7 MW-926: Resolve user aliases in picture search, too750a0a999e2740d0MWB-1582: Use term "address book" in favor of generic "folder" when sharing contacts32cbed8cMWB-2544: Use the SMTP extension for transmission of large messages through chunking9d4dbeae028fb7326ffc33c737f3e930MWB-2584: Corrected documentationdf4d72a3MWB-2585: Updated documentation21c7ab76MWB-2598: Orderly load a transport-only mail account on user deletione0daddd4MWB-2602: Unable to load FCM configurationae96b8a8MWB-2607: Don't start immediate processing of data export task if not enabled on node/pod7c1cbf55MWB-2616: No extra.if chunking of SMTP data is enabledb2e17a6cMWB-2617: Introducedusers_per_contexttable in ConfigDB to have a direct access how many users use a certain file storagec4813b22fca810ac2555652288bf687dMWB-2626: Drops foreign key from "infostore_document" table due to missing unique key in the referenced table "infostore" and adds an appropriate index instead51bf6cb5MWB-2630: Enhanced detection for potentially long running file operations07012ceaMWB-2634: Avoid NPE when JSON data is missingff700145MWB-2635: Throw exception on session miss6d5ca447
Removed
8.25 - 2024-05-08
Added
MW-2224: Added smtp metric collectiona5b212c1MW-2246: Added Special Sorting by First Name in Contacts Moduleb65da7a1MW-2300: Exclusive Pre-Assembly across Sites633f6b01MW-2308: Logout from IDP for Sessions fromDirect Grantsb254b595MWB-2554: Added permission documentationff950193
Changed
MW-2222: DB TLS encryption for k8sfc64b729MW-2263: Introduced Redis-backed cache service having its own cache event framework (based on Redis pub/sub) and refactored existent stand-alone cache invalidation classes to that new service/framework05ea475bMW-2264: Transform First Caches to Redisb04537edMW-2266: "Upgrading without Downtimes" in a Kubernetes clusterd032a637MW-2314: Removed dependency from logback-extensions to Apache Commons Lang 2.67b007ce4- Identify sproxyd clients
95ccd0b4
Deprecated
SCR-1373: Deprecation of Apache Commons Lang 2.6
Fixed
- CP-514: Let authentication plugin signal to ignore the call to it
7f3b0757 MWB-1957: Grafana dashboard shows multiple server versionscac3800fMWB-2204: Missing API documentation for oidcLogin and oidcLogout actions of Login module516239c2MWB-2435: CredstoragePasscrypt not picked up in templates/typeSpecific/secret-envvars.tpl1d0578dfMWB-2530: Added propertycom.openexchange.imap.assumeUserLocalPartForSharedFolderPathto control if user's local part should be assumed when determining a shared folder path; e.g. assume "jane.doe" instead of "jane.doe@invalid.com"c33caa7e- Synchronize all operations on ListLsubCollection objects
- Removed IgnoreDeprecated methods as they became obsolete with synchronous operations (see Bug#41742)
MWB-2552: Decrypt mail prior if neededfdfa0087MWB-2555: Deny scheduling a mail for transport if Guard-protectedaa2c61c3MWB-2556: Fixed typoac08c82fMWB-2562: Avoid issuing unused events for last gone session of a context/user876e33b3MWB-2563: Ensure JSON data is orderly flushed to output streamc11400a0MWB-2564: Corrected property names in documentation articlef8399bd3MWB-2567: Introduced configurable file appender for logback.xml60e230fbMWB-2571: Use full-fledged HTML parser to locate possible <img> tags inside HTML content22f36c8eMWB-2577: Com.openexchange.gdpr.dataexport.impl bundle does not start without additional configurationb7e8e048MWB-2582: Do not transform transparent GIF images4d9afa36
Removed
MW-2042: Removed Internal OAuth Authorization Server557f2931SCR-1378: Removal of Propertycom.openexchange.redis.enabledc29f0fe2ae91dee6
8.24 - 2024-04-03
Added
MW-2174: Makecom.openexchange.user.contactCollectOnMailAccessandcom.openexchange.user.contactCollectOnMailTransportconfig-cascade aware.624c22e1MW-2251: Added REST-API and job to create pre-assembled contexts. Expose metrics for currently existing pre-assembled contexts66712325MW-2261: Optionally Exclude Disabled Contexts inlistcontexte48282e1
Changed
MW-2109: Migrated from GCM to FCM for drive events and generic PNSa9a09231- Added the Firebase SDK
- Removed old GCM implementation and bundles
MW-2220: Improve example script to create certificates5e87d0a8MWB-1582: Preliminary introduce new strings when sharing address books4e350ef4MWB-1800: Enforce table order in JOINs if applicablee66c994f3ef9f828MWB-2488: Documentation for on behalf scheduling3f26516dSCR-1366: Updated Spring Framework from v5.3.21 to v6.1.44edac9b15e76a6a3SCR-1367: Allow implementations of BasicAuthenticatorPluginInterface to signal commencing with the next candidate06647235SCR-1370: Added option to Redis configuration to specify a compression method068abc53c49c7115da2cc680
Fixed
MWB-2525: Fixed wrong imports in commons compress. Will be fixed upstream with 1.27.091d657d9MWB-2545: Use correct variable to pass number of contexts to pre-assembleebd3ee38
Removed
8.23 - 2024-03-07
Added
MW-2220: Add Helm chart support for running Grizzly with TLS531d36a6MW-2223: Add weakforced package per default4df6655fMW-2225: Add missing services health check64258357SCR-1351: New propertycom.openexchange.health.noServicesMissing.enabled3097661d
Changed
MW-2144: Deprecate the in-memory SessionD and Hazelcast session storage #20b5c8a91MW-2238: Plugin Handling for Pre-Assembled Contexts63e82bdfMW-2250: Have vital login infos available throughout sitesdcec9938MW-2253: Use Pre-Assembled Contexts in Automated Testsda30530cMWB-2482: Specify timeout in milliseconds to avoid excessive memory usage in unit testad969e29SCR-1345: Update Google Guava from v32.1.3 to v33.0.0057dbbe8SCR-1348: Update Amazon Java SDK from v1.12.487 to v1.12.66177de9570688017ceSCR-1354: Update Apache Commons Codec library from v1.15 to v1.16.1b7eaa81bb54dc90cSCR-1355: Update Apache Commons Codec library from v1.5.0 to v1.6.0ebc6b449SCR-1356: Update Apache Commons Exec library from v1.3 to v1.4.0cfe36b15SCR-1357: Update Apache Commons Codec library from v2.11.0 to v2.15.1077b4d52SCR-1358: Update Apache Commons Lang3 library from v3.12.0 to v3.14.07dda379dSCR-1359: Update a bunch of bundles in target platform8a0d9575701781e3SCR-1361: Update Pushy library from v0.15.2 to v0.15.453df5b64SCR-1362: Update metadata-extractor from v2.18.0 to v2.19.0ed9b5d99SCR-1365: Support new property to specify connection lease timeout when waiting for a free connection in poolf4987873- Update Gotenberg image to 8.1.0
2efb0c98 - Update Gotenberg image to 8.2.0 and chart to 1.1.0
a2707740
Fixed
MWB-2398: Periodically check and remove orphaned cookies referencing no longer existing sessions from requests35ec1789MWB-2420: Support parsing address string with multiple opening angles '<'; e.g. "<jane@nowhere.com>"c0c6edcfMWB-2482: Avoid excessive HTML processing w/ Jericho HTML parser814cb61dMWB-2485: Specify core-mw chart resources limits and maxHeapSizeea29bf46MWB-2496: Mitigate with possiblejava.io.IOException: Resetting to invalid markwhen writing ZIP entries to file storage location. Added possibility to have ZIP archive compiled for a certain module being spooled to a local disk.6a7d3d67MWB-2497: Ensure schema option is not set for pre-assembled contexts94b73757MWB-2499: Add archive + schedule to mail/folder paths89361c4a- This is necessary to support the permanent switch to these paths
MWB-2502: Add missing archive httpi api docue6aea42eMWB-2504: Fix personal parts not in quotes in email addresse9593fd5MWB-2509: Don't mess-up MIME structure by adding multipart/* parts through attachment API343cb2f8MWB-2511: Look-up draft mail by cached association if possiblefd2421dcMWB-2515: Better handling of aborted attachment upload when composing a mail92f40134MWB-2516: Track SMS provider implementation as optional service1c027e50MWB-2517: Upgraded MaxMind GeoIP Libraries (SCR-1349)f1b1f9beMWB-2525: Update Apache Commons Compress library from v1.21 to v1.26.027f90d39478d4606MWB-2528: Release acquired connection as soon as possible (e.g. prior to loading file storage data)2d6d4663MWB-2531: Filter possible parent folder from subfolder listing70a9d2072440686fMWB2503: Unmangle folder id before parsing it to int9c3e089a
8.22 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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/appsuite/platform/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 - 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 - 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