Releases: timescale/timescaledb-toolkit
1.22.0: PostgreSQL 18 Support
What's Changed
- Fix days_in_month behaviour when supplied date is not start of month by @svenklemm in #880
- Update rust version to 1.89 by @dbeck in #884
- Update pgrx version to 0.16.0 by @dbeck in #881
- Change to ruby 3.1 by @svenklemm in #886
- PG18 support by @syvb in #891
Full Changelog: 1.21.0...1.22.0
1.21.0
1.19.0
New features
- #824 PostgreSQL 17 support
Bug fixes
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
- @vanderhoop made their first contribution in #796
- @ccutrer made their first contribution in #805
- @zilder made their first contribution in #824
- @JamesGuthrie made their first contribution in #828
Full Changelog: 1.18.0...1.19.0
1.18.0
1.17.0
1.16.0
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 ourtopn_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
Stabilized features
- #722: Stabilize heartbeat aggregate (
heartbeat_agg). - #724: Stabilize
integralandinterpolated_integralfor time-weighted-average (time_weight). - #723: Stabilize state aggregate (
state_agg). Note that this was previously known astimeline_aggbefore version 1.14.0.
Bug fixes
- #715: Fix out-of-bounds indexing error in
state_aggrollup.
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_atfunction forstate_agg. - #709: Update pgx version to 0.7.1.
Full Changelog: 1.14.0...1.15.0
1.14.0
1.14.0 (2023-02-09)
Stabilized features
- #701: Stabilize
candlestickfamily of functions. - #650: Stabilize
interpolated_delta&interpolated_ratefor counter aggregate, andinterpolated_averagefor time-weighted aggregate.
Bug fixes
- #660: Heartbeat aggregate rollup should interpolate aggregates
- #679: Heartbeat aggregate rollup producing invalid aggregates.
Other notable changes
- #696 : Add
rollupforfreq_aggandtopn_agg. - #692: Support specifying a range (start and end parameters) to
duration_infor the state_agg. - #692: Removed
nextparameter from interpolated state aggregate functions. - #692: Renamed
state_aggtocompact_state_aggandtimeline_aggtostate_agg. - #699:
interpolated_duration_in/duration_in/interpolated_state_periods/state_periodshave 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_valuesnow returns a table with intervals instead of microseconds.
Shout-outs
- @gugu for requesting adding
rolluptofreq_aggandtopn_agg.
Full Changelog: 1.13.1...1.14.0
1.13.1
1.13.0
New experimental features
-
#615: Heartbeat aggregate
Users can use the newheartbeat_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 followingheartbeat_interval.Once constructed, users can query heartbeat aggregates for
uptimeanddowntime, as well as query forlive_rangesordead_ranges. Users can also check forlive_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
TDigestobjects client-side, forINSERTinto tables.This is a lightly tested prototype; try it out at your own risk!
-
#635:
asofjoins for timevectorsThis 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()functionUsers 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_aggaggregate, which is similar tostate_aggbut tracks the entire state timeline instead of just the duration in each state. -
#640: Support
rollupforstate_aggandtimeline_agg. -
#640: Support integer states for
state_aggandtimeline_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 includetoolkit_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
Full Changelog: 1.12.1...1.13.0