Changelog
Changes to the Zig bindings and helpers, grouped by pumpkin-api-zig version. These versions are separate from Pumpkin server releases. The plugin API revision named by a release must still match the server.
0.2.0
WIT: pumpkin-plugin-wit@79cc4f0.
New helpers and examples
- Chat prompts: ask questions, parse numeric answers, retry validation and present clickable or typed choices. Sessions support cancellation, replacement, timeouts, custom text and matching, capture filters and a configurable choice command.
- Menus: mark chest-like
freeslots, place existingstacksand read contents throughmenu.items, including duringon_close. - Vault: personal storage with page selection, occupied-slot indicators,
/vault <page>and capacity configurable from 1 to 45 pages. Occupied higher pages remain reachable when capacity is lowered. - The menu example adds
/trash, and the heal example accepts a bare/healfor the sender.
More control over helpers
- Commands: replace typed argument errors through
cmd.bad_argument, return styled failures withcmd.failWithand skip automatic permission registration withregister_permission. - Items: set default italics, choose modifier IDs, read and write explicit data namespaces, and inspect inventory capacity with
item.room. See its documented offhand limitation before using it for trades. - Configuration: choose TOML or JSON independently of the file name, control file creation and missing-setting rewrites, suppress unknown-key warnings and bound file reads. The TOML writer supports structs and tuples inside arrays.
- Player data: choose JSON layouts, TOML or a custom codec; configure key validation, idle eviction and read-size limits. Format changes do not migrate existing files.
- Networking: configure TCP receive buffers for outgoing and accepted connections, and choose the HTTPS certificate bundle with
http.ca_file./nettestadds coverage for custom buffers and overlong lines.
Fixes
- TOML serialization no longer fails on structs or tuples inside arrays.
- Runtime-generated color buttons keep separate backing storage for their names.
0.1.1
WIT: pumpkin-plugin-wit@75f96e9.
Fixed a compile-time branch quota failure when a plugin declared three or more events. Compare 0.1.0 and 0.1.1.
0.1.0
WIT: pumpkin-plugin-wit@75f96e9.
Initial release for Zig 0.16.0, building plugins as WebAssembly components:
- Generated plugin API and
wasi:socketsbindings, with the canonical ABI runtime and callback resource management. addPluginandtargetfor plugin builds, additional Zig imports and WASI-compatible C dependencies.- Event registration, declarative command trees and styled text helpers.
- Locked inventory menus and item helpers for building, editing, giving and taking stacks.
- Delayed and repeating tasks with copied data and cancellation tracking.
- TOML and JSON configuration, per-player file stores, HTTP/HTTPS and TCP/UDP networking.
- Example plugins,
/nettestfor server-side networking checks, and automated build and release workflows.
See the 0.1.0, 0.1.1 and 0.2.0 releases for their artifacts and plugin API revisions.