gopdsdk v0.11.0 - Complete Offline Services and Media
gopdsdk v0.11.0
This release completes the P11 offline services and media scope.
JSON
- Added
playdate/json, a dependency-free and reflection-free JSON package
designed for the Playdate device runtime. - Added bounded decoding from
io.Readeror bytes. - Preserved object ordering, duplicate names, exact number spelling, Unicode,
and byte/path syntax diagnostics. - Added validated compact and pretty streaming output to
io.Writer. - Added the
examples/jsoncodecacceptance consumer.
Scoreboards
- Hardened both native scoreboard adapters.
- Native results are copied before deferred delivery on the update thread.
- Added a fixed four-slot completion queue.
- Enforced one pending request per operation kind.
- Immediate failures release their request slot.
- Termination clears queued work and suppresses late completions.
Scoreboards remain the sole pre-1.0 online exception; this release does not add
general networking or multiplayer.
Filesystem
- Confirmed that
File.Seekpreserves the official current-position behavior
by returningtellafter a successful seek. - Added deterministic coverage for
Seek(0, io.SeekCurrent). - Added coverage for
tellfailure classification and copying transient
filesystem diagnostics at the failing operation boundary.
Video-stream audit
Playdate SDK 3.1.1 does not provide a documented or usable offline input
contract for playdate_videostream. The experimental stream API was therefore
removed rather than exposing an unsafe or non-functional public contract.
Owned packaged PDV playback remains available through Videos.LoadVideo and
VideoPlayer. Videostream research is deferred until Panic documents a usable
source container and protocol.
Compatibility
The changes are additive for existing v0.10 applications, except for removal of
the unreleased experimental VideoStream API.
Verified toolchain:
- Go 1.26.5
- Playdate SDK 3.1.1
- TinyGo 0.41.1 with LLVM 20.1.1
- Arm GNU Toolchain GCC 15.3.1
Validation
- Formatting,
go test ./...,go vet ./..., andgit diff --check - Native CI on Windows, macOS, and Linux
- Linux race detector
- Playdate SDK 3.1.1 Simulator compilation and packaging on Windows
- Conservative hard-float device compilation, linking, relocation validation,
and packaging - Documented Simulator and physical-device acceptance for JSON and scoreboard
failure/sequential-request behavior
See MIGRATING.md, CHANGELOG.md, API.md, and COMPATIBILITY.md for detailed
contracts, evidence, and remaining platform limitations.