Skip to content

v0.12.0 — Test coverage, experimental flags, install polish

Choose a tag to compare

@pineapple-ooo pineapple-ooo released this 20 Jun 11:55
Immutable release. Only release title and notes can be modified.

v0.12.0 — Test coverage, experimental flags, install polish

Headlines

  • Test suite: 130 → 161 passing (+1 env-skipped, rustc absent
    in Termux sandbox).

    • tests/test_cli_commands.py covers every CLI subcommand and
      flag (zero coverage before).
    • tests/test_experimental_features.py guards the
      [EXPERIMENTAL] labelling on multiligua_cli.features so it
      cannot silently regress.
  • AddressSanitizer harness (tests/asan_harness.c +
    build_asan/libminxg_asan.so) exercises every C entry-point
    under -fsanitize=address. rc=0: zero leaks, zero
    use-after-free, zero OOB.
    Six P3 hardening notes recorded in
    CHANGELOG; none are fixing a present defect.

  • install.sh no longer probes for adb / ROOT. ADB and ROOT
    ship as opt-in extensions (minxg ext add minxg-adb
    / minxg ext add minxg-root). The eight-step ladder collapses
    to a six-step one.

  • multiligua_cli/features.py declares its experimental status
    at module-level and per-method. A warn-once WARNING is emitted
    on first invocation of every experimental symbol. New helper
    list_experimental_exports() returns the canonical set.

  • README gains: Command reference table, Tutorials (A-D),
    Troubleshooting table, and Experimental surface section.
    config.example.yaml published as a sanitised template.

Why v0.12.0 and not v0.11.0

The prior v0.11.0 tag was already on the remote when this
commit landed, and the repo's ref-creation rule blocks recreating
an existing tag. The CHANGELOG entry has been re-titled to
[0.12.0] to mirror this publish; the previous [0.11.0] entry
was renamed to [0.11.0-pre] to keep the version history honest.

Compatibility

Backward-compatible: no public-API removals. Run bash install.sh
on a fresh machine, or pip install -e . from the source tree,
to install. Run minxg doctor to verify the install landed
clean.

See CHANGELOG.md for the full notes.

Verification locally

$ python3 -m pytest tests/ -q
161 passed, 1 skipped in 5.38s

$ ASAN_OPTIONS=halt_on_error=1:detect_leaks=1 \
  LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib \
  ./asan_harness   # built from tests/asan_harness.c
all paths exercised — ASan exit code will surface leaks.
$ echo $?
0