📤 See progress while large Xet uploads validate
Very large Xet uploads used to sit silently between "Uploading" and "Committing" while shards were being finalized, which could take a long time with no feedback. The upload live display now shows a dedicated Validating bar — reported as a percentage instead of opaque internal validation-entry counts — both in the upload_folder display and in XetUploadProgressReporter (used by upload_file, create_commit and bucket uploads). This requires hf-xet>=1.6.0.
🧩 Skills are now installed for every agent by default
hf skills add no longer requires a special flag for Claude Code. The skill is now always installed to .agents/skills (or ~/.agents/skills with -g) and symlinked into .claude/skills (honoring CLAUDE_CONFIG_DIR when set), so a single command covers Claude Code, Codex, Cursor, OpenCode, Pi and any other agent that loads skills from .agents/skills. The --claude flag is deprecated: it still works as a no-op but prints a warning, and --dest keeps installing only to the directory you provide. hf skills update refreshes both roots the same way. Along the way, CLAUDE_CONFIG_DIR is now properly honored everywhere (it was previously ignored, which left skills invisible to relocated Claude Code installs).
# works with Claude Code, Codex, Cursor, OpenCode, Pi and any agent that loads skills from `.agents/skills`
hf skills add- [CLI] Always install skills for Claude Code, deprecate --claude by @hanouticelina in #4967
- [CLI] Honor
CLAUDE_CONFIG_DIRinhf skills add -g --claudeby @hanouticelina in #4957
📚 Documentation: CLI guide
💔 Breaking Change
- Send PrivateLink config under privateService in create_inference_endpoint by @co42 in #4966
- AWS PrivateLink settings are now sent as
privateService.accountIdandprivateService.region. Use the newprivate_link_account_idandprivate_link_regionparameters (the region is required when the account ID is set, and is independent of the compute region). The legacyaccount_idkeyword still exists but is ignored and emits aFutureWarning; it is no longer included as a top-level payload field.
- AWS PrivateLink settings are now sent as
🖥️ CLI
- [CLI] Honor --format / --json / -q on jobs run commands by @Wauplin in #4936 — docs
- These flags previously leaked into the container command on
hf jobs run,hf jobs uv runand theirscheduledvariants (--formatbecame the script path,-qbecame the image name). They are now consumed wherever they appear; use--when your script needs them.
- These flags previously leaked into the container command on
- [CLI] Allow
bucketas a watched item type inhf webhooks create --watchby @davanstrien in #4958 — docs
📖 Documentation
- [Docs] Sync provider task table with the PROVIDERS registry by @rishabhsai in #4930 — docs
- Remove dots from allowed characters in job labels (docstring update) by @evalstate in #4962
🐛 Bug and typo fixes
- [Download] Publish symlink support only after probing by @Wauplin in #4923
- [Core] Skip invalid eval results entries instead of raising by @davanstrien in #4924
- [Cache] Use posix paths for
scan_cache_dirref names on Windows by @gokay-ai in #4925 - [Download] Measure http_get progress from the initial file position by @Wauplin in #4937
- Fix
format_timesinceshowing "60 seconds ago" / "60 minutes ago" / "24 hours ago" instead of rolling over by @Sreekant13 in #4943 - [HfFileSystem] Make lpath optional in get_file (fsspec>=2026.9.0) by @assafvayner in #4951
- [Buckets] Raise
BucketBatchErrorwhen a batch reports failed operations by @hanouticelina in #4954 — docs - Align the
hfpackage'spython_requireswith huggingface_hub by @sharziki in #4959 - [MCP] Follow nextCursor when listing tools in MCPClient by @Kayvan-Zahiri in #4960
- [Download] Fix Windows MAX_PATH error on tmp .incomplete file by @Wauplin in #4978
- [HfFileSystem] Fix get_file with a bare local filename by @davanstrien in #4981
- Apply the repo_id length limit to the namespace as well by @anishmehta24 in #4988
🏗️ Internal
- Post-release: bump version to 1.33.0.dev0 by @huggingface-hub-bot[bot] in #4926
- [Serialization] Fix device type when map_location is None by @Wauplin in #4938
- [Internal] Soft deprecate
re.matchby @Wauplin in #4939 - Fix Windows conftest erroring test subsets on lazy-loaded file_download submodule by @dltsum in #4945
- Scope GITHUB_TOKEN permissions per job by @hf-security-analysis[bot] in #4982