Bevy Migration Notes — September 2026

Upgrade-sensitive Bevy changes and action items for September 2026. Sister page to bevy-game-dev-2026-09.

Continues from bevy-migration-2026-08.

2026-09-09 migration watchlist(09-08 日 11 PRs,2× M-Migration-Guide)

  • 09-08T00:47Z–22:13Z 批 — 迁移标签 2 个:#25722 / #25426。另 #25685 更新 Tonemapping::None 迁移文(无 M-Migration-Guide 标签,但 Camera2d 默认与告警升级敏感)。
  • #25722 — Fix pipelined rendering shutdown deadlock(M-Migration-Guide, A-Rendering, A-Windowing, O-MacOS)。关停等待 render app 时泵共享 MainThreadExecutor,并抑制二次 shutdown panic。官方迁移文:RenderAppChannels::new 现第三参要 MainThreadExecutor。^[https://github.com/bevyengine/bevy/pull/25722] ^[_release-content/migration-guides/render_app_channels_main_thread_executor.md] 迁移动作:自建 RenderAppChannels / 自管 pipelined 通道时传入主世界共享 executor 的 clone;勿再阻塞 receive 而不泵 executor。
  • #25426 — Explicit buffer size for ShaderBuffer(M-Migration-Guide, A-Rendering)。承接 #24938:CPU 侧改 AlignedVecShaderBufferData::Initialized { data, buffer_size } 显式 GPU 大小;as_slice/as_mut_slicecast_slice/cast_slice_mutset_data 移除改 extendFrom<T>From<Vec<T>>with_sizeu64resize_in_placeresize_buffer/resize。^[https://github.com/bevyengine/bevy/pull/25426] ^[_release-content/migration-guides/shader_buffer_changes.md] 迁移动作:按官方迁移文改 ShaderBuffer 构造/填充/字段访问;需要预留 GPU 容量时设 buffer_size
  • #25685 — Tonemapping::None follow-ups(升级敏感,无 M-Migration-Guide 标签)Camera2d 默认 NoneLinearNone+dither/grading 运行时告警;要关 tone curve 用 Tonemapping::Linear。^[https://github.com/bevyengine/bevy/pull/25685] ^[_release-content/migration-guides/tonemapping_none_passthrough.md] 迁移动作:显式依赖 Camera2d+None 的项目核对是否要改回 None(HDR 标定)或保持 Linear;见告警再决定。
  • Carried forward:SpriteMesh→Sprite / panic handler / FilteredResources→QueryBuilder / BSN template_value / bevy_curve / exclusive systems / bevy_shape / SST opt-in / WgpuWrapper / Taffy 14。本日新增:→ RenderAppChannels::new(+MainThreadExecutor);→ ShaderBuffer 显式 buffer_size / AlignedVec API;→ Camera2d tonemap 默认 Linear

2026-09-03 migration watchlist(09-02 日 23 PRs,1× M-Migration-Guide)

  • 09-02T01:33Z–21:53Z 23 PRs — 迁移标签 1 个:#25432。另 #25415 自定义 sprite 材质(同批、M-Release-Note,无迁移标签但 API 面相关)。
  • #25432 — Replace Sprite with SpriteMesh(M-Migration-Guide, M-Release-Note, X-Contentious, A-Rendering)SpriteMesh 改名为 Sprite;旧 sprite 渲染后端移除(text2d 仍暂依赖旧路径)。作者称多数用户应透明。迁移动作:显式 SpriteMesh 类型/路径改为 Sprite;自定义/插件若绑旧 sprite 后端需核对;text2d 相关临时兼容别依赖为长期契约。
  • #25415 — Custom materials for SpriteMesh(M-Release-Note, D-Complex, X-Contentious)。新 sprite 路径自定义材质。迁移动作:要自定义 2D sprite 材质时走新 API;与 #25432 一并验证。
  • Carried forward:panic handler / FilteredResources→QueryBuilder / BSN template_value / bevy_curve / 0.20 deprecate 清场;再往前 exclusive systems / bevy_shape / SST opt-in / WgpuWrapper / Taffy 14。本日新增:→ SpriteMeshSprite;→ sprite 自定义材质路径。

