Skip to content

sdk: release 0.2.32 - #622

Merged
foxnne merged 1 commit into
mainfrom
sdk/release-0.2.32
Oct 19, 2026
Merged

foxnne merged 1 commit into
mainfrom
sdk/release-0.2.32

Conversation

@foxnne

@foxnne foxnne commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

What changes

sdk_version goes from 0.2.31 to 0.2.32. Merging this tags sdk-v0.2.32 and publishes its tarball. sdk-repin then asks each store plugin to repin.

Why now: the SDK's shape has moved three times since 0.2.31, so store plugins built for 0.2.31 don't load in a fizzy built from main. Pixi's history trim (reading fizzy's history limit) needs #620's call.

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
  • SDK release: bumps sdk_version, lists the sdk PRs since the last sdk-v* tag

sdk PRs since sdk-v0.2.31:

  • sdk: plugins register demos, and the demos service lists and plays them #608: plugins ship demos.
    • host.registerDemo(.{ .name, .title, .tape }) in register; the host copies them and drops them on unregister.
    • The demos service (sdk.services.demos, version 1) lists every demo fizzy can play and plays one by name.
    • sdk.Demo is new. Nothing existing changed shape.
  • sdk: a document's bytes for a checkpoint, without a save's bookkeeping #606: a document's bytes without a save.
    • New optional Plugin.VTable.documentBytes(state, doc, path, allocator): the bytes a save would write, with none of a save's bookkeeping (no format on save, no undo stop). Fizzy uses them for crash checkpoints, a restart's carried work, a tape's file and fizzy.document.changed listeners.
    • An owner without it falls back to documentSnapshot + encodeSnapshot, as before.
  • app: the history limit is fizzy's setting, read by every editor #620: the history limit is fizzy's. host.historyLimit() (a new EditorAPI member) is how many steps a document's undo history keeps: fizzy's "Undo steps per document" setting, 0 for no limit. Each plugin that owns a history trims its own.

Also reaching plugins at this release (no boundary change):

(app/ changes since 0.2.31 are not compiled into plugins.)

Verified

  • macOS: scripts/check-fmt.sh and zig build test-sdk-version pass. The fingerprint is main's recorded value (0x3d7fca8d3d211e73); only sdk_version changed.
  • Store plugins built against this sdk/ (--fork, Zig 0.17, macOS, sandbox profile): pixi, zig, atlas, drive and ghostty, each from its main, all build.
  • Linux: CI

Follow-ups

  • Repin and release the store plugins (pixi, zig, ghostty, drive, atlas; then agent and chat, by hand) when sdk-repin opens their PRs.
  • Make 0.2.32 live on fizzyed.it/app once the repinned plugins are in the store: gh workflow run web.yml --ref main -f go_live=0.2.32.

🤖 Generated with Claude Code

sdk_version 0.2.31 -> 0.2.32: #608 (demos), #606 (documentBytes), #620 (historyLimit).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@foxnne foxnne added the sdk Moves the plugin boundary's fingerprint; ships at the next SDK release label Oct 19, 2026
@foxnne
foxnne merged commit 644f84c into main Oct 19, 2026
11 checks passed
@foxnne
foxnne deleted the sdk/release-0.2.32 branch October 19, 2026 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sdk Moves the plugin boundary's fingerprint; ships at the next SDK release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant