Skip to content

Releases: timescale/timescaledb-toolkit

1.19.0

14 Nov 10:39
Compare
Choose a tag to compare

New features

  • #824 PostgreSQL 17 support

Bug fixes

  • #828 correct broken serialization
  • #827 correct unaligned slice access

Documentation fixes

  • #796 Fix approx_percentile arguments in two-step_aggregation example
  • #797 Fix small typo in readme
  • #805 Fix self-hosted installation instructions link

New Contributors

Full Changelog: 1.18.0...1.19.0

1.18.0

30 Nov 02:47
Compare
Choose a tag to compare

New features

  • #776: PostgreSQL 16 support

Full changelog: 1.17.0...1.18.0

1.17.0

06 Jul 17:00
Compare
Choose a tag to compare

Bug fixes

  • #761: Make sure nmost combine uses correct memctx. This fixes the segfault issue when using min_n and max_n reported in #759

Other changes

  • #762: Update pgrx to 0.9.7
  • CentOS 7 binaries are no longer built

Full Changelog: 1.16.0...1.17.0

1.16.0

05 Apr 22:02
Compare
Choose a tag to compare

Bug fixes

  • #733: Fix a bug when rolling up overlapping heartbeat_aggs
  • #740: When interpolating an 'locf' time weighted average, extend last point to interpolation boundary
  • #742: Ignore incoming NULL values in hyperloglog rollup

Stabilized features

  • #741: Stabilize approx_count_distinct
  • #748: Stabilize approx_percentile_array
  • #745: Stabilize date utility functions
  • #751: Stabilize min_n/max_n/min_n_by/max_n_by
  • #752: Stabilize mcv_agg, this was previously our topn_agg

Other notable changes

  • #743: Remove support for direct upgrades from toolkit versions more than 1 year old. Toolkit versions 1.4.x and 1.5.x will have to upgrade to an intermediate version before upgrading to 1.16.0.
  • #744: Fix nightly CI failures from building TimescaleDB on Enterprise Linux
  • #749: Added num_live_ranges, num_gaps, and trim_to accessors for heartbeat aggregates

Full Changelog: 1.15.0...1.16.0

1.15.0

09 Mar 17:39
Compare
Choose a tag to compare

Stabilized features

  • #722: Stabilize heartbeat aggregate (heartbeat_agg).
  • #724: Stabilize integral and interpolated_integral for time-weighted-average (time_weight).
  • #723: Stabilize state aggregate (state_agg). Note that this was previously known as timeline_agg before version 1.14.0.

Bug fixes

  • #715: Fix out-of-bounds indexing error in state_agg rollup.

Other notable changes

  • #716: Add arrow operator support for counter aggregate and time-weighted aggregate interpolated accessors.
  • #716: Remove experimental versions of interpolated accessors for counter aggregate and time-weighted aggregates. The stable versions introduced in 1.14.0 should be used instead.
  • #723: Add state_at function for state_agg.
  • #709: Update pgx version to 0.7.1.

Full Changelog: 1.14.0...1.15.0

1.14.0

10 Feb 16:14
Compare
Choose a tag to compare

1.14.0 (2023-02-09)

Stabilized features

  • #701: Stabilize candlestick family of functions.
  • #650: Stabilize interpolated_delta & interpolated_rate for counter aggregate, and interpolated_average for time-weighted aggregate.

Bug fixes

  • #660: Heartbeat aggregate rollup should interpolate aggregates
  • #679: Heartbeat aggregate rollup producing invalid aggregates.

Other notable changes

  • #696 : Add rollup for freq_agg and topn_agg.
  • #692: Support specifying a range (start and end parameters) to duration_in for the state_agg.
  • #692: Removed next parameter from interpolated state aggregate functions.
  • #692: Renamed state_agg to compact_state_agg and timeline_agg to state_agg.
  • #699: interpolated_duration_in/duration_in/interpolated_state_periods/state_periods have the first two arguments swapped: now the aggregate is first and the state is second to be aligned with our established convention.
  • #699: into_values/into_int_values now returns a table with intervals instead of microseconds.

Shout-outs

  • @gugu for requesting adding rollup to freq_agg and topn_agg.

Full Changelog: 1.13.1...1.14.0

1.13.1

04 Jan 17:36
Compare
Choose a tag to compare

1.13.1 (2023-01-03)

  • #664 Support PostgreSQL 15. NOTE: The recommended minimum version of TimescaleDB is 2.9.1 to work with PG 15.

Full Changelog: 1.13.0...1.13.1

1.13.0

