Repository navigation
Conversation
The mechanical pass (fizzy's scripts/zig-0.17/rewrite.sh), and by hand: std.zon.parse calls take 0.17's options (an arena, and diagnostics), and fizzy-mcp is installed beside the plugin with fizzy.plugin.installBeside instead of a custom build step, which 0.17 no longer has. CI on Zig 0.17.0. Part of fizzyedit/plans#5. The fizzy pin moves to the 0.17 SDK at its release; until then this builds against fizzy's zig/0.17 sdk/ by path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 tasks done
foxnne
added a commit
to fizzyedit/fizzy
that referenced
this pull request
Oct 18, 2026
Part of fizzyedit/plans#5 (`plans/ZIG_0_17_PLAN.md`, step 3: store plugins on 0.17). The agent plugin's port needs it (fizzyedit/agent#23). ## What changes - **`fizzy.plugin.installBeside(b, exe, .{ .plugin = "<id>" })`.** On `zig build install`, it copies a second artifact into the plugin's own `{plugins}/{id}/` directory, beside the library. The agent plugin ships `fizzy-mcp` there, and the chat plugin looks for it. On 0.16 agent did this with a custom `makeFn` step; 0.17 has no custom steps. - **The install helper keeps the source's permissions,** so a program stays executable. It's the same helper `install` already runs (`sdk/plugin_sdk_install.zig`), now shared through one `addDevInstall` function. - `docs/PLUGINS.md` §2.4 says how to use it. ## SDK impact - [x] Build surface only, shape unchanged: `zig build test-sdk-version` passes with the recorded fingerprint. Plugin authors get the new function with the 0.17 SDK release. ## Verified - [x] macOS (arm64, Zig 0.17.0): `scripts/check-fmt.sh`, `zig build`, `zig build test-sdk-version`, and `plugins/image`'s standalone `zig build` (installs through the reworked helper). - [x] fizzyedit/agent#23 builds against this `sdk/` by path, and `fizzy-mcp` lands in `<profile>/plugins/agent/` as `-rwxr-xr-x`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2 of 6 tasks
foxnne
added a commit
to fizzyedit/fizzy
that referenced
this pull request
Oct 18, 2026
## What changes `sdk_version` goes from 0.2.29 to 0.2.30. Merging this tags `sdk-v0.2.30` and publishes its tarball. **Why now:** this is the first SDK on Zig 0.17 (#575, `plans/ZIG_0_17_PLAN.md` step 2), and the plan has the release follow the switch at once. A 0.17 fizzy refuses every plugin built against 0.2.29, and fizzyed.it/testapp is built from `main`, so the store plugins can't trail by days. Their 0.17 PRs are ready and only need this tarball to repin. ## SDK impact - [ ] None - [ ] Core-only or additive: reaches plugins at the next SDK release - [ ] Fingerprint moved: recorded in `sdk/src/version.zig`, `sdk_version` untouched, PR labelled `sdk` - [x] SDK release: bumps `sdk_version`, lists the `sdk` PRs since the last `sdk-v*` tag **`sdk` PRs since `sdk-v0.2.29`:** - **#575: Zig 0.17.** Plugins need `minimum_zig_version = "0.17.0"` and Zig 0.17 to build; there's no overlap window with 0.16. Also new: - `fizzy.plugin.installBeside`, for a helper program a plugin ships. - A settings payload holding pointers other than a string is a compile error. - The dev-install helper compiles once, in Debug. - **#536:** a plugin can replace a command it names, and gets it back on unload. - **#538:** a command may answer in a later frame. - **#540, #544:** dvui's front-to-back blocks (render order of floats, glass and focus rings). - **#563:** `dvui.pointerKind()` and `cursorSetPriority`; tabs show the hand, and a tapped item is left unlit. The fingerprint is `0x5f9c818a6972efd4`. ## Verified - [x] macOS (arm64, Zig 0.17.0): - On this head, `zig build test-sdk-version` passes, and `scripts/pack-sdk.sh` packs `fizzy-sdk-v0.2.30.tar.gz`. - All seven store plugins build against this `sdk/` by path with no further changes: pixi, zig, atlas, drive, ghostty, agent and chat (their 0.17 PRs below). All seven loaded together in a 0.17 fizzy earlier on the branch. - [ ] Windows, Linux: CI. ## Follow-ups - The repin automation opens `sdk: repin to fizzy SDK 0.2.30` PRs. The store plugins' own 0.17 PRs carry the port and only need the pin moved: - fizzyedit/pixi#51, fizzyedit/zig#15, fizzyedit/atlas#16 - fizzyedit/drive#13, fizzyedit/ghostty#14, fizzyedit/agent#23, fizzyedit/chat#16 I'll repin those branches to `sdk-v0.2.30` and close the bot's duplicates. - fizzyedit/example-plugin#13 repins to 0.2.30. Then fizzyedit/example-app#8 pins it, `sdk-v0.2.30` and fizzy's switch commit. Then `scripts/check-examples.sh` points back at `main`. - fizzyedit/plugin-build-action's default `zig-version` is still 0.16.0; every plugin passes its own. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
The first SDK on Zig 0.17. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Part of fizzyedit/plans#5 (
plans/ZIG_0_17_PLAN.md, step 3: store plugins on 0.17). A draft: it lands with the SDK release that takes fizzy to 0.17.What changes
The mechanical pass (fizzy's scripts/zig-0.17/rewrite.sh), and by hand: std.zon.parse calls take 0.17's options (an arena, and diagnostics), and fizzy-mcp is installed beside the plugin with fizzy.plugin.installBeside instead of a custom build step, which 0.17 no longer has. CI on Zig 0.17.0.
Repinned
Pinned to
sdk-v0.2.30, the first fizzy SDK on Zig 0.17 (fizzyedit/fizzy#575, #580), withmainmerged in. The plugin version andmin_sdk_versionmove as the repin bot would move them. Built against the released tarball, not by path.Verified
zig/0.17sdk/by path (a local-only change, not in this PR):zig build(installs into a sandboxFIZZY_PROFILE), andzig build testwhere the plugin has one.zig/0.17with #498, Debug, macOS, a sandbox--profile): all seven store plugins loaded together, no errors in the log. Not exercised beyond loading.🤖 Generated with Claude Code