2026-09-02 migration watchlist(09-01 日 18 PRs,3× M-Migration-Guide)

  • 09-01T00:21Z–23:15Z 18 PRs — 迁移标签 3 个:#25597 / #25331 / #25318。另 #25380 bevy_curve 无标签但 import 路径变;#25640 清弃用可能直接打断旧 API。
  • #25597 — panic handling cleanup(M-Migration-Guide, A-ECS)。系统 panic 时减少重复嵌套 handler 输出。迁移动作:依赖旧 panic 文案 / 多段堆栈解析的工具与测试要更新期望输出。
  • *#25331 — Deprecate FilteredResources(M-Migration-Guide, A-ECS)**。FilteredResources / FilteredResourcesMut / 对应 Builder 弃用,功能并入 QueryBuilder / QueryParamBuilder迁移动作:改用 Query builder 拼 filtered resource access;准备后续移除。
  • #25318 — BSN Syntax Improvements(M-Migration-Guide, M-Release-Note, A-Scenes)。减少 template_value;变量与内联函数不再一律当 scene inclusion。迁移动作:现有 bsn! 宏里的 template_value(...) / 传参形态按新语法改写。
  • #25380 — Bevy curve(A-Math, X-Blessed)。curves 从 bevy_math 拆到 bevy_curve迁移动作:curve 相关 use bevy_math::... 改为 bevy_curve(或 prelude);crate 依赖补上。
  • #25640 — remove deprecated items(C-Code-Quality)。0.20 发版前删弃用项。迁移动作:仍停在 deprecate 警告上的调用点会编译失败,按警告指引迁完。
  • Carried forward:昨日 exclusive systems / bevy_shape / SST opt-in / WgpuWrapper / Taffy 14。本日新增:→ panic 输出;→ FilteredResources→QueryBuilder;→ BSN template_value;→ bevy_curve import;→ 0.20 deprecate 清场。

2026-09-01 migration watchlist(08-31 晚 21 PRs,4× M-Migration-Guide)

  • 08-31T14:00Z–09-01T00:13Z 21 PRs — 迁移标签 4 个:#25507 / #25302 / #25201 / #25512。另 Taffy 14(#25545)无标签但布局行为可能微调。
  • #25507 — Unify exclusive systems(M-Migration-Guide, D-Complex, X-Contentious, A-ECS)。删除 ExclusiveFunctionSystem / ExclusiveSystemParam / ExclusiveSystemParamFunction&mut World 等现为 SystemParamSystem::is_exclusive() 换成 SystemAccess::is_exclusive()initialize() 产出)。迁移动作:手写 exclusive system / 自定义 System trait 实现要改初始化与 access 检查;exclusive 现在运行时判定。
  • #25302 — Bevy shapes(M-Migration-Guide, X-Blessed, A-Math)。primitive 几何从 bevy_math 拆到 bevy_shape迁移动作use bevy_math::{Capsule3d, Sphere, ...} 等改为 bevy_shape(或 prelude);crate 依赖补 bevy_shape
  • #25201 — ScreenSpaceTransmission opt-in(M-Migration-Guide, A-Rendering)。可关 SST,省 mesh_view_bindings 里 1 texture + 1 sampler;specular_transmission > 0 走其它 phase。迁移动作:依赖 SST 的 0.20 项目需显式启用;确认 transmission 材质在关闭路径上的 alpha 回退可接受。
  • #25512 — WgpuWrapper 宏化 + eager Send/Sync(M-Migration-Guide, 0.20, A-Rendering)。wrapper 类型暴露方式变;部分 Arc 去掉。迁移动作:直接摸 wgpu wrapper / Send+Sync 假设的渲染插件要核对类型与所有权。
  • #25545 — Taffy 14(A-UI, 0.20)。无 M-Migration-Guide。min/max 改 LengthPercentageAutoLayout::content_sizescrollable_overflow_rect迁移注意:UI 回归测试纳入 0.20(承接 08-19 Taffy 13)。
  • Carried forward:August checklist 仍有效(bevy_extract import、deprecated load_*iter_many Result、Taffy 13 回归、extract AppLabel)。本日新增:→ exclusive system access;→ bevy_shape import;→ 显式开 SST;→ wgpu wrapper 类型。