Release notes

Imply 2.0.0 includes the following packages:

  • Druid 0.9.2
  • Pivot 0.10.27
  • PlyQL 0.9.6
  • Tranquility 0.8.2
  • ZooKeeper 3.4.9

Pivot evaluation

The Imply download includes a 30 day trial evaluation of Pivot, a powerful visual data explorer. Pivot licenses are included with Imply subscriptions — contact us to learn more!

The other major components of the Imply, including Druid, Tranquility, Plywood, PlyQL, and ZooKeeper, are open source under the Apache 2.0 license.

Upgrading from previous releases

  • Starting in Imply 2.0.0, Imply no longer includes the druid-namespace-lookup extension. Users should migrate to the new druid-lookups-cached-global extension.

  • Starting in Imply 1.3.0, Imply bundles Druid, which includes a substantially reworked query-time lookups (QTL) framework. The druid-namespace-lookup extension is now deprecated, and will be removed in a future version of Imply. Users should migrate to the new druid-lookups-cached-global extension. Both extensions can be loaded simultaneously to simplify migration. For details about migrating Druid, see Transitioning to lookups-cached-global in the Druid documentation. If you are using Pivot and want to migrate with no service interruptions, see Migration to Druid 0.9.1 lookups

  • Starting in Imply 1.3.0, Imply bundles Druid, which adjusts the default maxRowsInMemory configuration, deprecates a coordinator REST endpoint, and deprecates the druid.indexer.runner.separateIngestionEndpoint configuration property. See the Druid release notes for more details.

  • Starting in Imply 1.3.0, Imply bundles Pivot 0.9.7, which has made some breaking changes to the the Druid request decorator plugin API. If you are using a custom Druid request decorator see Migrating to Pivot 0.9.x

  • Starting in Imply 1.2.0, Imply uses the new Druid 0.9.x extension loading mechanism. This means that instead of druid.extensions.coordinates, you should use druid.extensions.loadList. See the Imply extensions documentation for details on the new mechanism.

  • Starting in Imply 1.1.1, Pivot is served from its own builtin server rather than from the Bard service. The Bard service is no longer included as part of Imply. Pivot configurations have moved from conf/bard/ to conf/pivot/config.yaml, and the format has changed to a standard Pivot configuration.

  • Starting in Imply 1.1.0, you must set druid.selectors.coordinator.serviceName to your Coordinator's druid.service value (defaults to druid/coordinator) in of all servers. Realtime handoff will only work if this config is properly set. (See #2015)

If you are doing a fresh install, all of these configurations are already properly set up.


Druid 0.9.2 contains hundreds of performance improvements, stability improvements, and bug fixes from over 30 contributors. Major new features include ability to disable rollup at ingestion time, a new groupBy engine, ability to filter on longs, new encoding options for long-typed columns, a query cache implementation based on Caffeine, a new lookup extension exposing fine grained caching strategies, support for reading ORC files, and new aggregators for variance and standard deviation.

Draft release notes for Druid 0.9.2 are at:


No changes since the previous Imply 1.3.1 release.


  • New plywood with greatly improved concurrency for performance
  • New home view
  • Added Heatmap vis
  • Added Geo vis
  • Added collections
  • Added cold start settings flow
  • Added a settings view
  • Fixed side drawer animation
  • Contains and Regexp search filters
  • Added ability to define custom extraction functions
  • Added ability to define custom druid context
  • Add --server-host command line var
  • Add --server-root command line var
  • DataCube#subsetFilter renamed to DataCube#subsetFormula
  • Renamed DataSource to DataCube
  • Changed Dimension and Measure expression to formula
  • DataSource#engine renamed to DataSource#clusterName
  • Added descriptions to data sources
  • Added trustProxy to server options
  • Adding strictTransportSecurity to server options
  • Changed default request log format and made it configurable
  • Misc bug fixes and improvements


  • Totally reworked internal representation all BlahAction classes are now BlahExpression
  • Fixed NOT() in Druid having clause
  • removed .custom use .customAggregate
  • changed lookup to lookupFn
  • changed LimitAction#limit to LimitExpression#value
  • changed QuantileAction#quantile to QuantileExpression#value
  • removed Expression#popAction use .operand instead
  • Sets no longer auto-unify elements
  • Limit action works with Infinity
  • Collect works for all types
  • Added CollectExpression
  • More efficient query parallelization
  • Quarter supported
  • Support Druid regexFiltered and listFiltered dim specs
  • SegmentMetadata queries pass context to Druid also
  • Fixed bug in OR
  • Support case insensitive RefExpression
  • Expressions can parse pure JSON also
  • Added STRING_RANGE type
  • Don't use globals in Druid JS functions
  • Core: Support for .indexOf(), .transformCase() action
  • Core: Support for .cast() action
  • Misc fixes and improvements


  • Support for QUARTER
  • Fixed case insensitivity bug in introspection queries
  • Using moment-timezone
  • General support for *Filtered dimensions specs
  • Support Druid's regexFiltered via new Plywood
  • Allow caSe insEnsitIviTy
  • Fixed problem when rendering a single column table would fail if a null existed as a value.
  • New plywood adds string comparisons
  • PlyQL SHOW query rewriting is case insensitive
  • PlyQL: Support for CAST, FROM_UNIXTIME, UNIX_TIMESTAMP actions
  • PlyQL: Support for LOCATE, UCASE, LCASE
  • Support for show status
  • Respect PlyQL column ordering
  • Misc fixes and improvements


Full release notes for ZooKeeper 3.4.9 are at:

How can we help?