Skip to content

Releases: timescale/timescaledb-toolkit

1.3.1-cloud

27 Oct 16:38
6c984db
Compare
Choose a tag to compare

Version 1.3.1 with more permissive permissions to work correctly when provided by a managed environment. Use the regular version of the release, unless you have specific reason to use this one.

1.3.1

27 Oct 16:36
6c984db
Compare
Choose a tag to compare

Internal memory usage improvements.

1.3.0-cloud

18 Oct 16:25
Compare
Choose a tag to compare

Version 1.3.0 with more permissive permissions to work correctly when provided by a managed environment. Use the regular version of the release, unless you have specific reason to use this one.

1.3.0

18 Oct 16:21
20ef18c
Compare
Choose a tag to compare

This release stabilizes many in-progress features, improves stats_agg, and introduces a new experimental feature, timevector function pipelines, to ease working with time-series data.

Stabilizations

  • counter_agg helper functions for Prometheus-style resetting monotonic counters.
  • hyperloglog efficient approximate COUNT DISTINCT.
  • stats_agg two-step aggregate for common statistics.

Experimental Features

  • timevector function pipelines. A compact and readable way to perform a sequence of analytic operations such as the following one for volatility
    timevector(ts, val) -> sort() -> delta() -> abs() -> sum()
  • -> accessor for Toolkit types enables syntax like stats_agg(data) -> average()
  • to_epoch() wrapper for extract ('EPOCH' FROM timestamp) that makes it work more like an inverse of to_timestamp(DOUBLE PRECISION) #251

Migration Warning

  • This release changes the textual I/O format for Toolkit types. We are uncertain if we will need to do so again in the future. Due to this we currently only support dump/restore within a single version of the extension.

New Contributors

Full Changelog: 1.2.0...1.3.0

1.2.0-cloud

14 Sep 16:13
Compare
Choose a tag to compare

Version 1.2.0 with more permissive permissions to work correctly when provided by a managed environment. Use the regular version of the release, unless you have specific reason to use this one.

1.2.0

14 Sep 16:08
30bc297
Compare
Choose a tag to compare

This release adds some bugfixes and optimizations and includes new and refined experimental features.

Experimental Features

  • Refinements to hyperloglog including a function to report relative error and fixing the functionality of rollup.
  • Introduction of a TopN approximation API. Presently this will only work for integer data, but expect to see further refinements that greatly expand this behavior.
  • New map_series and map_data pipeline elements for the time series API that allow uses to provide custom transforms of their time series data. Additionally introduced a |>> pipeline operator for an even more streamlined interface into the new mapping functionality.

Bugfixes/Optimizations

  • Made a pass through all toolkit functions to correctly label behavior as immutable and parallel safe. This should improve the optimizations Postgres can apply to toolkit plans, particularly when run in a Timescale multinode cluster.
  • Improved handling of internal data structures to reduce extraneous copies of data.

1.1.0 Cloud Edition

04 Aug 18:09
Compare
Choose a tag to compare

Version 1.1.0 with more permissive permissions to work correctly when provided by a managed environment. Use the regular version of the release, unless you have specific reason to use this one.

1.1.0

04 Aug 18:39
ab79179
Compare
Choose a tag to compare

This release contains new experimental features and bugfixes.

Experimental Features

  • hyperloglog has been updated to use Hyperloglog++ under the hood. This does not change the user-facing API but should improve the accuracy of hyperloglog() estimates. This is the last major change expected for hyperloglog() and is now a candidate for stabilization pending user feedback.
  • We've started experimenting with the pipeline API. While it's still very much a work in progress, it's at a point where the high-level concepts should be understandable. For example, a pipeline that outputs the daily change of a set of data, interpolating away any gaps in daily data, could look like
    SELECT timeseries(time, val)
        |> sort()
        |> resample_to_rate('trailing_average', '24 hours', true)
        |> fill_holes('interpolate')
        |> delta()
    FROM ...
    It's still early days for this API and it is not yet polished, but we would love feedback about its direction.

Bugfixes

  • Fixed a small memory leak in aggregation functions. This could have leaked ≈8 bytes per aggregate call.

As always we love feedback! All in-progress features are tracked in Feature Progress, and please stop by our Discussions or issue tracker if you have any questions, comments, or feedback!

1.0.0 Cloud Edition

12 Jul 20:44
Compare
Choose a tag to compare

Version 1.0.0 with more permissive permissions to work correctly when provided by a managed environment. Use the regular version of the release, unless you have specific reason to use this one.

1.0.0

12 Jul 20:44
414e660
Compare
Choose a tag to compare

This release renames the extension to TimescaleDB Toolkit, starts stabilizing functionality, and includes internal improvements, and new experimental features.

Stabilizes:

  • Percentile-approximation algorithms including percentile_agg(), uddsketch() and tdigest() along with their associated functions. These are especially useful for computing percentiles in continuous aggregates.
  • Time-weighted average along with it's associated functions. This eases taking the average over an irregularly spaced dataset that only includes changepoints

New Experimental Features:

  • stats_agg() eases the analysis of more sophisticated bucketed statistics, such as rolling averages. (Docs are forthcoming, until then fell free to peruse the design discussion doc.
  • timeseries which will serve as a building block for many pipelines, and unifies the output of lttb and ASAP.

Internal Improvements

  • uddsketch's on-disk layout has be reworked to store buckets compressed. This can result in an orders-of-magnitude reduction in it's storage requirements.
  • uddsketch's textual format has been reworked to be more readable.
  • functions that take in a uddsketch or t-digest have been reworked to be 0-copy when applicable, improving the performance of such functions by 10-100x.