
Released: openJII web 1.28, backend 1.26, mobile 1.20
A big release: the mobile app catches up with five weeks of UX work, the macro sandbox goes live in production, and platform improvements ship alongside.
A big release. The mobile app catches up with five weeks of UX work, the macro sandbox goes live in production, and a long list of platform improvements ships alongside.
Mobile app (1.20)
Mobile jumps from 1.14.3 to 1.20.0; there is a lot here.
Per-measurement upload progress: the queued-measurements view shows live upload progress per item (#1437).
ESP32-C3 USB Serial/JTAG support for devices using that controller (OJD-1475).
Smarter questions-only flow: inline comments and flags, a preview/review step before submission, and a clear auto-advance banner (OJD-1435).
Bulk delete for synced measurements in a single tap (#1264).
Proper cancel on abort: sends the cancel command so the device returns to a known state (#1229).
Expo SDK 55 / RN 0.83 upgrade: fixes the React 19.2.4 crash and sets up over-the-air updates (#1292).
Macros & data
Macro sandbox is live: macros run in a sandboxed Lambda with the full 28-helper Python wrapper, routed end to end through backend, data, and mobile (#1053-1057, #1312, #1382).
Data repair framework: targeted, predicate-gated repairs for production data, with a guard against malformed PAM set arrays (#1375, #1384, #1402).
Protocol testing tool: a web-side tool to test protocols before publishing (#1157).
CMS & email
CMS-driven transactional email: bodies render from CMS rich text instead of being hardcoded (#1261, #1352).
Video in articles: a new ArticleVideo component for the rich-text editor (#1370).
Reliability, security & operations
Disaster recovery: backup and restore in place for eu-west-1 (#1152).
Vulnerability scanning: AWS Inspector v2 and Trivy scan CI/CD and runtime images (#1225).
Beta branding removed from the platform (#1185).
Monitoring: a PostgreSQL datasource and a user-registration dashboard (#1299, #1346).