The post-1.0 improvement waves, validated on QEMU (-M amigaone) and real X5000 hardware.
Highlights (0.6.0 + 0.7.0)
Soundness & correctness
amstr!("text")compile-time OS strings; every wrapper validates the\0terminator at the FFI boundary (a missing terminator used to be an out-of-bounds read from safe code)- Every ReAction gadget tag value corrected against the SDK 54.16 headers (the old constants were silently ignored by BOOPSI); gadget IDs now read from
IAddress->GadgetID. GUI harness 5/5 on QEMU and X5000.
New capability
- HTTPS:
amigaos4::httpsover the clib4-built OpenSSL (tlsfeature) -TlsStreamwith SNI + opt-in CA verification,https::get()with redirects and chunked decoding - Menus (menuclass
MenuBuilder), ASL file requester, listbrowser/chooser/slider gadgets, application.library registration - Async integration: awaitable timer delays and IDCMP window events - one executor selects over sockets, timers, and GUI input
- Driver story:
examples/ram-deviceis a complete exec.devicein Rust (BeginIO/AbortIO, quick I/O);DmaBufferpairs MEMF_SHARED with cache maintenance - datatypes:
DtPictureRAII picture loading - clib4 userland pattern:
sqlite3-demoandjson-configshow how to use the SDK clib4 static libs (sqlite, jansson, libpng, SDL2, ...) with plain extern FFI - Dogfood app:
examples/aminet-browser- application.library + menus + listbrowser + ASL + HTTP in one program
Validation
- ~370 tests; target harnesses pass 51/51 (main) + 5/5 (GUI) on QEMU and on a real AmigaOne X5000 (P5020, Kickstart 54.57)
Artifacts
rust-for-amigaos4-examples-v0.7.0.zip - 16 prebuilt native binaries + clib4.library 2.1 + INSTALL.txt. Application-mode examples need clib4 2.1 in LIBS: (see INSTALL.txt).
Full changelog: amigaos4/CHANGELOG.md.
🤖 Generated with Claude Code