Releases: vib795/flaunt-github
v3.0.4
v3.0.3
What's Changed
- Bump actions/checkout from 4 to 6 by @dependabot[bot] in #1
- Bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #2
- Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #4
- Bump the eslint group with 3 updates by @dependabot[bot] in #6
- Bump @vscode/test-electron from 2.4.1 to 2.5.2 by @dependabot[bot] in #8
- Bump actions/setup-node from 4 to 6 by @dependabot[bot] in #3
- Bump simple-git from 3.27.0 to 3.36.0 by @dependabot[bot] in #9
- Bump @vscode/test-cli from 0.0.10 to 0.0.12 by @dependabot[bot] in #10
- Bump @types/node from 20.19.25 to 25.6.0 in the types group by @dependabot[bot] in #12
- Bump the build group across 1 directory with 3 updates by @dependabot[bot] in #13
- Bump fast-uri from 3.0.6 to 3.1.2 by @dependabot[bot] in #18
- Bump uuid and @azure/msal-node by @dependabot[bot] in #20
- Bump the eslint group across 1 directory with 3 updates by @dependabot[bot] in #17
- Bump brace-expansion from 1.1.12 to 1.1.14 by @dependabot[bot] in #15
- Bump qs from 6.15.1 to 6.15.2 by @dependabot[bot] in #21
- Bump @types/node from 25.6.0 to 25.7.0 in the types group by @dependabot[bot] in #19
- Bump @types/node from 25.7.0 to 25.9.1 in the types group by @dependabot[bot] in #22
- Bump the eslint group with 3 updates by @dependabot[bot] in #23
- Bump tmp from 0.2.5 to 0.2.7 by @dependabot[bot] in #25
- Bump @vscode/vsce from 3.9.1 to 3.9.2 by @dependabot[bot] in #26
- Bump mocha from 11.7.5 to 11.7.6 in the build group across 1 directory by @dependabot[bot] in #24
- Release v3.0.3 by @vib795 in #27
New Contributors
- @dependabot[bot] made their first contribution in #1
- @vib795 made their first contribution in #27
Full Changelog: v3.0.2...v3.0.3
v3.0.2 — Modular rewrite, safer commits, private-by-default dashboard
First major release since v2.1.2. The extension was rewritten from a single 550-line file into focused modules with unit tests, hardened on the credential and concurrency side, and given real product
surfaces (dashboard, profile badge, optional AI summaries).
Highlights
Journal, not a log file
- Replaces the monolithic coding_summary.txt with rotated monthly files: journal/YYYY/MM.md globally and projects//YYYY/MM.md per project.
- Multi-root workspaces are now fully supported — every folder logs independently.
- Legacy coding_summary.txt is auto-migrated to journal/legacy-summary.txt on first run.
- Commit messages are now informative:
[Flaunt] 2026-04-22, 10:15 · +128/−32 · flaunt-github · typescript · 7 saves
Safer by default
- First-run consent dialog previews a sample commit line before anything is pushed. Decline and the extension stays dormant.
- Ignore globs (codeTracking.ignoreGlobs) with sensible defaults (**/.env*, /secrets/, **/.pem, **/.key, */id_rsa, */credentials, /.aws/, /.ssh/) filter sensitive paths client-side before
anything is logged. - Path redaction (codeTracking.redactPaths): log redacted:3.ts instead of real paths. Language and counts still tracked.
- Tokens are never written to .git/config anymore. Credentials are injected per-operation via http.extraheader.
- Single-instance file lock in globalStorage so two VS Code windows can't race for the same tracking repo.
Reliability
- Pending queue: if a push fails, the interval's activity persists to pending.jsonl and retries next tick. No more lost entries on a flaky network.
- Re-entrancy-guarded interval loop (setTimeout self-chaining) prevents overlapping commits.
- Dynamic default-branch detection (no more hard-coded main).
- Timezone-safe formatting: empty or bad codeTracking.timeZone values gracefully fall back to the system zone instead of crashing the tick.
- Per-save log lines restored so you can watch activity in the FlauntGitHubLog channel in real time.
New surfaces
- Webview dashboard — languages, uncommitted diff, top-open files. Command: Flaunt GitHub: Open Dashboard.
- Profile-badge generator — writes badges/flaunt.svg to your tracking repo and copies the markdown snippet to your clipboard. Command: Flaunt GitHub: Generate Profile Badge.
- Opt-in AI daily summary (BYOK Anthropic) — 2–3 sentence human-readable daily journal entry. Off by default. Settings: codeTracking.aiSummary.*.
- Metrics export to JSON or CSV.
- Pause / Resume from a status-bar quick-pick menu; click the status bar for every Flaunt command.
Bug fixes
- Diff stats now handle insert-only and delete-only commits correctly (the old regex required both).
- Removed the duplicate getAuthenticated() round-trip on activation.
- trackFileOpens toggles without requiring a reload.
- Commit milestone counter now persists across sessions in globalState.
Configuration
Every runtime option is now declared in package.json and shows up in the Settings UI. New keys:
{
"codeTracking.commitMessagePrefix": "[Flaunt]",
"codeTracking.timeZone": "", // "" = system zone
"codeTracking.trackFileOpens": false,
"codeTracking.ignoreGlobs": [ /* sensible defaults */ ],
"codeTracking.paused": false, ...
v2.1.2
v2.1.1: Updates:
This release focuses on reliability and completeness of tracking, especially in tricky autosave and “modified but not dirty” scenarios:
-
✅ Workspace diff fallback (smarter tracking):
- At the end of each interval, if:
- No manual saves were seen, and
- No dirty documents are present, but
- The workspace Git diff (vs
HEAD) shows changes,
- The extension logs a synthetic entry:
[timestamp]: Workspace diff snapshot (+X/−Y) - This guarantees that intervals with real Git changes still yield a summary commit, even if our usual signals didn’t fire.
- At the end of each interval, if:
-
🔁 Refined interval logic:
- Priority order per interval:
- Log manual saves.
- Log auto-snapshots for dirty docs and auto-save them.
- If still no activity, log workspace diff snapshot (when needed).
- Only then commit & push when there is something to record.
- Priority order per interval:
-
🧹 No-op intervals are truly no-op:
- If the tracking repo has no changes for that interval:
- No commit.
- No push.
- A log entry explains that nothing happened.
- If the tracking repo has no changes for that interval: