Lodd & Dice2 – Changelog
Version history for the Lodd and Dice2 system.
Showing 3 versions
Understanding Version Numbers
Our versioning follows semantic versioning (SemVer) to help you understand the impact of each update:
Major (X.0.0)
Breaking changes that may require action from users.
2.8.0 → 3.0.0
Minor (0.X.0)
New features added in a backward-compatible manner.
3.0.0 → 3.1.0
Patch (0.0.X)
Bug fixes and minor improvements.
3.1.0 → 3.1.1
Showing 6 of 6 versions
Version 1.3.2
02.05.2026
Patch
Calculator: HbA1c range reference table
- Visible reference: The HbA1c tab now shows a table of DCCT % ranges and their meanings (the same seven bands as the calculator), plus a short footnote on exact thresholds and the hypo warning when mean glucose is low.
Version 1.3.1
02.05.2026
Patch
HbA1c estimator: clinical classification and hypoglycemia warning
- Seven clinical bands: classifyA1c() now uses hypo (below 4.0%), non-diabetic (4.0-5.7%), prediabetes (5.7-6.5%), diabetes target reached (6.5-7.0%), above target (7.0-8.0%), high (8.0-9.0%) and very high (above 9.0%). HbA1c around 3.7% is no longer mislabelled «Target reached».
- New red hypo card: .calc-band-hypo uses a distinct red/pink palette separate from the «very high» card to highlight the danger signal.
- Glucose hypo warning: When mean glucose is below 70 mg/dL (3.9 mmol/L), a visible warning row is appended to the result card (independent of the A1c band).
- Next lab test: suggestNextLabWeeks() returns 4 weeks for the hypo band (prompt follow-up recommended).
- Labels: renderResult() now looks up band labels by keys (result_band_hypo, _normal, _prediabetes, _target, _above_target, _high, _very_high) in Norwegian and English.
Version 1.3.0
01.05.2026
Minor
New page: Diabetes Calculator (/calculator)
- HbA1c estimator: Estimate HbA1c (DCCT %), IFCC (mmol/mol), eAG and GMI from average glucose. Manual entry, Nightscout pull (logged in) or CSV/JSON upload (Dexcom Clarity, FreeStyle Libre, Nightscout entries.json).
- Bolus calculator: Calculate meal bolus (carbs / ICR), correction ((current - target) / ISF), subtract IOB and round to pump/pen step (0.05 / 0.1 / 0.5 / 1 U).
- Device picker: Reuses the device list from /compare/ (BGM, CGM, FGM, insulin pumps and pens).
- Unit: Toggle between mmol/L and mg/dL; default mmol/L (Norway). Saved locally in the browser.
- Nightscout API: New endpoint /calculator/api/nightscout-pull (auth required) fetches aggregated stats (mean, TIR 70-180 mg/dL) from the user's own instance. api_secret is never exposed.
- Sidebar: New «Calculator» / «Kalkulator» link under Compare Devices.
- Disclaimer: Tool provides estimates only. Always confirm with your provider before adjusting treatment.
Version 1.2.0
23.02.2026
Minor
Login and registration
- Logout: Logout now redirects to /login; old admin login page removed (redirect only).
- Language on login and 2FA: English | Norsk switcher on login and 2FA step; 2FA error message localized.
- Registration: Canonical URL /register (same level as /login); nightscout/register redirects to /register. Language switcher on register page.
- Form on error: Username and email preserved on validation error; only password is cleared.
- Show password: Checkbox to show/hide password on login, register and reset-password forms.
- Log in with security key: Button on login page for passkey-first login (no password required).
- 2FA after registration: After Nightscout registration users are redirected to Profile → 2FA with welcome message and optional setup.
Profile and 2FA
- Profile page: Language preference persisted in DB, cookie and session; Profile link above username in sidebar on all pages. Nightscout profile merged into /profile (Account, 2FA, Subscription).
- Profile container and buttons: Visible profile card; button labels fixed with $profileL (sidebar no longer overwrites $L).
- 2FA tab: URL uses tab=2fa (not mfa); redirect from tab=mfa. QR code for TOTP setup.
- Account linking: Email and Discord can be linked; sign in with either; 2FA applies to both. Set password for Discord-only users; change password shown for all with password.
- Login history: New «Login history» tab with devices, IP, revoke per session and «Sign out all other sessions».
- Password tab: Dedicated Password tab; change password and set password moved there. Policy: min 7 chars, 1 capital, 1 special, no ÆØÅ (profile, reset, registration).
- 2FA backup: «Download backup codes» button to download backup codes as text file.
- Disable 2FA: «Are you sure?» popup instead of typing DISABLE.
Security keys (WebAuthn / Windows Hello)
- Attestation formats: android-key, android-safetynet, apple, tpm and fido-u2f allowed (Android/iPad/Windows Hello).
- ByteBuffer: getBase64Url() replaced with base64url helper (lbuchs/webauthn v2).
- API and path: DIABETES_ROOT set in profile.php and auth/webauthn.php; vendor autoload loaded correctly. POST with JSON body: action read from body (fixes invalid_action).
- TPM attestation: Raw ECDSA signature converted to DER; Microsoft TPM root certificates added (fixes «invalid certificate signature»).
- User messages: webauthn_unavailable and technical codes replaced with friendly «Security key not set up or not available»; cancelled prompt shows «Cancelled…». Dynamic message shows actual PHP version and missing package.
Compare devices
- Backup: Script and full tar backup of diabetes.newstargeted.com to /home/backup (timestamped).
- Diabetes type: Filter and comparison mode: Type 1, Type 2, Type 1 vs Type 1, Type 2 vs Type 2, Type 1 vs Type 2. Devices tagged with diabetesType (T1/T2/Both).
- One-to-one comparison: «Select for comparison» per device; side-by-side specification table for selected device A and B.
- New devices: FreeStyle Lite (BGM), Medtronic Simplera (CGM), Beta Bionics iLet, Sequel twiist (pumps), Tandem Mobi, Omnipod 5, MiniMed 780G; updated descriptions for Dexcom G7, Libre 3, NovoPen 6, etc.
- Full-page layout: Comparison section uses full width (no large empty space to the right).
Miscellaneous
- Sidebar: «Login» button to /login (not just Discord). Dice and Dice Statistics translated to Lodd and Lodd-statistikk in Norwegian.
- Favicon: favicon.ico added at root; profile pages include favicon link.
Version 1.1.0
20.02.2026 02:00
Minor
Travel expenses
- List, create, edit, view: Full travel expense flow with own reports per user.
- Sharing: Public share link (share token) for each report.
- Export: Excel (CSV) and PDF; report loaded by report ID when exporting.
- Receipts: Receipt image uploads stored under images/receipts/{user_id}/{report_id}/.
- Logo: Custom logo upload and display in PDF export.
- Rows: Add and remove expense rows in the form.
- Routing: Clean URL structure under /travel-expenses/ (router, create, edit, view, export, share).
Meeting minutes (Referat)
- List, create, edit, view: Meeting minutes with cases, decisions and contact.
- Sharing: Public share link per meeting.
- Export: CSV (Excel), Word and PDF.
- Layout: Referat-style layout and styling (referat.css), form JS (referat-form.js).
- Routing: Clean URL structure under /referat/ (router, create, edit, view, export, share, print).
Website and security
- Maintenance mode: Check on all pages (maintenance-check) before output.
- Authentication: Discord-based login; protected pages for travel expenses and referat.
- Sidebar: Unified sidebar with Travel expenses and Referat in addition to Dashboard, Dice2 and Admin.
- Language: Norwegian and English (language-detection) across pages.
Version 1.0.0
06.02.2026 21:00
Major
Lodd / Dice2 – Initial changelog
- Changelog: New changelog page available from the sidebar.
- Dice2: Unified sidebar with Dashboard, Dice2, Dice (classic), Compare devices and Admin.
- Dashboard: Stats (last 24h), draws and CSV export log.
- Export: CSV export with timestamp, number, lottery, color and range.
- QR / Vipps: QR display in sidebar with zoom and size controls.
- Understanding Version Numbers: SemVer section with Major (red), Minor (orange) and Patch (green), including icon badges (fa-exclamation-triangle, fa-plus-circle, fa-bug).
- Version badge: Version 1.0.0 displays «Major» instead of «New», aligned with SemVer.
- Copy link: Copy-link button per version to copy direct link with hash to clipboard.
- Filters: Filters container (filters-container) with search, version type (Major/Minor/Patch), year, per page and Clear, plus «Showing X of Y versions».
- Filter logic: Search in title and body, filter by data-type and data-year, limit by per page, update results count.