pypi / wandb
wandb
What changed in wandb 0.29 to 0.31, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
50 breaking1 security4 deprecations26 new APIs and options8 performance9 behavior and defaults3 tooling43 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initwandb 0.3168 changes
Breaking changes 15
Metrics are read through librocm_smi64.so instead of running rocm-smi on every sample; readings a GPU does not provide are omitted instead of reported as 0.
Reports the monitored process's CPU utilization over the sampling interval instead of its average since the process started.
The chart now opens as a heatmap with one row per core; y switches it back to lines.
The default server is now CoreWeave Forge, and run, project, sweep and login links point to its W&B site. Existing API keys stored for api.wandb.ai continue to work without logging in again.
NVIDIA GPM PCIe throughput metrics are reported in bytes per second instead of mebibytes per second.
NVIDIA GPM metrics are averaged over the whole interval between samples instead of a 200 ms window.
Metrics are averaged over each run's own sampling interval when several runs share one process.
Endpoints are scraped once per sampling interval for all runs on the machine, and runs use the same openmetrics index for matching metric labels.
Selected and pinned runs are remembered per wandb directory and selected again the next time it is opened; a newer run is also selected if it started since the last session.
Charts network and disk throughput in bytes per second instead of totals, and opens with CPU, memory, network and disk charts ahead of the rest.
Setting base_url in Api overrides no longer changes the W&B server URL used by wandb.init() and other W&B calls later in the same process.
Calling wandb.init() after wandb.agent(sweep_id, function=...) returns now creates a new run instead of reusing and overwriting the last sweep run.
Passing a run's config to wandb.init(config=...) or run.config.update() copies its keys instead of nesting the config under an _items key.
The undocumented API has been removed; use Python's built-in breakpoint() instead.
Runs write data to the local file at least every 15 seconds, so wandb leet shows recent data sooner for runs that log infrequently.
Security 1
The Docker image is built on an updated base image that fixes CVEs reported against the 0.30.0 image.
New APIs and options 15
Accepts linked_at as a filter field, matching the existing linked_at order field.
Adds each NVIDIA or AMD GPU's cumulative energy consumption in joules.
Adds PCIe throughput system metrics for NVIDIA GPUs older than Hopper.
Adds PCIe throughput system metrics for NVIDIA GPUs older than Hopper.
Reports the number of TCP segments retransmitted since the run started.
Reports the percentage of CPU scheduler periods in which the container's CPU limit throttled the run.
Reports how many processes in the run's container the out-of-memory killer has killed since the run started.
A scheduler block in the sweep config configures local sweep search with wandb sweep-scheduler.
Shuts the agent down once the specified number of runs in a row have failed.
Keeps printing records as a running run writes them.
Prints records, or the summary, as JSON.
Prints a run's state, latest metric values, config and last console lines from its local .wandb file.
Runs a sweep's search locally using Optuna or Ax as the optimizer, configured in a scheduler block of the sweep config.
Deselects all runs except the pinned one.
Turns on system metrics for CPU and memory used by W&B's own background processes; these metrics are off by default.
Performance 5
Runs printing thousands of console lines per second no longer spend minutes of CPU time uploading them and finishing.
Importing wandb starts about twice as fast.
Sampling system metrics no longer costs more with the number of runs in a process.
The wandb CLI starts about twice as fast.
Api objects no longer permanently retain a few MiB of memory after garbage collection.
Behavior and default changes 4
The live system monitor shows utilization for every CPU core, Linux CPU temperature and swap usage, and hostname, uptime and load average in its header.
The helper process that collects system metrics is now named wandb-symon instead of wandb-xpu.
No longer requires the pytz package.
Now limits which GPUs are reported for every vendor, including AMD and Apple GPUs.
Tooling 1
Warns when a run was logged with a newer wandb version than the one syncing it.
Fixes and other changes 27
Records Neuron device and NeuronCore counts instead of always reporting 0.
Logs every evaluation, including the last, at the iteration CatBoost makes it; metric_period greater than 1 no longer shifts values one evaluation late or drops final ones.
Selects every run matching the runs filter.
The image ID recorded for runs inside Kubernetes no longer loses the start of the image name and the end of the digest.
Metrics resume when the helper process that collects them exits or fails to start, instead of stopping for the rest of the run.
Per-process GPU metrics are logged again for NVIDIA GPUs used by the process that called wandb.init().
In the single-run view, links console logs to charts; pressing l again unlinks them.
No longer counts loopback traffic or counts traffic twice through bonded and bridged interfaces.
No longer counts loopback traffic or counts traffic twice through bonded and bridged interfaces.
Warnings appear again, including warnings when run.log() data is ignored because its step is lower than the current step.
Python 3.15 is now supported.
Runs that finish right after initialization no longer risk exiting before their final data and exit status are uploaded.
Now records the CPU model and, for each NVIDIA GPU, its PCI bus ID and, on Linux, its NUMA node.
No longer fails with 403 Forbidden on W&B deployments that store run history in Amazon S3.
Resumed runs no longer report a huge or negative runtime and run duration.
Changing grid rows or columns, including in wandb leet symon, no longer crashes and takes effect immediately.
The system metrics filter applies to whichever run is highlighted, and Space and Enter work in the runs list after filtering from another pane.
Exits with an error when the file is not a readable .wandb log, instead of printing "skipped corrupt data" forever when output is piped.
Adds a machine-information sidebar with live resource meters and top CPU processes; keyboard controls sort or filter processes, switch focus, hide the sidebar and restore its width.
wandb sync fails if there is no run to resume.
No longer overwrites earlier history of a resumed run when the server reports a stale step.
No longer hangs on its final sweep check against W&B Server instances that deduplicate sweep run configs.
wandb.init(resume="must") now works for offline runs.
Calling a pipeline it does not support no longer raises an error; the call is not logged.
Importing without the required library fails with an ImportError naming the missing package.
Imports again with ultralytics 8.3.200 and newer.
Works again with TensorFlow 2.16 and newer.
wandb 0.3044 changes
Breaking changes 15
Requests rejected with HTTP 402, including plan and quota limits, are no longer retried and report the error right away.
Collected as soon as a run starts instead of one sampling interval later, so short runs record system metrics and system charts no longer start with a gap.
In narrow terminals, hides the run overview sidebar and then the runs list when they would leave charts fewer than 24 columns wide.
When enabled for W&B LEET TUI, debug logs are written next to the LEET config file instead of the current directory.
No longer prints project descriptions.
The --settings output no longer includes the API key.
The legacy --job_type option was removed; use --job-type instead.
Legacy sync options were removed; run wandb sync with no arguments instead of wandb sync --sync-all.
Removed; use wandb.Api() instead.
Removed; use wandb.Api() instead.
Masks supplied as float arrays with values outside 0–255 now raise TypeError instead of being saved with incorrect class IDs.
No longer waits up to 5 seconds for the GPU and TPU metrics collector to start.
Removed; use wandb.Api() instead.
Removed; use wandb.Api() instead.
Removed; use wandb.Api() instead.
Deprecations 4
Deprecated and will be removed in a future release; use the cwsandbox package directly.
Deprecated and limited to api_key, default_entity and viewer(); use wandb.login(prompt=False) to check login status and wandb.Api() for other functionality.
Deprecated; use wandb.login(prompt=False) to check whether the user is logged in.
Deprecated and will be removed in a future release; use the cwsandbox package directly.
New APIs and options 3
W&B LEET TUI charts support custom x-axes defined with run.define_metric(...), including glob definitions, for runs opened from local .wandb files.
The automations API supports sending a prompt to ARIA as an automation action with this API.
W&B LEET TUI stores metrics, system metrics and runs filters in this file and reapplies them the next time the directory is opened; clearing a filter forgets it.
Performance 3
System metrics start about 1.5 seconds sooner after a run starts.
AMD GPU monitoring no longer runs rocm-smi up front or crashes when it reports no GPUs.
Long-run performance improved: a run with 100 metrics and 400k steps opens 10 times faster, frames render about 30 percent faster, and live chart updates no longer redraw every point.
Behavior and default changes 4
In W&B LEET TUI, press / in the focused logs pane to filter matching lines by regex or, after Tab, glob; new matches are followed and ctrl+/ clears the filter.
No longer sends usage telemetry in offline or disabled mode.
W&B LEET TUI no longer sends usage telemetry when WANDB_MODE is offline or disabled.
With prompt=False, uses configured credentials when available and returns False otherwise, without asking for an API key or switching to offline mode.
Tooling 1
Prints an error when it cannot start, such as without a terminal, instead of exiting with status 1 and no output; debug logs are written next to the LEET config file.
Fixes and other changes 14
M5 Pro and M5 Max Macs no longer report 0 efficiency cores; CPU utilization and frequency are collected for previously missing M5 efficiency and M5 Pro and M5 Max performance cores.
CPU utilization, frequency and power cover the whole sampling interval rather than a roughly 10 millisecond snapshot, correcting noisy utilization and frequency and overstated power.
Macs with 256 GB or more of RAM no longer report a memory size of 0 GB.
CPU and GPU temperatures are no longer skewed by invalid sensor readings.
Failed uploads no longer delete the files being uploaded, allowing wandb sync to retry; successful uploads clean up only files in the artifact staging directory.
Transfers taking longer than 20 seconds no longer fail with a service-process busy timeout error.
System metrics are collected while a notebook cell runs and paused between cells, correcting the swapped behavior introduced in 0.19.10.
CPU frequencies are no longer reported about 1000 times too high.
Passing aliases or tags to the public API no longer fails with a server error.
The top y-axis label is no longer cut off when it is wider than the other labels.
Syncing a run whose artifacts were already uploaded no longer fails when artifact files are no longer on disk.
Explains when a .wandb file ends with an incomplete record and how to retry, rather than reporting an internal error.
No longer stalls for up to 10 seconds when the W&B server is slow to respond.
No longer stalls for up to 10 seconds when the W&B server is slow to respond.
wandb 0.2932 changes
Breaking changes 20
Raises UnsupportedError instead of CommError when the server does not support the given automation.
Rejects file or artifact names containing relative paths when downloading artifacts.
Rejects file or artifact names containing relative paths when downloading artifacts.
The macOS runtime requirement is now macOS 13 (Ventura) or newer.
Validate filter field names and reject unsupported field names.
The deprecated goal argument is removed; use summary="min" or summary="max" instead.
The deprecated summary="best" option and goal argument are removed; use summary="min" or summary="max" instead.
The deprecated quiet argument is removed; configure quiet with wandb.Settings instead.
The deprecated method is removed; use the run.project_url property instead.
The deprecated method is removed; use the run.sweep_url property instead.
The deprecated method is removed; use the run.url property instead.
The deprecated method is removed; use the run.project property instead.
The deprecated setting, which already had no effect, has been removed.
The deprecated .length property is removed; use len(...) instead.
The deprecated quiet argument is removed; configure quiet with wandb.Settings instead.
The deprecated normalize argument is removed; callers must ensure NumPy array and PyTorch tensor pixel values are already in the range [0, 255].
No longer normalizes pixel values; callers must provide data in the range [0, 255].
The TensorBoard logging function has been removed.
The TensorFlow logging function has been removed.
Requires the format argument when initializing from a NumPy array, raw bytes, or an io object.
New APIs and options 8
Registry version queries accept an optional order string for organizations with advanced search, supporting created_at, artifact_size, and linked_at.
Returns when a version was linked to the relevant portfolio; it is valid only for linked versions and returns None for source artifacts.
Supports team and organization scopes for automations.
Sets LEET line-chart guides to a dotted background or horizontal lines aligned with axis ticks; the choice is saved.
Automations can be created and edited with a Registry object as their scope.
Reads the console output captured for a run, either the whole log or the last N lines, for finished and still-running runs.
Accepts MD5 or XXH128 as the digest algorithm; choosing XXH128 opts the artifact into that hashing when possible.
Allows GPU resource requests for sandboxes instead of rejecting resources.gpu client-side.
Behavior and default changes 1
The internal-process message format changed; restart the service after upgrading wandb to avoid failures when SDK and service versions differ.
Tooling 1
Browses raw records in a run's .wandb transaction log, follows live writes, and can print records through a pipe or redirect.
Fixes and other changes 2
Works for artifacts uploaded with wandb sync.
No longer fails for runs with nested values when keys are specified.