Skip to content

Releases: eggspot/EggDB

Release list

EggDB v0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 23:58
eb131c9

EggDB's first release: milestone M1, the platform layer. The eggdb binary only prints its
version so far; this release is the foundation the storage engine (M2) is built on, and the
first run of the release pipeline.

What M1 brings

The eggdb-platform crate puts every operating-system call behind one interface (D8), with a
deterministic simulator behind the same interface for every part, so crash safety and timing
are tested rather than assumed (D9):

  • Files: positional reads and writes, direct I/O with aligned buffers, directory sync, and
    the same error for the same wrong path on every OS.
  • Asynchronous file I/O through a completion queue: io_uring on Linux, I/O completion ports
    on Windows on request, and a worker pool elsewhere.
  • Networking: TCP listeners and connections through a completion queue that waits in epoll
    on Linux and Android, in kqueue on Apple's systems and in poll(2) on FreeBSD, NetBSD,
    illumos and Solaris, with timed reaps and cancel.
  • Memory, CPUs and threads: page sizes and huge pages, CPU sets, pinning, named pinned
    threads, cache padding and the CPU topology (cores, packages, NUMA nodes, shared caches).
  • Clocks.
  • Simulation: crashes, faults, memory, CPUs, I/O ordering, and a network of hosts with
    latency, partitions and resets on a simulated clock.

Downloads

One self-contained file per platform, with the licenses and the README:

  • Linux: x86_64-unknown-linux-musl and aarch64-unknown-linux-musl are static and run on any
    distribution; the -linux-gnu builds link glibc 2.35 or newer.
  • macOS: aarch64-apple-darwin (Apple silicon) and x86_64-apple-darwin (Intel).
  • Windows: x86_64-pc-windows-msvc and aarch64-pc-windows-msvc.

Not yet

Signed binaries beyond the provenance attestation, a software bill of materials, reproducible
builds, package managers and crates.io (D14, D21). Startup time, idle memory and install time are
measured from the first build that serves data (M4); this release records the binary and
download sizes below as the first baseline (D6, D14).

Sizes

Target Binary (bytes) Download (bytes)
aarch64-apple-darwin 302448 144534
aarch64-pc-windows-msvc 110080 62100
aarch64-unknown-linux-gnu 271080 146808
aarch64-unknown-linux-musl 397480 190615
x86_64-apple-darwin 287944 153379
x86_64-pc-windows-msvc 112128 62822
x86_64-unknown-linux-gnu 289464 152429
x86_64-unknown-linux-musl 385720 196352

Each archive is checked by SHA256SUMS and carries a signed build provenance
attestation: gh attestation verify <archive> -R eggspot/EggDB.