v0.28.0
Breaking Changes📦 weights-biasesView on GitHub →
⚠ 1 breaking✨ 6 features🐛 10 fixes🔧 26 symbols
Summary
This release introduces significant enhancements to the W&B LEET terminal UI, including high-resolution image rendering and synced scrubbing. It also improves API performance by deferring sweep data loading and fixes several critical bugs related to file downloads and artifact logging.
⚠️ Breaking Changes
- Compatibility with server versions older than 0.65.0 has been dropped.
Migration Steps
- Ensure your W&B server version is 0.65.0 or newer to maintain compatibility.
✨ New Features
- High-resolution image rendering added to the W&B LEET TUI media pane for terminals supporting the Kitty protocol (with ANSI fallback).
- Synced scrubbing feature added to the W&B LEET media pane (press `l` to link scrubbing).
- Basic remote-run support added to W&B LEET TUI via the `wandb leet <run-url>` command.
- Paginated artifacts and registry API methods (`Api.artifacts()`, `Api.artifact_collections()`, `Api.registries()`, `Api.registries().collections()`, `Registry.collections()`) now accept an optional `order` string keyword argument.
- W&B LEET, the terminal UI, is now generally available under the command `wandb leet`; `wandb beta leet` remains an alias.
- Lists of images logged under a single key are now displayed as individual tiles in the W&B LEET media pane.
🐛 Bug Fixes
- `File.download()` no longer fails due to a hardcoded 5-second timeout; downloads now use wandb-core and respect file transfer settings.
- `wandb.Api().viewer` (and `Api().user()` / `Api().users()`) no longer fail with `WandbApiFailedError: relogin required` for some API keys (regression in 0.27.1).
- When logging `wandb.Image` with multiple `box` or `mask` layers having distinct `class_labels` in a `wandb.Table`, labels are now correctly preserved in new `box_class_maps` / `mask_class_maps` fields in `table.json`, fixing an issue where labels were clobbered.
- Artifact file operations now consistently require normalized relative paths.
- Logging an artifact now writes the manifest file to the artifact's staging directory instead of `$TMPDIR`, preventing silent failures if `$TMPDIR` is missing or unwritable.
- Logging artifacts in shared mode now works correctly; `wandb.init(mode="shared")` with code-saving enabled no longer raises an error.
- The `git_root` setting is now preferred for creating the `diff.patch` file, using `root_dir` as a fallback.
- Apple system metrics (GPU, CPU, power, and temperature) are now collected on Apple M5 Macs.
- File download progress is now shown when using `wandb.Api().run(...).download_history_exports`.
- `Run.scan_history()` no longer returns zero rows for runs whose history exists but hasn't been exported to parquet (e.g., active runs; regression in 0.27.1).
Affected Symbols
`Api.artifacts()``Api.artifact_collections()``Api.registries()``Api.registries().collections()``Registry.collections()``wandb leet``wandb beta leet``wandb.Api().runs()``sweep` property`File.download()``wandb.Api().viewer``Api().user()``Api().users()``wandb.Image``wandb.Table``box_class_maps``mask_class_maps``class_map`Artifact file operations`WandbLogger``run.log_artifact``wandb.init(mode="shared")``git_root` setting`root_dir` setting`diff.patch` file`Run.scan_history()`