Repository navigation
v2.4.0
React Advanced Odontogram v2.4.0
Added
- Opt-in localStorage persistence —
enablePersistence/disablePersistence/clearPersistedState/isPersistenceEnabled; disabled by default, size-guarded, never throws. Saves are debounced (an edit burst coalesces into one write). - FHIR: deciduous ISO 3950 tooth codes for milk teeth (51-85), with lossless import mapping.
- FHIR: ICDAS/CARS scoring coding on caries components (ICDAS on primary surfaces, CARS on recurrent).
- Settings panel reorganization (General / Odontogram / Periodontal Chart / Tooth details / Caries / Fillings / Export Settings) plus new availability controls, on-screen tooth spacing/number size, selection colour/border, and a new Fillings tab.
- Collapsible panel state + API —
getCollapsedCards/isCardCollapsed/setCollapsedCard/toggleCollapsedCard; session-only UI state, not serialized to the payload. - CSP meta tag injected into the demo production build.
Changed
- Export Settings now apply to the PNG/JPG/SVG image exports, not just the PDF report.
- Fissure sealing is now offered on premolars as well as molars.
- Idempotent session-flag setters (no redundant re-render when the value is unchanged).
Fixed
- The grouped dentition-summary table is now legible in dark mode.
Security
- Plugin
renderSvg()output is sanitized with DOMPurify before insertion; structural (non-regex) unwrap closes an</svg>-breakout gap. - SNOMED dev server hardened;
npm auditdev-dependency vulnerabilities fixed (0 remaining).
Docs
- Codebase-wide comment cleanup; full pt-br and fr README re-translations.
Full details in CHANGELOG.md.