Skip to content

v0.2.2 - Quality Release

Choose a tag to compare

@iraabbott iraabbott released this 10 Jun 16:02
· 22 commits to main since this release

rlvgl v0.2.2 Release Notes

v0.2.2 is a quality release: it makes the crates.io distribution
actually work and adds the CI to keep it that way. (v0.2.1 published
with a broken simulator feature and is superseded.)

Short Release Summary

Fixes every known packaging defect in the published crate set and
introduces the CRATES-CI initiative (docs/crates-ci/): pre-publish
and post-publish gates that build the creator GUI and a user-authored
simulator from packaged crates, plus a headless test harness for both
headed surfaces.

Fixed — crates.io consumers

  • rlvgl --features simulator now builds from crates.io
    (rlvgl-app-disco-demo icons were referenced outside the crate root
    and could never be packaged; vendored in).
  • rlvgl-platform now builds on macOS hosts (ELF link_section in the
    blit scratch buffer is gated to bare-metal targets).
  • rlvgl-audio-meters-core added to the publish order (was
    publish = true and depended on by rlvgl-widgets, but never
    published on change); the publish-order test now derives the
    crate set from cargo metadata so omissions fail CI.
  • Packaging metadata, include sets, and feature-resolution-order fixes
    from the v0.2.1 cycle (fontdue in rlvgl-core, disco-assets
    metadata, publish-order dev-dependencies).

New — testing & CI (CRATES-CI-00…05)

  • Gate P (crates-ci.yml): every PR and release branch packages all
    25 publishable crates in publish order and builds three consumer
    projects against the packaged set — a library consumer, the
    rlvgl-creator CLI (the cargo install shape), and a user-authored
    simulator per docs/CUSTOM-SIMULATOR.md. Publishing requires Gate P
    green.
  • Gate R (gate-r.yml): the same consumers against real crates.io,
    after every publish and daily.
  • Creator GUI testing: egui_kittest in-process harness with
    snapshot baseline (Layer K), and a new
    rlvgl-creator --automation-headless --playit-port=<n> mode
    (creator_ui_automation feature) serving the playit wire protocol
    over TCP (Layer W) — the same playit/node client now drives
    disco-sim, user simulators, and the creator GUI, all without a
    display server.

Docs

  • docs/crates-ci/CRATES-CI-00-CONCEPTS.md — ratified concepts doc for
    the initiative.
  • no_std STM32H747I-DISCO provenance notes.