Skip to content

Merge upstream Vortex 0.73.0 into spiceai-52#53

Merged
lukekim merged 210 commits into
spiceai-52from
lukim/spiceai-52-sync-vortex-0.73.0
May 28, 2026
Merged

Merge upstream Vortex 0.73.0 into spiceai-52#53
lukekim merged 210 commits into
spiceai-52from
lukim/spiceai-52-sync-vortex-0.73.0

Conversation

@lukekim
Copy link
Copy Markdown

@lukekim lukekim commented May 27, 2026

Merge upstream Vortex 0.73.0 into the Spice.ai spiceai-52 branch.

Highlights:

  • Merged upstream tag 0.73.0 (649fe0a6d) into spiceai-52.
  • Resolved conflicts in dictionary take stats propagation, Arrow conversion/executor code, and the DataFusion persistent sink path.
  • Preserved Spice.ai target-file-size sink behavior while adapting to DataFusion 53.1.0 APIs.
  • Added a session lookup fix so nested Arrow conversions do not deadlock when re-reading an existing session variable.

Validation:

  • cargo +nightly fmt --all
  • cargo test -p vortex-array test_map_array_conversion -- --nocapture
  • cargo check -p vortex-array -p vortex-datafusion --all-targets
  • cargo nextest run -p vortex-datafusion persistent::sink

gatesn and others added 30 commits May 1, 2026 15:52
| Benchmark case | Before (mean) | After (mean) | Speedup |
|---|---:|---:|---:|
| `extend_from_array_non_zctl_overlapping (1000, 8)` | `1.413 ms` |
`80.71 us` | `17.5x` |
| `extend_from_array_non_zctl_overlapping (1000, 32)` | `2.586 ms` |
`83.67 us` | `30.9x` |
| `extend_from_array_non_zctl_overlapping (10000, 8)` | `9.708 ms` |
`560.3 us` | `17.3x` |
| `extend_from_array_zctl (1000, 8)` | `1.116 ms` | `14.31 us` | `78.0x`
|
| `extend_from_array_zctl (1000, 64)` | `5.511 ms` | `38.68 us` |
`142.5x` |
| `extend_from_array_zctl (10000, 8)` | `11.01 ms` | `108.4 us` |
`101.6x` |

Before = commit `d72bf9b93` (pre-fix), After = commit `c4ad4e2ad` (the
ListViewBuilder scalar-at removal fix).

---------

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Co-authored-by: Robert Kruszewski <github@robertk.io>
As part of that we only run benchmarks on 100M element count inputs.

Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Claude workflows cancel themselves at the moment..

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Since we use renovate-approval[bot] to approve renovate PRs.

We still require 2 approvals for any non-whitelisted bot-authored PRs.

But this will fix the queue of renovate PRs

