+"changelog": "Board Support:\n- Linux and WebAssembly: initialize mock IMU sensor if no real IMU sensor is present\n- Fri3d 2026: increase LoRa SPI frequency from 500 kHz to 16 Mhz to speed up transfers and reduce bus collisions\n\nBuiltin Apps:\n- AppStore: add special 'Updates' category, opened by default when update notification is pressed\n- AppStore: add app ratings support\n- AppStore: make app version and description focusable so they can be scrolled using arrow keys\n- OSUpdate: improve update progress UI\n\nOS:\n- Add simple way to force DeviceInfo.hardware_id, skip board detection, and customize hardware board initialization #215\n- App class: support multiple categories in MANIFEST.JSON (`'categories'` array), normalize to title-case `self.categories` list with `category` property for backward compatibility\n- Fix WiFi network switch not actually changing network — disconnect from current network before connecting to new one #220\n- Focus restoration fix: navigating back now correctly restores the previously focused widget\n- sdl_keyboard: fix CTRL-C and CTRL-V on textarea\n- aiowebsocket: reduce reconnect frequency to reduce performance impact\n- Tweak TaskHandler's period from 1ms to 2ms to improve asyncio performance at the cost of slightly increased callback latency\n- micropython-nostr: log background relay connection failures at INFO instead of ERROR to avoid REPL pollution breaking file transfers\n\nDevelopment:\n- Add Python-level line coverage via sys.settrace (mpcov build variant)\n- Add `--coverage` flag to test_runner.py for collecting per-file line coverage\n- Add `make build-mpos-unix-coverage` target\n- Add HTML coverage report with expandable inline source (scripts/coverage_report.py)\n- Add scripts/coverage.sh for automated coverage runs with clustered/partial test support\n- Add scripts/cyclonatic_complexity.sh for per-function cyclomatic complexity reports\n- build_mpos.sh: restore @micropython.native/@micropython.viper decorators after desktop/web builds (via EXIT trap) so local builds no longer leave the working tree modified\n- WAVStream: refactor play() to reduce cyclomatic complexity (69→42) by extracting read_decode_chunk() and play_desktop()"
0 commit comments