8 hours ago
MeiliSearch

v1.32.0

🌈 Improvements

Log Search performance trace

Introduces comprehensive progress tracking and logging for search operations in Meilisearch. It adds detailed timing information for each step of the search process, enabling better observability and performance analysis.

by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6072

Extract document operations from payloads in parallel

We accelerate document indexing by processing a large number of tasks in batches or a large number of records in parallel. We expedited the preparation of the payloads by extracting the various changes and assigning internal IDs in parallel. We achieved a 7x speedup on a four-million-document insertion using four CPUs, and the performance scales with the number of CPUs.

The indexedDocuments field in tasks using skipCreation no longer precisely reflects the number of document operations performed, specifically for POST and PUT operations. This count may be higher than the actual number of operations, but it doesn't affect the computation; only the reported count is impacted. We prioritize speed over perfect accuracy here, and the documents are still correctly indexed as before.

by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6080

🐛 Bug fixes

Vector sort: Bucket documents with same similarity

Fixed vector sort bucketing so documents with identical similarity scores are grouped together, ensuring subsequent ranking rules are applied correctly.

by @dureuill in https://github.com/meilisearch/meilisearch/pull/6081

Properly Delete Documents from FID-Based Databases

Fixes a bug where changing searchableAttributes from ["*"] to a subset of fields left orphaned data in fid-based databases, causing corruption and warnings during search.

by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6076

Rebuild the graph links when dumpless-upgrading

Bumps hannoy to v0.1.3-nested-rtxns, which fixes graph-related recall issues and adds a method to rebuild graph links to recover previously malformed graphs. Also fixes a minor issue in the dumpless upgrade flow where the upgrade description was not displayed correctly and related operations were not properly associated with the upgrade.

by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6055

🛠️ Maintenance and Misc.

Update JS SDKs tests to use pnpm instead of yarn

Updated the JavaScript SDK tests to use pnpm instead of yarn in CI workflows, switching the package manager across test configurations to ensure the SDK test suite runs correctly and consistently with the current tooling.

by @Strift in https://github.com/meilisearch/meilisearch/pull/6075

Adapt JS tests in SDK tests CI

Updated the SDK tests CI workflow for the JavaScript SDKs

by @curquiza in https://github.com/meilisearch/meilisearch/pull/6050

Bump lru from 0.16.2 to 0.16.3

Fix Stacked Borrows violation in IterMut.

by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6087

Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.31.0...v1.32.0

1 days ago
seaweedfs

4.06

What's Changed

New Contributors

Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.05...4.06

2 days ago
cas

v7.3.3

⭐ Release Notes

👫 Contributions

Special thanks to the following individuals for their excellent contributions:

  • @mmoayyed
  • @thomas-nilsson-irfu
3 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

3 days ago
zuul

v3.3.1

What's Changed

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

5 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
5 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

5 days ago
milvus

milvus-2.5.25

Release note is coming...

6 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