docs: add identifier field documentation and CHANGELOG for 15.0.7

- docs/data-schemas/treatments-schema.md: Document REQ-SYNC-072 identifier normalization
  - Describe how Loop/AAPS/xDrip+ sync fields are unified into identifier
  - Add example showing UUID _id → identifier promotion
  - Update sync/reconciliation fields table
- CHANGELOG.md: Create changelog for 15.0.7 release
  - Document UUID/identifier handling (REQ-SYNC-072)
  - Document test infrastructure improvements (GAP-SYNC-046)
  - Document Node.js/MongoDB requirement changes
  - Document bug fixes and documentation updates

Addresses DOC-API-001 and DOC-CHANGELOG from release-15.0.7-documentation.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Ben West
2026-03-17 13:04:13 -07:00
co-authored by Copilot
parent 81393a4c1f
commit 4e79654d9f
2 changed files with 86 additions and 7 deletions
+56
View File
@@ -0,0 +1,56 @@
# Changelog
All notable changes to cgm-remote-monitor are documented in this file.
## [15.0.7] - 2026-03-XX (Unreleased)
### Added
#### UUID/Identifier Handling (REQ-SYNC-072)
- **Treatments API**: Server now normalizes client sync identities into a unified `identifier` field
- Loop overrides: UUID in `_id` → extracted to `identifier`
- Loop carbs/doses: `syncIdentifier` → copied to `identifier`
- xDrip+: `uuid` → copied to `identifier`
- AAPS: `identifier` unchanged (already correct)
- **Entries API**: CGM entries with UUID `_id` now handled correctly (GAP-SYNC-045)
- **Deduplication**: Server uses `identifier` for upsert matching when present
- **Benefits**: Re-uploading treatments after app reinstall/cache clear updates existing records
#### Test Infrastructure
- **NODE_ENV=test safety check**: Tests now refuse to run without `NODE_ENV=test`, preventing accidental production database destruction (GAP-SYNC-046)
- New npm scripts: `test:unit`, `test:integration` for faster development cycles
- Comprehensive test suite for UUID handling across v1 and v3 APIs
### Changed
#### Node.js Requirements
- **Minimum**: Node.js 20 LTS (was Node 14/16)
- **Tested**: Node 20, 22, 24
- Updated `engines` field in package.json
#### MongoDB Requirements
- **Minimum**: MongoDB 4.4 (was 4.2)
- **Tested**: MongoDB 4.4, 5.0, 6.0
- Improved compatibility with MongoDB 5.x+ `$set` behavior
### Fixed
- **Loop Override Sync** (Issue #8450): Overrides with UUID `_id` no longer cause duplicate records
- **mmol BG Display**: Fixed OpenAPS tooltips showing incorrect values for mmol/L users
- **AAPS Entry Dedup**: Added retry logic for CI flakiness in concurrent upload tests
### Documentation
- Updated README.md with current Node.js and MongoDB requirements
- Added "Running Tests Locally" section to CONTRIBUTING.md
- Updated treatments schema documentation with identifier normalization behavior
### Security
- Enabled Traditional Chinese localization
---
## [15.0.6] - Previous Release
See GitHub releases for prior changelog entries.