Releases: meshtastic/Adafruit_nRF52_Bootloader_OTAFIX
Release list
0.9.2-OTAFIX2.3-BP1.6
Backport-patch release on OTAFIX 2.3. Assets per board are attached by CI (.zip for adafruit-nrfutil serial DFU, .hex for a debug probe, update-*.uf2 to update the bootloader from the UF2 drive).
Fixed
CURRENT.UF2backups are no longer truncated after a DFU update (#34).bank_0_sizemeans "bytes from the application start" to the CRC check and the serial/OTA DFU path, but the UF2 flash path counted every block written since the start of flash, and the dump window trusted whichever meaning it found. Net effect: aCURRENT.UF2dump taken after a serial or BLE OTA update was silently short by the SoftDevice span, and restoring such a dump only worked while the missing tail happened to still be in flash. If you keepCURRENT.UF2backups and have updated firmware over serial or BLE since taking them, re-take them on this release. Verified on RAK4631 in both directions.
Changed
lib/tinyusbdigest bump (0.21.0-241-g7800876, #29) — exercised on hardware via UF2 mass-storage flashing, USB CDC and serial DFU on RAK4631.- Docs: the AGENTS.md GCC-15 note now reflects the backported
-Warray-boundsfix (#31).
Full changelog: changelog.md
0.9.2-OTAFIX2.3-BP1.5
Since 0.9.2-OTAFIX2.2-BP1.4
- New boards: Heltec T096, Heltec T1, RAK 3401 (#24 — merged from oltaco's upstream, which calls this same board-support work "OTAFIX 2.3" too)
screen.crefactored to a display-size-agnostic layout (macro-based bar/text positions instead of hardcoded pixel offsets) — no behavior change for existing boards (#24)- ST7735 display controller support, alongside the existing ST7789 path (#24)
- Five upstream Adafruit fixes backported, hardware-validated on a RAK4631 (#26):
- Boot loop from a wrong REGOUT0 read
- GCC 15 build errors (Makefile version filter,
ghostfat.c) -Werror=array-boundsfalse positive inbootloader_settings.c, now a scoped pragma instead of the previous repo-wide--param=min-pagesize=0workaround- Clear CONTROL/PRIMASK/BASEPRI/FAULTMASK before jumping to the application — was rarely causing lockups
- Wait for BLE notification-queue room instead of silently dropping DFU completion notifications
- Fixed a latent out-of-bounds write in
screen.c'sprint()(#24 review fix) — not reachable on any current board, but a real hazard for futureboard.hlayouts - Docs: bank_0-zeroed BLE-OTA-wait behavior on serial DFU, refreshed board/check counts (#27, #28)
Hardware-testing note: Heltec T096, Heltec T1, and RAK 3401 are new to this fork and have not been hardware-validated here — per CONTRIBUTING.md's own bar, "a bootloader that compiles but was never flashed is not a contribution, it's a liability." None of the three are flagged in Meshtastic-Android's device_bootloader_ota_quirks.json as requiring a bootloader upgrade, so this is parity/completeness work, not something blocking anyone. Everything else in this release (RAK4631, and the five backported fixes) was tested on real RAK4631 hardware, including a full BLE OTA DFU round-trip.
0.9.2-OTAFIX2.2-BP1.4
Meshtastic's first release cut from this fork (previous tags were inherited from oltaco/Adafruit_nRF52_Bootloader_OTAFIX).
Since 0.9.2-OTAFIX2.2-BP1.3
- fix: bump
lib/nrfx(pinned to v3.14.0) andlib/tinyusbtogether, fix the fallout (#19) — real-hardware tested on RAK4631 - fix: size
CURRENT.UF2to the real installed app instead of the max region, fixing a dump-and-restore hang (#20) — real-hardware tested on RAK4631 - docs: explain the boot chain, SoftDevice, and the three update paths (#21)
- ci: GitHub Actions maintenance (actions/checkout v7, upload-artifact v7, action-gh-release v3) (#15-#18)
Board coverage is otherwise unchanged from BP1.3 (14 boards). NANO_G2_ULTRA and NOMADSTAR_METEOR_PRO are tracked in #4/#5 and not yet in this release.