Conversation
Build system: 0.16 moved linkLibrary and linkFramework from Compile onto
Module, and linkFramework gained an options argument. Module carries both
in 0.14 and 0.15 as well, so root_module.linkLibrary and
root_module.linkFramework(name, .{}) work everywhere.
Allocator: std.heap.GeneralPurposeAllocator was removed. DebugAllocator
is its current name and exists as far back as 0.14.1.
The webview dependency is the one thing that cannot follow. Its own
build.zig.zon carries a pre-0.16 hash format that 0.16 rejects, and
nothing in this repo can change that. It is now marked lazy so it is
fetched only when something asks for it, and the GUI example is skipped
on 0.16 with the reason stated in the source. Everything else builds and
tests there.
Verified from a clean cache:
0.14.1 35/35 tests passed
0.15.2 35/35 tests passed
0.16.0 35/35 tests passed
The VST3 plugin still passes pluginval at strictness 10.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CI caught what I had not: I verified `zig build test` locally, but the
workflow runs `zig build` first, which compiles examples the test step
never touches. Two of them fail on 0.16:
examples/danzig-webui/root.zig:15 std.fs.cwd removed
examples/danzig-gain-standalone/root.zig:28 std.process.argsAlloc removed
Porting them means threading an std.Io.Threaded handle through demo code,
which buys nothing for the library, so they are skipped on 0.16 with the
reason stated in the source. The library, the VST3 plugin and the whole
test suite build there.
Verified with the full CI sequence, `zig build` followed by
`zig build test`, on all three from a clean cache:
0.14.1 build ok, 35/35
0.15.2 build ok, 35/35
0.16.0 build ok, 35/35
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
godofecht
added a commit
that referenced
this pull request
Jul 29, 2026
Support Zig 0.16 alongside 0.14.1 and 0.15.2
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.
The VST3 plugin still passes pluginval at strictness 10.
Changes
linkLibraryandlinkFrameworkfromCompileontoModule, andlinkFrameworkgained an options argument.Modulecarries both in 0.14 and 0.15 too, soroot_module.linkLibraryandroot_module.linkFramework(name, .{})work everywhere.GeneralPurposeAllocatorremoved;DebugAllocatoris its current name and exists since 0.14.1.The one thing that cannot follow
webview-zig's own
build.zig.zoncarries a pre-0.16 hash format that 0.16 rejects:Upstream
mainis still that commit, so nothing here can fix it. The dependency is now marked.lazy = trueso it is fetched only on demand, and the GUI example is skipped on 0.16 with the reason stated in the source. Everything else builds and tests there.🤖 Generated with Claude Code