What's new in Diffusion 6.11?
The latest version of Diffusion™ contains new features, performance enhancements and bug fixes.
A complete list of the latest updates and known issues can be found in the Release Notes available at http://docs.diffusiondata.com/docs/6.11.2/ReleaseNotice.html
Major improvement in distributed update performance
In previous releases the performance of updates in a clustered environment was significantly slower than for a single server. At this release asynchronous partition and persistence file logging techniques have been employed so that the ingress performance when applying updates to a cluster is comparable with that of a single server.
New 'matches' Comparison for Session Filtering
Session filters (which can be used in various APIs for selecting sessions) now have a new 'matches' comparison which allows session property values to be checked against a regular expression, thus providing more powerful selection capability.
Ability to turn delta compression off for Update Streams
It is now possible to suppress delta generation in update streams (In Java, .NET and JavaScript SDKs). Disabling delta compression can reduce the CPU workload at the client at the cost of increased bandwidth and possible additional CPU load on the server (if the topic publishes deltas).
This may be particularly useful for topics that have PUBLISH_VALUES_ONLY set.
Fetching Topic Sizes
It is now possible to fetch the sizes of topics using the Topics.fetch feature. This is implemented in the Java, JavaScript and .NET SDKs and sizes are also displayed in the Diffusion Management Console.
In Java, this is enabled using the new withSizes() method on the FetchRequest builder.
New Session Event Listener
A new cluster-aware session event listener has been added to the ClientControl feature at this release. It replaces the previous session properties listener which only worked for a single server.
New 'Environment' session property
A new fixed session property, 'Environment', has been added at this release. This value will only be present for clients using 6.11 SDKs (or later) and will have a value indicating the platform and version the client is running, e.g. 'NODE_20.9.0'
Topic View Scalar Path Mapping Extension
At this release a new second parameter has been added to the topic views scalar directive. This allows the scalar value to be obtained from a topic at a specific point in the branch being processed rather than from the source topic being evaluated.
Using this mechanism allows parts of the target reference topic path to be derived from topics higher up the branch from the topic being processed which can be useful for enabling all topics in a branch to be copied to a target branch without a dependency on the source topic for the path part.
Diffusion Management Console Improvements
The Diffusion console now provides a different editor component for JSON values, which allows users to browse the structure of the JSON data.
The Diffusion management console log viewer now allows users to download the whole of the current log file.
Usage Monitor
At this release, a new usage monitoring feature has been introduced. This provides customers with the ability to collect certain usage statistics in files that may then be sent to DiffusionData periodically so that their usage of the product can be assessed. This allows DiffusionData to have a far better view of how the product is being used and provide customers with feedback on their usage which can improve the overall product experience.
This capability will be rolled out to selected customers shortly and will be determined by the licence that is issued. For full details on how to operate a usage-monitored server see the user guide.
Other improvements
The C SDK is now compatible with MacOS Apple Silicon when using arm64 library version.
The default maximum message size as configured in Server.xml has been increased from 32KiB to 256KiB.
Fetch Query capabilities have been added to the Python SDK, which allow the fetching and conversion of individual values with or without accompanying topic properties based on various constraints such as topic types.
Methods to subscribe to and unsubscribe from topics using a topic selector have been added to Apple SDK
Deprecations
Session Properties Listeners have now been deprecated in favour of the new Session Event Listeners.
The use of `Buffer` has been deprecated throughout the JavaScript client. Use the browser compatible `Uint8Array` instead.
The ability to specify which topics are replicated in a cluster is deprecated in this release. The default is to replicate all topics and this is the only sensible option. The 'topics' element in Replication.xml is deprecated at this release and will be removed in a future release.
The fanout feature is deprecated at this release. The Remote Servers feature, along with topic views should be used in preference
Removals
The proceed and open methods on the MissingTopicNotification have been no-ops since 6.6 and were deprecated at that release. They have now been removed. Any calls to these methods in existing code can safely be removed.
The setSessionPropertiesListener method in the ClientControl feature that did not use CompletableFutures was deprecated in release 6.7 and has been removed in this release as well as the SessionPropertiesListener interface that supported it.
A number of configuration settings that were deprecated at 6.5 have been remove at this release.
See and the release notes at http://docs.diffusiondata.com/docs/6.11.2/ReleaseNotice.html for full details.