Skip to content

v1.2.5

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Oct 12:52
· 7 commits to main since this release
4f1d7b7

py/

Added

  • Python 3.14 and 3.15 trove classifiers (3.15 tested).

Changed

  • A7PFactory(...) no longer uses shared mutable instances (Meta(),
    Barrel(), …) as parameter defaults; omitted arguments are now created
    fresh on each call (None defaults).
  • A7PFactory(...) raises TypeError instead of ValueError when
    distances is neither a DistanceTable nor a tuple.
  • Lint/format cleanups across the package (OSError instead of the
    IOError alias, f-strings, sorted __all__/imports). No behavior change.

Removed

  • Unused cel-python and google-re2 dependencies (and their per-version
    google-re2 pins).

js/

Changed

  • Dev toolchain: TypeScript 7, plus routine dependency bumps.

dart/

Changed

  • pubspec.lock is no longer tracked (library package; ignored via
    dart/.gitignore). No API changes.

go/

Changed

  • Dependencies: santhosh-tekuri/jsonschema/v6 6.0.3,
    google.golang.org/protobuf 1.36.12; regenerated profedit.pb.go.

micropython/

Added

  • New micropython/ module (experimental): a MicroPython native module
    exposing .a7p decode/encode/validate/clamp, with zero-copy field access
    via uctypes — see micropython/README.md. Two build paths sharing the
    same C/Python sources: natmod/ (standalone .mpy, no firmware rebuild)
    and usermod/ (compiled into the firmware image, for ports/architectures
    natmod can't reach).
  • Release: release.yml builds every natmod architecture and publishes one
    a7p_<arch>.native.mpy asset per architecture plus a package.json to the
    GitHub Release, so mip/mpremote mip install picks the right variant
    per device (scripts/ci/build_micropython_release_assets.py,
    micropython/tools/nmip.py).
  • CI: mp-natmod.yml and mp-usermod.yml build and test every supported
    port/architecture on each push — natmod on ten architectures (armv7emsp/
    armv7emdp executed on real ARM hardware), usermod on unix
    (x64/x86/aarch64/armhf/mipsel), Windows, webassembly, QEMU
    armv7m, esp32 (build-only) and rp2040 (run under the
    rp2040py emulator).

Changed

  • CI: builds go through
    ballistics-lab/cibuildmp
    (pinned to v0.6.1) driven by micropython/cibuildmp.toml, replacing the
    hand-written per-port toolchain recipes; workflows test and upload
    cibuildmp's collected mpyhouse/<identifier>/ output.
  • CI: MicroPython pinned to v1.29.0 (was v1.28.0).
  • CI: natmod/Makefile's dist target cleans up both .mpy intermediate
    names used by py/dynruntime.mk before and after v1.29.0.
    Full Changelog: v1.2.4...v1.2.5