Skip to content

Update dependency org.questdb:questdb to v9.3.5#319

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/org.questdb-questdb-9.x
Open

Update dependency org.questdb:questdb to v9.3.5#319
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/org.questdb-questdb-9.x

Conversation

@renovate
Copy link
Copy Markdown

@renovate renovate Bot commented Oct 3, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
org.questdb:questdb (source) 9.0.39.3.5 age confidence

Release Notes

questdb/questdb (org.questdb:questdb)

v9.3.5

Compare Source

QuestDB 9.3.5

QuestDB 9.3.5 introduces lateral joins, SQL-standard UNNEST, statistical window functions, and corrects SAMPLE BY timezone handling during DST transitions. It also delivers multiple join performance improvements and important Parquet export fixes.

For any questions or feedback, please join us on Slack or on Discourse.

See also our prettier release notes page.

Breaking changes 💥

  • SAMPLE BY timezone bucket alignment: Sub-day SAMPLE BY queries with ALIGN TO CALENDAR TIME ZONE now produce correct bucket alignment during DST transitions. Key changes:
    • Sub-day buckets are uniformly spaced in UTC using the timezone's standard offset. During DST fall-back, repeated local hours produce separate rows instead of merging.
    • FROM/TO boundaries are now interpreted as local time in the specified timezone (previously UTC).
    • Queries without TIME ZONE, with fixed-offset timezones, or with super-day strides (day+) are unaffected.
    • See https://questdb.com/docs/query/sql/sample-by/#time-zone-transitions for details.
    • by @​amunra in #​6858

Highlights

Lateral joins

QuestDB now supports lateral joins, enabling subqueries in the FROM clause to reference columns from preceding tables. The implementation uses a decorrelation optimizer that transforms correlated subqueries into efficient set-based execution.

SELECT o.id, t.total
FROM orders o
JOIN LATERAL (
    SELECT sum(qty) AS total FROM trades WHERE order_id = o.id
) t;

LEFT LATERAL and implicit CROSS LATERAL are also supported:

SELECT o.id, t.qty
FROM orders o, LATERAL (SELECT qty FROM trades WHERE order_id = o.id LIMIT 3) t;
SQL-standard UNNEST

The new UNNEST operator expands array columns and JSON arrays into rows, enabling relational operations on array data:

-- Array expansion with position tracking
SELECT t.ts, u.price, u.pos
FROM trades t, UNNEST(t.prices) WITH ORDINALITY u(price, pos);

-- JSON object array extraction
SELECT u.price, u.name
FROM events e, UNNEST(e.payload COLUMNS(price DOUBLE, name VARCHAR)) u;

Multiple arrays can be unnested simultaneously with NULL padding for mismatched lengths, following PostgreSQL-compatible behavior.

Statistical window functions

New window functions for statistical analysis:

  • stddev_pop(), stddev_samp() / stddev() — standard deviation
  • var_pop(), var_samp() / variance() — variance
  • covar_pop(), covar_samp() — covariance
  • corr() — correlation coefficient

All functions support ROWS, RANGE, and PARTITION BY frame modes with bounded and unbounded frames. Non-removable frames use Welford's online algorithm for numerical stability.

Multi-table HORIZON JOIN

HORIZON JOIN now accepts multiple right-hand-side tables in a single query, aggregating columns from several time-series sources against a common master table:

SELECT avg(b.bid) AS avg_bid, avg(a.ask) AS avg_ask
FROM trades AS t
HORIZON JOIN bids AS b ON (t.sym = b.sym)
HORIZON JOIN asks AS a ON (t.sym = a.sym)
    LIST (-2s, 0, 2s) AS h
