• roro9stack v0.12.0
    CI / build (push) Successful in 13m11s
    Site / build (push) Successful in 12s
    Stable

    twisla released this 2026-10-06 22:01:44 +00:00 | 2 commits to main since this release

    v0.12.0: one firmware, with the Debug Console in every build (off until switched on in Settings > Debug Console, with a token the device makes and shows; a login that never sends the token; a pause after five wrong ones; DBG in the Status Bar; debug on and debug token over USB serial); no more Debug Builds, so every firmware installs releases; debug off ; rdbg.py takes --token and fetches a release's ELF to decode a crash; and the project's website, roro9stack.net, with a user guide, how-tos, an FAQ, the devlog and developer docs generated from the repository

    Files

    • roro9stack-v0.12.0.ota: the signed Update File. Copy it to /updates on the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi with scripts/ota_push.py.
    • roro9stack-v0.12.0-factory.bin: the whole flash image, for a first install over USB at offset 0.
    • roro9stack-v0.12.0.elf.gz: the symbols, to decode a crash report from this build.
    • SHA256SUMS: checksums of the three.

    Changes since v0.11.0

    • Debug Console: the listener is checked and retried, and debug off <seconds> comes back by itself
    • One firmware: the Debug Console in every build, off until switched on, with the device's own token
    • Site: the developer docs (phase 4), with the Debug Builds and the Debug Console first
    • Site: how-tos and the FAQ (phase 3)
    • Site: the posts link to each other wherever they refer to one; check_site.py checks every link of the site
    • Site: the devlog, the blog's roro9stack posts in the site's style; Devlog replaces Blog in the navigation
    • Site: the user guide (phase 2): the basics, one page per App, Settings and Updates
    • Site: security.txt, robots.txt, and favicon fallbacks (ICO, touch icon)
    • Site: the build goes to public/ at the repository root, which git ignores
    • W1: what was built and checked in phase 1; the site in the README
    • Site: roro9stack.net, phase 1 (the home page, Install with a browser flasher, Downloads)
    • CI: a Site workflow, and the firmware workflow skips changes that touch only the site and its documents
    • W1 plan: the flasher reads the release from Gitea behind Caddy's CORS header, no firmware copy
    • W1 plan: the project website at roro9stack.net (issue #12), the design round
    • CI: the release badge follows a tag, not only a push to main
    • Updates: the Debug Build message fits on one line of the screen
    • R1 plan: the CI timings, measured from the jobs' own start and end times
    Downloads