Just a second...

What was new in Diffusion 5.7?

Diffusion™ 5.7 contains new functions, performance enhancements and bug fixes.

A complete list of the latest updates to Diffusion can be found in the Release Notes available at http://docs.pushtechnology.com/docs/5.9.24/ReleaseNotice.html.

JavaScript Object Notation (JSON) and binary topics

The Java™, JavaScript®, and Android™ Unified API clients now provide the ability to create, update, and subscribe to JSON and binary topics.

JSON topics enable you to structure your data using JSON. The data is transmitted in a Concise Binary Object Representation (CBOR) binary form for increased efficiency.

For more information, see JSON topics.

Binary topics enable you to stream your data in pure binary form without the overhead of having to encode the binary data into string form.

For more information, see Binary topics.

Create and update topics from the Apple® Unified API

The TopicControl and TopicUpdateControl features are now available in the Apple Unified API.

For more information, see and Updating topics.

Enhancements to the C Unified API

The following new features have been added to the C Unified API:
  • WebSocket support.

    The WebSocket implementation provides a browser-based full duplex connection, built on top of WebSocket framing. This complies with the WebSocket standards and is usable with any load balancer or proxy with support for WebSocket.

  • The ClientControl feature.

    The C Unified API now enables you to receive notifications when client sessions open or close and get session properties for a client session. For more information, see Managing clients.

New security permission: select_topic

The select_topic security permission has been added to the list of topic-scoped permissions. This permission controls whether sessions can subscribe to or fetch from particular parts of the topic tree. For more information, see Permissions.

If you are upgrading an existing configuration to work with Diffusion 5.7, update your Security.store file to grant this new permission to the appropriate roles. For more information, see Upgrading from version 5.6 to version 5.7.

HTTP Polling transport in the JavaScript Unified API

HTTP polling uses HTTP to make a long poll request. This transport is supported by most proxies and load balancers and enables your clients to connect to the Diffusion server in situations where WebSocket connections are not allowed.

For more information, see Client types.

Transport cascading in the JavaScript Unified API

You can specify that your client attempts connection using more than one transport. If a connection attempt using the first specified transport fails, the client cascades to the next specified transport and uses it to attempt connection.

For more information, see Connecting basics.

Log4j2 logging

Diffusion can now be configured to use log4j2 as an alternative logging implementation. The log4j2 implementation of SLF4J supports a wide range of appenders and allows fine-grained tuning of the events that are logged.

For more information, see Logging back-end. For the log4j2 documentation, see http://logging.apache.org/log4j/2.x/manual.

Increased interoperability of client and server versions

The Diffusion server and Diffusion clients can now negotiate well-defined interoperability of services based on their respective versions, for version 5.6 and later. This enables clients to connect to a Diffusion server with a later version and for both the client and the server to respond gracefully to differences of capability.

For more information, see Interoperability.

Paged topic support in automated fan-out

Paged string topics and paged record topics are now added to the list of topic types that can be distributed by automated fan-out.

For more information, see Fan-out.