Releases: BBC-Esq/Hugging_Face_Client
Releases · BBC-Esq/Hugging_Face_Client
v2.0.0 - polished UI & drag-and-drop
What's New 🎉
✨ UI Overhaul
- Polished button styling with hover/press states, color-coded actions (blue primary, red danger), and consistent visual hierarchy across all panels
- Proportional column sizing — columns distribute available width dynamically based on content, resize with the splitter, and never go narrower than their header text
📁 Drag & Drop Uploads
- Drag files from your file manager directly onto the file browser tree
- Target folder is detected automatically based on where you drop
- Confirmation dialog shows destination path before uploading
- Multiple files are committed atomically in a single commit
🔍 Live Search
- Repo filtering is now instant as you type — no need to press Enter
- 700ms debounce keeps it responsive without hammering the API
- Filters locally against the cached repo list for zero-latency results
🖱️ Quality of Life
- Double-click a repo in the left panel to open it on Hugging Face Hub
- Clickable token URL in the login dialog
- Sort column and direction persist across sessions
- Updated emoji icons throughout (🔄, ➕, 🗑, 🔒, 🌐, 📄, ✏️, 📝)
📦 Windows Installer
- Inno Setup-based installer with embedded Python and uv package manager
- Creates a virtual environment and installs dependencies at install time
- Real-time progress bar during setup
- Desktop and Start Menu shortcuts
- Clean uninstall with multi-stage cleanup
v1.3.0 - smarter uploads & cleanup
🚀 What's New
- Batched Multi-File Uploads — Uploading multiple files now creates a single atomic commit instead of one commit per file. Faster, cleaner history, and no more partial uploads on failure.
🧹 Cleanup
- Removed
fs_ops/module — Empty, unused module removed to keep the project lean. - Added
.gitignore— Properly excludes virtual environment files,__pycache__, logs, and local model card templates from version control.
v1.2.0 - refinements
✨ Improvements
- Structured Logging — Every backend module now logs through Python's
loggingframework. Timestamped log files are written tologs/with automatic cleanup (keeps the 10 most recent). - Smarter Retries — Retry logic now catches HTTP 5xx responses in addition to transport errors, with logged warnings on each attempt.
- Large File Guard — Text files over 10 MB are blocked from the built-in editor with clear guidance to download, edit locally, and re-upload.
- Binary File Detection — The editor rejects non-UTF-8 files with a helpful error instead of silently mangling content.
🐛 Fixes
- Safer YAML Generation — Model card frontmatter now properly quotes values containing special characters, preventing malformed YAML output.
- Branch Switching — Changing branches now loads files asynchronously with a stale-result guard, instead of triggering a full refresh.
- Collections Refactor — Extracted shared
_to_collection_infohelper and eliminated redundant API calls when adding/removing items. - Dialog Encapsulation —
AddToCollectionDialog.set_defaults()replaces direct widget access · file size stored per tree item for faster lookups.
v1.1.0 - Favorites, Resilience, Polish
⭐ Favorites System
- Right-click any repo to add/remove it from your favorites
- New "★ Favorites only" checkbox to filter your repo list
- Star column added to the repo tree for at-a-glance visibility
🔄 Retry Logic for API Calls
- All Hugging Face Hub API calls now wrapped with
with_retryfor automatic retries on transient network failures - Migrated retry error handling from
requests/urllib3tohttpxexceptions (ConnectError,TimeoutException,NetworkError,ProtocolError)
🛡️ Busy-State UI Guard
- Buttons, inputs, and context menus are now properly disabled while background operations are running, preventing accidental double-actions
- Certain non-blocking operations (file loading, README fetch, collections, repo list) no longer lock the full UI
🐛 Fixes & Improvements
- Branch handling: smarter default branch selection — if the selected branch no longer exists, falls back to the first available branch instead of blindly assuming
main - Auto-login: invalid saved tokens now show a clear message and get cleared, instead of failing silently
- Repo listing:
limitparameter changed from hardcoded100toNone(fetch all) - Error propagation:
HFRepoErrorexceptions are now re-raised correctly instead of being swallowed by generic catch blocks - Logout now clears the cached repo list
v1.0.0 - initial release
prevent double readme