Skip to content

feat: migrate to Zig 0.17 - #94

Merged
cvik merged 1 commit into
mainfrom
fix/zig-017
Oct 16, 2026
Merged

cvik merged 1 commit into
mainfrom
fix/zig-017

Conversation

@cvik

@cvik cvik commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

Migrate latest main (871c8a2, including #95–#98) to Zig 0.17.0. Preserve main's public APIs, cooperative io_uring task work, registered socket, shared provided-buffer ring, bounded CON storage, and remote benchmark support. Retain main's coapz v0.4.0 dependency.

  • Replace array multiplication with typed splats and adopt backing-integer builtins.
  • Update build argument forwarding, optimization names, minimum compiler version, CI and docs.
  • Preserve native-endian socket memory across changed @bitCast semantics and handle the updated Linux waitpid status type.
  • Repair CCM array/vector bit-cast scalarization using unaligned byte-vector views, with independent ciphertext/authentication tests.
  • Port new remote benchmark credential-path formatting and accept both compiler optimization names in the comparison harness.

Verification

217 tests pass in debug, safe, fast and software-AES/baseline-CPU configurations. Normal/optimized builds, docs, ARM64 cross-builds, the full 24-scenario optimized benchmark suite, and remote benchmark integration checks pass. Integration covers IPv4/IPv6, plain/DTLS, single/multi clients, receipt accounting, leases/capacity and MID-wrap/duplicate handling. Cross-target binaries were not executed.

Performance

docs/ZIG_017_PERFORMANCE.md preserves the original migration's five-run alternating comparisons and explicitly marks them historical: they predate this rebase and do not establish parity against latest main. The original 23% large-payload DTLS NON slowdown was repaired by the CCM vector-view change, which is retained.

The rebased full suite reports zero request errors; an isolated 1000-byte single-thread DTLS NON verification run measures 417,149 req/s with zero errors. These are not matched latest-main comparisons. Keep draft pending performance review or explicit acceptance of the remaining limitations; no blanket regression-free claim is made.

@cvik
cvik marked this pull request as ready for review October 16, 2026 10:04
@cvik
cvik merged commit 93b836a into main Oct 16, 2026
1 check passed
@cvik
cvik deleted the fix/zig-017 branch October 16, 2026 10:04
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