Change8

v0.28.0

Breaking Changes
📦 weights-biasesView on GitHub →
1 breaking6 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

  1. 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