Releases: Wewoc/Garmin_Local_Archive
Release list
v1.6.5.4 — Frozen-Path Centralization
Internal cleanup: the logic that figures out "where are my files" when
running as a packaged EXE was scattered across six near-identical copies
plus a few smaller variants, and one of them was missing entirely — which
silently broke the Live Tracking dashboard update in the Standalone
version. Everything now goes through one shared module. No user-facing
feature changes, but one real bug fixed along the way.
What's new:
- Fixed: Live Tracking dashboard failed to refresh silently in the
Standalone (no-Python-required) build after a sync — now updates
correctly. - Fixed: the "→ Open README" link on the Outputs screen did nothing when
running from source (development mode) — now opens the file. - Internal: consolidated all frozen-build path resolution into a single
frozen_paths.pymodule, closing four related findings from the
standalone-parity audit.
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required
v1.6.5.2 — Token Lifecycle Log
A behind-the-scenes addition, no visible change to how the app works. The app now
quietly tracks when your Garmin login token was created and why it stopped working
(expired, rate-limited, encryption key lost, manually reset) — useful for
understanding how long a token actually lasts over time, instead of guessing.
What's new:
- New file
garmin_data/log/garmin_token_log.json— records timestamp, event
type, and reason whenever your token is created or invalidated. Contains no
passwords, no credentials, no token content — metadata only. - No change to login behaviour, no new buttons, no new settings.
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required
v1.6.4 — Custom Dashboard Builder
Pick any Garmin health field and any weather/pollen/air-quality field, set a date range, and build a one-off dashboard — no fixed dashboard list needed. Save your field selection as a named preset for reuse. Optional password-protected export for the HTML output.
What's new:
- 🎛 Custom Dashboard button — free field picker (Garmin + Context), fixed or relative date range, HTML/Excel output
- Named presets — save, reload, or delete a field selection
- 🔒 Optional AES-256 encryption for the Custom Dashboard HTML output
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required
v1.6.3.1 — Heatmap Dashboard
New Heatmap dashboard visualizing six metrics (Heart Rate, Steps, Stress,
Body Battery, SpO2, Respiration) as time-of-day × date grids.
While building it, two independent long-standing bugs surfaced and got
fixed along the way:
- SpO2 and Respiration intraday data was being silently dropped by the
data broker for every dashboard, not just this new one — a structural
mismatch between how Garmin's raw data is shaped and how it was being
read. No data was ever lost (the raw archive was always correct), but
none of it reached any dashboard. - Respiration's quality assessment was checking a key name that doesn't
exist, so it could never be labeled as fully present.
Also: the Mirror Import dialog no longer asks you to "confirm" a password
you're just unlocking, not creating.
Full detail in CHANGELOG.md.
v1.6.3 — Steps Intraday Foundation + Backfill
Adds step count as a full intraday metric (15-minute resolution) alongside heart rate, stress, and Body Battery. A new background timer mode also retroactively fills this data into days you already archived — no need to wait for a fresh sync, and no risk to your existing high-quality data.
What's new:
- Step count now archived at 15-minute intraday resolution, not just the daily total
- New background timer mode automatically backfills step data into already-archived days from the last 140 days — runs quietly in the background, one lightweight API call per day
- Fully additive: never overwrites or downgrades existing data, and both your raw archive and your unmodified source backup get the new field
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required
v1.6.2.1 — Build: T3 ZIP Structure + Docs Path
Hotfix for the standalone build. The Documentation button now correctly opens
Quickstart, User Guide, and README App — the files were previously missing from
the T3 package and were looked up in the wrong location after unpacking.
What's new:
- Documentation button works in T3 (Standalone): QUICKSTART.txt, USER_GUIDE.txt,
and README_APP.md are found and opened correctly - T3 ZIP structure fixed: contents are placed flat in the root after unpacking —
no subfolder nesting
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required
v1.6.2 — Sleep Dashboard + Intraday Explorer
The Sleep Dashboard now includes an embedded intraday detail section.
Click any row in the sleep table to jump directly to that night's intraday
view — Heart Rate, Stress, Body Battery, and Respiration plotted in a
single interactive Plotly chart. No second file, no external links:
one self-contained HTML output.
What's new:
- Sleep Dashboard rows are clickable — jumps to intraday detail for that date
- Four intraday traces inline: Heart Rate, Stress, Body Battery, Respiration
- Date dropdown for manual navigation within the intraday section
- Plotly embedded only when intraday data is present (no overhead for older archives)
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required
v1.6.1 — Encrypted Dashboard Export
Adds password-protected HTML dashboard export for secure transport on USB drives or other
removable media. Encrypted files open in any browser and decrypt locally — no server, no
internet connection, no external dependency required.
Also improves the Mirror password dialog: confirmation field added, password is never saved
to Windows Credential Manager (prevents the silent typo scenario).
What's new:
- 🔒 Encrypted Dashboards — new button in Settings → Export. Builds all HTML dashboards
and encrypts them with AES-256-GCM. Output goes tobasedir/encrypted/with_encsuffix.
Explorer opens automatically. Not triggered by Daily Sync. - Browser-side decryption — the encrypted file is self-contained. Password dialog and
Web Crypto API decryption are embedded inline. Works withfile://protocol. - Mirror password confirmation — Export to Mirror and Import from Mirror now both require
password + confirmation. Password is never cached in Windows Credential Manager.
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required
v1.6.0.7 — Dropdown Indicators, Device Table Edit, Single Instance
Fixes a flaky pre-build-gate test, adds ▼ indicators to all dropdown
selectors, makes device names re-editable after initial assignment, and
prevents multiple simultaneous GLA instances from corrupting the archive.
What's new:
- ▼ indicators on Dashboard, Files, and Sheet dropdowns (Qt6/Windows suppresses native arrows)
- Device table: all non-hardware rows re-editable via double-click (not just "unknown")
- Single instance guard: second GLA launch shows warning and exits cleanly
- Flaky determinism test fixed (timestamp excluded from comparison)
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required
v1.6.0.6 — Documentation, Tooltips & UI Polish
Adds a Documentation button with in-app access to Quickstart Guide, User Guide,
and README. All buttons and input fields now show tooltips. Mirror button labels
are unified throughout the app. Settings left panel widened to 400px for cleaner
Full HD display.
What's new:
- 📖 Documentation button — opens Quickstart, User Guide or README directly in the app
- 💬 Tooltips on all buttons and input fields (Settings + Home panel)
- 🔁 Mirror labels unified: "Export to Mirror" used consistently throughout
- ⬛ Settings left column widened: 340px → 400px (no scrollbar at Full HD)
- ⬛ DATA MANAGEMENT buttons left-aligned with equal width
- 📄 QUICKSTART.txt + USER_GUIDE.txt included in all build targets
Downloads:
Garmin_Local_Archive_Standalone.zip— recommended, no Python requiredGarmin_Local_Archive.zip— standard, Python 3.10+ required