Repository navigation
[v1.6.0] Release Schedule and Tracker #23608
Description
🚀 The feature, motivation and pitch
[v1.6.0] Release Schedule and Tracker
The v1.6.0 release will be released from the release/1.6 branch. After branch cut, this branch will accept fixes according to the cherry-pick criteria below.
Release Schedule
- Branch Cut Date: Friday, October 16, 2026
- Release branch finalized, documentation and tutorials finalized: Wednesday, October 21, 2026 (last day; proposed)
- Intended Release Date: Friday, October 30, 2026 (delayed by one day from October 29)
The intended release date follows the PyTorch 2.15 release schedule. If the PyTorch release moves, the ExecuTorch release target will move to the following calendar day.
This issue is for tracking cherry-picks to the release branch.
Cherry-Pick Criteria
Focus on stability and documentation correctness. Ideally only low-risk changes may be cherry-picked from main:
- Critical fixes in core components: build, exir, backends, runtime, sdk
- Bug fixes in demos/examples. No new features or experiments
- Critical bug fixes based on community feedback
- Documentation improvements
- Test/CI fixes
- Release-branch-specific changes (for example, version identifier changes)
Any core component changes or other changes require special dispensation from the release managers. If this applies to your change, write Special Dispensation in the Criteria category and reasons: section of the template below and explain why it should be included.
Cherry-Pick Process
- Ensure your PR has landed in main. This does not apply to release-branch-specific changes.
- Create, but do not land, a PR against the release branch using one of the options below.
- Submit a request in a comment on this issue using the request template below.
Option 1: Use pytorchbot
Use pytorchbot to cherry-pick a PR committed to the main branch. Comment on that PR, selecting the appropriate category:
@pytorchbot cherry-pick --onto release/1.6 -c {regression,critical,fixnewfeature,docs,release,examples,testci}
Command usage
usage: @pytorchbot cherry-pick --onto ONTO [--fixes FIXES] -c
{regression,critical,fixnewfeature,docs,release,examples,testci}
Cherry-pick a pull request onto a release branch for inclusion in a release.
optional arguments:
--onto ONTO Branch to cherry-pick onto (example: release/1.6)
--fixes FIXES Link to the issue fixed by the PR
-c Machine-friendly classification of the cherry-pick reason
Option 2: Manually create a cherry-pick PR
Manual commands
# Find the hash of the commit to cherry-pick.
git log
git fetch origin release/1.6
git checkout -b cherry-pick-for-1.6 origin/release/1.6
git cherry-pick -x <commit>
# Push the branch to your fork and open a PR based against release/1.6,
# either through the GitHub UI or with:
git push <fork-remote> cherry-pick-for-1.6
gh pr create --repo pytorch/executorch --base release/1.6Cherry-Pick Request Template
Link to landed trunk PR:
*
Link to release branch PR:
*
Criteria category and reasons:
*
Someone from the release team will approve, deny, or request more information. If approved, the release team will merge the PR after tests pass. Do not land the release-branch PR yourself.
If the release team has acted on a cherry-pick request, its comment will be liked. Once the cherry-pick has merged, a rocket reaction will be added to the comment.
Release branch CI: HUD
Version
1.6.0
Alternatives
No response
Additional context
No response
RFC (Optional)
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTo triage
Activity
shoumikhin commentedon Oct 27, 2026
Cherry-pick requests for 1.6 (all landed on main after the branch cut; release PRs opened by pytorchbot):
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
nn.MultiheadAttention's packed weight), so the model ran with wrong weights and no error.Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
shoumikhin commentedon Oct 28, 2026
One more for 1.6, to be picked after #24211 lands:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
.ptdengine files and optimization profiles as needing a build newer than Torch-TensorRT 2.15. Both are on the 2.15 release branch now, so the page drops those marks.shoumikhin commentedon Oct 28, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
constant_prop_passcrashed on programs where a runtime op reads a folded scalar (aTypeErrorin the pass), and on folded views of parameters (deepcopyfailed during lowering). Both crash export for real models; the fix keeps those scalars in the graph and detaches folded constants.shoumikhin commentedon Oct 28, 2026
One more for 1.6, to be picked after #24210 lands:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
skip_h2d_for_constantskeeps it in device memory after one copy at load. Programs that do not set it are unchanged.shoumikhin commentedon Oct 28, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
copy.outcopied a source in a different memory layout byte for byte, so the result was wrong with no error, andtorch.empty_likecould not be lowered to Edge at all (SmolVLA through OpenVINO failed to load). It also fixes_empty_dim_orderwith dynamic sizes and makesGroupBasedPartitionerfast on large graphs (SmolVLA partitioning 123 min to under a minute, identical partitions).shoumikhin commentedon Oct 28, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
to_edgefailed with a pending unbacked symbols error when a pass was replayed on a graph with data-dependent sizes. This blocked CUDA export of many models, for example 10 LeRobot policies on every GPU we tried. The cherry-pick applies cleanly with the same diff as main.shoumikhin commentedon Oct 28, 2026
Update for #24214: #24211 has landed, so its release branch PR is now open.
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
shoumikhin commentedon Oct 29, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
shoumikhin commentedon Oct 29, 2026
Release branch PR for #24144, now that #24210 has landed:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
shoumikhin commentedon Oct 29, 2026
Correction for #24144: its release branch PR is now the pytorchbot cherry-pick #24274 (same diff). I closed my hand-made #24269.
shoumikhin commentedon Oct 29, 2026
Correction for #24238: its release branch PR is #24266 (already merged), not #24267, which I closed.
6 remaining items
shoumikhin commentedon Oct 30, 2026
One more for 1.6, to be merged after #24320:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
[RELEASE ONLY CHANGES] Prepare ExecuTorch 1.6 release dependencies (#…
shoumikhin commentedon Oct 30, 2026
One more for 1.6, to be merged after #24323:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
[RELEASE ONLY CHANGES] Update documentation for ExecuTorch 1.6 (#24198)
shoumikhin commentedon Oct 31, 2026
One more for 1.6, to be merged after #24298:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
Note: #24294 builds on #24222, so #24377 is stacked on #24298 (the #24222 pick). I will refresh #24377 after #24298 merges.
shoumikhin commentedon Nov 2, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
macosx_14_0_arm64tag, and the wheel smoke test now checks that it still targets macOS 14.shoumikhin commentedon Nov 2, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
nn.Linearwith a bias (portableaddmm) was off by about 8% of the output range in BFloat16, andvarandcumsumby much more; they now sum in float, matching PyTorch. It also fixes the portablecatkernel, which read past the end of an input when an empty input set the output shape, and copied raw bytes between int32 and float32.shoumikhin commentedon Nov 2, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
shoumikhin commentedon Nov 2, 2026
One more for 1.6, to be merged after #24377:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
min,max,clamp,signand related ops to OpenVINO even when all their inputs were bool, which OpenVINO cannot convert, so models such as those usingMultivariateNormal's argument check failed to lower; reading masked values after writing them failed too. It also carries the follow-ups to Fix 0-d tensors, dynamic output sizes and integer reductions, and default to float32 on CPU, in the OpenVINO backend #24294.shoumikhin commentedon Nov 2, 2026
One more for 1.6, to be merged after #24298:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
to_edgecould not lowerF.interpolate(x, mode="bicubic", antialias=True), a common image preprocessing step, and ExecuTorch had no kernel for it, so such models failed to export. This adds a portable kernel for_upsample_bicubic2d_aa.outthat matches ATen, and lists the op in the edge verifier as the antialiased bilinear resize already is.shoumikhin commentedon Nov 2, 2026
One more for 1.6, to be merged after #24324:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
y.detach()twice) crashed with a double free, because each slot's copy of the shared handle was deleted. A handle is now deleted only at the last slot that holds it.shoumikhin commentedon Nov 2, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
tasksetor in a container with a CPU set), so the extra threads competed for those CPUs and a small XNNPACK model ran 1.4x slower. The pool now honors the allowed CPUs. Android is unchanged.shoumikhin commentedon Nov 2, 2026
One more for 1.6:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
to_edgeand the edge dialect check rejectedtorch.catandtorch.stackwith inputs of different dtypes, which PyTorch accepts and promotes, so models that mix dtypes in a concatenation failed to export. The inputs are now converted to the promoted dtype first.shoumikhin commentedon Nov 2, 2026
One more for 1.6, to be merged after #24448:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
torch.export's default decompositions, or by Torch-TensorRT for an attention it leaves to the CUDA backend) carry the fused attention variants_scaled_dot_product_flash_attentionand_scaled_dot_product_efficient_attention, which the CUDA backend had no kernel for, so they failed to load with "missing fallback kernels". A new pass turns them back intoscaled_dot_product_attention, which the backend lowers.shoumikhin commentedon Nov 2, 2026
One more for 1.6, to be merged after #24445:
Link to landed trunk PR:
Link to release branch PR:
Criteria category and reasons:
Conv3dlowered without an error but failed at run time on CPU ("Expect input tensor to be 3-D or 4-D"), because XNNPACK leaves 3-D convolutions to the portable kernel, which ran only 1-D and 2-D. This blocks vision encoders with aConv3dpatch embedding, such as Qwen2-VL and Qwen2.5-VL. The portable kernel now runs 3-D convolutions, regular and transposed, and its argument checks no longer read past a bias of the wrong length or divide by zero whengroupsis 0.