Changelog
Version 0.2
May 7 2026
C API
- Added APIs for retrieving resources embedded into your wasm-compiled app
- See
PBAppResourceWithNameandPBAppResourceAtIndexinplaybit/app.h
- See
- Added
PBAppNametoplaybit/app.h - Added
PBAppIdtoplaybit/app.h - Renamed
printlntoprint- Use
PBPrintffor formatted printing without automatic newline
- Use
- Added APIs for interacting with various window properties
- See
playbit/window.h
- See
- Changed
UIBoxIsClickto be calledUIBoxOnClick - Improved initial window presentation behavior
- Added
PBStrLitfor makingPBStrSlicefrom c-string literals - Deprecated previous catch-all
PB_STRhelper macro- For usage not covered by
PBStrLittryPBStrSliceOf
- For usage not covered by
- Added
PBStr_FMTandPBStr_FMT_ARGmacros for easier println formatting of strings - Added new
PBDrawRectWithStrokefunction to the drawing API - Added new
PBDrawTextWithPlanfunction to the drawing API - Added new
PBDrawTexturedRectExtandPBDrawTexturedRectExt2functions to the drawing API - Added new
PBDrawTextLineandPBDrawTextMultilinefunctions to the drawing API - Improved
PBDrawBeginFrameto auto-allocate a draw API context if one is not set - Improved implicit cached text drawing cache implementation in the drawing API
- Fixed an issue where usage of the
PBArrayAllocAtmacro would not compile - Improved
PBAnyArrayFreeto now makePBArraygo into a "null" statevbecomesNULL,lenandcapbecome0
- Fixed
PBArenaFromAllocatorignoring size paramter - Introduced new
PBSemaphore- See new
playbit/semaphore.h
- See new
- Added
PBRGBandPBRGBAhelper macros for creatingPBColorvalues - Added new
PBColorToRGBA8function - Fixed an issue where
PBDateFormatcould format a date's month incorrectly - Added new
PBDateComponentsfunction - Added new
PBTimeZoneUTCOffset2function - Added new
PBRectangleOfRectandPBRectangleOfSizefunctions - Added new experimental UI library, UI3
Runtime
- Fixed various underlying thread correctness issues on macOS
- Fixed a rare deadlock when rendering during a window resize
- Improved the situation around some renderer setup race conditions
- Added various syscalls for audio playback
playbit/sys/syscalls/audio.h
- Added various syscalls for filesystem access
- See new
playbit/sys/syscalls/file.h - See new
playbit/sys/syscalls/file_list.h
- See new
- Added clipboard access syscalls to the window object
- Syscall:
PBSysWindowClipboardWriteText - Syscall:
PBSysWindowClipboardReadText - See
playbit/sys/syscalls/window.h
- Syscall:
- Added texture creation and modification syscalls
- See new
playbit/sys/syscalls/texture.h - See
playbit/sys/syscalls/window.h
- See new
- Added various syscalls for Playbit network access
- See new
playbit/sys/syscalls/net.h - See new
playbit/sys/syscalls/net_session.h
- See new
- Removed "scene graph" rendering syscalls
- Fixed floating point value handling of
PBSysWindowSetRect - Fixed monotonic clock not advancing when system is asleep on macOS
Playbit.app
- Improved display of recent apps to be sorted
- Added release notes to log shown on startup
- Fixed a bug which could cause some log messages to crash the app
Developer tools
- Increased default wasm stack size to 512 KiB
- Added command line flag
--stack-size