Skip to content

Releases: victorstewart/basics

Basics 0.4.13-rc.1 — exact BPF map and TCX recovery identities

Choose a tag to compare

@victorstewart victorstewart released this 03 Oct 14:25
Immutable release. Only release title and notes can be modified.

Candidate dependency for Prodigy's isolated retained-runtime qualification.

Reopened BPF maps resolve by exact kernel name and schema, avoiding the wh_egress/wh_egress4 prefix collision. TCX adoption binds the exact interface, direction, program, link, and tag; closing an adopted reference preserves an independently pinned link. Explicit teardown detaches both owned and adopted TCX links even when a pin retains their objects.

Validation: full real-kernel eBPF suite passed in the pinned Apple Linux guest. Retention coverage includes owner SIGKILL with and without a pin, borrowed close, wrong/ambiguous identities, and explicit detach. The newly added owned-pinned detach regression failed before its correction and passed afterward. No skips were reported.

Source: 782488d. The detached DepoFile binds the immutable source archive by SHA256. This prerelease is not a Prodigy rollout or migration qualification certificate; the exact legacy first-hop rehearsal remains blocked by the old master's evacuation behavior.

Origins: ambiguous reopened-map identity was introduced in 3b28f65 (2026-04-12), fixed in 3c1ddbb. Close-only owned TCX teardown originated in f5aef67 (2026-07-13); retention pins expose its limitation, fixed in 782488d. Exact TCX retention/adoption support is in 8cdb52b.

Basics 0.4.12 — asynchronous Netlink transactions

Choose a tag to compare

@victorstewart victorstewart released this 25 Sep 21:49
Immutable release. Only release title and notes can be modified.

Add bounded asynchronous Netlink transactions through the existing Ring, with exact ACK/dump completion, timeout, cancellation and descriptor lifetime ownership. Independent requests can be submitted together; successful sends alone do not authorize dependent work. Existing synchronous APIs remain available.

Validated read-only kernel Netlink lookup, delayed and reordered ACKs, multipart/error/interrupted dumps, cancellation, timeout, stream destruction and Ring integration with Clang 22 / C++26. In a 100 ms delayed-ACK fixture, 49 timer intervals measured 2.034 ms p95 and 4.294 ms maximum. Production cold-cluster qualification remains pending.

Basics 0.4.11 — gate preattached BPF diagnostics

Choose a tag to compare

@victorstewart victorstewart released this 25 Sep 03:30
Immutable release. Only release title and notes can be modified.

Compile successful preattached BPF trace formatting and file I/O only when BASICS_DEBUG is enabled. Preserve map resolution and existing failure/verifier logging.

Validated actual XDP preattached map reopen, map identity and seeded readback in an isolated network namespace with Clang 22 / C++26. Identical release fixture fails before the change and passes after it with zero trace I/O; debug diagnostics remain enabled. Thirty samples of 128 map resolutions include wall and thread CPU measurements.

Basics 0.4.10 — bounded TidesDB value-log retention

Choose a tag to compare

@victorstewart victorstewart released this 24 Sep 17:29
Immutable release. Only release title and notes can be modified.

Add String::ownsMemory() to distinguish owned heap/mmap storage from mutable and read-only borrowed views. This lets asynchronous owners retain already-owned values without a redundant allocation and copy, while continuing to detach borrowed data. No String layout or existing copy/move behavior changes.

Validated the existing String test suite, including ownership checks across heap/mmap/view/read-only copy and move, with Clang 22 / C++26 and the pinned runtime dependencies.

Basics 0.4.9 — bounded TidesDB value-log retention

Choose a tag to compare

@victorstewart victorstewart released this 22 Sep 10:34
Immutable release. Only release title and notes can be modified.

Add an opt-in logical-write byte budget and checked memtable flush to the TidesDB wrapper. Flushes occur before the next transaction, allowing obsolete separated values to be reclaimed without changing successful-commit semantics. Existing consumers keep their current behavior unless they select a budget.

Validated with the pinned TidesDB 10 master library, focused durability/crash-reopen tests, and a repeated-overwrite comparison.

Basics 0.4.8 — TidesDB 10 master support

Choose a tag to compare

@victorstewart victorstewart released this 21 Sep 23:47
Immutable release. Only release title and notes can be modified.

Pins TidesDB support to upstream master commit 2e029f971e664319edec26e0a19f2dd02344bcff and updates the wrapper for the shared WAL and database-wide full-sync setting. The detached DepoFile retains the default TidesDB-off package; Prodigy derives its TidesDB-enabled variant through its existing package owner.

Validated on Linux x86-64 with Clang 22 and C++26: Prodigy/Mothership builds, durability and package-contract checks, persistence/registry suites, and focused replication/recovery checks. TidesDB 9.x databases require an explicit export/import migration before a TidesDB 10 process opens them; this source release does not perform that migration automatically.

Basics 0.4.7

Choose a tag to compare

@victorstewart victorstewart released this 11 Sep 21:11
Immutable release. Only release title and notes can be modified.

Fix retained BPF map reopening so wh_egress4 cannot resolve to wh_egress. Names must match exactly; both prefixes were previously accepted even though supported names already fit the kernel name limit. Wrong selection can pass an undersized key buffer to the kernel and make map enumeration loop indefinitely.

The regression forces the retained-FD name fallback with the observed 10-byte and 8-byte keys and checks map identity before data access. In an isolated network namespace inside KVM guest22994, the old implementation failed the key-size and map-ID checks; the corrected implementation passed the complete ebpf_program_tests target without skips. Tests used Clang22, C++26, STATIC dependencies and MIMALLOC=NONE to isolate the map behavior from the test host/guest allocator startup mismatch. This release does not claim the public Prodigy runtime has recovered.

Basics 0.4.6

Choose a tag to compare

@victorstewart victorstewart released this 06 Aug 19:24
Immutable release. Only release title and notes can be modified.

Adds explicit primary and peer Netkit scrub modes while preserving the kernel-default policy for existing callers. Consumers can now retain authenticated skb metadata until their own BPF trust boundary consumes and clears it. Includes focused Netlink builder coverage and an immutable Depos release artifact.

Basics 0.4.5

Choose a tag to compare

@victorstewart victorstewart released this 01 Aug 18:27
Immutable release. Only release title and notes can be modified.

Full Changelog: v0.4.4...v0.4.5

Basics 0.4.4

Choose a tag to compare

@victorstewart victorstewart released this 14 Jul 07:26
v0.4.4

Makes explicitly configured c-ares hosts files deterministic across system NSS lookup orders.