Duplicate sub-heading parsing — identical sub-heading names under different parent headings (e.g. "Content" under both "June 2026" and "July 2026") were merged into a single section in the expanded view. Headings are now tracked by their full hierarchical path, keeping sections separate.
Empty section on file open — files whose first section is a bare parent heading with no direct tasks would incorrectly show "All tasks complete!" The app now auto-advances past empty parent headings to find the first real task on open.
Add-task scroll position — hitting Enter in the expanded view's "Add task" input jumped the scroll position to the top. The scroll position is now preserved when adding tasks.
Preserve formatting in both input paths — the top "Add task" input and right-click "Add Task Below" both ignored the [ Preserve Format | Full Line ] setting. Now respects the setting: in preserve mode, bare text inherits the format of nearby tasks; in full mode, bare text is taken as-is. Explicit prefixes (#, *, [ ], 1.) always pass through. Right-click "Add Task Below" now inserts cleanly — cancelling leaves no dangling line.
Settings/Info browser context menu — right-clicking in the settings and info views showed the browser's default menu. Now suppressed.
Expanded view stale on file open — opening a new file while the expanded view was open would show the previous file's content. The expanded view now updates immediately.
v0.2.1
2026-06-05
Fixed
Trial hardening — strengthened license validation and offline reliability.
Machine fingerprinting — improved device identity verification for trial enforcement.
Right-click context menu — glass-style overlay on banner right-click (Refresh, Open File, Auto-Scroll toggle, Quit) and expanded task right-click (Toggle Complete, Edit Task inline, Add Task Below, Delete Task, Multi-Select mode). Multi-select with checkboxes, bulk delete/toggle, Select All/Deselect All. Drag-and-drop task reordering with smooth CSS transitions. Delete animation (fade + shrink + slide-right, 250ms).
Inline task editing — "Edit Task" and "Add Task Below" in the context menu open inline input fields. Respects the [ Preserve Format | Full Line ] setting.
Drag task in expanded view — reorder tasks via mouse drag (8px dead zone prevents accidental drags). Visual feedback with fade and emerald accent border on the drop target.
Settings UI overhaul — segmented button tracks replace dropdowns for position, monitor, font size, auto-hide delay, and theme. Width and opacity use stepper controls (±buttons + scroll wheel). Keyboard shortcut recording UI with Record button and Esc-to-cancel.
Global keyboard shortcut — Ctrl+Alt+Shift+N (Next Item) toggles and advances the current task. Works globally even when the app is unfocused. Auto-restores banner from hidden state after action. Configurable via settings with custom binding recording.
Theme system — [ System | Dark | Light ] segmented track with live OS theme detection.
Font size presets — [ Sm | Md | Lg ] three-segment toggle.
Simplified task formatting — canonical format: [ ] for tasks (replaces - [ ]), [x] for completed, * for bullets, 1. for numbered lists, #/## for headings, bare text for plain notes. LLM prompt, tutorial, and default template updated. Legacy formats still parse.
Auto-scroll — play/pause button (▶/⏸) in icon row. Configurable cadence: [ s | min ] unit toggle + stepper 0.5–5.0 (±0.5). Pauses when settings, expanded, or info views are open. Toggle also available in right-click context menu.
Expand button relocated — moved from icon row to content row beside the navigation arrows. Enlarged for better tap targets.
Quick file switcher — right-click banner to see recent files. Click any to open instantly. Up to 10 files tracked, deduplicated, most recent first.
Hot reloading — automatically detects when the open file is edited externally and re-parses/re-renders. No manual refresh needed.
Inline link parsing — [label](url) in task text renders as clickable emerald links. Opens URLs and local files.
7-day trial enclave — offline-first trial. App works normally for 7 days with a trial badge in settings. Inline license key entry during trial. Existing licensed users skip the trial automatically.
User guide — comprehensive guide replaces old tutorial. Accessible via the edit button (when no file is loaded) and "User Guide" button in the Info panel. Enriched with 10 use-case workflows (flashcard/active recall, standup, demo/presentation, exam prep, morning routine, meeting agenda, podcast/streaming, writing/research, project milestones, shopping/errands) each with step-by-step setup, file structure templates, and power-user tips.
Changed
Info panel restyled — glass-styled prompt container replaces dark terminal block. Labeled sections (Format, What this does, Prompt). Copy Prompt button styled with emerald hover accent.
LLM prompt improved — added plain-text output format spec, use case context, line conciseness rule, filler removal rule, code fence prohibition, and input→output example for better LLM compliance.
Accent color — global accent changed from purple to emerald (#10B981) across both themes (segment buttons, checkboxes, progress bar, links).
Settings layout — reorganized top-to-bottom with sectioned labels. Scrollable with emerald scrollbar. Height matches expanded view.
Segmented button selection — active state now uses emerald underline instead of solid emerald block, matching the glass-style aesthetic.
Icon styling — Settings and Info top-row icons now render as monochrome symbols matching the other icon-row buttons.
Tutorial carousel — enriched to 17-step walkthrough covering all v0.2 features. Progress bar + step counter ("4 / 17") appear after the welcome step. Monochrome icons. Live checkbox demo at step 4 with auto-advance.
App version — settings footer now reads the actual build version. During trial shows trial badge; after license shows version + "Licensed."
Monitor restore — restores the correct monitor selection on startup before positioning.
Progress bar — light theme progress bar now uses emerald accent.
Heading display — empty headings now appear as section headers in the expanded view. Sub-headings visually indented with proper parent-before-child ordering.
Auto-scroll pins banner — pressing ▶ auto-pins the banner (if auto-hide is enabled) so tasks scroll visibly. Pressing ⏸ restores auto-hide. Manual pin toggle during play clears the auto-pin.
Settings scrollability — scrollbars now only appear when views are open, not on collapsed containers.
Fixed
Auto-hide/reveal freeze — fixed a glitch where the banner would get stuck in a faded state due to a stale internal timer. Reveal now works reliably.
Heading hierarchy — parent headings now always appear before child headings in correct file order. Sub-headings visually indented and dimmer. Banner shows root heading with drill-down breadcrumb.
Drag into empty sections — dropping a task into an empty heading section now works correctly, landing the task under the right heading.
Opacity setting — background opacity now works without affecting text readability. Text stays fully opaque at all opacity levels.
Add-task input persistence — the "Add task" input stays fixed at the top of the expanded view while only the task list scrolls.
Expanded-view scroll — clicking a task in the expanded view no longer snaps scroll to the top. Scroll position is saved and restored.
Auto-updater — the auto-update check now runs on app startup as intended.
Removed
"Always hide (show on hover)" checkbox — redundant with pin toggle in icon row
Toggle Visibility shortcut — redundant with auto-hide and pin behavior
v0.1.4
2026-05-17
Added
Auto-update support — integrated auto-update system with signature verification. Endpoint at https://nudgehud.work/updater.json.
License activation system — license key activation with machine-binding to prevent sharing.
License paywall UI — full-screen card modal on first launch (400×380px). Emerald accent for button and link. White card with rounded corners and drop shadow.
Machine identifier — binds license activations to the device.
Changed
Accent color — license flow button and link changed from purple to emerald.
Auto-updater integration — auto-updater plugin integrated into the app build pipeline.
Dependencies streamlined — added HTTP and system identification libraries; removed heavier alternatives to keep the footprint light.
npm dependencies — added updater plugin package.
Fixed
License activation format — fixed payload encoding to match the license server's expected format.
"Box-in-box" visual artifact — cleaned up the license wall layout so only the card is visible, no nested container artifacts.
v0.1.3
2026-04-30
Added
"Create New" button — opens native save dialog, writes a markdown template with formatting instructions to the chosen path.
"Add Task" input field — at the bottom of the expanded view. Type and press Enter or click + to append a task under the current heading section.
Numbered list support — 1. Item syntax now renders as numbered, without checkbox or bullet.
Pin toggle — toggles between auto-hide and pinned mode with visible icon swap.
File creation — writes the default markdown template to disk.
Append task — inserts a formatted task line under the current heading section.
Smart insert — finds the correct insert point under the current heading context.
Fixed
Trackpad scroll sensitivity — fixed multi-task skipping from momentum scroll events with debouncing and navigation locking.
Navigation stuck at heading boundaries — navigation lock now releases on animation completion instead of a fixed timeout, eliminating race conditions.
Bullet point UI — bullets now render as clean dots without checkbox borders, in both the banner and expanded view.
macOS white shadow during auto-hide — removed border and shadow from the faded state.
macOS navigation buttons hidden — navigation arrows now stay visible and properly layered in all layouts.
macOS autohide not reopening — increased hover detection area for reliable mouse response on macOS.
Changed
LLM prompt — now instructs the model to scan input and auto-generate headings.
Hide button repurposed — now toggles Pin mode with visible icon swap. When pinned, auto-hide is suppressed and the banner stays visible.
Scroll navigation lock — tightened timing so lock engages synchronously at wheel entry, preventing race conditions.
Banner layout — stabilized for consistent navigation control visibility across all window sizes.
v0.1.2
2026-04-29
Changed
Product branding — name changed to "Nudge"; integrated brand identity across icons and window title
Added
GitHub Actions CI/CD workflow — automated release builds for macOS and Windows triggered by version tags.
v0.1.1
2026-04-28
Changed
Rust parser upgraded — tasks now classified into 3 display modes: action (checkbox), bullet (dot), plain text (no indicator). Previously all tasks rendered as checkboxes.
v0.1.0
2026-04-27
Added
Initial release — Nudge ambient HUD
Tauri v2 shell — Rust backend with vanilla TypeScript frontend, no framework runtime