Sailor compatibility matrix

This document provides information on Sailor compatibility matrix.

Platform Sailor

Sailor is a tool that provides developers with a set of pre-built functionalities in library form, allowing them to easily create integration components for the elastic.io platform. It enables developers to interact with the platform by:

  • emit messages - send them from the component further into the flow
  • write logs
  • manage the load - flow control
  • create some hooks - code that will be executed once, for example, at startup flow

Sailor also takes care of platform interactions under the hood, including message encryption, queuing, and other tasks, making it easier for developers to focus on building their integrations.

The following tables shows the support of the platform features in Sailor versions:

elastic.io follows the Semver semantics for the Sailor releases. To keep the compatibility matrix manageable, we might skip patch releases here.

Node.js - package.json

All the available Node.js Sailor versions can be retrieved directly from the NPM or by executing the following command on your terminal:

npm view elasticio-sailor-nodejs versions

If your component is written in Node.js then you must make the modification in your package.json configuration file found in the root directory of your component. Here is where to pay particular attention:

"dependencies": {
    "elasticio-sailor-nodejs": "2.7.1",
    "elasticio-node": "0.0.9",
}

Node.js Sailor compatibility matrix

Features v2.0.x v2.1.x v2.2.x v2.5.x v2.6.x-v2.7.0
Request-reply Yes Yes Yes Yes Yes
Startup Hook Yes Yes Yes Yes Yes
Init Hook Yes Yes Yes Yes Yes
Passthrough - Yes Yes Yes Yes
Shutdown Hook - - Yes Yes Yes
Bunyan Logger - - - Yes Yes
Message Size - - - - Yes
Disable Passthrough - - - - Yes
Dynamic flow control - - - - Yes
Custom error handler - - - - Yes
Lightweight messages - - - - Yes

Java - build.gradle

All the available Java Sailor versions can be retrieved from the Maven Central Repository.

If your component is written in Java you must make the modification in your build.gradle configuration file found in the root directory of your component. Here is where to pay particular attention:

dependencies {
    compile "io.elastic:java-api:2.1.0"
}

Java Sailor compatibility matrix

Features v2.0.x v2.1.x v3.0.x v3.1.x v3.2.x v3.3.x-v4.0.0
Request-reply Yes Yes Yes Yes Yes Yes
Startup Hook Yes Yes Yes Yes Yes Yes
Init Hook Yes Yes Yes Yes Yes Yes
Passthrough - Yes Yes Yes Yes Yes
Shutdown Hook - - Yes Yes Yes Yes
Bunyan Logger - Yes Yes Yes Yes Yes
Disable Passthrough - Yes Yes Yes Yes Yes
Dynamic flow control - - - Yes Yes Yes
Custom error handler - - - - - Yes
Lightweight messages - - - - Yes Yes