Just a second...

What's new in Diffusion 5.9?

The latest version of Diffusion™ 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.

TypeScript support in the JavaScript® API

The JavaScript API now includes TypeScript definitions. These definitions enable developers to more efficiently develop JavaScript clients for Diffusion while minimizing the risk of runtime errors caused by type mismatches.

For more information, see JavaScript.

Transport cascading in the Android™ and Java™ 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.

Additional support for JSON and binary topics in the Apple® API

Apple Unified API clients now provide the ability to create and subscribe to JavaScript Object Notation (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.

Reliable reconnection for automated fan-out

The automated fan-out feature now makes use of all the advantages of Diffusion's reliable reconnection, which was introduced in version 5.8.

Previously, fan-out could not make use of standard reconnection due to the possibility of message loss. Now a fan-out secondary server that loses its connection to the primary server can reconnect without any loss of topics.

For more information, see Configuring fan-out.

Propagation of missing topic notifications over automated fan-out connections

Missing topic notifications generated by subscription or fetch requests to a secondary server are now propagated to missing topic handlers registered against the primary servers.

Control clients can use these notifications to monitor the activity of end-user clients. It was previously necessary for control clients to establish separate sessions with secondary servers to receive these notifications. Now clients can receive missing topic notifications through a single session with a primary server.

For more information, see Using missing topic notifications with fan-out.

Topics can be created without first creating parent topics

The relationship between topics and the topic tree has changed significantly in this release.

In previous releases, creating a topic at a topic path – for example, a/b – required that there was a topic at all parent paths – for example, a. If not present, these parent topics were created as stateless topics at the time the child topic was created.

From Diffusion version 5.9, a topic can be created at any topic path where there is not an existing topic. No additional parent topics are created. Empty intermediate topic paths remain empty and topics can be created at these empty paths at a later point.

Because there is no longer a requirement for every topic to have a parent topic, topics can now be deleted without affecting or deleting any child topics.

Note: These changes only apply to Unified API interactions with the topic tree. Publishers still create required parent topics when creating a topic and still delete all topics below a topic selected for deletion.

JMS adapter now available as a standalone application

The Diffusion JMS adapter, which previously could only be run as part of the Diffusion server process, can now also be run as a standalone application on a separate system to the Diffusion server.

For more information, see JMS.