Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
61fe265
fixed stats and schema after compact()
StevenBtw Sep 30, 2026
5b334c1
review fixes
StevenBtw Oct 1, 2026
c3fa9fb
query correctness fixes
StevenBtw Oct 1, 2026
f736ed2
review comments
StevenBtw Oct 1, 2026
f3691bb
small fixes
StevenBtw Oct 1, 2026
0f46e74
more review nitty bitties
StevenBtw Oct 1, 2026
14eb6b0
workaround, full fix in #544
StevenBtw Oct 1, 2026
8f46d12
pred (#544)
StevenBtw Oct 1, 2026
621e423
fringe query bug fixes
StevenBtw Oct 1, 2026
d725130
deriva based edge label bug fix
StevenBtw Oct 1, 2026
8dfbaba
more deriva related fixes and tests
StevenBtw Oct 1, 2026
293e84f
REMOVE runs in clause order (GQL)
StevenBtw Oct 1, 2026
4a3c5e6
fix #459
StevenBtw Oct 1, 2026
2bc6da0
fixed #482
StevenBtw Oct 1, 2026
12b7fbf
node and edge typing are kept now through ORDER BY
StevenBtw Oct 1, 2026
ecfa200
query fixes
StevenBtw Oct 2, 2026
b6ea567
small sort fixes and improvements
StevenBtw Oct 2, 2026
71e3434
RETURN * with ORDER BY fix
StevenBtw Oct 2, 2026
331fbc9
EXISTS and COUNT subqueries match now
StevenBtw Oct 2, 2026
d50fadc
new differential test against the previous release
StevenBtw Oct 2, 2026
e893081
nodes/edges not keeping their type fixes
StevenBtw Oct 2, 2026
bcfb7f4
review fixes (writes after SET, RDF sort, flaky CI)
StevenBtw Oct 2, 2026
b4433bd
ci fix
StevenBtw Oct 2, 2026
53aa7ca
fix for rust-test running out of disk
StevenBtw Oct 2, 2026
76138aa
docstring pass on gtests
StevenBtw Oct 2, 2026
a98b165
lists keep their kinds (collect, grouping, UNWIND)
StevenBtw Oct 2, 2026
1aaf789
a variable is now always a node or an edge
StevenBtw Oct 2, 2026
8de4e21
browser WASM size limit 760 KB
StevenBtw Oct 2, 2026
cf761ce
EXISTS and COUNT subqueries
StevenBtw Oct 2, 2026
ce655a4
EXISTS in WHERE answered per row now
StevenBtw Oct 2, 2026
646d2af
VALUE count subqueries count their argument fix
StevenBtw Oct 2, 2026
aa206c8
GQL subqueries chain their MATCH clauses now
StevenBtw Oct 2, 2026
35c8db2
cypher now importing WITH only lists outer vars
StevenBtw Oct 3, 2026
4ca93db
CALL now returns its nodes and edges as references
StevenBtw Oct 3, 2026
d5a0bca
GQL CALL subqueries support
StevenBtw Oct 3, 2026
8722115
cypher related query correctness fixes
StevenBtw Oct 3, 2026
e9ba1ca
more cypher related query correctness fixes
StevenBtw Oct 3, 2026
ed6f648
review fixes
StevenBtw Oct 3, 2026
4e331fd
npm now uses a publisher config, comment fixes
StevenBtw Oct 3, 2026
d3fbd23
planner sort now has its own variable collector
StevenBtw Oct 3, 2026
477fcd4
post compact bugfix
StevenBtw Oct 3, 2026
9e0e852
missing parameters now fail before writing
StevenBtw Oct 3, 2026
f555e52
query correctness fixes
StevenBtw Oct 4, 2026
1f8cd04
more query correctness fixes
StevenBtw Oct 4, 2026
d396c64
review comment fixes #541
StevenBtw Oct 4, 2026
f913397
0.5.44 release review cleanup
StevenBtw Oct 4, 2026
19f17c5
release cleanup
StevenBtw Oct 4, 2026
df0e1db
valid cubic comment fixes
StevenBtw Oct 4, 2026
ac53512
doc pass and review comments
StevenBtw Oct 4, 2026
c907ee4
next orders by a property of a return alias
StevenBtw Oct 4, 2026
27fc182
updated CHANGELOG.md
StevenBtw Oct 4, 2026
462c56f
updated CHANGELOG.md
StevenBtw Oct 4, 2026
f0860f0
small doc fix
StevenBtw Oct 4, 2026
5b83b66
small doc fix
StevenBtw Oct 4, 2026
1bc8a15
small doc fix
StevenBtw Oct 4, 2026
820a394
small doc fix
StevenBtw Oct 4, 2026
229bfe6
small doc fix
StevenBtw Oct 4, 2026
2836b5c
added gtests
StevenBtw Oct 4, 2026
aaf4450
extended subquery support for cypher
StevenBtw Oct 4, 2026
8debc23
added difftest (reviewed differences 0.5.43-0.5.44)
StevenBtw Oct 4, 2026
116c8ba
added exception for difftest results
StevenBtw Oct 4, 2026
f48b4bb
added MERGE unit test
StevenBtw Oct 4, 2026
385a8cd
added difftest result for release/0.5.44
StevenBtw Oct 4, 2026
6487e51
updated CHANGELOG.md
StevenBtw Oct 4, 2026
c965afe
updated docs
StevenBtw Oct 4, 2026
9a57cb4
updated docs
StevenBtw Oct 4, 2026
a58c1e3
updated CHANGELOG.md
StevenBtw Oct 4, 2026
0898031
version bump to 0.5.44
StevenBtw Oct 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 33 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,16 @@ jobs:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
# Every test binary of the debug build links the whole engine, which
# nearly fills an ubuntu runner's disk: remove preinstalled SDKs that
# this job does not use.
- name: Free disk space
if: runner.os == 'Linux'
run: |
df -h /
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
df -h /

- uses: actions/checkout@v7

- name: Install Rust toolchain
Expand All @@ -298,31 +308,38 @@ jobs:
- name: Configure sccache
uses: mozilla-actions/sccache-action@v0.0.11

# Crate sources only: archiving this job's target directory filled the
# runner's disk, and sccache keeps the compiled crates between runs.
- name: Cache cargo registry
uses: actions/cache@v6
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-test-
${{ runner.os }}-cargo-registry-

# Full profile: --all-features tests every language parser, AI index,
# RDF store, algorithms, CDC, and other optional modules together.
# This catches integration issues across feature combinations.
# Spec tests are excluded here as they run in the dedicated rust-spec job.
# Line tables keep file and line in backtraces at a fraction of the size
# of full debug info.
- name: Run tests
run: cargo nextest run --all-features --workspace --exclude grafeo-spec-tests
env:
RUSTC_WRAPPER: sccache
SCCACHE_GHA_ENABLED: "true"
Comment thread
StevenBtw marked this conversation as resolved.
CARGO_PROFILE_DEV_DEBUG: line-tables-only

# nextest does not run doc-tests, so run them separately
- name: Run doc-tests
run: cargo test --all-features --workspace --doc
env:
RUSTC_WRAPPER: sccache
SCCACHE_GHA_ENABLED: "true"
CARGO_PROFILE_DEV_DEBUG: line-tables-only

# Rust tests (release, ubuntu only)
# Release-mode catches issues from inlining and overflow checks.
Expand Down Expand Up @@ -386,6 +403,8 @@ jobs:
- profile: rdf
features: "--features gql,sparql,graphql,triple-store,spill,mmap,regex"
engine_features: "--features gql,sparql,graphql,triple-store,shacl,wal,grafeo-file,spill,mmap,regex"
# The facade's `rdf` profile on its own keeps its data across a reopen (#544).
facade_test: "--features rdf --test rdf_profile"
# Analytics persona: Data Scientist (algorithms + search + bulk import)
- profile: analytics
features: "--features algos,vector-index,text-index,hybrid-search,jsonl-import,parquet-import"
Expand Down Expand Up @@ -456,6 +475,17 @@ jobs:
env:
RUSTC_WRAPPER: sccache

# A facade test built with only the profile's features, for profiles
# whose behavior depends on what the profile itself enables.
- name: Test facade profile (${{ matrix.profile }})
if: matrix.facade_test
run: >
cargo test
-p grafeo
--no-default-features ${{ matrix.facade_test }}
env:
RUSTC_WRAPPER: sccache

# Miri undefined behavior check
miri:
name: Miri UB Check
Expand Down
71 changes: 43 additions & 28 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,6 @@ jobs:
uses: softprops/action-gh-release@v3
with:
files: ./checksums.txt
continue-on-error: true

# Publish crates to crates.io (in dependency order)
publish-crates:
Expand Down Expand Up @@ -350,6 +349,10 @@ jobs:
name: Publish to npm
runs-on: ubuntu-latest
needs: [create-release, build-node-native]
environment: npm
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v7

Expand Down Expand Up @@ -381,30 +384,31 @@ jobs:
echo "=== Platform packages ==="
find npm -name '*.node' -ls

- name: Update npm (trusted publishing needs 11.5.1 or later)
run: npm install -g npm@^11.5.1

- name: Publish platform packages
working-directory: crates/bindings/node
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
for dir in npm/*/; do
if ls "$dir"*.node 1>/dev/null 2>&1; then
echo "Publishing $(basename "$dir")..."
(cd "$dir" && npm publish --access public) || true
(cd "$dir" && bash "$GITHUB_WORKSPACE/scripts/npm-publish.sh")
fi
done

- name: Publish @grafeo-db/js
working-directory: crates/bindings/node
run: npm publish --access public --ignore-scripts
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
continue-on-error: true
run: bash "$GITHUB_WORKSPACE/scripts/npm-publish.sh" --ignore-scripts

# Publish WASM package to npm
publish-wasm:
name: Publish WASM to npm
runs-on: ubuntu-latest
needs: create-release
environment: npm
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v7

Expand All @@ -431,18 +435,22 @@ jobs:
# Copy our maintained package.json over the generated one.
cp crates/bindings/wasm/package.json crates/bindings/wasm/pkg/package.json

- name: Update npm (trusted publishing needs 11.5.1 or later)
run: npm install -g npm@^11.5.1

- name: Publish @grafeo-db/wasm
working-directory: crates/bindings/wasm/pkg
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
continue-on-error: true
run: bash "$GITHUB_WORKSPACE/scripts/npm-publish.sh"

# Publish WASM lite package to npm
publish-wasm-lite:
name: Publish WASM Lite to npm
runs-on: ubuntu-latest
needs: create-release
environment: npm
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v7

Expand All @@ -466,18 +474,22 @@ jobs:
- name: Fix WASM lite package metadata
run: cp crates/bindings/wasm/package-lite.json crates/bindings/wasm/pkg-lite/package.json

- name: Update npm (trusted publishing needs 11.5.1 or later)
run: npm install -g npm@^11.5.1

- name: Publish @grafeo-db/wasm-lite
working-directory: crates/bindings/wasm/pkg-lite
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
continue-on-error: true
run: bash "$GITHUB_WORKSPACE/scripts/npm-publish.sh"

# Publish CLI npm wrapper packages
publish-cli-npm:
name: Publish CLI to npm
runs-on: ubuntu-latest
needs: build-binaries
environment: npm
permissions:
contents: read
id-token: write
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -544,18 +556,22 @@ jobs:
chmod +x ${{ matrix.binary }} 2>/dev/null || true
ls -la

- name: Update npm (trusted publishing needs 11.5.1 or later)
run: npm install -g npm@^11.5.1

- name: Publish platform package
working-directory: platform-pkg
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
continue-on-error: true
run: bash "$GITHUB_WORKSPACE/scripts/npm-publish.sh"

# Publish main CLI npm launcher (after platform packages)
publish-cli-npm-launcher:
name: Publish @grafeo-db/cli
runs-on: ubuntu-latest
needs: publish-cli-npm
environment: npm
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v7

Expand All @@ -565,12 +581,12 @@ jobs:
node-version: '24'
registry-url: 'https://registry.npmjs.org'

- name: Update npm (trusted publishing needs 11.5.1 or later)
run: npm install -g npm@^11.5.1

- name: Publish launcher package
working-directory: packages/grafeo-cli-npm
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
continue-on-error: true
run: bash "$GITHUB_WORKSPACE/scripts/npm-publish.sh"

# Publish C# bindings to NuGet
publish-nuget:
Expand Down Expand Up @@ -608,8 +624,7 @@ jobs:
run: dotnet pack -c Release -o ../../nupkg

- name: Publish to NuGet
run: dotnet nuget push "crates/bindings/csharp/nupkg/*.nupkg" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
continue-on-error: true
run: dotnet nuget push "crates/bindings/csharp/nupkg/*.nupkg" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate

# Build CLI Python wheels using workflow artifacts (no release asset race)
build-cli-wheels:
Expand Down Expand Up @@ -700,7 +715,7 @@ jobs:
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist/
continue-on-error: true
skip-existing: true

# Notify Discord about the new release
notify-discord:
Expand Down
Loading
Loading