Skip to content

fix: bump elixir NIF rustler crate to 0.38 to match hex library - #6078

Merged
max-sixty merged 1 commit into
mainfrom
fix/elixir-rustler-0.38
Jul 14, 2026
Merged

fix: bump elixir NIF rustler crate to 0.38 to match hex library#6078
max-sixty merged 1 commit into
mainfrom
fix/elixir-rustler-0.38

Conversation

@prql-bot

Copy link
Copy Markdown
Collaborator

Problem

The Elixir hex rustler library and the paired Rust rustler crate drifted out of sync:

The NIF is compiled directly from source via use Rustler in lib/prql/native.ex (not precompiled), so the Elixir rustler library and the Rust rustler crate are tightly coupled and must share a minor version. They were last bumped together in #5407 (0.36 → 0.37); #5949 moved only the Elixir side to 0.38, leaving the Rust crate behind. That mismatch can cause the NIF to fail to build or load against the newer library.

Fix

Bump the Rust crate to rustler = "0.38.0" and regenerate Cargo.lock (rustler 0.37.0 → 0.38.0, rustler_codegen 0.37.3 → 0.38.0, transitively libloading 0.8.9 → 0.9.0).

Verified the native crate compiles against the new version: cargo build -p prql succeeds.

Notes

  • No regression test is included — this is a build-config version-consistency fix with no runtime surface to unit-test. The test-elixir CI job builds the NIF and exercises it, which is the effective end-to-end check.
  • rustler 0.38 raises the Rust requirement to 1.91, but the test-msrv job only verifies prqlc/prqlc (which doesn't depend on rustler), so the workspace MSRV declaration (1.81) is unaffected. The repo toolchain is 1.96.1.

Found during the nightly code-quality sweep.

The Elixir hex `rustler` library was bumped to 0.38.0 in #5949, but the
paired Rust crate stayed at 0.37.0. Since the NIF is compiled directly via
`use Rustler`, the Elixir library and Rust crate minor versions must match,
so the NIF could fail to build or load against the newer library.
@max-sixty
max-sixty merged commit 47961bc into main Jul 14, 2026
79 checks passed
@max-sixty
max-sixty deleted the fix/elixir-rustler-0.38 branch July 14, 2026 07:56
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.

2 participants