20 hours ago
cas

v7.3.3

⭐ Release Notes

👫 Contributions

Special thanks to the following individuals for their excellent contributions:

  • @mmoayyed
  • @thomas-nilsson-irfu
1 days ago
questdb

9.3.0

QuestDB 9.3.0

QuestDB 9.3.0 is now available, bringing a new wave of query expressiveness and usability improvements across the engine and the Web Console. This release introduces window joins for precise time-based analytics, database views for cleaner query composition, AI-assisted workflows in the console, and the new PIVOT keyword for effortless wide-schema aggregations.


New features

Window joins for time-based aggregation

QuestDB now supports WINDOW JOIN, a new join syntax designed specifically for time-based analytics.

WINDOW JOIN allows each row from a primary table to be joined with a time window of rows from another table, with aggregations computed over the matching rows. This makes short-horizon analytics—such as correlating trades with nearby market prices—both expressive and efficient.

SELECT
  t.*,
  avg(p.bid) AS avg_bid,
  avg(p.ask) AS avg_ask
FROM trades t
WINDOW JOIN prices p
  ON p.sym = t.sym
  RANGE BETWEEN 1 second PRECEDING
        AND 1 second FOLLOWING
  INCLUDE PREVAILING;

In this example, each row from trades is joined with all rows from prices that share the same symbol and fall within the [-1s, +1s] interval (inclusive). Aggregations are then calculated over the joined rows.

This syntax avoids complex subqueries and makes time-windowed joins explicit, readable, and performant.


Database views

QuestDB 9.3.0 adds support for database views.

Views are virtual tables defined by a SELECT statement. They do not persist data on disk. Instead, the underlying query is executed as a subquery each time the view is referenced.

This allows you to encapsulate complex logic, reuse queries across applications, and expose stable schemas without duplicating or materialising data.

CREATE VIEW latest_trades AS
SELECT
  symbol,
  side,
  last(price) AS price,
  last(timestamp) AS ts
FROM trades
GROUP BY symbol, side;

Views can be queried just like tables, while always reflecting the latest data from their source tables.


AI-assisted workflows in the Web Console

The QuestDB Web Console now includes LLM-powered assistance, available on an opt-in basis using your own API key.

Once enabled, the console can:

  • Auto-describe table schemas and column semantics
  • Annotate sample rows with plain-language context
  • Walk through query execution plans, highlighting joins, filters, and index usage

This makes it easier to understand both what a query does and how it executes—directly where you write SQL.


PIVOT: wide-schema aggregations

This release introduces the new PIVOT keyword.

PIVOT is a specialised form of GROUP BY that transforms rows into columns, helping you move from a narrow schema to a wide one in a single query.

Consider the following trades table:

CREATE TABLE trades (
  symbol SYMBOL CAPACITY 256 CACHE,
  side   SYMBOL CAPACITY 256 CACHE,
  price  DOUBLE,
  amount DOUBLE,
  timestamp TIMESTAMP
) timestamp(timestamp) PARTITION BY DAY WAL;

A traditional aggregation might look like this:

SELECT side, symbol, last(price) AS price
FROM trades
WHERE symbol IN ('BTC-USD', 'ETH-USD')
ORDER BY side, symbol;

Resulting in a narrow result set.

With PIVOT, the same logic can be expressed as a wide schema:

trades
PIVOT (
  last(price)
  FOR symbol IN ('BTC-USD', 'ETH-USD')
  GROUP BY side
  ORDER BY side
);

PIVOT performs a combined filter and aggregation, mapping values directly into columns. This is particularly useful for reporting, dashboards, and downstream systems that prefer column-oriented outputs.

What's Changed

Full Changelog: https://github.com/questdb/questdb/compare/9.2.3...9.3.0

1 days ago
zuul

v3.3.1

What's Changed

Full Changelog: https://github.com/Netflix/zuul/compare/v3.3.0...v3.3.1

3 days ago
prometheus

3.9.1 / 2026-01-07

  • [BUGFIX] Agent: fix crash shortly after startup from invalid type of object. #17802
  • [BUGFIX] Scraping: fix relabel keep/drop not working. #17807
3 days ago
rustfs

1.0.0-alpha.79

What's Changed

New Contributors

Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.78...1.0.0-alpha.79

3 days ago
milvus

milvus-2.5.25

