Repository navigation
feat: migrate to Zig 0.17 - #94
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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'scoapzv0.4.0 dependency.@bitCastsemantics and handle the updated Linuxwaitpidstatus type.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.mdpreserves 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.