Repository navigation
First stable release
The consolidation milestone (see ROADMAP.md); still in progress. What's landed so far:
Added
- The native extensions refined for a stable 1.0 API. A consistency pass across
gpio,sys,
mem,store,wifiands3_onboard_rgb: every function now carries typed arginfo (argument and
return types, so reflection and type coercion work properly, includingwifi_scan()'sarray|false
and the nullable?string/?intreturns), and every extension exposes a<name>_available()probe.
Verified on ESP32-S3 hardware (anext-selftestexample exercises the whole
surface). Builds across every PHP version (8.3–8.5). - New
sysextension: system and runtime. Timing (sys_delay(),sys_uptime_ms(),
sys_micros()), control (sys_restart(),sys_reset_reason()), chip/board identity
(sys_chip_model(),sys_cpu_freq_mhz(),sys_mac(),sys_idf_version()), and memory
introspection (sys_psram_free(),sys_heap_free(), …, absorbed from the formerbaremetal_utility).
Always compiled in.delay()is a plain alias ofsys_delay()(the Arduino idiom); the unprefixed
psram_*/heap_*names are kept as deprecated aliases of thesys_*memory functions. - The test CI is complete. The GitHub Actions pipeline (introduced in 0.18.0) is now finished and
exercised across the full matrix: manifest checks on every PHP version, and base-firmware builds on
the default version × every board, every version × one board per family, and two extreme configs
(a minimal build and a "fat" one with the heavy extensions on). Every build is gated by the per-board
image-size budget, with the PHP source and ccache cached between runs. - QEMU smoke test (gating). The image now boots under Espressif's QEMU, headless, and the job
asserts thePHP <ver> on ESP32-S3banner on the serial output -- so a boot regression (PSRAM not
coming up, the engine not starting) fails CI without hardware.ci/run-qemu.shswitches the S3
console to UART0 (QEMU doesn't expose USB-Serial-JTAG on-serial), merges the flash from the build's
flasher_args.json, and runsqemu-system-xtensa. S3 only (no P4 in QEMU yet).