GROUP BY h.offset;
Other
  • Per-column bloom filter configuration in CREATE TABLE and ALTER TABLE via the PARQUET() clause (e.g., a VARCHAR PARQUET(BLOOM_FILTER)).
  • ALTER TABLE ADD/DROP COLUMN now works correctly on tables with Parquet-formatted partitions.
  • arg_max(varchar, ...) group-by functions for timestamp, double, long, and int key types.
  • RLE dictionary encoding support for STRING columns in Parquet.
  • Imprecise dates in tick expressions.
  • SHOW TABLES results sorted alphabetically (behind cairo.metadata.cache.snapshot.ordered config).

Performance

  • Hash joins: SYMBOL key columns now compare as integers instead of strings, extending the optimization already used by ASOF/LT joins. by @​kafka1991 in #​6948
  • ASOF, HORIZON and WINDOW JOIN: Faster execution on large partitioned tables via lazy partition opening — queries that target a narrow time range skip I/O for untouched partitions. by @​puzpuzpuz in #​6837
  • ASOF and LT JOIN: ~1.6x faster execution on multi-key symbol columns (8.1s → 5.2s on a 100M/50M row join). by @​puzpuzpuz in #​6915
  • Wide tables: Reduced partition open overhead — mmap calls scale with referenced columns, not total columns. by @​puzpuzpuz in #​6919
  • WAL commit batching: Optimized batching for trailing INSERT transactions. by @​ideoma in #​6918
  • Array access: ~2.4x faster constant-index element access for 1D and 2D arrays (31ms → 13ms on 10M rows). by @​puzpuzpuz in #​6908

Web Console

  • Custom AI provider support: The AI Assistant now supports configuring custom providers like OpenRouter, Ollama, or LiteLLM, with your own API endpoints, keys, and models beyond the built-in Anthropic and OpenAI options. in questdb/ui#541
  • Improved SQL autocompletion: SQL editor autocompletion is now powered by the new SQL parser, delivering more accurate suggestions with refined ergonomics. in questdb/ui#536
  • Table details drawer improvements: The table details drawer can be opened from the right sidebar with a table selector. You can also navigate between tables by searching the table name from the header without leaving the drawer. in questdb/ui#546
  • Small fixes and refinements:
    • Table monitoring tab backlog trend charts no longer produce erratic spikes thanks to debounced warning aggregation. in questdb/ui#543
    • SQL Editor context menu is no longer clipped by the grid. in questdb/ui#545
    • Column name in the result grid can now be copied using the copy button next to the column name. in questdb/ui#545

Bug fixes

  • Fixed Parquet export writing NULLs instead of actual values for inlined VARCHAR columns. Also fixes multi-dictionary page corruption and ASCII flag normalization in GROUP BY/joins.
  • Fixed ASOF join producing wrong results when symbol key column indices overlap.
  • Fixed SIGSEGV from group-by queries under memory pressure.
  • Fixed ALTER COLUMN type conversion between DECIMAL and VARCHAR/STRING.
  • Fixed spurious "execute message" error on unnamed portal cursor iteration in PGWire (affected postgres.js cursor batching).
  • Fixed .U+ and .N+ patterns failing to parse timestamps without fractions.
  • Fixed COPY TO failure when subquery uses bind variables.
  • Fixed Parquet row groups exceeding configured size limit after O3 merge.
  • Fixed WINDOW JOIN initialization in join model subqueries.
  • Fixed join on view with WHERE clause incorrectly pruning join columns.
  • Fixed partition and column file removal during backup checkpoint.
  • Fixed index file hard-link for columns with no data in Parquet partition.
  • Fixed WalPurgeJob error on concurrent table drop.
  • Fixed column resolution for join columns wrapped in functions.
  • Fixed negative tick duration handling.
  • Fixed Parquet partition handling after DROP COLUMN and ALTER COLUMN TYPE.

Changelist

Full Changelog: 9.3.4...9.3.5

v9.3.4

Compare Source

QuestDB 9.3.4

QuestDB 9.3.4 delivers dynamic windows in WINDOW JOIN, Parquet row group pruning with bloom filters, new array functions, and significant performance improvements across ORDER BY, joins, and Parquet I/O.

For any questions or feedback, please join us on Slack or on Discourse.

See also our prettier release notes page.

