|
| 1 | +# Release Notes — v1.12.0 |
| 2 | + |
| 3 | +**Release Date:** 2026-06-16 |
| 4 | +**Feature:** FEAT-IMMUNOPEPTIDOMICS-MEASUREMENT |
| 5 | +**Jepa:** https://github.com/qbicsoftware/data-manager-app/issues/1412 |
| 6 | + |
| 7 | +## Overview |
| 8 | + |
| 9 | +This release introduces full lifecycle support for immunopeptidomics measurements — registration, editing, deletion, viewing in the measurement view, and viewing/accessing raw datasets. It also establishes a stable story tracking structure with documented Story IDs and a story lifecycle workflow. |
| 10 | + |
| 11 | +--- |
| 12 | + |
| 13 | +## 🚀 New Features |
| 14 | + |
| 15 | +### Immunopeptidomics Measurement Registration (#1413, #1428, `FEAT-IP-MEAS-01`) |
| 16 | + |
| 17 | +Users can now register immunopeptidomics measurements via a domain-specific Excel template. The system validates the uploaded sheet, rejects invalid rows with clear error messages identifying the column and row, and creates measurements with unique `IP-` prefixed measurement codes. |
| 18 | + |
| 19 | +- Downloadable registration template with correct columns and Property Information sheet |
| 20 | +- Full validation: mandatory fields, format validation (Organisation URL, Prep Date), sample ID existence checks |
| 21 | +- Batch upload — all-or-nothing semantics; invalid rows prevent the entire batch |
| 22 | +- OpenBIS integration via new dedicated object type for immunopeptidomics measurements |
| 23 | + |
| 24 | +### Immunopeptidomics Measurement Editing (#1414, #1429, `FEAT-IP-MEAS-02`) |
| 25 | + |
| 26 | +Users can edit existing immunopeptidomics measurements via a pre-filled Excel template. The template is pre-populated with current metadata values, allowing users to modify editable fields without re-registering. |
| 27 | + |
| 28 | +- Pre-filled edit template with current metadata values |
| 29 | +- Editable vs. read-only field handling: editable fields are updated, read-only fields are silently ignored |
| 30 | +- Validation of mandatory modifiable fields on re-upload |
| 31 | +- Experiment-scoped edits: rejects identifiers that do not belong to the current experiment |
| 32 | +- Property Information sheet matches registration template specification |
| 33 | + |
| 34 | +### Immunopeptidomics Measurement Deletion (#1415, #1430, `FEAT-IP-MEAS-03`) |
| 35 | + |
| 36 | +Users with management rights can delete immunopeptidomics measurements. Deletion is guarded: measurements with attached raw datasets cannot be deleted — the user is informed to remove datasets first. |
| 37 | + |
| 38 | +- Deletion guard pattern: reuses existing `hasDataAttached()` check |
| 39 | +- ACL-gated: view-only users cannot delete measurements |
| 40 | +- Synchronised deletion with OpenBIS |
| 41 | +- Confirmation notification showing the count of deleted measurements |
| 42 | + |
| 43 | +### Immunopeptidomics Measurements View (#1417, #1431, `FEAT-IP-MEAS-04`) |
| 44 | + |
| 45 | +A dedicated immunopeptidomics tab is available in the measurement view alongside NGS and proteomics tabs. |
| 46 | + |
| 47 | +- Domain-specific columns: QBiC Sample Id, Sample Name, Measurement Name, MHC Antibody, Enrichment Method, Instrument, Prep Date, and 15+ additional fields |
| 48 | +- Search/filter across all visible properties |
| 49 | +- Tab count badge showing total immunopeptidomics measurement count |
| 50 | +- Empty state display when no measurements exist |
| 51 | + |
| 52 | +### Immunopeptidomics Raw Datasets View (#1416, #1432, `FEAT-IP-MEAS-05`) |
| 53 | + |
| 54 | +A dedicated immunopeptidomics tab is available in the raw data view. |
| 55 | + |
| 56 | +- Raw dataset columns: Measurement Id, Sample Name, Upload Date, Number of Files, File Size, File Suffixes |
| 57 | +- Search/filter across all visible properties |
| 58 | +- Count indicator for total datasets |
| 59 | +- Empty state with guidance on how to register datasets |
| 60 | + |
| 61 | +--- |
| 62 | + |
| 63 | +## 🐛 Bugfixes |
| 64 | + |
| 65 | +- **Immunopeptidomics edit template flow issues** (#1443): Fixed null-safety guard in IP update path, corrected measurement code lookup vs. ID lookup in validator, added projectId to ACL-protected findIPMeasurementById call |
| 66 | +- **Immunopeptidomics domain tag in Project Summary view** (#1451): Added the missing domain tag for immunopeptidomics in the project summary view |
| 67 | + |
| 68 | +--- |
| 69 | + |
| 70 | +## 📝 Documentation |
| 71 | + |
| 72 | +- **Story tracking structure** (#1452): Established stable Story ID schema (`FEAT-<SLUG>-<NN>`), documented Story Lifecycle workflow (draft → approved → implement), migrated 5 immunopeptidomics stories to `docs/features.md` with full narrative and acceptance criteria |
| 73 | +- **PRD & Requirements** (#1433): Added immunopeptidomics measurement requirements to PRD and requirements registry |
| 74 | +- **Stakeholder artifacts** (#1436): Added immunopeptidomics measurement metadata specification (Excel template v1.0 with field definitions, positions, and categories) |
| 75 | +- **Story ID Schema**: Documented in AGENTS.md §0 — stable IDs assigned at story approval, stories tracked in both `docs/features.md` (stakeholder-facing) and GitHub issues (implementation tracking) |
| 76 | + |
| 77 | +--- |
| 78 | + |
| 79 | +## 🔧 Technical Notes |
| 80 | + |
| 81 | +- New domain-specific components follow the existing parallel-stack pattern used for NGS and proteomics measurements |
| 82 | +- OpenBIS object type for immunopeptidomics measurements: `LAB-C-01` constraint — OpenBIS schema extension coordinated with lab integration team |
| 83 | +- All new dependency versions declared in `datamanager-bom/pom.xml` |
| 84 | +- Integration test tasks (#1437–#1441) are superseded — the feature has been validated through normal development/CI pipeline testing |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +## Migration Notes |
| 89 | + |
| 90 | +- New `IP-` prefix in `MeasurementCode.MEASUREMENT_PREFIX` enum |
| 91 | +- New `IMMUNOPEPTIDOMICS` domain tag in the UI layer |
| 92 | +- OpenBIS requires new object type for immunopeptidomics measurements (coordinate with lab integration team) |
| 93 | +- New SQL view updates for immunopeptidomics measurement count |
| 94 | + |
| 95 | +--- |
| 96 | + |
| 97 | +## PRs Included |
| 98 | + |
| 99 | +| PR | Title | Merged | |
| 100 | +|---|---|---| |
| 101 | +| [#1433](https://github.com/qbicsoftware/data-manager-app/pull/1433) | docs: add immunopeptidomics measurement requirements to PRD and registry | 2026-05-06 | |
| 102 | +| [#1435](https://github.com/qbicsoftware/data-manager-app/pull/1435) | [Task] Registration of Immunopeptidomics Measurements (#1413) | 2026-05-15 | |
| 103 | +| [#1436](https://github.com/qbicsoftware/data-manager-app/pull/1436) | Add immunopeptidomics measurement metadata specification | 2026-05-11 | |
| 104 | +| [#1442](https://github.com/qbicsoftware/data-manager-app/pull/1442) | Story #1428: Register Immunopeptidomics Measurements via Excel Template | 2026-05-15 | |
| 105 | +| [#1443](https://github.com/qbicsoftware/data-manager-app/pull/1443) | Story #1429: Edit Immunopeptidomics Measurements via Pre-filled Excel Template | 2026-06-09 | |
| 106 | +| [#1447](https://github.com/qbicsoftware/data-manager-app/pull/1447) | Fixes #1430: Implement deletion guard and OpenBIS sync for Immunopeptidomics measurements | 2026-06-10 | |
| 107 | +| [#1450](https://github.com/qbicsoftware/data-manager-app/pull/1450) | Story #1432: Implement Immunopeptidomics raw datasets view | 2026-06-12 | |
| 108 | +| [#1451](https://github.com/qbicsoftware/data-manager-app/pull/1451) | fix: Add Immunopeptidomics domain tag to Project Summary view | 2026-06-15 | |
| 109 | +| [#1452](https://github.com/qbicsoftware/data-manager-app/pull/1452) | Story tracking structure: stable IDs, workflow, and features.md rewrite | 2026-06-16 | |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +*Generated: 2026-06-16* |
0 commit comments