Check out new features in Diffusion 6.8.1
- Gateway Framework
This release provides support for a new integration framework that allows users to write simple applications which can consume data from external data sources and publish to Diffusion topics or consume Diffusion topic updates and publish to external data sources. - Topic views calculations and conditionals
Diffusion’s data wrangling capabilities continue to grow with the introduction of the new ‘process’ transformation within topic views which allows calculations to be performed upon input JSON values and the results ‘set’ as fields in the output JSON. - Journal logging
Diffusion observability is improved with the introduction of the journal log. This is a new optional log which can log significant events such as API calls to a separate log, recording timestamps and the originator (principal) of the event. - Individual topic view retrieval
It is now possible to retrieve a single named topic view using a new getTopicView method available in all SDKs. - Metric collector improvements
It is now possible to group topic metric collectors by the number of path segments following the selector path prefix. This allows metric collector granularity down to individual topics if required. There is also now the option to limit the number of dimensions created by a topic or session metric collector.
Read What's New in the Manual for more details.
Version 6.8.1
Requires JDK 8 (1.8.0_131 or higher) or Java 11 JDK (11.0.3 GA or higher, Hotspot JVM)
Diffusion SDKs
Additional Resources and Support
SDK Downloads
By downloading any of these SDKs you agree to abide by our Terms and Conditions.
Get the minified JavaScript:
Get the unminified JavaScript:
Include a specific version of JavaScript in a web page:
<script src="https://download.diffusiondata.com/clients/6.8.1/js/diffusion-6.8.1.js">
Use with Node.js:
Install with npm.
npm install diffusion
Include in your Node.js application.
var diffusion = require('diffusion');
Use TypeScript definitions with the client library:
If you got the client library using npm, the TypeScript definition file is included.
You can also download the TypeScript file from the following URL:
Include the TypeScript definition file in your IDE project to use the TypeScript definitions when developing for a client.
Enable message compression:
To enable optional zlib message compression in browser applications, you can either:
- use browserify to require the browserify-zlib npm module
- package or include this file:
If you are using Node.js, you don't need to do anything to enable compression. Node.js provides zlib as a standard module.
Get the web worker bundle:
Get the modular browser bundles:
https://download.diffusiondata.com/clients/6.8.1/js/diffusion-core-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-core-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-client-control-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-messages-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-topic-control-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-topic-update-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-topic-notifications-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-time-series-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-security-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-session-lock-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-remote-servers-6.8.1.js https://download.diffusiondata.com/clients/6.8.1/js/modular/diffusion-feature-topic-views-6.8.1.js
See the API documentation for how to dynamically load modules.
Get the Apple SDK for iOS:
Get the Apple SDK for macOS:
Get the Apple SDK for tvOS:
apply plugin: 'com.android.application' android { compileSdkVersion 27 defaultConfig { multiDexEnabled true applicationId "com.pushtechnology.android.example" minSdkVersion 19 targetSdkVersion 27 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } repositories { maven { url "https://download.diffusiondata.com/maven/" } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9' implementation 'org.slf4j:slf4j-api:1.7.21' implementation 'com.pushtechnology.diffusion:diffusion-android-client:6.8.1' }
Get the Java SDK using Maven:
Add the DiffusionData public repository to your pom.xml file
<repositories> <repository> <id>push-repository</id> <url>https://download.diffusiondata.com/maven/</url> </repository> </repositories>
Declare the following dependency in your pom.xml file
<dependency> <groupId>com.pushtechnology.diffusion</groupId> <artifactId>diffusion-client</artifactId> <version>6.8.1</version> </dependency>
Get the Java SDK using Gradle:
Add the DiffusionData public repository to your build.gradle file
repositories { maven { url "https://download.diffusiondata.com/maven/" } }
Declare the following dependency in your build.gradle file
compile 'com.pushtechnology.diffusion:diffusion-client:6.8.1'
Get the Java SDK as a JAR:
Get the .NET SDK from NuGet:
dotnet add package Diffusion.Client
Get the C client libraries for Linux:
Get the C client libraries for macOS:
Get the C client libraries for Windows:
Get the Python SDK with pip:
$ pip install diffusion==6.8.1