Release note is coming...

4 days ago
prometheus

3.9.0 / 2026-01-06

Note for users of Native Histograms

In version 3.9, Native Histograms is no longer experimental, and the feature flag native-histogram has no effect. You must now turn on the config setting scrape_native_histograms to collect Native Histogram samples from exporters.

Changelog

  • [CHANGE] Native Histograms are no longer experimental! Make the native-histogram feature flag a no-op. Use scrape_native_histograms config option instead. #17528
  • [CHANGE] API: Add maximum limit of 10,000 sets of statistics to TSDB status endpoint. #17647
  • [FEATURE] API: Add /api/v1/features for clients to understand which features are supported. #17427
  • [FEATURE] Promtool: Add start_timestamp field for unit tests. #17636
  • [FEATURE] Promtool: Add --format seriesjson option to tsdb dump to output just series labels in JSON format. #13409
  • [FEATURE] Add --storage.tsdb.delay-compact-file.path flag for better interoperability with Thanos. #17435
  • [FEATURE] UI: Add an option on the query drop-down menu to duplicate that query panel. #17714
  • [ENHANCEMENT]: TSDB: add flag --storage.tsdb.block-reload-interval to configure TSDB Block Reload Interval. #16728
  • [ENHANCEMENT] UI: Add graph option to start the chart's Y axis at zero. #17565
  • [ENHANCEMENT] Scraping: Classic protobuf format no longer requires the unit in the metric name. #16834
  • [ENHANCEMENT] PromQL, Rules, SD, Scraping: Add native histograms to complement existing summaries. #17374
  • [ENHANCEMENT] Notifications: Add a histogram prometheus_notifications_latency_histogram_seconds to complement the existing summary. #16637
  • [ENHANCEMENT] Remote-write: Add custom scope support for AzureAD authentication. #17483
  • [ENHANCEMENT] SD: add a config label with job name for most prometheus_sd_refresh metrics. #17138
  • [ENHANCEMENT] TSDB: New histogram prometheus_tsdb_sample_ooo_delta, the distribution of out-of-order samples in seconds. Collected for all samples, accepted or not. #17477
  • [ENHANCEMENT] Remote-read: Validate histograms received via remote-read. #17561
  • [PERF] TSDB: Small optimizations to postings index. #17439
  • [PERF] Scraping: Speed up relabelling of series. #17530
  • [PERF] PromQL: Small optimisations in binary operators. #17524, #17519.
  • [BUGFIX] UI: PromQL autocomplete now shows the correct type and HELP text for OpenMetrics counters whose samples end in _total. #17682
  • [BUGFIX] UI: Fixed codemirror-promql incorrectly showing label completion suggestions after the closing curly brace of a vector selector. #17602
  • [BUGFIX] UI: Query editor no longer suggests a duration unit if one is already present after a number. #17605
  • [BUGFIX] PromQL: Fix some "vector cannot contain metrics with the same labelset" errors when experimental delayed name removal is enabled. #17678
  • [BUGFIX] PromQL: Fix possible corruption of PromQL text if the query had an empty ignoring() and non-empty grouping. #17643
  • [BUGFIX] PromQL: Fix resets/changes to return empty results for anchored selectors when all samples are outside the range. #17479
  • [BUGFIX] PromQL: Check more consistently for many-to-one matching in filter binary operators. #17668
  • [BUGFIX] PromQL: Fix collision in unary negation with non-overlapping series. #17708
  • [BUGFIX] PromQL: Fix collision in label_join and label_replace with non-overlapping series. #17703
  • [BUGFIX] PromQL: Fix bug with inconsistent results for queries with OR expression when experimental delayed name removal is enabled. #17161
  • [BUGFIX] PromQL: Ensure that rate/increase/delta of histograms results in a gauge histogram. #17608
  • [BUGFIX] PromQL: Do not panic while iterating over invalid histograms. #17559
  • [BUGFIX] TSDB: Reject chunk files whose encoded chunk length overflows int. #17533
  • [BUGFIX] TSDB: Do not panic during resolution reduction of invalid histograms. #17561
  • [BUGFIX] Remote-write Receive: Avoid duplicate labels when experimental type-and-unit-label feature is enabled. #17546
  • [BUGFIX] OTLP Receiver: Only write metadata to disk when experimental metadata-wal-records feature is enabled. #17472