Breaking changes 💥

  • Parquet Varchar encoding default changed: Parquet export now uses RLE Dictionary encoding for Varchar columns instead of Delta Length Byte Array. Parquet files written by 9.3.4 use the new encoding by default. If downstream tools or pipelines depend on the previous encoding, use the new per-column encoding config to override.
  • Constant expression folding: The SQL engine now folds constant expressions at compile time, which aligned compile-time behaviour of NaN/Infinity values with their runtime behaviour. Infinity and -Infinity in constant float/double expressions are now collapsed to NULL at compile time, consistent with QuestDB's existing NULL convention. CASE/SWITCH expressions can no longer branch on Infinity or -Infinity as distinct values.

Highlights

Dynamic window support in WINDOW JOIN

WINDOW JOIN now supports dynamic window ranges computed from column values or expressions:

SELECT t.*,
       avg(p.mid) AS avg_mid
FROM trades t
WINDOW JOIN prices p
  ON p.sym = t.sym
  RANGE BETWEEN t.lookback PRECEDING
        AND CURRENT ROW
  INCLUDE PREVAILING;
Parquet row group pruning with bloom filters

Queries over Parquet files now leverage min/max statistics and bloom filters to skip entire row groups that cannot match the query predicate, dramatically reducing I/O for selective queries.

Array functions

New DOUBLE[] functions: array_sort(), array_reverse(), array_elem_min(), array_elem_max(), array_elem_avg(), and array_elem_sum().

Other
  • arg_min() and arg_max() now support CHAR arguments.
  • Per-column Parquet encoding/compression configuration.
  • minTimestamp and maxTimestamp columns added to sys.telemetry_wal.

Performance

  • ASOF and WINDOW JOIN: Faster execution for large right-hand-side tables.
  • ORDER BY: Pre-computed sort keys for fixed-width types; dedicated fast path for SYMBOL columns.
  • HORIZON JOIN: Better parallelization across various data distributions.
  • Vectorized GROUP BY: More non-keyed queries now use SIMD computation.
  • Parquet decoding: Faster row group decompression and column materialization.
  • Parquet writing: Reduced write amplification and improved write speed.
  • WAL writer: New cairo.wal.writer.madvise.mode config option for tuning memory access patterns.

Bug fixes

  • Fixed data corruption in DECIMAL128 and DECIMAL256 columns.
  • Fixed crash on LATEST BY ALL queries over large tables.
  • Fixed crash when Parquet partition statistics are missing.
  • Fixed crash in SAMPLE BY FILL with array column aggregates.
  • Fixed read_parquet() crash on SYMBOL columns from native Parquet files.
  • Fixed WINDOW JOIN INCLUDE PREVAILING dropping the prevailing row when the window had matches.
  • Fixed WINDOW JOIN dropping the prevailing row on cross-partition boundaries.
  • Fixed AssertionError triggered by certain JOIN queries.
  • Fixed read_parquet() on Parquet files with stale QuestDB metadata.
  • Fixed support for quoted column names in ALTER COLUMN.
  • Fixed resource leaks and NPEs in the SQL engine.
  • Disabled materialized view parallel SQL on low-core machines.

Changelist

Full Changelog: 9.3.3...9.3.4

v9.3.3

Compare Source

QuestDB 9.3.3

QuestDB 9.3.3 is a feature-rich release introducing HORIZON JOIN for markout analysis, a new twap() aggregate, SQL-standard WINDOW definitions, JIT compilation on ARM64, and file-based secrets for Kubernetes deployments. It also brings significant performance improvements across Parquet I/O, parallel GROUP BY, UNION queries, and ORDER BY on computed expressions.

For any questions or feedback, please join us on Slack or on Discourse.

See also our prettier release notes page.

Highlights

HORIZON JOIN for markout analysis

HORIZON JOIN is a new join type designed for markout analysis — a common financial analytics pattern where you measure how prices or metrics evolve at specific time offsets relative to events like trades or orders.

