Skip to content

Feat/core 2.11.5 - #21

Merged
vbanas merged 2 commits into
masterfrom
feat/core-2.11.5
Oct 19, 2026
Merged

vbanas merged 2 commits into
masterfrom
feat/core-2.11.5

Conversation

@vbanas

@vbanas vbanas commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

Move the vendored core pin from v2.11.0 (dc9b12a) to v2.11.5 (5d5f47c),
with CORE_VERSION / CORE_COMMIT in rayforce-sys/build.rs moved
alongside, and rayforce-q from f4378a4 (2.3.0) to df8ced9, its
"Release 2.4.0" commit. rayforce-q has pushed no 2.4.0 tag, so it is
pinned by commit as before. q.c is unchanged, and the .q.handle builtin
2.4.0 adds is registered by embed/rayforce_q.c, which this crate does
not compile. The bump examples in the README and the installation page
name v2.11.5.

v2.11.5's lang/env.h declares `extern _Atomic uint64_t g_global_epoch`,
a file-scope atomic spelled as a qualifier, and bindgen 0.70 aborts on
it with "Couldn't resolve constant type"; the function-like
-D_Atomic(T)=T define cannot reach that spelling. build.rs now defines
_Atomic as __volatile and __volatile as a function-like macro, so
_Atomic(T) reads as T and _Atomic T as a volatile T. Nothing in the
parse writes `__volatile(`. The core citations in that comment and the
opaque-runtime one are re-pointed at v2.11.5, and the private headers'
function count reads ~700 (698, from 665).

include/rayforce.h is unchanged. bindings.rs changes only in the opaque
ray_runtime_s, 48 to 560 bytes for the limiting cgroup's directory,
which also drops its Copy / Clone derives; the crate only ever holds it
by pointer. The nineteen INTERNAL_FNS signatures are unchanged. The new
sources ops/select_merge.c, ops/symcmp.c, table/symgrp.c and
table/symimp.c are picked up by the Makefile's src/*/*.c wildcard and
the packaged globs, and link against nothing new; the Makefile changes
only its fuzz targets.

The changelog records the engine deltas that reach the crate outside
eval: an empty string inserted into a string column, a length check on
upserts into mapped columns, one on-disk copy of a replaced splayed
table, splayed readers that retry while the table keeps changing, and
a lower default spill watermark. It also records the eval-side changes.

cargo test --workspace passes against the vendored pins on the release
flavour and on the debug flavour with RAY_DFD=1 armed, each with the
IPC tests running against a v2.11.5 server built from its own staged
core (RAYFORCE_REQUIRE_SERVER=1). clippy is clean at -D warnings, fmt
reports nothing, and the packaged rayforce-sys carries the new core
sources.
@vbanas
vbanas merged commit 7633c11 into master Oct 19, 2026
2 checks passed
@vbanas
vbanas deleted the feat/core-2.11.5 branch October 19, 2026 21:21
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.

1 participant