Repository navigation
v0.18.0
[0.18.0] - 2026-09-26
Changed
ravel-serverdefaults tobyte-minimallogs fetching against a
loopback S3 endpoint (ADR-2014). Unset,--logs-fetch-policyused to
always resolve tocost-based; now, a--store s3deployment whose
--s3-endpointis loopback (localhostor a loopback IPv4/IPv6 literal)
resolves tobyte-minimalinstead, because on such a store the cold path
is disk-bound rather than network-bound and the whole-object reads
cost-basedpicks at the reference cost profile spend local disk I/O a
ranged read would have skipped. Measured on the ClickBench reference
machine (RustFS on loopback, 42 statements): cold wall-clock 1,720.4s to
1,186.6s, hot wall-clock 272.3s to 88.5s. An explicit--logs-fetch-policy
always wins, including an explicitcost-basedon a loopback endpoint, and
a non-loopback--s3-endpoint(or--store memory) sees no change. The
resolved policy's source (flag,default, or
derived-loopback-endpoint) is now logged alongside the policy on the
logs fetch policy resolvedstartup line.
What's Changed
- feat(server): default to byte-minimal fetching on a loopback store by @pmoust in #2015
- chore(release): prepare 0.18.0 by @pmoust in #2016
Full Changelog: v0.17.0...v0.18.0
Downloads
The attached binaries were extracted unmodified from the signed container
images this release published, so each one is byte-identical to the file inside
the image you can pull. They are glibc-dynamic, built against Debian 12
(the runtime image is gcr.io/distroless/cc-debian12), so they need glibc 2.36
or newer. On an older distribution, run the container image instead:
docker pull ghcr.io/nofireai/ravel-server:0.18.0One binary per platform, named <binary>-<os>-<arch>:
ravel-server-linux-amd64,ravel-server-linux-arm64ravel-cli-linux-amd64,ravel-cli-linux-arm64ravel-operator-linux-amd64,ravel-operator-linux-arm64ravel-ingest-router-linux-amd64,ravel-ingest-router-linux-arm64
Verifying the downloads
SHA256SUMS covers every attached binary and symbol archive. Check the files
you downloaded, then verify SHA256SUMS itself against the signature and
certificate beside it. The signature is keyless, bound to this release
workflow's identity, so there is no key to obtain:
sha256sum --check --ignore-missing SHA256SUMS
cosign verify-blob \
--certificate SHA256SUMS.pem \
--signature SHA256SUMS.sig \
--certificate-identity 'https://github.com/NOFireAI/ravel/.github/workflows/publish-images.yml@refs/tags/v0.18.0' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
SHA256SUMSDebug symbols
The shipped binaries are stripped of debug info but keep their symbol table,
so a backtrace resolves function names with nothing extra installed. Line
numbers come from the matching symbols archive. Each binary records the
basename of its symbol file, so unpacking the archive next to the binary is
enough and no symbol-file step is needed:
tar -xzf ravel-debug-symbols-linux-amd64.tar.gz
gdb ./ravel-server-linux-amd64gdb looks for ravel-server.debug in the same directory (and in
.debug/), which is the name inside the archive. Do not rename the extracted
.debug files.