Change8

v1.17.0

Breaking Changes
📦 huggingface-hubView on GitHub →
2 breaking8 features🐛 5 fixes🔧 14 symbols

Summary

This release introduces significant CLI enhancements, including cross-repository file copying and SSH access to Spaces. It also decouples Job hardware definitions from Space hardware and improves CLI table formatting.

⚠️ Breaking Changes

  • The Together ASR task has been removed, which drops the dependency on urllib3.
  • The CLI command structure for `hf jobs` has been migrated to use the `out` singleton. Specifically, `hf jobs ps` and `hf jobs scheduled ps` no longer support `--format table` or `-q`. JSON output for `hf jobs ps` now flattens `command` to a string and `status` to a stage string.

Migration Steps

  1. If you relied on the Together ASR task, you may need to find an alternative, as it has been removed.
  2. When using `hf jobs ps` or `hf jobs scheduled ps`, replace `--format table` or `-q` with `--format auto|human|agent|json|quiet` as appropriate.
  3. Review JSON output parsing for `hf jobs ps` as `command` and `status` fields have been flattened/changed.
  4. Ensure your SSH public key is registered in your HF user settings if you plan to use `hf spaces ssh`.
  5. If using CLI hardware/flavor flags, note that validation is looser; ensure you are using valid flavors if strict validation is required.
  6. Explicitly add `click` as a dependency if you were relying on it being implicitly installed via an older version of `typer`.

✨ New Features

  • Added support for copying files or entire folders between different repositories on the Hub (model to model, model to dataset, etc.) using `CommitOperationCopy` with cross-repo sources, and updated `copy_files` and `hf buckets cp`.
  • Introduced a new CLI command `hf spaces ssh` to open an SSH session directly into a Space's Dev Mode container.
  • Added a new CLI command `hf repos ls` to list all user repositories (models, datasets, spaces, buckets) with storage size and usage percentage.
  • CLI human-mode tables now auto-fit to terminal width using a column-aware algorithm, and numeric columns are automatically right-aligned.
  • Jobs hardware is now decoupled from Spaces hardware via a new `JobHardware` enum, allowing independent catalogs. The old `JobHardware` dataclass is renamed to `JobHardwareInfo`.
  • CLI `--flavor` / `--hardware` flags now use a `SoftChoice` type, accepting any string while providing autocompletion for known values.
  • Added `update_job_labels` and `update_scheduled_job_labels` functions for Jobs.
  • Added `rtx-pro-6000` hardware flavors for Jobs.

🐛 Bug Fixes

  • Fixed failing on read-only file system even when the non-existence of the file was already cached.
  • Fixed grammar in `local_files_only` parameter description.
  • Fixed typos in comments and debug log messages.
  • Fixed parent aliases leaking into subcommand headers in CLI reference.
  • Fixed CLI incompatibility issue by capping `typer` below 0.26.0.

Affected Symbols