13 Dec 20:51
Compare
Choose a tag to compare

New experimental features

  • #615: Heartbeat aggregate
    Users can use the new heartbeat_agg(timestamp, start_time, agg_interval, heartbeat_interval) to track the liveness of a system in the range (start_time, start_time + agg_interval). Each timestamp seen in that range is assumed to indicate system liveness for the following heartbeat_interval.

    Once constructed, users can query heartbeat aggregates for uptime and downtime, as well as query for live_ranges or dead_ranges. Users can also check for live_at(timestamp).

    Heartbeat aggregates can also interpolated to better see behavior around the boundaries of the individual aggregates.

  • #620: Expose TDigest type

    This is a prototype for building TDigest objects client-side, for INSERT into tables.

    This is a lightly tested prototype; try it out at your own risk!

    Examples

  • #635: asof joins for timevectors

    This allows users to join two timevectors with the following semantics timevectorA -> asof(timevectorB). This will return records with the LOCF value from timevectorA at the timestamps from timevectorB. Specifically the returned records contain, for each value in timevectorB, {the LOCF value from timevectorA, the value from timevectorB, the timestamp from timevectorB}.

  • #609: New approx_percentile_array() function

    Users can use the new toolkit_experimental.approx_percentile_array(percentiles) to generate an array of percentile results instead of having to call and rebuild the aggregate multiple times.

  • #636: New timeline_agg aggregate, which is similar to state_agg but tracks the entire state timeline instead of just the duration in each state.

  • #640: Support rollup for state_agg and timeline_agg.

  • #640: Support integer states for state_agg and timeline_agg.

  • #638: Introducing Time Vector Templates.

    Users can use the new experimental function toolkit_experimental.to_text(timevector(time, value),format_string) to render a formatted text representation of their time vector series. These changes also include toolkit_experimental.to_plotly(timevector(time, value)), which will render your time vector series in a format suitable for use with plotly.

Bug fixes

  • #644: Fix bug in Candlestick aggregate and reenable partial aggregation.

Other notable changes

  • #646: Upgrade to PGX 0.6.1 with experimental support for PostgreSQL 15
  • #621: Rocky Linux 9 support

Full Changelog: 1.12.1...1.13.0

1.12.1

18 Nov 17:48
Compare
Choose a tag to compare

Bug fixes

  • #624: Remove partial aggregation for Candlestick aggregates. We've determined that the cause for the bad results lives somewhere in the functions that are used to support partial aggregation. We can at least prevent folks from running the candlestick aggregates in parallel mode and hitting this bug by dropping support for partial aggregation until we've resolved the issue.

1.12.0

08 Nov 21:08
d79aa81
Compare
Choose a tag to compare

New experimental features

  • #596: Introduce Candlestick Aggregate.
    Users can use either the toolkit_experimental.candlestick_agg(timestamp, price, volume) aggregate or the toolkit_experimental.candlestick(timestamp, open, high, low, close, volume) function, depending on whether they are starting from tick data or already aggregated data.
    Both the aggregate form and the function form of Candlestick support the following (experimental) accessors (in addition to being re-aggregated via rollup):
    open, high, low, close, open_time, high_time, low_time, close_time, volume, vwap (Volume Weighted Average Price)

    NOTE:

    • This functionality improves upon and replaces the need for toolkit_experimental.ohlc which might be removed in the next release.
    • This functionality is not safe to run in parallel mode yet.
  • #590: New min_n/max_n functions and related min_n_by/max_n_by.
    The former is used to get the top N values from a column while the later will also track some additional data, such as another column or even the entire row.
    These should give the same results as a SELECT ... ORDER BY ... LIMIT n, except they can be composed and combined like other toolkit aggregates.

Bug fixes

  • #568: Allow approx_count accessor function to take NULL inputs.
  • #574: Add default unit to interpolated_integral.

Other notable changes

  • RPM packages for CentOS 7 have returned.
  • New Homebrew formula available for macOS installation: brew install timescale/tap/timescaledb-toolkit.
  • #547: Update pgx to 0.5.0. This is necessary for adding Postgres 15 support coming soon.
  • #571: Update CI docker image for pgx 0.5.0.
  • #599: Reduce floating point error when using stats_agg in moving aggregate mode.
  • #589: Update pgx to 0.5.4.
  • #594: Verify that pgx doesn't generate CREATE OR REPLACE FUNCTION.
  • #592: Add build script option to install in release mode.

Shout-outs

  • @zyro for reporting null handling issue on count_min_sketch.

Full Changelog: 1.11.0...1.12.0