Signed-off-by: Nicholas Gates <nick@nickgates.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [lucide-react](https://lucide.dev)
([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react))
| [`1.11.0` →
`1.14.0`](https://renovatebot.com/diffs/npm/lucide-react/1.11.0/1.14.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/1.14.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/1.11.0/1.14.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Release Notes

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

###
[`v1.14.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/1.14.0):
Version 1.14.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/1.13.0...1.14.0)

#### What's Changed

- feat(icons): added `repeat-off` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[#&#8203;3102](https://redirect.github.com/lucide-icons/lucide/pull/3102)

**Full Changelog**:
<lucide-icons/lucide@1.13.0...1.14.0>

###
[`v1.13.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/1.13.0):
Version 1.13.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/1.12.0...1.13.0)

#### What's Changed

- fix(docs): sync URL params with UI state on categories page by
[@&#8203;taimar](https://redirect.github.com/taimar) in
[#&#8203;4111](https://redirect.github.com/lucide-icons/lucide/pull/4111)
- feat(icons): add `waves-vertical` icon by
[@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw) in
[#&#8203;3867](https://redirect.github.com/lucide-icons/lucide/pull/3867)

**Full Changelog**:
<lucide-icons/lucide@1.12.0...1.13.0>

###
[`v1.12.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/1.12.0):
Version 1.12.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/1.11.0...1.12.0)

#### What's Changed

- feat(icon): add folder-bookmark icon by
[@&#8203;swastik7805](https://redirect.github.com/swastik7805) in
[#&#8203;4262](https://redirect.github.com/lucide-icons/lucide/pull/4262)
- docs(readme): Update readme files by
[@&#8203;ericfennis](https://redirect.github.com/ericfennis) in
[#&#8203;4320](https://redirect.github.com/lucide-icons/lucide/pull/4320)
- feat(icons): added `astroid` icon by
[@&#8203;whoisBugsbunny](https://redirect.github.com/whoisBugsbunny) in
[#&#8203;4217](https://redirect.github.com/lucide-icons/lucide/pull/4217)

**Full Changelog**:
<lucide-icons/lucide@1.10.0...1.12.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Gates <gatesn@users.noreply.github.com>
…rtex-data#7782)

Fixes vortex-data#7773

Generated with Claude Code

Signed-off-by: vortex-claude <vortex-claude@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
## Summary

They were inconsistent with our current branding material. Only the
black version changes on the current
[website](https://bench.vortex.dev/).

## Testing

N/A

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint))
| [`8.59.0` →
`8.59.2`](https://renovatebot.com/diffs/npm/typescript-eslint/8.59.0/8.59.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.59.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.59.0/8.59.2?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint
(typescript-eslint)</summary>

###
[`v8.59.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8592-2026-05-04)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.59.1...v8.59.2)

This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2)
for more information.

You can read about our [versioning
strategy](https://typescript-eslint.io/users/versioning) and
[releases](https://typescript-eslint.io/users/releases) on our website.

###
[`v8.59.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8591-2026-04-27)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.59.0...v8.59.1)

This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1)
for more information.

You can read about our [versioning
strategy](https://typescript-eslint.io/users/versioning) and
[releases](https://typescript-eslint.io/users/releases) on our website.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…erver (vortex-data#7780)

## Summary

Prototype website:
http://ec2-18-219-54-101.us-east-2.compute.amazonaws.com:3000/

This is the first step we should make before we cut over to the new
benchmarks website on vortex-data#7643

This PR allows the CI actions to additionally post data to a server (on
my EC2 instance for now). We want to check that this actually works
before we start using this for all of our CI.

Note that this does NOT change how the current benchmarks website works,
as this just does a few extra things on top of that.

Also for reviewers, even though this looks like 1k LoC I think the logic
here is not that hard to review, a lot of this is boilerplate you can
skim over.

Below is a bunch of AI-generated description: read at your own
discretion.

<details>

Brings the v3 emitter and CI dual-write plumbing from `ct/benchmarks-v3`
onto `develop` **without** the v3 server/website code. CI continues to
write v2 results to S3 unchanged; v3 ingest is a side channel that
no-ops until the deploy track sets `vars.V3_INGEST_URL`.

This is item 2 ("CI ingestion wiring") of the v3 production-readiness
checklist in
[`benchmarks-website/planning/README.md`](https://github.com/vortex-data/vortex/blob/ct/benchmarks-v3/benchmarks-website/planning/README.md).
The v3 website itself ships in a separate PR off `ct/benchmarks-v3` once
dual-write is verified healthy in production.

### What's included

**Rust emitter (`vortex-bench`)**
- New `vortex-bench/src/v3.rs`: one record per `kind`
(`query_measurement`, `compression_time`, `compression_size`,
`random_access_time`, `vector_search_run`) plus a serde-tagged
`V3Record` enum, JSONL writer, and `insta` snapshot tests. Field shapes
match
[`02-contracts.md`](https://github.com/vortex-data/vortex/blob/ct/benchmarks-v3/benchmarks-website/planning/02-contracts.md).
- `Dataset::v3_dataset_dims()` (default `(name(), None)`) lets Public-BI
map to `(public-bi, <subset>)`.
- `compress` and `runner` capture per-iteration timings and provide
`SqlBenchmarkRunner::v3_records()`.

**Benchmark binaries**
- `compress-bench`, `datafusion-bench`, `duckdb-bench`, `lance-bench`,
`random-access-bench`, `vector-search-bench` all gain `--gh-json-v3
<path>`. Bare records, no envelope. The legacy `-d gh-json -o ...` flow
is untouched.

**`bench-orchestrator`**
- `vx-bench run --gh-json-v3 <path>` plumbs the flag through to the
underlying benchmark binary.

**`scripts/post-ingest.py`** (Python 3, stdlib only)
- Reads JSONL, fills the `commit` envelope from `git show`, wraps in
`{run_meta, commit, records}`, POSTs to `/api/ingest` with
`Authorization: Bearer ${INGEST_BEARER_TOKEN}`. Exits non-zero on
4xx/5xx. No retry/spool — deferred.

**Workflows**
- `.github/workflows/bench.yml` and `sql-benchmarks.yml` add
`--gh-json-v3 results.v3.jsonl` to the bench runs and a follow-up
"Ingest results to v3 server" step.
- New `.github/workflows/v3-commit-metadata.yml` POSTs an empty envelope
on every push to `develop` so the v3 `commits` dim stays populated even
when no benchmark ran.

### What's NOT included (intentionally)

- Anything under `benchmarks-website/` — the v2 React/Node app stays in
production unchanged.
- Workspace member additions for `benchmarks-website/server` and
`benchmarks-website/migrate` — those crates don't exist on `develop`
yet.
- `.github/workflows/ci.yml` and `publish-bench-server.yml` changes —
they reference `vortex-bench-server`, which is also v3-server-only.

## Risk

**Zero.** The v3 ingest step is gated on `vars.V3_INGEST_URL != ''` and
`continue-on-error: true`. If the V3 server is down, the variable is
unset, or the bearer secret is missing, the workflow no-ops and the v2
path keeps writing to S3 unchanged. The Rust emitter writes JSONL to a
local file only; no network egress from the binaries themselves.

## Verify

A CI run on this branch should show the new "Ingest results to v3
server" step running and POSTing successfully to the EC2 host at
`vars.V3_INGEST_URL`.

## Follow-up

The v3 website itself (server, migrator, web UI) ships in a separate PR
off `ct/benchmarks-v3` once dual-write is verified healthy in
production. Outbox-style retry on failed POSTs is also a follow-up — not
built until we observe a failure in the wild.

## Test plan

- [x] `cargo build -p vortex-bench` — clean.
- [x] `cargo nextest run -p vortex-bench` — 49/49 pass, including 7 new
v3 snapshot tests.
- [x] `cargo build -p compress-bench -p datafusion-bench -p duckdb-bench
-p lance-bench -p random-access-bench -p vector-search-bench` — clean.
- [x] All six benchmark binaries print `--gh-json-v3 <GH_JSON_V3>` in
`--help`.
- [x] `python3 scripts/post-ingest.py --help` — clean.
- [x] `pytest bench-orchestrator/tests/test_executor.py` — 5/5 pass,
including 2 new `gh_json_v3` tests.
- [x] `cargo +nightly fmt --all` — no diff.
- [x] `cargo clippy --all-targets --all-features -p vortex-bench` —
clean.
- [x] `cargo clippy --all-targets -p compress-bench -p datafusion-bench
-p lance-bench -p random-access-bench -p vector-search-bench` — clean.
`duckdb-bench` skipped (transitively triggers a pre-existing
`cognitive_complexity` lint in `vortex-duckdb/src/convert/expr.rs:47`,
present on `develop` and unrelated to these changes).
- [x] `yamllint --strict -c .yamllint.yaml` on the three changed/new
workflow files — clean.
- [x] `./scripts/public-api.sh` — N/A. All touched Rust crates have
`publish = false`.
- [ ] Real round-trip against the EC2 host — verifies once this branch
triggers a CI bench run with `V3_INGEST_URL` set.

---
_Generated by [Claude
Code](https://claude.ai/code/session_0154XbxhgQztmbrQfJ4ZSxVo)_

</details>

---------

Signed-off-by: Claude <noreply@anthropic.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
## Summary

Rewrites the benchmarks website. Replaces the static `data.json.gz`
model with a single Rust server binary that owns a DuckDB database and
accepts `POST /api/ingest` from CI.

## Design

- Single binary: axum + maud (SSR HTML) + DuckDB + Chart.js. All static
assets `include_bytes!`'d.
- 5 fact tables (compression time, query measurement, vector search,
RAG, random access). Backup is a file copy.
- Ingest: versioned JSON envelopes, bearer-token gated.
- Migrator ports v2 history forward via a classifier that routes each
record to a fact table or skips it with a typed reason.
- Charts/groups slug-addressed, URL round-trip with no DB lookup.
- Routes: `/`, `/chart/{slug}`, `/group/{slug}`, `GET
/api/chart/{slug}`.
- Deploy: one binary, one DuckDB file, one `INGEST_BEARER_TOKEN`.

UI/UX is still TBD — the relational backend opens up options we didn't
have before.

Signed-off-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

🔧 This Pull Request updates lock files to use the latest dependency
versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on monday"
- 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

🔧 This Pull Request updates lock files to use the latest dependency
versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on monday"
- 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [gradle](https://gradle.org)
([source](https://redirect.github.com/gradle/gradle)) | minor | `9.4.1`
→ `9.5.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Release Notes

<details>
<summary>gradle/gradle (gradle)</summary>

###
[`v9.5.0`](https://redirect.github.com/gradle/gradle/compare/v9.4.1...v9.5.0)

[Compare
Source](https://redirect.github.com/gradle/gradle/compare/v9.4.1...v9.5.0)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [globals](https://redirect.github.com/sindresorhus/globals) |
[`17.5.0` →
`17.6.0`](https://renovatebot.com/diffs/npm/globals/17.5.0/17.6.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/globals/17.6.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/globals/17.5.0/17.6.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Release Notes

<details>
<summary>sindresorhus/globals (globals)</summary>

###
[`v17.6.0`](https://redirect.github.com/sindresorhus/globals/compare/v17.5.0...6b15870f1c08b60b5b57afe45a703d9ed0be39bc)

[Compare
Source](https://redirect.github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`10.2.1` →
`10.3.0`](https://renovatebot.com/diffs/npm/eslint/10.2.1/10.3.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.3.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/10.2.1/10.3.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Release Notes

<details>
<summary>eslint/eslint (eslint)</summary>

###
[`v10.3.0`](https://redirect.github.com/eslint/eslint/compare/v10.2.1...78892043a36da4aa7640b59c99344b00c181048a)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.2.1...v10.3.0)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| minor | `v1.45.1` → `v1.46.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.46.0`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.0)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.45.2...v1.46.0)

#### \[1.46.0] - 2026-04-30

##### Features

- Updated the dictionary with the [April
2026](https://redirect.github.com/crate-ci/typos/issues/1531) changes

###
[`v1.45.2`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.45.2)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.45.1...v1.45.2)

##### \[1.45.2] - 2026-04-27

##### Fixes

- Ignore ssh
[`ed25519`](https://redirect.github.com/crate-ci/typos/commit/ed25519)
public keys

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs)
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs))
| [`10.3.5` →
`10.3.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/10.3.5/10.3.6)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-docs/10.3.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-docs/10.3.5/10.3.6?slim=true)
|
|
[@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite)
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite))
| [`10.3.5` →
`10.3.6`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/10.3.5/10.3.6)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/10.3.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/10.3.5/10.3.6?slim=true)
|
|
[eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/eslint-plugin#readme)
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin))
| [`10.3.5` →
`10.3.6`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/10.3.5/10.3.6)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-storybook/10.3.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-storybook/10.3.5/10.3.6?slim=true)
|
| [storybook](https://storybook.js.org)
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core))
| [`10.3.5` →
`10.3.6`](https://renovatebot.com/diffs/npm/storybook/10.3.5/10.3.6) |
![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/10.3.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/10.3.5/10.3.6?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Release Notes

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-docs)</summary>

###
[`v10.3.6`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#1036)

[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v10.3.5...v10.3.6)

- ESLint: Update deprecated
[@&#8203;storybook/test](https://redirect.github.com/storybook/test)
reference to storybook/test -
[#&#8203;34430](https://redirect.github.com/storybookjs/storybook/pull/34430),
thanks
[@&#8203;venkat22022202](https://redirect.github.com/venkat22022202)!
- React: Add optional React type peers to packages that publish
React-based declarations -
[#&#8203;34641](https://redirect.github.com/storybookjs/storybook/pull/34641),
thanks
[@&#8203;copilot-swe-agent](https://redirect.github.com/copilot-swe-agent)!
- UI: Fix global background + color styles affecting stories -
[#&#8203;34071](https://redirect.github.com/storybookjs/storybook/pull/34071),
thanks [@&#8203;Axadali](https://redirect.github.com/Axadali)!

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

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

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…7763)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[release-drafter/release-drafter](https://redirect.github.com/release-drafter/release-drafter)
| action | patch | `v7.2.0` → `v7.2.1` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Release Notes

<details>
<summary>release-drafter/release-drafter
(release-drafter/release-drafter)</summary>

###
[`v7.2.1`](https://redirect.github.com/release-drafter/release-drafter/releases/tag/v7.2.1)

[Compare
Source](https://redirect.github.com/release-drafter/release-drafter/compare/v7.2.0...v7.2.1)

### What's Changed

#### Bug Fixes

- fix: initial-commits-since in config not overwritten by input
([#&#8203;1593](https://redirect.github.com/release-drafter/release-drafter/issues/1593))
[@&#8203;sroebert](https://redirect.github.com/sroebert)
- fix: clarify prerelease-identifier behavior and precedence in
configuration
([#&#8203;1594](https://redirect.github.com/release-drafter/release-drafter/issues/1594))
[@&#8203;neilime](https://redirect.github.com/neilime)

#### Maintenance

- chore: disable "No version input..." warning
([#&#8203;1595](https://redirect.github.com/release-drafter/release-drafter/issues/1595))
[@&#8203;cchanche](https://redirect.github.com/cchanche)

**Full Changelog**:
<release-drafter/release-drafter@v7.2.0...v7.2.1>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
([changelog](https://redirect.github.com/taiki-e/install-action/compare/cf525cb33f51aca27cd6fa02034117ab963ff9f1..711e1c3275189d76dcc4d34ddea63bf96ac49090))
| action | digest | `cf525cb` → `711e1c3` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[anthropics/claude-code-action](https://redirect.github.com/anthropics/claude-code-action)
([changelog](https://redirect.github.com/anthropics/claude-code-action/compare/567fe954a4527e81f132d87d1bdbcc94f7737434..2cc1ac1331eac7a6a96d716dd204dd2888d0fcd2))
| action | digest | `567fe95` → `2cc1ac1` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## Summary

Accidentally merged this...

## Testing

N/A

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
with_slots doesn't need to pass the original ref to the arrayinner
methods as
unique ownership arc is handled earlier

Signed-off-by: Robert Kruszewski <github@robertk.io>
stop oom

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
If we drop the db before we open we should avoid the double open problem

Signed-off-by: Robert Kruszewski <github@robertk.io>
This pr moves Struct Cast implementation to be overridable by
VortexSession.

The default implementation stays the same, i.e. it resolves the fields
by name.

In follow up we will add back the positional cast and add both
implementations
to the fuzzer

---------

Signed-off-by: Robert Kruszewski <github@robertk.io>
## Summary

Fixes some issues with identifying what benchmark data actually is.

## Testing

N/A

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
I forgot to add this part!

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Isolating benchmarks before this optimization:
vortex-data#7753

---------

Signed-off-by: Baris Palaska <barispalaska@gmail.com>
This benchmark provides the baseline for GPU data loading exercising our
synchronous logic. In this naive case, the data is copied to the GPU
from host memory. This does not include loading the buffer from a file.
This change will be followed up by benchmarks for different copy
strategies.

Benchmarks for a GH200:
```
cuda/cuda/load_to_device/ensure_on_device_sync/16MiB
                        time:   [1.1733 ms 1.1966 ms 1.2282 ms]
                        thrpt:  [12.722 GiB/s 13.058 GiB/s 13.317 GiB/s]
                 change:
                        time:   [-2.3933% +0.2367% +3.1250%] (p = 0.88 > 0.05)
                        thrpt:  [-3.0303% -0.2362% +2.4520%]

cuda/cuda/load_to_device/ensure_on_device_sync/64MiB
                        time:   [3.0456 ms 3.0634 ms 3.0819 ms]
                        thrpt:  [20.280 GiB/s 20.402 GiB/s 20.522 GiB/s]
                 change:
                        time:   [+0.0301% +1.0798% +2.0330%] (p = 0.06 > 0.05)
                        thrpt:  [-1.9925% -1.0682% -0.0301%]

cuda/cuda/load_to_device/ensure_on_device_sync/256MiB
                        time:   [11.363 ms 11.399 ms 11.434 ms]
                        thrpt:  [21.864 GiB/s 21.932 GiB/s 22.000 GiB/s]
                 change:
                        time:   [-0.1484% +0.1656% +0.4805%] (p = 0.37 > 0.05)
                        thrpt:  [-0.4782% -0.1653% +0.1486%]

cuda/cuda/load_to_device/ensure_on_device_sync/1GiB
                        time:   [42.364 ms 42.832 ms 43.712 ms]
                        thrpt:  [22.877 GiB/s 23.347 GiB/s 23.605 GiB/s]
                 change:
                        time:   [-6.7679% -0.1064% +4.4406%] (p = 0.98 > 0.05)
                        thrpt:  [-4.2518% +0.1065% +7.2592%]
```

Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
Add more benchmarks for intersect_by_rank

Signed-off-by: Robert Kruszewski <github@robertk.io>
gatesn and others added 22 commits May 26, 2026 20:34
## Summary

- register built-in stats rewrite rules through the session-backed
registry
- port comparison, boolean, between, like, list_contains, and cast-aware
stat rewrites to `StatFn::new_expr(...)`
- add aggregate-backed null rewrite rules using `all_null` and
`all_non_null`
- keep the existing legacy `null_count` / `row_count()` rewrite rules so
current stored stats continue to work

## Tests

- `cargo +nightly fmt --all`
- `cargo test -p vortex-array
stats::rewrite::builtins::tests::rewrites_null`
- `cargo test -p vortex-array stats::rewrite`
- `cargo clippy --all-targets --all-features`

Signed-off-by: Nicholas Gates <nick@nickgates.com>
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

🔧 This Pull Request updates lock files to use the latest dependency
versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on monday"
- 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

🔧 This Pull Request updates lock files to use the latest dependency
versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on monday"
- 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[docker/setup-buildx-action](https://redirect.github.com/docker/setup-buildx-action)
([changelog](https://redirect.github.com/docker/setup-buildx-action/compare/4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd..d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5))
| action | digest | `4d04d5d` → `d7f5e7f` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/login-action](https://redirect.github.com/docker/login-action)
([changelog](https://redirect.github.com/docker/login-action/compare/4907a6ddec9925e35a0a9e82d7399ccc52663121..650006c6eb7dba73a995cc03b0b2d7f5ca915bee))
| action | digest | `4907a6d` → `650006c` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[docker/build-push-action](https://redirect.github.com/docker/build-push-action)
([changelog](https://redirect.github.com/docker/build-push-action/compare/bcafcacb16a39f128d818304e6c9c0c18556b85f..f9f3042f7e2789586610d6e8b85c8f03e5195baf))
| action | digest | `bcafcac` → `f9f3042` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[codecov/codecov-action](https://redirect.github.com/codecov/codecov-action)
([changelog](https://redirect.github.com/codecov/codecov-action/compare/57e3a136b779b570ffcdbf80b3bdc90e7fab3de2..e79a6962e0d4c0c17b229090214935d2e33f8354))
| action | digest | `57e3a13` → `e79a696` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[anthropics/claude-code-action](https://redirect.github.com/anthropics/claude-code-action)
([changelog](https://redirect.github.com/anthropics/claude-code-action/compare/51ea8ea73a139f2a74ff649e3092c25a904aed7e..787c5a0ce96a9a6cfb050ea0c8f4c05f2447c251))
| action | digest | `51ea8ea` → `787c5a0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/stale](https://redirect.github.com/actions/stale)
([changelog](https://redirect.github.com/actions/stale/compare/b5d41d4e1d5dceea10e7104786b73624c18a190f..eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899))
| action | digest | `b5d41d4` → `eb5cf3a` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](..vortex-data/issues/357) for more information.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
OUT_DIR behaviour changed, so duckdb/ folder now is relative to
vortex-duckdb.
Clarify why we don't have LTO for our main crate.
Add -Werror for duckdb builds

Signed-off-by: Mikhail Kot <to@myrrc.dev>
Adds a divan benchmark exercising the min/max aggregation over primitive
arrays (i32/i64/f64, with and without nulls) so we can measure and
inspect
the codegen of the max reduction path.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>

---------

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-authored-by: Claude <noreply@anthropic.com>
When publishing native packages make sure different architectures don't
override each other

Signed-off-by: Robert Kruszewski <github@robertk.io>
This also fixes the segfault of empty "name" passed to copy function,
see


https://dataengineeringcentral.substack.com/p/benchmarking-vortex-file-format-vs

Run bindgen before cpp so that changes to ffi for duckdb would propagate
to vortex.h before C++ code compilation.

Signed-off-by: Mikhail Kot <mikhail@spiraldb.com>
## Summary

This PR removes the public-api lockfile mechanism, we don't actually use
it to inform decisions, changes or the changelog. Its often just a chore
that needs to be handled in CI/locally.

We should hold ourselves to a higher standard in PRs descriptions and
when working on public APIs (especially widely used ones), that seems
more important than every minor change in the API semantics because of
some trait bound change.

Signed-off-by: Adam Gutglick <adam@spiraldb.com>
…-data#8028)

Sparse arrays previously had no aggregate or compare pushdown, so
`is_constant`, `sum`, and `<column> op <scalar>` on a Sparse column all
fell through to full canonical materialization — O(N) work regardless of
patch density.

---------

Signed-off-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
## Summary

This PR optimizes the `ArrayExpr` scalar function ID generation by using
`CachedId` from `vortex_session::registry` instead of creating a new
`ScalarFnId` on every call to the `id()` method.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-authored-by: Claude <noreply@anthropic.com>
## Summary

fsst like dfa implementation to respect escape codes like `%` and `_` in
the pattern

---------

Signed-off-by: Onur Satici <onur@spiraldb.com>
…a#8126)

Found in vortex-data#8105. ALP comparisons to NaN/Inf can be trivially folded since
those values must exist in patches

---------

Signed-off-by: Robert Kruszewski <github@robertk.io>
## Summary

Tracking issue: vortex-data#7830

Followup of vortex-data#8076

Changes the centroid initialization for `vortex-turboquant` to use `+-
sqrt(bit_width) * sigma` instead of just [-1, 1]

## Testing

```sh
uv run benchmarks/vector-search-bench/scripts/plot-turboquant-distortion.py \
            --dataset cohere-small-100k:single \
            --dataset openai-medium-500k:single \
            --dataset bioasq-medium-1m \
            --dataset glove-small-100k \
            --dataset gist-small-100k \
            --dataset sift-small-500k \
            --output ~/Downloads/distortion-sqrt-sigma.png
```

<img width="2816" height="950" alt="distortion-3-sigma"
src="https://github.com/user-attachments/assets/cb2db4eb-13a7-4083-949b-ee7f04ab7428"
/>

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Luke Kim <80174+lukekim@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 27, 2026 20:47
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@lukekim lukekim self-assigned this May 27, 2026
@lukekim lukekim merged commit 2706b5e into spiceai-52 May 28, 2026
32 of 60 checks passed
@lukekim lukekim deleted the lukim/spiceai-52-sync-vortex-0.73.0 branch May 28, 2026 21:54
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.