Skip to content

Releases: thebestgoodguy/modeldock

ModelDock V1.0.4

Choose a tag to compare

@thebestgoodguy thebestgoodguy released this 17 May 01:45

ModelDock v1.0.4

Fixed

  • Fixed an issue where previously downloaded models could appear as unknown after an application update.
  • Added automatic legacy database import on backend startup so older hf_downloader.db records can be migrated into the current app database.
  • Preserves previous download history, saved repositories, and compatible settings when the packaged app starts using a new database location.
  • Existing local model, dataset, and Space folders are now indexed as persistent completed records instead of temporary unknown entries.
  • Previously indexed physical records stuck in unknown are repaired to completed when the matching folder still exists on disk.

Changed

  • Bumped application version to 1.0.4.
  • Updated CHANGELOG.md with the v1.0.4 release notes.

Validation

  • TypeScript check passes.
  • Backend syntax check passes.
  • Production frontend build passes.

ModelDock V1.0.3

Choose a tag to compare

@thebestgoodguy thebestgoodguy released this 17 May 01:32

ModelDock v1.0.3

What's New

  • Added a dedicated Advanced Search page for models, datasets, and Spaces.
  • Added rich Hugging Face filter support with dynamic tag discovery and local fallbacks.
  • Added context length filtering for text-generation models, from 2K up to 256K+ context windows.
  • Added pagination for Advanced Search results with result range counters and page navigation.
  • Added Advanced Search access from the left sidebar and quick menu.

Improvements

  • Model detail pages now return to the correct results view when using Back to Results.
  • Advanced Search state is preserved when opening a repository and returning to results.
  • README updated with the new Advanced Search capabilities.

ModelDock V1.0.2

Choose a tag to compare

@thebestgoodguy thebestgoodguy released this 16 May 08:26

[1.0.2] - 2026-05-16

🚀 Added & Improved

  • Dynamic Application Versioning:
    • Configured App.tsx and electron/preload.cjs to dynamically fetch the application version directly from package.json and Electron's runtime environment (window.modelDock.version).
    • Eliminates hardcoded version strings in the UI. When packaged as a new executable (e.g., 1.0.2.exe), the sidebar version indicator (v1.0.2) and the auto-update checker automatically inherit the correct release version.

🚀 Added & Improved

  • Automated GitHub Releases Update System:

    • Implemented an auto-update checker that queries the public GitHub Releases API (api.github.com/repos/thebestgoodguy/modeldock/releases/latest) in the background on application startup.
    • Added a dynamic version indicator (v1.0.2) at the bottom of the left navigation sidebar.
    • Integrated a glowing Update button next to the top navigation GitHub icon that appears when a newer version (e.g., 1.0.2) is published.
    • Created a premium, glassmorphism Update Modal (UpdateModal.tsx) that beautifully displays the latest version number, the complete Markdown release notes/changelog, and direct action buttons for downloading the installer or opening the GitHub release page.
  • Settings & Directory Management Enhancements:

    • Native Directory Browsing (selectFolder): Added a dedicated Browse button next to both the Download Directory and LM Studio Models input fields. Integrated a robust dual-mode folder picker: uses native Electron dialog.showOpenDialog when packaged, and falls back to a clean PowerShell FolderBrowserDialog via /api/select-folder-fallback when running in a standalone web browser.
    • LM Studio Use/Reset Toggle: Converted the LM Studio Use action into an intuitive toggle button. When clicked, it binds the download path to LM Studio and transforms into a red Reset button. Clicking Reset instantly restores the default download path (C:/Downloads/HF_Models), immediately bringing back the default model list into the UI view and reassuring users that their previously downloaded models remain fully intact on disk.
    • Complete App Data Reset: Fixed an issue where clicking "Reset App Data" did not restore default directory preferences. The backend /api/reset-app-data endpoint now completely clears and re-initializes the SQLite settings table, while the frontend dynamically reloads settings to immediately reflect defaults without requiring an app restart.

ModelDock V1.0.1

Choose a tag to compare

@thebestgoodguy thebestgoodguy released this 16 May 08:02

[1.0.1] - 2026-05-16

