Skip to content

zig: build on Zig 0.17 - #16

Open
foxnne wants to merge 2 commits into
mainfrom
zig/0.17
Open

foxnne wants to merge 2 commits into
mainfrom
zig/0.17

Conversation

@foxnne

@foxnne foxnne commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

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). 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), with main merged in. The plugin version and min_sdk_version move as the repin bot would move them. Built against the released tarball, not by path.

Verified

  • macOS (arm64, Zig 0.17.0), against fizzy's zig/0.17 sdk/ by path (a local-only change, not in this PR): zig build (installs into a sandbox FIZZY_PROFILE), and zig build test where the plugin has one.
  • Loaded in a 0.17 fizzy (zig/0.17 with #498, Debug, macOS, a sandbox --profile): all seven store plugins loaded together, no errors in the log. Not exercised beyond loading.
  • The six cross targets: CI.

🤖 Generated with Claude Code

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). 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>
@foxnne foxnne mentioned this pull request Oct 18, 2026
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>
@foxnne
foxnne marked this pull request as ready for review October 18, 2026 22:54
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