For each row in the left-hand table and each offset in the horizon, the join computes left_timestamp + offset and performs an ASOF match against the right-hand table. Results are implicitly grouped by the horizon offset and any specified keys, with aggregate functions applied across all matched rows.

Here's an example measuring post-trade price impact at 1-second intervals up to 60 seconds:

SELECT h.offset / 1_000_000 AS horizon_sec, t.sym, avg(m.mid) AS avg_mid
FROM trades AS t
HORIZON JOIN mid_prices AS m ON (t.sym = m.sym)
RANGE FROM 1s TO 60s STEP 1s AS h
ORDER BY t.sym, horizon_sec

You can also use LIST for non-uniform horizons and negative offsets to look at pre-event behavior:

SELECT h.offset / 1_000_000 AS horizon_sec, t.sym,
       avg(m.mid - t.price) AS avg_markout
FROM trades AS t
HORIZON JOIN mid_prices AS m ON (t.sym = m.sym)
LIST (-5s, -1s, 0, 1s, 5s, 30s, 1m) AS h
ORDER BY t.sym, horizon_sec

The horizon pseudo-table exposes h.offset (raw microsecond value) and h.timestamp (the computed left_timestamp + offset), which can be used in expressions and grouping.

twap() time-weighted average price

The new twap(price, timestamp) aggregate computes the time-weighted average price using step-function integration: each price is held constant until the next observation, and the TWAP is the area under the step function divided by the total time span. It supports parallel GROUP BY and SAMPLE BY with FILL modes.

SELECT symbol, twap(price, timestamp) AS twap_price
FROM trades
WHERE timestamp IN today()
SAMPLE BY 1h;
WINDOW definition clause

QuestDB now supports the SQL-standard WINDOW clause for defining reusable window specifications. Instead of repeating the same PARTITION BY and ORDER BY in multiple window function calls, define them once and reference by name:

SELECT symbol, side, price,
       sum(price) OVER ws, avg(price) OVER ws,
       sum(amount) OVER ws, sum(price) OVER wt
FROM trades
WINDOW wt AS (ORDER BY timestamp),
       ws AS (PARTITION BY symbol, side ORDER BY timestamp);

Window inheritance is also supported, where a named window references another as its base:

SELECT avg(price) OVER w2
FROM trades
WINDOW w1 AS (PARTITION BY symbol ORDER BY ts),
       w2 AS (w1 ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)

Chained inheritance and standard merge rules for PARTITION BY, ORDER BY, and frame clauses are all supported.

JIT compilation on ARM64

QuestDB's JIT filter compiler now runs natively on ARM64 (aarch64) systems, including Apple Silicon and AWS Graviton. Previously, JIT-compiled filters were only available on x86. Benchmarks on an Apple M5 show filter evaluations running up to 2x faster with JIT enabled for common WHERE clause patterns, with OR-predicate filters seeing up to 5x improvement.

File-based secrets for Kubernetes

Sensitive configuration like database passwords can now be loaded from files using the _FILE suffix convention, enabling integration with Kubernetes Secrets, Docker Secrets, and HashiCorp Vault:

export QDB_PG_PASSWORD_FILE=/run/secrets/pg_password

File-based secrets are automatically trimmed, visible in SHOW PARAMETERS with value_source = 'file', and reloaded when contents change via SELECT reload_config().

array_build() function

The new array_build(nDims, size, filler1, ...) function creates DOUBLE[] or DOUBLE[][] arrays with controlled shape and fill values. The size parameter accepts a scalar integer or a DOUBLE[] (using its cardinality), and each filler can be a scalar (repeated) or an array (copied element-by-element with NaN padding or truncation).

Performance
Parquet I/O
  • Parquet partition reads with selective filters now use late materialization — filter columns are decoded first, and remaining columns are decoded only for matching rows. This gives up to a 2.4x speedup on OHLC-style aggregation queries with symbol filters.
  • Parquet writing has been sped up.
  • Parquet export of queries with computed expressions (e.g., CAST, arithmetic, string functions) no longer falls back to a temporary table. A new hybrid export mode passes raw columns zero-copy and materializes only computed columns into native buffers.
  • Decimal type support (DECIMAL8 through DECIMAL256) has been added for Parquet read and write.