🚀 Added & Improved

  • Real-time Downloaded Size Tracking (downloadedSize):

    • Implemented an advanced regex parser in the Node.js backend (server.js) to extract the exact downloaded data size and total file size (e.g., 11.0M/4.48G) directly from the live tqdm log stream.
    • Added the downloadedSize property to the API responses and the DownloadItem TypeScript interface.
    • Updated the download table (Canvas.tsx) and the right sidebar (SidebarRight.tsx) to display the downloaded size right next to the live download speed (881 KB/s). This completely eliminates UX ambiguity where users mistook download speed for downloaded size.
  • Clean Startup & Session Management:

    • Added an automated database reset query during backend startup (server.js) that checks the SQLite database for any orphaned or interrupted downloads from previous sessions (downloading, starting, or queued).
    • Automatically sets their status to paused on application launch, ensuring the live queue starts in a perfectly clean, pristine state without frozen/zombie downloads. Users can seamlessly resume partial downloads at any time by clicking the Play (Resume) button.
  • Bulletproof Python Executable Discovery (getPythonExecutable):

    • Engineered an intelligent Python runtime discovery mechanism for packaged Electron production builds.
    • Systematically scans standard system paths (C:/Program Files/Python311/python.exe), Scoop environments (scoop/apps/python313/current/python.exe), and local AppData directories using physical file verification (fs.existsSync). This guarantees the app locates and binds the exact Python interpreter containing the required huggingface_hub dependencies.
  • Enhanced Log Observability:

    • Included absolute file paths for both the selected Python interpreter and the downloader script (downloader.py) inside the live download log stream. Users can easily inspect these details via the built-in Terminal modal.

🐛 Fixed

  • Packaged Electron ASAR Crash (spawn ENOENT & cwd Fix):

    • Fixed a critical production bug where packaged Electron builds failed instantly upon starting a download. Previously, child_process.spawn used cwd: __dirname, which resolved to the virtual app.asar archive. Since the Windows kernel cannot recognize ASAR files as working directories, spawn threw an ENOENT error.
    • Updated cwd to path.dirname(scriptPath), ensuring the child process uses the physical resources directory where downloader.py is unpacked.
  • Background Progress Bar Suppression:

    • Resolved an issue where Python child processes spawned via Node pipes disabled tqdm progress bars due to the lack of a detected TTY environment.
    • Injected TQDM_POSITION: "-1" and HF_HUB_DISABLE_PROGRESS_BARS: "0" into the spawned environment variables, guaranteeing reliable, real-time progress percentages (%), speeds, and ETAs in the UI.
  • IDE Linting & Module Resolution:

    • Installed huggingface_hub and its dependencies into the Scoop-based Python 3.13 environment selected by the editor (Pylance/Pyright), eliminating false-positive "Cannot find module" linting errors.

ModelDock V1.0.0

Choose a tag to compare

@thebestgoodguy thebestgoodguy released this 16 May 05:20
bf7851b

🚀 ModelDock v1.0.0

Summary

ModelDock is an all-in-one desktop application built for AI researchers and developers. It provides a premium, high-performance interface to download, manage, and organize Hugging Face Models, Datasets, and Spaces locally with a robust queuing system.

Key Features

  • Comprehensive Downloader: Full support for Hugging Face Models, Datasets, and Spaces.
  • Advanced Queuing Engine: Manage multiple downloads simultaneously with pause, resume, and auto-retry capabilities.
  • Real-time Activity Logs: Monitor your download progress with a built-in terminal-style log viewer for granular tracking.
  • Integrated Search: Instantly discover repositories by author or ID directly within the application.
  • Local Library Management: Keep your downloaded assets organized and open local folders with a single click.
  • Customizable Performance: Configure maximum workers, speed limits, and custom download paths to suit your hardware.

UI/UX Enhancements

  • Premium Visual Identity: Brand new application icon with modern rounded corners and high-fidelity design.
  • Dynamic Interface: Fluid animations and a sleek dark mode designed for a professional workflow.
  • Optimized Navigation: Redesigned TopBar and Sidebar for seamless switching between Dashboard, Active Queue, and Library.

Installation Guide

  1. Download the ModelDock-1.0.0-Setup.exe from the assets below.
  2. Run the installer (If prompted by Windows SmartScreen, click "More Info" -> "Run Anyway").
  3. Set your preferred download directory in the Settings panel.
  4. (Optional) Add your Hugging Face Token for private repository access.

Technical Stack

  • Frontend: React + Vite + TailwindCSS (Modern SPA architecture)
  • Backend: Node.js (Express) + SQLite (Persistent queue and history)
  • Desktop Layer: Electron (Native Windows integration)
  • Core Engine: Optimized Python-based downloader for maximum throughput.