Release 10.7.0
Cumulocity IoT Transport

PAM-31248
CumulocityCodec should reject requests if datetime is not mentioned in epoch.
When making queries to Cumulocity IoT, timestamp fields (fromDate, toDate, fromCreationDate, toCreationDate) are required to be seconds since the epoch (as a float or a string). Previously, non-parsing strings would return all historical artifacts. Now they are rejected with an error.
APIs

PAM-31437
Java engine_client library can get into state where inject will always fail, but this cannot be detected easily.
Sender-only disconnects in the Java engine client interface were in some cases not being correctly reconnected in the ping() method.
This has now been fixed.
Connectivity and Adapters

PAM-31432
Universal Messaging client should drop messages which exceed nSession::getMaxBufferSize().
An exception is thrown if a Universal Messaging client sends an input buffer whose size exceeds the server's buffer size (default value 20 MB), where before it would have failed and retried forever.

PAM-31661
JSON codec crashed when messages in towardsHost and towardsTransport arrived at the same time.
In a connectivity chain, there is a possibility that 2 threads try to use the JSON codec at the same time. This used to result in a correlator crash.
This is now fixed.

PAM-29847
Upgrade Saxon parser used for JMS XPath.
The Saxon parser library has been updated from 8.9 to 9.9.1.
Correlator

PAM-31452
Vulnerable third-party sqlite3.dll component used.
The version of SQLite used with Apama has been updated to address the following security advisories: CVE-2019-19646, CVE-2020-11656 and CVE-2020-11655. None of these were directly exploitable within the Apama platform.

PAM-31427
Correlator core dump if debug logging (but not EPL coverage) is enabled when injecting Analytics Builder EPL code.
A crash during injection has been fixed. The crash occurred with both application event logging and optimizations enabled when passing constants to static actions from another static action.

PAM-31430
any.hasEntry(k) returned true for strings, primitives, for all k.
Calling hasEntry on an any containing a string now returns false for all entries other than “value”. This now matches both the documentation and the behavior of getEntry, which will throw on any entry other than “value”.

PAM-31687
Object pool should use optimal allocator for all sizes if the allocator is jemalloc.
Some memory improvements when using the jemalloc allocator have been made.

PAM-31416
Undocumented correlator parameter --qsize changed the logged “Output queue size” but had no other effect.
The --qsize option to the correlator has been removed. This was previously undocumented and had no effect.

PAM-31803
Update jemalloc to v5.2.1 and also ship the unprefixed version of jemalloc libraries that users can load dynamically using LD_PRELOAD.
The version of jemalloc shipped with the installation has now been upgraded to 5.2.1.

PAM-31513
Management plug-in’s async jobs not flushed in flushAllQueues.Using flushAllQueues from the Management plug-in, which is the underlying implementation for the Management interface, did not wait for the asyncRequests to complete.
The Management plug-in supports executing asyncRequests, and the flushAllQueues request did not wait for these. This issue is now resolved. flushAllQueues will wait for asyncRequests to complete, with the exception of requests executing from the Management interface (as that would deadlock).