Query execution
  • Parallel GROUP BY and Top K queries now use unordered page frame collection, eliminating head-of-line blocking. At concurrency 8, per-iteration thread spread drops by 53–75%, tail latency (p99) drops by 30–44%, and latency predictability (p99/p50 ratio) improves from 2.5–3.6x down to 1.4–1.8x. There is a 34% single-thread regression for keyed GROUP BY that does not appear under concurrent load.
  • UNION, UNION ALL, EXCEPT, and INTERSECT queries now push designated-timestamp filters into each branch, enabling per-branch partition pruning.
  • CASE WHEN expressions on symbol columns now resolve string constants to integer symbol keys at init time and compare by int at runtime.
  • ORDER BY on computed expressions now pre-computes sort key values into off-heap buffers, reducing function evaluations from O(N log N) to O(N).
  • Double-to-decimal conversion performance has been improved with bulk multiply optimization.
Security
  • Fixed a server crash caused by a crafted HTTP request with an overflowing chunk size in chunked transfer encoding. The hex chunk-size parser now rejects values that would overflow a 64-bit integer.

Changelist

Full Changelog: questdb/questdb@9.3.2...9.3.3

v9.3.2

Compare Source

QuestDB 9.3.2

QuestDB 9.3.2 continues the trend of performance upgrades and bugfixes, with some additional new features. Importantly, we introduce the new TICK syntax, a compact DSL for expressing time intervals, alongside faster aggregations, improved applicability of interval scans, and fast parquet queries.

For any questions or feedback, please join us on Slack or on Discourse.

See also our prettier release notes page.

Highlights

New TICK syntax

