Skip to content

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 08:26
· 1386 commits to main since this release

[0.18.0] - 2026-09-26

Changed

  • ravel-server defaults to byte-minimal logs fetching against a
    loopback S3 endpoint
    (ADR-2014). Unset, --logs-fetch-policy used to
    always resolve to cost-based; now, a --store s3 deployment whose
    --s3-endpoint is loopback (localhost or a loopback IPv4/IPv6 literal)
    resolves to byte-minimal instead, because on such a store the cold path
    is disk-bound rather than network-bound and the whole-object reads
    cost-based picks 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 explicit cost-based on 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 resolved startup 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.0

One binary per platform, named <binary>-<os>-<arch>:

  • ravel-server-linux-amd64, ravel-server-linux-arm64
  • ravel-cli-linux-amd64, ravel-cli-linux-arm64
  • ravel-operator-linux-amd64, ravel-operator-linux-arm64
  • ravel-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' \
  SHA256SUMS

Debug 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-amd64

gdb 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.