130 wires and counting

$ follow PyTorch

Keep up with PyTorch in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-10-30
stories 81

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

TensorDict fixes h5 and zarr persistence; FBGEMM drops float-only dispatch

By RepoJournal · Filed · About PyTorch · Composed from the cited sources · methodology

TensorDict's persistence layer absorbed the day's real work: tuple-key indexing, cloning, and an h5 format change that will alter what from_h5 returns in 0.17, while the rest of the stack shipped CI and dispatch cleanups.

[Deprecation] h5 files store the batch sizes and dim names, and from_h5 warns before it restores them in 0.17 pytorch/tensordict

by peterdsharpe

h5 files now store batch sizes and dim names the way zarr already did, because from_h5 previously inferred every batch size from entry shapes, so a nested tensordict of batch size [3] came back as [3, 1, 2]. from_h5 warns where it will return something else in 0.17, so code that round-trips through to_h5 should expect a different tensordict back after the release.

[BugFix] h5 and zarr tuple keys give a nested group the batch size and names that chained indexing gives pytorch/tensordict

by peterdsharpe

On a PersistentTensorDict, td["n", "m"] and td["n"]["m"] returned different sub-tensordicts: the tuple spelling gave the nested group the root's batch size on h5 and no names on zarr, and some row writes raised. Both spellings now return the same object.

[BugFix] clone(newfile=) copies empty nested tensordicts, and zarr clones store each group's own batch size pytorch/tensordict

by peterdsharpe

clone(newfile=) raised a KeyError on both backends when the file held an empty nested tensordict, and on zarr it stored a nested group with its parent's batch size if you had read that key first, so from_zarr came back with the wrong batch size. Both clones now work and store each group's own batch size.

[BugFix] In-place reshape and repeat_interleave on a legacy lazy view raise NotImplementedError instead of corrupting the view's source pytorch/tensordict

by peterdsharpe

With set_lazy_legacy(True), reshape(..., inplace=True) and repeat_interleave(..., inplace=True) on a lazy view like src.permute(1, 0) reported success while writing reshaped leaves into the view's source, leaving the source inconsistent with its own leaves until a later to_tensordict() failed. Both now raise NotImplementedError, matching flatten, unflatten, repeat and gather.

[Versioning] Keep torchrl.envs.llm and GAILLoss working with tensordict 0.17 (#4638) pytorch/rl

by Peter Sharpe

tensordict 0.17 removes is_seq_of_nested_key, TensorDictModule.device and set_capture_non_tensor_stack(True), all of which TorchRL still uses, so lifting the pin as written would break import torchrl.envs.llm and GAILLoss.forward; this PR is the compatibility work that has to land first. Elsewhere, FBGEMM swapped bucketize's float-only macros for explicit FP32 checks and fixed an unaligned Vec4...

Quick answers

What shipped in PyTorch on October 30, 2026?
TensorDict's persistence layer absorbed the day's real work: tuple-key indexing, cloning, and an h5 format change that will alter what from_h5 returns in 0.17, while the rest of the stack shipped CI and dispatch cleanups. In total, 62 commits, 18 pull requests, and 1 releases landed.
Who contributed to PyTorch on October 30, 2026?
12 developers shipped this update, including cyy, Aryaman Gupta, Benson Ma, Akash Verma, peterdsharpe, Jean Schmidt, Egemen Tuncarslan, and Tristan Rice, and 4 more.
What were the notable PyTorch updates?
[Deprecation] h5 files store the batch sizes and dim names, and from_h5 warns before it restores them in 0.17, [BugFix] h5 and zarr tuple keys give a nested group the batch size and names that chained indexing gives, and [BugFix] clone(newfile=) copies empty nested tensordicts, and zarr clones store each group's own batch size.