Since Prometheus 0.17.0 was released there have been a number of changes. Let's see what's in 0.18.0.

PromQL

There are just two new features in PromQL in this release. The first is the holt_winters(range_vector[60m], smoothing_factor, trend_factor) function, which applies double exponential smoothing.

The second is the unless binary operator, which returns time series on the left hand side unless there's a matching time series on the right hand side. This is the opposite of the existing and binary operator, which returns the time series on the left hand side only if there's a match on the right hand side.

Finally the old alerting syntax is no longer supported.

Internals

There have been a number of beneficial internal changes. The first is the new varbit encoding, which uses substantially less disk at ~1.3 bytes per sample at the cost of increased cpu usage. You can enable it with -storage.local.chunk-encoding-version=2.

Identical targets within a scrape config are now deduplicated, and substantial performance improvements have been made for accessing recent time series.

For the full list of changes, see the release notes.