The latest version of Diffusion™ Cloud contains new features,
performance enhancements and bug fixes.
Partial updates for JSON topics
A new API across every client enables you to provide a partial update to a JSON topic using the powerful JSON Patch standard.
This means that the updating client does not need to provide the full value. For example, you can specify an update to the value of a single key/value pair,
without any knowledge of the rest of the JSON data.
As well as simply updating a single value, the JSON Patch standard supports adding, removing, moving, and copying key/value pairs. You can
even test values and only apply the update if the value is as expected.
When updating a large JSON topic, applying a partial update can be significantly faster than a normal update.
For more details, see Updating topics.
Topic delivery priority
You can now set the delivery priority for topics. If some of your topics contain especially time-sensitive data, you
can use this feature to minimise the latency for those topics in conditions where there is a backlog of queued updates.
For example, if your application is generating a large number of updates, or when network connectivity is slow or intermittent,
the server will prioritise delivery of updates to higher priority topics.
Priority is set using a new PRIORITY topic property which can be high,
default or low.
Topic subscription and unsubscription notifications are also delivered according to the topic priority.
For more details, see Topic delivery priority.
New compression options
The COMPRESSION topic property controls the level of compression applied to topic data. In previous versions, compression was either on or off, but
in 6.4 you can set a compression level, so you can choose the balance of data compression versus CPU cost that is right for your application.
The available values are now:
For more details, see Properties of topics.
Topic view expansion
Topic views, introduced in Diffusion Cloud 6.3, enable you to dynamically map one part of the topic tree to another.
Topic views could simply mirror one part of the topic tree in another path, or apply transformations, but the available topic mappings were always one-to-one.
Diffusion Cloud 6.4 introduces a new topic view expansion feature. Using a new expand directive,
you can use the contents of an array or object within a JSON topic to dynamically create multiple reference topics.
The feature supports multiple nested expand directives, enabling you to unpack complex JSON values into topics
that contain only the data required by subscribing clients.
Another improvement to topic views in this version is that the existing topic view value mapping clause now supports JSON time series topics.
See Topic views for full details.
Support for OpenJDK and Java™ 11
The Java Diffusion Cloud client now supports Java 11 as well as Java 8.
You can use any HotSpot™-based Java Virtual Machine (JVM) that is compliant with the Java Technical Compatibility Kit
or is an official AdoptOpenJDK implementation.
This means you have a wide choice of supported JDKs, including Adopt OpenJDK, Amazon Corretto, Red Hat OpenJDK and Azul Zulu.
JRE packages are now supported as well as the full JDK environment, although we recommend using a full JDK due to the better diagnostic tools.
Client and API improvements
- You can now
set the maximum topic path depth of a fetch request. This can be useful for performance reasons if your application has
topic tree branches with very long paths.
- The Diffusion Cloud Android client now supports Android API 29.
- The Apple client now supports compression.
- The Java client now supports the Server Name Indication extension to SSL/TLS.
Deprecations and removals
Publishers are an older, server-side way to create and update topics. Using client methods has long been preferred
over publishers, and publishers are now officially deprecated.
Slave topics are now deprecated. Topic views provide a more powerful way to mirror topics from one part of the topic tree to another.
The server edition of the JMS Adapter has been removed.
The Diffusion Publisher and JMX Adapter have been removed.