April 2020: Warp 10 release 2.5.0

We just published the 2.5.0 release of Warp 10. Discover all the details in this post.

Release Warp 10 2.5.0

On Wednesday, April the 1st of 2020, two months after the release of the 2.4.0, we published the 2.5.0 release of Warp 10. As always, it brings a lot of enhancements and new features as well as some new functions and bug fixes.

Bug Fixes

  • MACROFILLER supports empty windows.
  • Arithmetic, Boolean and comparison operations with GTSs handle the GTS type in a more logical manner.
  • GTSs can be fetched using both timespan and count.
  • Large post-boundary fetches now return the correct result.

New Features

The most interesting addition of this 2.5 release is the Accelerator. On a standalone, it allows the combination of in-memory and on-disk storage in a transparent manner. Typical usage is to store all the data on the disk and to duplicate the most recent data in memory for lightning-fast queries. This is of course highly customizable as you can define which time range is in memory and fetching/updating can be made to use only on-disk or in-memory.

You can now fetch GTSs based on the absence of a label/attribute. For that, you need to enable the option in the configuration and use an empty string as the value of the missing label/attribute.

The /delete endpoint has new options to delete only Geo Time Series which are active or quiet after a certain timestamp. You need of course to enable activity in your configuration. /delete can also be made to delete only metadata.

A built-in extension has been added to manage running scripts on an Egress. They can be listed, renamed and killed, see the WSPS, WSINFO, WSNAME, WSSESSION, WSSTOP, WSSTOPSESSION, WSKILL and WSKILLSESSION for more information.

A variation of the BUCKETIZE framework has been added for buckets of irregular duration: BUCKETIZE.CALENDAR and UNBUCKETIZE.CALENDAR. This makes possible the bucketization of GTSs with buckets of 1 month for instance, even if months are of different duration.

New possibilities to customize your platform are now possible: you can add custom encoders for values received on the /update endpoint and you can add custom type resolvers for TYPEOF.

It is now possible to repair pure Java LevelDB which is typically used on single-board computers.

New Functions

Four new functions have been added to this new release, all of them to manipulate GeoShapes.

->GEOJSON converts a GeoShape to a GeoJSON. This is particularly useful to visualize the GeoShape you're using. The produced GeoJSON can either represent the boundaries of the whole shape or of each of its cells.

GEOSPLIT splits a GeoShape into a set of GeoShapes that have no adjacent cells (each shape is a connected space).

GEO.NORMALIZE ensures that the intersection of two GeoShapes is present in both as an identical set of cells.

GEOSHIFT shifts a GeoShape on the earth given latitude and longitude shifts.

Enhancements

There are a lot of enhancements in this 2.5.0, here is a summary:

  • Warp 10 2.5.0 is bundled with WarpStudio 1.0.29 which offers StackPS and SSL support as well as a beta (enable it in settings) Wizard, documentation popups and bug fixes.
  • The WarpScript VSCode plugin has also been updated to 1.1.24 to offer StackPS support, updated documentation, and fixes to several bugs.
  • The Boon JSON library has been replaced by Jackson for more speed and flexibility. Custom serialization can also be added through the JsonUtils class.
  • Producer and owner can be exposed in the fetched GTSs.
  • OpenType and Type1 Fonts can be fetched via URL with PcreateFont.
  • Support for JDK has been restricted to version 8 because some critical functionalities did not work anymore with JDK 7.
  • The macros cache size for library/warpfleet/repository can be limited.
  • Tokens can be banned based on presence of some attributes.
  • The ‘gts’ parameter of FETCH is more versatile and can use tokens information.
  • MVINDEXSPLIT is optimized.
  • PIVOT and META support GTS encoders.
  • When macro loading fails, error messages are clearer.
  • FOREACH can be used on STRING.
  • GEO.UNION and GEO.INTERSECTION can be applied to a list of GeoShapes.
  • GEOHASH-> and ->GEOHASH now handle GeoShapes and HHCodes.
  • TYPEOF handles more types.

Warp 10 2.5.0