DiffusionData, a pioneer and leader in real-time data streaming, is releasing Diffusion 6.12, introducing enhancements that speed up development, optimize resource usage, and guarantee consistent, high-performance real-time data delivery.
“As a company, we’ve always been driven by the insights of our community, ensuring our solution directly aligns with client needs. By listening closely to evolving requirements, we’ve introduced enhancements to our framework that addresses real-world developer challenges while boosting operational efficiency. These improvements are designed to accelerate productivity, reduce complexity, and create tangible business value. The ongoing feedback from our customers fuels continuous innovation in Diffusion, enabling our clients to deliver better outcomes and stay competitive,” said Grethe Brown, CEO of DiffusionData.
Enhancements in Diffusion 6.12 include:
Enhancements to the ‘Set’ Operation in Topic Views
The “set” operation within the Topic Views process clause has been enhanced to support additional use cases and provide greater flexibility when shaping output data. Key improvements include:
- Ability to Clear Output Structures
- Copying Items to the Same Output Location
- Support for Copying Complete Data Structures
Metric Alerts
There is a new Metrics notifications feature which allows metrics alerts to be notified to topics when certain criteria are satisfied. For example, an alert could be set up which will write to a topic when the memory utilization exceeds a specified threshold.
Session Authentication – Expiry
There is now a new session property called "$ExpiryTime" which lets an authenticator define when a session should automatically close, in milliseconds. If not set, the session won’t expire.
Topic View insert ’s now Allowed at any Point in the Specification
Topic view inserts can now appear anywhere in the specification, not just at the end, allowing them to be interspersed with other transformations.
Regular Expression Matching for String Comparison in Topic Views
There is now a new matches or =~ operator available in topic view "process" conditionals. This allows for advanced string comparisons using regular expressions, providing greater flexibility and precision.
Session Lock Query API
There is now a new API available in the ClientControl feature, which enables control clients to query session locks. There is a getSessionLocks method, which returns details of all current session locks, as well as a getSessionLock method to query a specific named session lock.
SubscriptionControl Feature now Cluster Aware
Previously, the SubscriptionControl feature methods to subscribe and unsubscribe sessions would only work for sessions connected to the same server as the control client using the feature. This meant that when Diffusion was running in a cluster a control client would need to connect separately to all servers in the cluster in order to manage all sessions. In this release, all methods in the SubscriptionControl feature apply to all sessions across a cluster.
SELECT_TOPIC Permissions Changes
In 6.12, the SELECT_TOPIC path permission is required for all paths that a topic selector may match — not just the path prefix. In earlier versions, SELECT_TOPIC permission was only required for the prefix of a topic selector.
The permission model has now been made more restrictive.
Improvements to the Journal Feature
In 6.12, the Journal feature has been simplified. The feature is now configured in the Server.xml configuration file, and the issued file contains a sample block with the feature disabled.
Topic Selection Scopes
In previous versions of Diffusion, if two different components of a client application, sharing a single Diffusion connection, subscribed to a topic and one of them later unsubscribed, the topic would be unsubscribed for the session and consequently for all components. Now, it is possible to specify a named scope when subscribing, such that a later unsubscription specifying that scope has no effect on other subscriptions that named a different scope. This allows subscriptions to be localized to the components that need them.
Other Improvements
- In 6.12, both the Diffusion server and Java Client require Java 17. Older clients can still connect, but the 6.12 Java Client is needed to access all new features.
- The JavaScript Client and Console now support the Safari browser.
- The Dotnet SDK client can now specify a custom URL path to connect to Diffusion through use of the new parameterless ISessionFactory Open and OpenAsync API in conjunction with the new ISessionFactory attributes: ServerHost , ServerPort , SecureTransport, and RequestPath .
For more information about this news, visit www.diffusiondata.com.