August 2022: Warp 10 release 2.11.0

Warp 10 2.11.0 has been released. Discover the bug fixes, enhancements, new features and new functions of the platform.

Warp 10 release 2.11.0

Summer is already two third through and the SenX team is back to work after some well-deserved vacations.

This week we released Warp 10 2.11.0 and the associated docker image.

Download Warp 10 2.11.0

This release packs more than 100 changes, some bug fixes, some performance enhancements, and some new features. We will detail some of them in the rest of this post.

Bug fixes

Some bugs managed to get their way in earlier releases, luckily we found some of them and fixed them in 2.11.0:

  • The {macro} construct is now correctly replaced in WarpFleet resolver URLs.
  • Some edge cases of comment parsing have been fixed.
  • Configuration specified via the system property warp10.config or environment variable WARP10_CONFIG can now contain multiple files.
  • The ASREGS function now behaves correctly when a macro contains uses of NOOP.
  • Lastly, the functions FOREACH, VALUES, and ENCODER-> now decode DOUBLE values correctly in all cases.

Enhancements

Some enhancements were made to some existing features. The /api/v0 endpoints now return a header X-Warp10-Timeunit which contains the number of platform time units per second.

The split generation done by Warp10InputFormat now supports the parameters gskip, gcount, activeafter, and quietafter.

The ECRECOVER function can now return the coordinates of the R point of the ECDSA signature.

New features

The 2.11.0 release also introduces some new features.

The warp10-standalone.sh script now supports two new commands, tokengen and run. The tokengen command can be used to execute a script with calls to the TOKENGEN function to easily generate tokens. The run command can be used to execute some WarpScript code without interacting with a Warp 10 platform.

The REXEC function can now use the rexec token capability which can contain a list of valid host patterns in the same format as the configuration warpscript.rexec.endpoint.patterns.

The Sensision functions such as SENSISION.GET or SENSISION.SET can now be used if the token capabilities sensision.read or sensision.write are set.

Runners can access the number of times they were called via the runner.execution.count variable.

Calls to the CALL can now be controlled by limiting the amount of time they will wait for an available process. This can be done via the warpscript.call.maxwait configuration or via the token capability call.maxwait.

Directory plugins were also overhauled: a new interface TrustedDirectoryPlugin was introduced. It exposes the raw Metadata of the Geo Time Series manipulated by the Directory, which makes it possible to write some elaborate Directory plugins since all information regarding GTS is now available to them.

New functions

Of course, no release would be complete without some new functions. 2.11.0 introduces the following functions:

  • MSEC and MRSEC can make macros secure hence avoiding access to their code to those executing them.
  • RUNNERAT and RUNNERIN allow rescheduling executions of runners either at a specific time or after a specific delay.
  • METAMATCH allows determining if GTS or ENCODER instances match a selector.
  • For scripts executed via the run command of warp10-standalone.sh, the functions FLOAD, FREAD, FSTORE, and STDIN allow to interact with the local filesystem and with standard input.

Discovery

Discovery is a dashboard as code tool. It includes dashboards generation (either through WarpScript or in an HTML page), single chart tiles and inputs as web components. The global idea is to generate a structure that defines a dashboard and its tiles. Tiles could depend on an execution result, so, your dashboard can change according to an alert for example.

As asked for a while by the community, Discovery is now available on Github.

There is a brand new component available since 1.1.36: profile.

This component allows you to display a GTS by considering its values as duration. You can now display a duration profile card.

More info about profile here

The road ahead

Warp 10 2.0.0 was released on November 19, 2018. Since then, 16 more releases were cut in the 2.x series. Release 2.11.0 should normally be the last minor release of that series with our main efforts now focusing on release 3.0.0 with a possible release candidate due in Q4 2022.

The 3.x branch will bring many improvements to Warp 10, some long-awaited by a number of our users. It will continue to bring the best time series analytics solution to the Open Source world with integration with many existing tools. The 3.x will also bring a lot of performance improvements as well as overall simplification of operations, both for the standalone and distributed versions.

We are eager to unveil all those changes in the upcoming months, so stay tuned and join the Warp 10 lounge to be the first to know!