diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 974ab4e..b11ca71 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,6 +13,19 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 + # Zig 0.15.1 cannot read the arm64e-only stubs in macOS SDK 26.4+. + # Keep the ARM runner and Zig version; select a compatible installed SDK. + - name: Select compatible macOS SDK + if: runner.os == 'macOS' + env: + DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer + run: | + test -d "$DEVELOPER_DIR" + echo "DEVELOPER_DIR=$DEVELOPER_DIR" >> "$GITHUB_ENV" + sdkroot="$(xcrun --sdk macosx --show-sdk-path)" + echo "SDKROOT=$sdkroot" >> "$GITHUB_ENV" + xcodebuild -version + xcrun --sdk macosx --show-sdk-version - uses: mlugg/setup-zig@v2 with: version: 0.15.1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 951f3d7..98db2db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,15 @@ # Changelog -## Unreleased +## 0.4.0 -- Frontend-inline option length decoding to avoid error-result stack temporaries -- Exhaustively check option length values, truncation/overflow errors and cursor movement +- Add public `Observe` values for subscribe/unsubscribe requests (#7) +- Frontend-inline option length decoding to avoid error-result stack temporaries (#8) +- Exhaustively check option length values, truncation/overflow errors and cursor movement (#8) + +## 0.3.0 + +- Add allocation-free `Packet.peekKind`, `Packet.peekMsgId`, and `Packet.peekOption` helpers (#6) +- Add `Packet.emptyAck` and `Packet.emptyRst` wire helpers (#6) ## 0.2.1 diff --git a/README.md b/README.md index 9c96dea..c29646a 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,13 @@ Handles binary CoAP message serialization only -- no transport, no retransmissio - RFC 7959 -- Block-Wise Transfers (option parsing) - RFC 8516 -- Too Many Requests Response Code +## Toolchain + +The minimum Zig version is 0.15.1. On Apple Silicon, unpatched Zig 0.15 cannot +read the arm64e-only system-library stubs in macOS SDK 26.4 and newer. Select a +compatible Xcode installation using `DEVELOPER_DIR`; CI uses Xcode 26.2/SDK 26.2 +without changing the Zig version or ARM runner. + ## Installation Add as a Zig package dependency: diff --git a/build.zig.zon b/build.zig.zon index 52555d7..3fb096f 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = .coapz, - .version = "0.3.0", + .version = "0.4.0", .minimum_zig_version = "0.15.1", .fingerprint = 0xad0f5d16c82d3290, .dependencies = .{},