App Suite Middleware
3rd Party Libraries/License Change
SCR-1513
Summary: Update Apache Commons CSV from v1.6 to v1.13.0
- Update Apache Commons CSV from v1.6 to v1.13.0 in target platform (
com.openexchange.bundles
) - Update Apache Commons IO from v1.16.1 to v1.18.0 in target platform (
com.openexchange.bundles
)
SCR-1512
Summary: Updated Apache Commons CLI library from v1.6.0 to v1.9.0
Updated Apache Commons CLI library from v1.6.0 to v1.9.0 in target platform (com.openexchange.bundles
)
SCR-1511
Summary: Update Apache Commons Codec
Update Apache Commons Codec from v.1.17.0 to v1.17.2 in target platform (com.openexchange.bundles
)
SCR-1507
Summary: Added Apache Aries SPI Fly to target platform
Added Apache Aries SPI Fly to target platform. SPI Fly is the Reference Implementation of the OSGi ServiceLoader Mediator specification. This is needed to due to update of logging-related libraries, in which SLF4J changed from static initialization to the usage of Java's java.util.ServiceLoader
.
Added bundles to target platform:
- asm-9.6.jar
- asm-analysis-9.6.jar
- asm-commons-9.6.jar
- asm-tree-9.6.jar
- asm-util-9.6.jar
- org.apache.aries.spifly.dynamic.bundle-1.3.7.jar
SCR-1506
Summary: Updated logging-related libraries
Updated logging-related libraries in target platform - thereof SLF4J API and Logback as well as associated logging bridges
- Updated slf4j-api from v1.7.36 to v2.0.16
- Updated logback-core from v1.2.13 to v1.5.16
- Updated logback-classic from v1.2.13 to v1.5.16
- Updated jcl-over-slf4j from v1.7.36 to v2.0.16
- Updated jul-to-slf4jj from v1.7.36 to v2.0.16
- Updated log4j-over-slf4j from v1.7.36 to v2.0.16
- Updated osgi-over-slf4j from v1.7.36 to v2.0.16
API - HTTP-API
SCR-1525
Summary: Added field "sharedreadonly" to "snippet" module
Added field "sharedreadonly" to "snippet" module. It provides the information whether a shared snippet may be seen, but must not be modified/deleted by other users.
{
"id":"3",
"content":"...",
"createdby":3,
"displayname":"My signature",
"misc":{
"insertion":"below",
"content-type":"text/html"
},
"module":"io.ox/mail",
"type":"signature",
"shared":false,
"sharedreadonly":false
}
API - Java
SCR-1509
Summary: Update cxf-libraries to 3.5.10
Update cxf-libraries from v3.5.9 to v3.5.10:
- cxf-core
- cxf-rt-bindings-soap
- cxf-rt-bindings-xml
- cxf-rt-databinding-jaxb
- cxf-rt-features-logging
- cxf-rt-frontend-jaxws
- cxf-rt-frontend-simple
- cxf-rt-transports-http
- cxf-rt-ws-addr
- cxf-rt-wsdl
- cxf-rt-ws-policy
SCR-1496
Summary: Enhanced OAuthAuthorizationService#validateAccessToken with Header collection parameter
The method com.openexchange.oauth.provider.authorizationserver.spi.OAuthAuthorizationService#validateAccessToken
is enhanced with the additional parameter com.openexchange.servlet.Headers
holding the headers of the underlying HTTP servlet request that is used to trigger the authentication request.
A default implementation of the new method overload is added, which delegates to the existing method passing the extracted access tokens only.
Configuration
SCR-1521
Summary: Added config switch to keep own address when replying to self-sent message
Added new lean boolean property to configure whether to keep own address when replying to self-sent message
com.openexchange.mail.keepOwnAddressWhenReplyingToSelfSentMail
Define whether to keep own address when replying to self-sent message. Default value is"false"
. Reloadable and config-cascade aware.
SCR-1514
Summary: New property 'com.openexchange.cache.v2.redis.multiKeyLimit'
In order to limit the maximum number of addressed keys per MGET
, MSET
, MHGET
or MHSET
command, the lean configuration property
com.openexchange.cache.v2.redis.multiKeyLimit
is introduced. It defaults to 100
, and is neither reloadable, nor config-cascade aware.
SCR-1510
Summary: Changed defaults for Client-Onboarding YAML configuration file
Changed defaults in client-onboarding-scenarios.yml
YAML configuration file:
- Removed sections ** Removed section for identifier
mailappinstall
referencing discontinued OX Mail App - Changed attribute
enabled
totrue
** Changed attributeenabled
totrue
for sectiondriveappinstall
(OX Drive App) ** Changed attributeenabled
totrue
for sectionsyncappinstall
(Sync App) ** Changed attributeenabled
totrue
for sectiondavsync
(CalDAV & CardDAV Sync) ** Changed attributeenabled
totrue
for sectiondavmanual
(CalDAV & CardDAV Sync) ** Changed attributeenabled
totrue
for sectioneassync
(Exchange ActiveSync) ** Changed attributeenabled
totrue
for sectioneasmanual
(Exchange ActiveSync) ** Changed attributeenabled
totrue
for sectionmailsync
(IMAP/SMTP) ** Changed attributeenabled
totrue
for sectionmailmanual
(IMAP/SMTP)
SCR-1499
Summary: Added new properties to configure the new async framework
The new async framework introduces a few new lean properties which control the behaviour of framework.
com.openexchange.admin.ctx.async.enabled
Enables asynchronous deletion of contexts. Default value isfalse
and config-cascade aware.com.openexchange.admin.async.schedule
The schedule to run async admin operations. No default value and not config-cascade aware.com.openexchange.admin.async.pool.size
The size of the threadpool which is responsible to run async tasks. The greater the pool the more tasks can be executed in parallel. Default value is 10 and not config-cascade aware.com.openexchange.admin.async.refresh.interval
The interval in minutes in which claims of running tasks are refreshed. This must always be lower thancom.openexchange.admin.async.retry.interval
. Default value is 5 and not config-cascade aware.com.openexchange.admin.async.retry.limit
The amount of times a failed async task is tried to be repeated. Default value is 5 and not config-cascade aware.com.openexchange.admin.async.retry.interval
Defines the interval in minutes after a task is considered stale. Or in other words a task is considered stale if: now > last update + interval. Default value is 15 and not config-cascade aware.com.openexchange.admin.async.refill.interval
Defines the interval in minutes in which new tasks are added to the queue of available tasks. This happens only during the defined schedule (seecom.openexchange.admin.async.schedule
). Default value is 5 and not config-cascade aware.com.openexchange.admin.async.cleanup.retentionDays
The maximum amount of days a task is stored. Default value is 730 and not config-cascade aware.com.openexchange.admin.async.cleanup.interval
The interval between runs of the cleanup task. A value of 0 disables the task. Default value is 7 and not config-cascade aware.
SCR-1486
Summary: New property com.openexchange.carddav.addressbookMultigetLimit
The lean configuration property com.openexchange.carddav.addressbookMultigetLimit
is introduced to configure the maximum number of elements included in CARDDAV:addressbook-multiget
responses to the client.
If data from more elements was requested, HTTP/1.1 507 Insufficient Storage
responses will get inserted. It defaults to 1000
, a value of -1
disabled the limit. Property is reloadable and can be defined through the config-cascade.
Database
SCR-1524
Summary: Added column "shared_read_only" to "snippet" table
Added column "shared_read_only" to "snippet" table. It stores the information whether a shared snippet may be seen, but must not be modified/deleted by other users.
`shared_read_only` tinyint(3) unsigned NOT NULL DEFAULT 0
Full table layout is now:
CREATE TABLE `snippet` (
`cid` int(10) unsigned NOT NULL,
`user` int(10) unsigned NOT NULL,
`id` varchar(64) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`accountId` int(10) unsigned DEFAULT NULL,
`displayName` varchar(255) NOT NULL,
`module` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`type` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`shared` tinyint(3) unsigned DEFAULT NULL,
`refType` tinyint(3) unsigned NOT NULL,
`refId` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`lastModified` bigint(64) NOT NULL,
`size` int(10) unsigned DEFAULT NULL,
`shared_read_only` tinyint(3) unsigned NOT NULL DEFAULT 0,
PRIMARY KEY (`cid`,`user`,`id`),
KEY `indexShared` (`cid`,`shared`),
KEY `indexRefType` (`cid`,`user`,`id`,`refType`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
SCR-1497
Summary: Added a new table async_tasks to the configdb database
The new async framework introduces a new table async_tasks in the configdb which is responsible to store asynchronous tasks.
That table is created by the liquibase task 8:addAsyncTasksTable.
CREATE TABLE `async_tasks` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`entityId` varchar(100) NOT NULL,
`type` varchar(100) NOT NULL,
`args` text DEFAULT NULL,
`state` varchar(100) NOT NULL,
`lastUpdate` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`claim` BINARY(16) DEFAULT NULL,
`retryCount` int unsigned NOT NULL DEFAULT 0,
`error` varchar(256) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `entity_type_unique` (`entityId`,`type`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Packaging/Bundles
SCR-1522
Summary: Updated Snappy library from v1.1.10.5 to v1.1.10.7
Updated Snappy library from v1.1.10.5 to v1.1.10.7 in Target Platform (com.openexchange.bundles
)
SCR-1508
Summary: Added new SLF4J API fragment bundle
Added new SLF4J API fragment bundle org.slf4j.fragment
to open-xchange-core
package/bundle list.
Purpose of this bundle is to make package ch.qos.logback.classic.spi
available to SLF4J API bundle in order to inject Logback's SLF4j service provider into initialization phase of the SLF4J logging runtime.
SCR-1498
Summary: Added the new bundle com.openexchange.admin.async
For the new async framework the new bundle "com.openexchange.admin.async" is added to the open-xchange-admin package