Skip to content

Compare the SDK contract with the latest release branch - #169

Merged
wiresock merged 4 commits into
mainfrom
fix/sdk-contract-latest-release
Nov 4, 2026
Merged

wiresock merged 4 commits into
mainfrom
fix/sdk-contract-latest-release

Conversation

@wiresock

@wiresock wiresock commented Nov 4, 2026

Copy link
Copy Markdown
Owner

The weekly wiresock-sdk-contract deployment checked out Wiresock-Foundation/wiresock-vpn-client with no ref, so it followed the default branch. That branch now carries unreleased AmneziaWG 3.x and randomized-keepalive APIs (wgb_create_tunnel_ex2 / _ex3). The pinned wgbooster.h failed the drift check even though those APIs are not on a release branch.

Resolve-SdkReleaseBranch.ps1 lists the SDK repository's branches, keeps names that match release/vMAJOR.MINOR.PATCH, and selects the highest version. The drift job checks out that branch and stops unless the checkout is the commit the resolver recorded. Prerelease names, partial versions, and leading zeros are ignored. A moved or non-canonical result fails closed.

On the current SDK repository this resolves to release/v3.8.2 (1dfbf801f0eddec32c5efb69c6efdd203ee93c70).

The next scheduled run still fails, for a smaller difference on that release branch. include/wgbooster.h adds documentation for endpoint_resolution_cache on wgb_set_global_option. wgbooster.def matches the pin. Accepting that comment is a separate, explicit contract update.

Tests

  • scripts/Resolve-SdkReleaseBranch.Tests.ps1
  • scripts/Test-WorkflowSecurity.Tests.ps1
  • scripts/Test-WorkflowSecurity.ps1
  • Live resolution against Wiresock-Foundation/wiresock-vpn-client, which selected release/v3.8.2

The weekly drift check checked out the SDK default branch, so unreleased
header changes failed the wiresock-sdk-contract deployment. Resolve the
highest release/vMAJOR.MINOR.PATCH branch and compare that tip instead.
Branch pages were returned with return @(), which enumerates the
elements and turns a missing page into null. Emit each page as one
array object, and keep a bare branch for the one-element unwrap.
@wiresock
wiresock merged commit 6102711 into main Nov 4, 2026
24 checks passed
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