The Temporal Interval Calendar Kit (TICK is a new DSL for expressing complex time ranges and intervals in a compact, easy-to-use format.

For example, let's say that you want to query one month of data from NYSE, only including trading days and hours. The data in the database is stored in UTC format, so you'd need to convert to different time zones, and build a very complex WHERE clause with ANDs and ORs. Or, alternatively, send lots of narrow queries and combine the results.

Instead, you can express this in a simple string:

-- NYSE trading hours on workdays for January
SELECT * FROM trades
WHERE ts IN '2024-01-[01..31]T09:30@​America/New_York#workday;6h29m';

Reading this from left to right, we will the days in 2024-01 in the range of 01..31 (all of them), with the interval beginning at 09:30 in New York time, only considering working days, and the interval ending after 6h29m on each day (inclusive, so at 16:00 New York time).

We then compile this to an efficient interval scan, with the time filtering pushed down:

 intervals: [
    ("2024-01-01T14:30:00.000000Z","2024-01-01T20:59:59.999999Z"),     

    ("2024-01-02T14:30:00.000000Z","2024-01-02T20:59:59.999999Z"),

    ("2024-01-03T14:30:00.000000Z","2024-01-03T20:59:59.999999Z"),

    ...
]

This syntax makes it easier to construct complex intervals, and keep confidence that the execution plan will be optimal.

Please see the TICK docs for more information.

arg_min, arg_max, and geomean aggregates

Let's say you are monitoring trading data, and you track what the max trading price was over an hourly period. You can express that like this:

SELECT timestamp, symbol, max(price)
FROM trades
WHERE timestamp IN today()
AND symbol IN ('BTC-USDT', 'ETH-USDT')
SAMPLE BY 1h;
timestamp symbol max(price)
2026-01-28T00:00:00.000000Z ETH-USDT 3029.32
2026-01-28T00:00:00.000000Z BTC-USDT 89488.3
2026-01-28T01:00:00.000000Z BTC-USDT 89495.0
2026-01-28T01:00:00.000000Z ETH-USDT 3026.58
2026-01-28T02:00:00.000000Z BTC-USDT 89450.0
2026-01-28T02:00:00.000000Z ETH-USDT 3018.31
... ... ...

But now we have a problem - at what time or trade was that the max price?

Using arg_max, we can extract values from the row where the price was max:

SELECT timestamp, symbol, max(price), arg_max(timestamp, price)
FROM trades
WHERE timestamp IN today()
AND symbol IN ('BTC-USDT', 'ETH-USDT')
SAMPLE BY 1h;
timestamp symbol max(price) arg_max(timestamp, price)
2026-01-28T00:00:00.000000Z ETH-USDT 3029.32 2026-01-28T00:26:05.512000Z
2026-01-28T00:00:00.000000Z BTC-USDT 89488.3 2026-01-28T00:59:57.971000Z
2026-01-28T01:00:00.000000Z BTC-USDT 89495.0 2026-01-28T01:20:45.782000Z
2026-01-28T01:00:00.000000Z ETH-USDT 3026.58 2026-01-28T01:03:35.940000Z
2026-01-28T02:00:00.000000Z BTC-USDT 89450.0 2026-01-28T02:05:50.368000Z
2026-01-28T02:00:00.000000Z ETH-USDT 3018.31 2026-01-28T02:02:04.936999Z
... ... ...

Pretty handy!

geomean(D) calculates the geometric mean for a set of positive numbers; this is a useful average variant, which improves accuracy for data with large outliers, and commonly used for growth rate calculations.

For more details, please check out the aggregate function documentation.

EMA, VWEMA, percent_rank window functions

We've introduced new exponential moving average (EMA) window functions. This smooths out your data base on a smoothing and time period.

Additionally, we've added a volume-weighted variant (VWEMA), which is commonly used for trading data, allowing for smoothing of the function whilst still prioritising higher-volume trades.

Here's an example of the syntax:

-- Standard average
avg(value) OVER (window_definition)

-- Exponential Moving Average (EMA)
avg(value, kind, param) OVER (window_definition)

-- Volume-Weighted Exponential Moving Average (VWEMA)
avg(value, kind, param, volume) OVER (window_definition)

percent_rank returns the relative rank of a row within a group of values. This is calculated based on the number of rows within the group, and its position.

For more information, please see the window functions documentation.

Web Console

We've added new improvements to the 'QuestDB AI Assistant' feature, improving the speed and responsiveness of the chat. We'll be following up soon with an expansion of supported model providers.

questdb-assistant.mov
Performance
Time-intrinsics upgrades
  • QuestDB will now optimise time-range queries over tables where the range uses a constant dateadd offset.
    • e.g. WHERE dateadd('m', 15, timestamp) = '2022-03-08T18:30:00Z'
  • QuestDB will optimise time filters that include OR clauses:
    • e.g. WHERE timestamp IN '2018-01-01' OR timestamp IN '2018-01-02' OR timestamp IN '2018-01-03'
  • We've improved how time-range pushdown is handled within nested queries:
    • e.g. SELECT * FROM (SELECT dateadd('h', -1, timestamp) as ts, price FROM trades) WHERE ts in '2022'
Parquet and File-handling
  • We have significantly sped-up querying parquet queries by optimising how row-groups are decoded, giving up to a 6x performance boost versus the last release.
  • We've optimised how file mappings are handled, removing sporadic query latency increases over extremely concurrent query workloads.

Changelist

New Contributors

Full Changelog: questdb/questdb@9.3.1...9.3.2

v9.3.1

Compare Source

QuestDB 9.3.1

QuestDB 9.3.1 follows the major 9.3.0 release, focusing on stability, correctness, and performance refinements based on early feedback and production usage.

This release delivers targeted fixes across joins, views, and checkpointing, alongside continued performance improvements on hot SQL execution paths.

Improvements

Arithmetic expressions in window functions

Window functions now support arithmetic expressions directly, allowing analytical queries to compute derived values inline without requiring subqueries or post-processing:

SELECT
  symbol,
  price,
  price - lag(price) OVER (PARTITION BY symbol ORDER BY ts) AS delta
FROM trades

This simplifies common patterns such as calculating deltas, ratios, and scaled values within window definitions.

Extended tables() metadata

The tables() system view now exposes two additional columns:

  • table_min_timestamp
  • table_max_timestamp

These columns provide quick visibility into the temporal bounds of each table, useful for diagnostics, retention checks, and operational tooling.

ksum() window function

The ksum() function now works as a window function, using the Kahan summation algorithm for improved floating-point precision. This complements the existing ksum() aggregate function by enabling its use in window contexts:

-- Cumulative sum with reduced floating-point error
SELECT ksum(price) OVER (ORDER BY ts ROWS UNBOUNDED PRECEDING) FROM trades;

-- Sliding window
SELECT ksum(price) OVER (ORDER BY ts ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) FROM trades;

-- Partitioned
SELECT ksum(price) OVER (PARTITION BY symbol) FROM trades;

All standard window frame types are supported: ROWS, RANGE, partitioned, unbounded, and sliding windows.

Performance

Streaming Parquet export

Parquet exports via the HTTP /exp endpoint now stream directly from page frames, eliminating intermediate temporary tables. This reduces memory overhead and improves export throughput for large result sets.

Reduced garbage on parallel query hot paths

Parallel query execution has been optimized to reduce garbage generation on hot paths. This lowers GC pressure and improves throughput and tail latency under sustained analytical workloads.

Avoid repeated expression execution

Queries where columns reference other columns now avoid redundant expression


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from f04eafe to b78c53f Compare October 10, 2025 21:10
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from b78c53f to a243acb Compare October 21, 2025 14:08
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from a243acb to 3578c1c Compare November 3, 2025 19:40
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.1.0 Update dependency org.questdb:questdb to v9.1.1 Nov 3, 2025
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from 3578c1c to cc81fda Compare November 14, 2025 00:03
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.1.1 Update dependency org.questdb:questdb to v9.2.0 Nov 14, 2025
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from cc81fda to 34cc8bd Compare November 25, 2025 17:32
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.2.0 Update dependency org.questdb:questdb to v9.2.1 Nov 25, 2025
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from 34cc8bd to f8e98c5 Compare December 1, 2025 16:14
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.2.1 Update dependency org.questdb:questdb to v9.2.2 Dec 1, 2025
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from f8e98c5 to 5617ddb Compare December 18, 2025 13:14
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.2.2 Update dependency org.questdb:questdb to v9.2.3 Dec 18, 2025
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from 5617ddb to 2d59c6e Compare December 30, 2025 14:04
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from 2d59c6e to 3dd7f38 Compare January 9, 2026 13:36
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.2.3 Update dependency org.questdb:questdb to v9.3.0 Jan 9, 2026
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from 3dd7f38 to 1d2c13e Compare January 14, 2026 17:09
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.3.0 Update dependency org.questdb:questdb to v9.3.1 Jan 14, 2026
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from 1d2c13e to b86c4d4 Compare January 28, 2026 19:07
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.3.1 Update dependency org.questdb:questdb to v9.3.2 Jan 28, 2026
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from b86c4d4 to 0e18f8f Compare February 25, 2026 17:02
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.3.2 Update dependency org.questdb:questdb to v9.3.3 Feb 25, 2026
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from 0e18f8f to 4d53b3a Compare March 13, 2026 10:58
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from 4d53b3a to b72c863 Compare March 26, 2026 17:56
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.3.3 Update dependency org.questdb:questdb to v9.3.4 Mar 26, 2026
@renovate renovate Bot force-pushed the renovate/org.questdb-questdb-9.x branch from b72c863 to 74b19d7 Compare April 13, 2026 18:13
@renovate renovate Bot changed the title Update dependency org.questdb:questdb to v9.3.4 Update dependency org.questdb:questdb to v9.3.5 Apr 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants