Repository navigation
Releases
Release 1.2.0: built-in practice timer and title links
Release 1.2.0 — Built-in practice timer and title links
This release adds a built-in single-problem practice timer linked to practice records, and makes Today problem titles link directly to the original problem while removing the redundant open-icon button. Download LeetCode-Tracker_1.2.0_x64-setup.exe and SHA256SUMS.txt from Release 1.2.0.
Added and improved
- Built-in practice timer: Each Today row and Problems catalog row offers a start/stop timer button. Only one timer runs at a time; starting another problem switches the timer and discards the previous run. The active timer survives view switches and page reloads, and a status pill shows the running clock with stop and discard actions. Stopping never creates a record: it keeps whole minutes (rounded up, minimum 1) pending for that problem. Clicking the completion circle stops the same-problem timer and pre-fills the enrich dialog; manual editors pre-fill pending minutes when empty and offer stop-and-fill while the timer runs. Saving clears the pending minutes.
- Today titles link to the problem: The problem title on Today rows is now the external link (new tab), replacing the standalone open-icon button and leaving six row actions. Invalid URLs keep plain text.
Upgrade and data
Close the running app, then install 1.2.0. Keep the existing application data directory. This release changes frontend interaction flows and application version metadata; it introduces no database schema migration. Existing SQLite data and Snapshot Bundles remain fully compatible.
Verification and limits
All 427 JavaScript/Web/sidecar tests (including 141 Web DOM tests covering the timer, title links, notes workspace and planning components) and 7 Rust tests pass. The web bundle compiles cleanly with Vite.
See desktop installation, security, and current status.
Release 1.1.2
Release 1.1.2 — Today note menu, copy dropdown alignment, and UI centering polish
This release improves the Today practice row note interaction with a dual-action menu, fixes dropdown clipping for quick copy buttons inside drawers, resolves a note-switching deadlock when jumping to the workspace, and centers tags in prompt override modals and Today problem cards. Download LeetCode-Tracker_1.1.2_x64-setup.exe and SHA256SUMS.txt from Release 1.1.2.
Fixed and improved
- Quick copy dropdown clipping: Configured
QuickCopyButtonswith an alignment prop (align="left" | "right"). In the quick note slide drawer it opens cleanly toward the right without being clipped by the drawer viewport edges, while in the notes workspace header it continues right-aligning cleanly. - Today note button and quick actions: Renamed the Today problem note button to "Note" / "笔记" with a convenient dropdown offering two workflows: "Go to workspace" / "去工作区写新笔记" (smoothly navigates to the Notes workspace with the selected problem preselected) and "Quick view past notes" / "速查过往笔记" (opens the slide-out drawer for quick reference without leaving the Today plan).
- Notes workspace navigation deadlock: Fixed a bug where jumping from the drawer to the notes workspace prevented subsequent note switching. Decoupled initial selection state from the workspace's active note selection via
onClearInitialFrontendId, and added fallback single-problem summary fetching for problems not currently on the paginated notes list. - Card and tag vertical alignment: Centered "Changed fields" / "变更字段" tags inside the prompt override modal (
.changed-tags-row) and vertically aligned Today problem items, completion circles, and action button groups (.today-problem,.problem-actions,.completion-circle).
Upgrade and data
Close the running app, then install 1.1.2. Keep the existing application data directory. This patch changes UI layout styles, interaction flows, and application version metadata; it introduces no database schema migration. Existing SQLite data and Snapshot Bundles remain fully compatible.
Verification and limits
All 420 JavaScript/Web/sidecar tests (including 134 Web DOM tests covering notes workspace and planning components) and 7 Rust tests pass. The web bundle compiles cleanly with Vite.
See desktop installation, security, and current status.
Release 1.1.1
Release 1.1.1 — Warning icon alignment and feedback UI polish
This patch fixes the warning alert icon vertical misalignment and improves Today plan scheduling notice presentation. Download LeetCode-Tracker_1.1.1_x64-setup.exe and SHA256SUMS.txt from Release 1.1.1.
Fixed
- Warning and feedback icon misalignment: Fixed an issue where alert and feedback icons appeared misaligned with text content. Explicit line-height (
1.6) has been declared on.feedbackand.alertcontainers, and child lists (ul,ol) and paragraphs (p) have their default browser margins reset to zero so text lines align cleanly with the 16px alert icon. - Today plan notice rendering: When a plan generates a single scheduling notice (such as fallback coverage notices), the notice is now rendered directly as plain banner text rather than being wrapped in an unnecessary single-item unordered bulleted list with large indents. Multiple notices retain structured list presentation.
Upgrade and data
Close the running app, then install 1.1.1. Keep the existing application data directory. This patch changes UI layout styles and application version metadata; it introduces no database schema migration. Existing SQLite data and Snapshot Bundles remain fully compatible.
Verification and limits
All 418 JavaScript/Web/sidecar tests and TypeScript checks pass. The web bundle compiles cleanly with Vite.
See desktop installation, security, and current status.
Release 1.1.0
Release 1.1.0 — Desktop workspaces and adaptive practice
Download LeetCode-Tracker_1.1.0_x64-setup.exe and SHA256SUMS.txt from Release 1.1.0. The installer bundles the private Node.js 24.15.0 runtime; users do not need developer tools.
What changed since 1.0.1
- Redesigned Today combines daily completion, plan actions, and seven-day activity. Add one works locally without model calls; removal updates the plan and asks for confirmation before revoking associated completion records.
- Problems adds compact filters and a refreshed catalog table. Progress opens Statistics first, with updated topic insights and a separate Records tab.
- Notes adds a formatting toolbar, lightweight Markdown preview, Edit / Split / Preview modes, focus mode, a collapsible timeline, and a Copy menu for Obsidian/Notion. Save/discard/cancel protects unsaved edits when switching problems.
- Knowledge profiles distinguish self-reported outcome feedback, duration evidence, developing topics, and unknown data. Adaptive planning preserves hard quotas and eligibility constraints.
- Partial review uses a fixed integer count. Equivalent rule changes preserve the plan; difficulty inputs support short-circuit auto-fill.
- SQLite schema v10 and Snapshot Bundle v3 preserve nullable practice outcomes. Imports remain compatible with v1/v2; provider keys are excluded and existing target keys are preserved.
- Apple Silicon macOS 14+ build configuration and native migration CI are included for internal use. This public release distributes Windows x64 only.
- README, user/developer documentation, architecture labels, and all eight showcase screenshots reflect this version. Screenshots contain fictional synthetic data.
Upgrade and data
Close the application before installing. Back up your populated profile first and keep it private: raw SQLite backups may contain provider keys. Supported older schemas migrate to v10 with migration backup protection. Do not replace your profile with demo data or delete WAL/lock files to work around startup issues. Snapshot v3 is the current portable migration format; do not assume an older application can open a v10 database. Full populated-profile installer upgrade/downgrade acceptance remains pending.
Verification and limitations
Local checks passed: 418 JavaScript/Web/sidecar tests and 7 Rust tests, TypeScript, production build, documentation links, Rust fmt/clippy, and Windows installer packaging. A separate browser matrix also passed 24 Today/Notes layouts across English/Chinese, light/dark themes, and 1024/1440/1920px desktop widths with no page overflow or captured browser errors. All eight README screenshots were regenerated, with populated-page/error-overlay checks and Notes focus button/keyboard interaction checks; the run recorded zero browser exceptions or console warnings/errors. Release checks and their outcomes are recorded in current status and test documentation. Automated tests use synthetic data. Browser screenshots are not native WebView2 or physical-Mac acceptance. This release is unsigned; Windows may show an unknown-publisher warning. WebView2 is required and its bootstrapper may need internet access. Clean-VM installation, full native-dialog/upgrade acceptance, physical-Mac Gatekeeper behavior, notarization, and fresh live-provider checks remain outside this release verification. Vite emits non-failing plugin option deprecation warnings.
GitHub Actions
All four jobs passed on the release commit: general verification, Windows native boundaries and installer, Apple Silicon package/migration checks, and the embedded WKWebView migration flow. These automated macOS checks do not replace physical-device installation or Gatekeeper acceptance.
Release 1.0.1
Release 1.0.1 — Windows startup fix
This patch fixes the local-service startup failure in the Windows 1.0.0 installer. Download LeetCode-Tracker_1.0.1_x64-setup.exe and SHA256SUMS.txt from Release 1.0.1.
Fixed
Tauri returns canonical Windows resource paths with a verbatim prefix. The private Node runtime could fail while resolving that script entrypoint and exit before sending readiness. The host now safely simplifies equivalent Win32 paths without changing resource selection or searching PATH.
A native integration regression uses the actual bundled backend and private Node runtime under a canonical installation path containing Chinese characters and spaces. It checks the handshake, authenticated health, and graceful shutdown through Windows Job ownership.
Upgrade and data
Close the running app, then install 1.0.1. Keep the existing application data directory. Do not delete your SQLite database, WAL, or lock files to work around the old startup error. This patch changes process startup and application version metadata; it introduces no database schema migration. The original 1.0.0 tag and assets remain unchanged, with a warning in their release description.
Verification and limits
The startup regression failed before the fix and passed afterward. Local verification includes seven Rust tests, 312 JavaScript/Web/sidecar tests, TypeScript and documentation checks, Rust fmt/clippy, and Windows installer packaging. The installed 1.0.1 host was checked for ready status, authenticated health 200 with version 1.0.1, graceful close, and restart with one sidecar. An in-place installation succeeded on Windows 11. No SQLite profile existed before that installation; after first launch, repeating the installation preserved the database file hashes. This does not establish preservation of a populated 1.0.0 profile.
The installer is unsigned and requires WebView2. A missing WebView2 runtime requires the configured bootstrapper download. These targeted local checks do not establish clean-VM coverage, Windows 10 compatibility, a full upgrade/downgrade matrix, complete WebView2 UI/native-dialog acceptance, or performance targets. Full SQLite migration/custom data-directory selection, signing, and automatic updates remain unfinished. Provider availability was not tested; API keys remain in local SQLite without OS credential encryption.
See desktop installation, security, current status, and the 1.0.0 feature notes. Remote CI results are available in GitHub Actions.
Release 1.0
Known Windows startup failure: This installer can exit before the local service becomes ready because of Windows resource-path handling. Reinstalling this same version does not fix it. Upgrade to Release 1.0.1; preserve your database and do not delete WAL or lock files manually.
Release 1.0 — v1.0.0
Release date: 2026-09-14. Windows x64, unsigned NSIS installer.
Install
Download LeetCode-Tracker_1.0.0_x64-setup.exe and SHA256SUMS.txt from the release page. Run the installer, then launch the app from the Start Menu. No separately installed Node.js, npm, Git, or Rust is required. The installed application includes a private Node.js 24.15.0 runtime; the single installer expands into multiple application files.
Microsoft WebView2 is required. If absent, installation downloads its bootstrapper and needs a network connection. Windows 11 x64 is the primary target. The installer is not code-signed.
Included
- Shared English/Chinese desktop interface, ten theme palettes, keyboard navigation, and 1024px+ desktop layouts.
- BYOD JSONL catalog preview/import, weekly strategies, local planning, practice history, progress analytics, and Markdown problem notes.
- Optional Gemini, OpenAI, and DeepSeek configuration; local code validates model suggestions and owns persistence.
- Native save dialogs for Markdown, Obsidian ZIP, Notion CSV, and portable snapshot bundles, with unique temporary files and atomic replacement.
- Parsed HTTPS external-link validation, direct Windows URL handling, authenticated loopback transport, and a private startup handshake.
- Bounded startup with retry, continuous pipe draining, graceful shutdown with a deadline, and Windows Job Object process ownership.
- Bundle exports exclude provider keys; bundle imports ignore incoming keys and preserve existing local credentials.
The release also upgrades @fastify/static to 10.1.3 in both dependency manifests. A route-guard bypass regression fails on the old dependency and passes after upgrading; the fresh npm audit reports zero known vulnerabilities.
Verification
The release preparation passed 312 JavaScript/Web/sidecar tests (216 backend/platform, 95 Web DOM, one isolated bundled-server lifecycle test), six Rust tests, TypeScript checks, documentation links, Rust fmt/clippy, and a Windows production installer build. The isolated sidecar test uses the private Node executable and a temporary directory without repository dependencies.
These results are local and synthetic. Check GitHub Actions for remote CI results; adding a workflow is not itself a passing run. The release attaches the installer and its SHA-256 checksum.
Known limitations and data handling
- Complete clean-machine installation, overwrite upgrade/downgrade, Windows 10 compatibility, native save-dialog interaction, and the full WebView2 UI/lifecycle matrix remain unverified. Local packaging and DOM tests do not substitute for those checks.
- Full SQLite migration and custom data-directory selection are unfinished. The desktop app starts its own profile under
%LOCALAPPDATA%\com.leetcodetracker.desktop\; it does not automatically import a source checkout's.localdatabase. Portable bundles are not a complete SQLite migration mechanism. - Keys are stored in local SQLite without OS credential encryption. Raw database backups may contain keys. Keep them private.
- Optional AI sends relevant problem metadata, instructions, or progress text to the configured provider/gateway. Progress formatting requires a working provider. Live-provider availability was not tested for this release.
- Cold-start/query performance targets are not verified. No fixed latency guarantee is made.
- No automatic updater, native macOS/Linux/ARM64 package, or mobile UI support is included.
See the desktop guide, security policy, and changelog.