You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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