What's Changed
Notable Changes
This version drops compatibility with server versions older than 0.65.0.
Added
- High-resolution image rendering in terminals supporting the Kitty protocol with ANSI fallback in the W&B LEET TUI media pane (
wandb leetcommand) (@dmitryduev in #11806) - Synced scrubbing in the W&B LEET media pane: press
lto link scrubbing, then the scrub keys (←/→/↑/↓/home/end) move a shared cursor over the union step timeline and every image tile follows it (@dmitryduev in #12033) - Basic remote-run support in W&B LEET TUI (
wandb leet <run-url>command) (@jacobromero in #11261) - The following paginated artifacts and registry API methods now accept an optional
orderstring as a keyword argument:Api.artifacts(),Api.artifact_collections(),Api.registries(),Api.registries().collections(),Registry.collections()(@tonyyli-wandb in #11990)
Changed
- W&B LEET, the terminal UI for viewing W&B runs, is now generally available as
wandb leet;wandb beta leetis kept as an alias (@dmitryduev in #12028) wandb.Api().runs()no longer loads Sweeps for each run by default to improve query performance. Sweep data is loaded on first access of thesweepproperty (@kmikowicz-wandb in #12019)- Lists of images logged under a single key are now displayed in the W&B LEET media pane, one tile per image (@dmitryduev in #12033)
Fixed
File.download()no longer fails after a hardcoded 5-second timeout; downloads go through wandb-core and respect the file transfer settings (@dmitryduev in #12039)wandb.Api().viewer(andApi().user()/Api().users()) no longer fail withWandbApiFailedError: relogin requiredfor some API keys, a regression in0.27.1(@dmitryduev in #12009)- When a
wandb.Imagecarrying multipleboxormasklayers with distinctclass_labelsis logged inside awandb.Table, each layer's labels are now preserved in newbox_class_maps/mask_class_mapsfields in thetable.json. Previously, there was only as singleclass_mapthat got incorrectly clobbered by each set of class labels. The next server release will contain a corresponding frontend fix that reads these per-layer fields. Legacy servers will retain the current behavior. (@kelu-wandb in #11901) - Artifact file operations now consistently require normalized relative paths (@tonyyli-wandb in #11735)
- Logging an artifact (whether via
WandbLoggerorrun.log_artifact) now writes the manifest file to the artifact's staging directory instead of the OS temp dir ($TMPDIR), avoiding silent failures when$TMPDIRis missing or unwritable (@ibindlish in #11958) - Logging artifacts in shared mode works again, and in particular,
wandb.init(mode="shared")with code-saving enabled no longer raises an error (@timoffex in #12017) git_rootsetting is now preferred for creating thediff.patchfile, theroot_dirsetting is now used as a fallback (@TomSiegl in #11967)- Apple system metrics (GPU, CPU, power, and temperature) are now collected on Apple M5 Macs (@dmitryduev in #12061)
- file download progress is now shown when using
wandb.Api().run(...).download_history_exports(@jacobromero in #12063) Run.scan_history()no longer returns no rows for a run whose history exists but has not been exported to parquet (e.g. an active run; a regression in0.27.1) (@dmitryduev in #12073)