
Released: openJII June platform release
A major platform release introducing Workbooks, a full data-exploration and charting overhaul, refreshed platform navigation, collaboration improvements, and a large IoT/devices infrastructure update.
First platform deploy since May 18, and a big one: the Workbooks feature, a full data-exploration & charting overhaul, the platform chrome refresh, and a large IoT/devices push. Mobile is already current (1.30.3 live on its own app-store track, nothing new here). The general data-upload overhaul is intentionally held back for a later release.
🧪 Workbooks (new)
Introduces the Workbooks feature, removes the experiment–protocol association, migrates editors to CodeMirror (#1347).
Create-from-experiment, go-live UX, and an in-use delete gate (#1565); read-only workbooks (#1401).
MultispeQ timeseries view for measurement output cells (#1434); output/protocol cell polish, run timer, driver timeout (#1407); run latest protocol code on device + unified save status (#1602).
Drag-and-drop on dnd-kit (#1536); version snapshots captured correctly (#1398, #1399).
📊 Data exploration & charts
Chart overhaul: cartesian rendering, grouping/aggregation, reference lines and more (#1466).
Basic chart family (area, bar, bubble, dot-plot, lollipop, pie) (#1470); statistical family (histogram, box, violin) (#1519); scientific family (heatmap, contour, correlation matrix) (#1522).
Visualization editor as an autosave workspace (#1392); operator-aware data-filter chips + distinct-values lookup (#1465); filter chip bar in the data table with URL-persisted filters (#1467); filters shelf in the inspector (#1468).
Backend query-building: filters, aggregation, distinct, time-bucketing (#1464).

🖥️ Platform & collaboration
Platform chrome refresh: sidebar, command palette, keyboard shortcuts, activity hub (#1593).
Experiment join requests + revamped collaborators section (#1505); per-experiment contributor anonymization (#1469); CMS-managed alert banners (#1424).

📡 IoT, devices & infrastructure
Large IoT payloads via S3 pre-signed upload URLs (#1446); Cognito credentials for IoT auth (#1549, #1548).
Device-bound script delivery: per-identity MQTT topic + isolated IoT policies (#1561, #1598, #1599), scoped by Thing name for X.509 devices (#1607).
S3 raw-data archive on IoT topic rules (#1409); Grafana dashboard/alert tuning (#1413, #1546).
⚙️ Backend & data
Macro-table UUIDs allowed as annotation table names (#1596); KMS deny scoped to KMS resources + R wrapper stderr surfaced (#1411).
🔒 Security, deps & release tooling
shell-quote CVE fix + base-image CVE suppressions (#1603); axios 1.16.1 (#1537); Trivy HIGH ignores (#1562).
Linear release automation + PR-ref enforcement (#1600); deploys gated on required approval (#1512); tofu skipped when no infra changes (#1509).
⏸️ Held back
General data-upload overhaul (#1436) and its row-index follow-up (#1605) are intentionally excluded from this release.
📱 Mobile
Already current at 1.30.3 on its own app-store track; no change in this platform deploy.