Bevy Migration Notes — August 2026

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

Continues from bevy-migration-2026-07.

2026-08-20 migration watchlist(08-19 merge surge 25 PRs,新增 2 项)

  • 08-19 单日 25 PRs — 迁移敏感项 2 个:#22852(0.20 迁移项,extraction 基建独立 crate)+ #25231(0.20 UI 新特性,M-Release-Note 非破坏);另有 0.20 依赖升级 #25413(Taffy 13)落地。
  • #22852 — Extract extract to bevy_extract(M-Migration-Guide, X-Contentious, 0.20, +768/-204, 51 files)。tracking #24483 最终步:新建 bevy_extract crate,ExtractComponent/ExtractResource 及其 derive 宏、extract/sync 基建从 bevy_render 迁入;bevy_render 保留 compat 类型,移除 L = RenderApp 默认(简化自 #23377)。迁移动作:自定义渲染/提取插件更新 import(bevy_render::extract::*bevy_extract::*),检查 extract plugin 的 AppLabel 泛型(衔接 #24423)。
  • #25231 — Support Val::Em/Val::Rem(C-Feature, M-Release-Note, 0.20, +816/-139, 21 files)。新增 CSS 式相对长度单位,值存 ComputedNode迁移注意:0.20 UI 布局数值语义扩展(非破坏),自适应 UI 可选采用。
  • #25413 — Update to Taffy 13(C-Dependencies, 0.20, +51/-50, 4 files)。bevy_ui 布局引擎升级(08-14 起的迁移预备项,现落地)。迁移注意:布局数值/行为可能微调,UI 回归测试宜纳入 0.20 升级范围。
  • 非迁移敏感项(22 个):#25434(bevy_editor_cam 上游化,M-Release-Note 纯新增 +3622)、#24922/#25292(pcwalton 渲染/动画性能内部基建)、#25319/#25245(渲染 bugfix,后者 0.20)、0.19.2 批次(#25386/#25443/#25427/#25450)、其余 contextual(见 game-dev 页)。
  • 前瞻关注(未合并):#25417/#25392 picking MouseButton 重构(若合并将与 #25337 Flat Pointer Events 叠加为 0.20 picking 迁移面);#25419 孤儿 entity ID 祖先链遍历修复。
  • Carried forward checklist 更新(此前 15 项不变,另加 2 项):→ 更新 extract 相关 import 到 bevy_extract(#22852,0.20 编译失败风险);→ UI 布局回归测试覆盖 Taffy 13(#25413)。

2026-08-19 migration watchlist(08-18 合并恢复 14 PRs,新增 2 项)

  • 08-18 merge-queue drain 14 PRs — 迁移敏感项 2 个:#25444(0.20 迁移项,deprecated asset API 全删)+ #25394(bevy_color 行为修正)。
  • #25444 — Delete all deprecated load_* methods(0.20, +2/-220, 2 files)0.20 迁移项(breaking)。完成 #23663 迁移:AssetServer / asset 类型上的 deprecated load_* 方法全部删除。迁移动作:search 代码库中 load_ 旧调用(如 load_folder、旧 load 签名),迁移到当前 load API(AssetServer::load + AssetPath);0.20 下旧 API 直接编译失败。
  • #25394 — bevy_color with_luminance 不再 clamp + Laba→Lcha 转换修复(+96/-33, 8 files)行为变更(bugfix)LinearRgba::with_luminance 此前把结果 clamp 到 [0,1](破坏 HDR/宽色域值),现取消 clamp;Laba→Lcha 转换不再截断 chroma,并移除转换中多余的 to_radians() 调用(同 PR 的另一处修复点,与 chroma clamp 修复并存)。迁移动作:依赖 clamp 语义(期望亮度调整后值不越界)的颜色代码需复核;HDR/宽色域工作流受益。与 #25393(primaries 模块)同为 HDR 输出系列基建,0.20 渲染输出方向信号。
  • 非迁移敏感项(12 个):#25429(ECS 内部 static hint,恢复 #25157 的 benchmark 回退,无公开 API 变化)、#25424/#25421/#25451/#25414(渲染 bugfix,0.20 或 0.19.2)、#25440(WESL import package:: 内部清理,shader 作者可关注但非破坏)、#25442/#25422/#25455/#25438/#25437(math/UI/docs 增量,无迁移影响)。
  • Carried forward checklist 更新(此前 13 项不变,另加 2 项):→ 清理 deprecated load_* 调用(#25444,0.20 编译失败风险);→ 复核 with_luminance clamp 语义依赖(#25394,HDR 行为修正)。

2026-08-18 migration watchlist(#25391 晚点合并 + 静默延续,无新增迁移项)

  • 08-16 晚间单 PR 合并 + 08-17/18 静默 — 唯一合并 #25391 为纯增量 API,无破坏性变更、无 M-Migration-Guide
  • #25391 — impl EntityCommand for Arc<dyn Fn(EntityWorldMut) -> Out + Send + 'static>(Person-93,+14/-0,1 file,无 milestone)。Box<dyn Fn> 已有 EntityCommand 实现,本次补齐 Arc新增 API 非破坏;需要跨线程共享命令闭包(同一命令派发多实体、延迟执行)的代码可选采用。0.20 迁移者无需动作。
  • 前瞻关注(未合并,0.20 迁移预备)延续:#25413 Taffy 13 升级(UI 布局行为变化,宜提前纳入回归测试范围);#25417/#25392 picking MouseButton 重构(若合并将与 #25337 Flat Pointer Events 叠加为 0.20 picking 迁移面);#25419 孤儿 entity ID 祖先链遍历修复。
  • Carried forward checklist 更新(此前 13 项不变,本日无新增项)。

2026-08-02 migration watchlist 补记(4 PRs 窗口盲区)

  • 08-02 补采 4 个 PR,其中 1 个 API 变更
  • #25267 — RawHandleWrapper::set_display_handle 标记为 unsafe(无 milestone, +1/-1)API 变更(安全标记):调用方需自行保证传入的 display handle 有效(此前为 safe 调用)。影响范围:直接操作跨平台窗口句柄(bevy_window / winit 集成层)的代码——如自定义 window 管理、平台插件。迁移动作:审查调用点,确认 handle 获取路径的安全性,必要时在 unsafe block 内调用并注释不变式。
  • 非迁移敏感项(3 个):#25268(light probes diffuse IBL 累积语义,0.19.1 渲染 bugfix)、#25254(deferred lighting shader defs 失同步修复,0.19.1,净删 90 行)、#24919(bevy_mobile_example dev 构建去符号,构建配置级)。
  • Carried forward checklist 更新:08-04 5 项 + 08-05 3 项不变,另加 1 项:→ 审查 set_display_handle unsafe 调用点(#25267,若项目直接操作 window handle)。

2026-08-04 migration watchlist

  • 1 API signature change, 2 non-migration bugfixes (3 PRs merged Aug 3–4). No M-Migration-Guide items landed.
  • #25237 — Feathers HardLimit/SoftLimit now accept a RangeInclusive (A-UI, C-Usability, no milestone). NumberInputRange and HardLimit/SoftLimit changed from Range<T> to RangeInclusive<T> — the numeric input upper bound is now a closed interval (fixes #25107 -π..π value bounce). Signatures changed but all examples synced; no breaking change in practice. Feathers NumberInput users should verify any code passing Range<T> bounds.
  • #25259 (mesh re-allocation fix) and #25273 (CursorGrabMode macOS fallback → None) — both 0.19.1 bugfixes with no API changes; not migration-sensitive.
  • Carried forward checklist (5 open items from July 2026): → Audit SortedRenderPhase usage — carry forward. → Check BSN caching syntax — carry forward. → Migrate render world window data access — use ECS resource/component pattern instead of direct access (#25005, 0.20). → Update TypeId map usage — adapt to ordered/unordered split if using custom maps (#25053, 0.20). → Review focus event handlers — handle new FocusCause field in FocusGained/FocusLost events (#25059, 0.20).

2026-08-05 migration watchlist(补采,14 PRs 中的迁移敏感项)

  • 08-05 整日遗漏补采 — 14 个 PR 中 5 个迁移敏感,是 8 月迄今迁移清单增量最大的一天。
  • #25200 — QueryManyIter 改为返回 Result(M-Migration-Guide, X-Contentious, 无 milestone)iter_many 系列(unique/parallel 同步)现在迭代 Result<D::Item, QueryEntityError> 而非仅匹配项。迁移动作:所有 iter_many 调用点需要处理 Result,或改用新便捷方法 .matched()(只迭代匹配项)/ .unwrapped()(展开错误)。目标是允许对不匹配实体做自定义错误处理(修复 #24607)。
  • #24423 — ExtractComponentPlugin / ExtractResource 等对 AppLabel 泛型化(M-Migration-Guide, X-Contentious, 0.20)。提取基础设施不再绑定 main→RenderApp,可声明 #[extract_app(RenderApp, AudioApp)] 提取到任意子应用。迁移动作:自定义渲染/提取插件作者检查 extract plugin 的 AppLabel 泛型参数;这是 extraction 基建可复用化(tracking #24483)的倒数第二步,最终 #22852 会把提取逻辑移入独立 crate。
  • #25088 — 迁移到 WESL(M-Release-Note, 378 files, +4527/-5381)。Bevy 内部 shader 全部改为 WESL 编写(经 wesl-rs)。迁移信号:自定义 shader 用户应关注 0.20 的 shader 资产格式与导入语法变化;WESL 是 webgpu-tools 的 WGSL 超集扩展。
  • #25050 — CornerRadius 边框圆角值语义修正(M-Deliberate-Rendering-Change, 0.20)。单值 border_radius 现在 clamp 到 min 半边长得圆形角;需要椭圆角的代码必须显式指定每轴值;轴自适应扩展改用 Val::Auto迁移动作:检查 UI 中依赖旧椭圆语义的 border-radius 写法。
  • #25296 — BSN: Ready event(M-Release-Note, 0.20)。新事件 API:场景完全 ready(依赖加载、层级、初始组件全部就绪)后触发;与现有 Add 事件(自上而下、子实体不可用)互补的”自下而上”时机。迁移动作:BSN 用户可将”依赖完整场景”的逻辑从 Add 监听迁移到新 Ready 事件。
  • #25265 — Feathers NumberInputWrap 新增(无 milestone)FeathersNumberInput 新增 wrap 支持;NumberInputRange 新增 wrap 方法(与 clamp 语义区分)。Feathers NumberInput 用户可选采用。
  • 非迁移敏感项(8 个):0.19.1 渲染 bugfix 批次(#25261/#25256/#25252)、#25159(scale gizmo 三轴,0.20 新功能)、#24312(ECS 内部 memcpy 微优化)、#25230(Capsule3d gizmo 默认分辨率 5→4,视觉微调)、#25189(debug picking overlay)、#25249/#25140(示例)。
  • Carried forward checklist 更新(08-04 5 项不变,另加 3 项):→ 检查 iter_manyResult 适配(#25200);→ 检查自定义 extract plugin 的 AppLabel 泛型(#24423);→ 审查 UI 椭圆 border-radius 依赖(#25050)。

2026-08-07 migration watchlist

  • 2 PRs merged Aug 7 — both bugfixes; no API-level breaking changes, but #25287 touches an internal type worth noting for anyone reaching into executor internals.
  • #25287 — Multi-threaded executor UB fix (C-Bug, A-ECS, P-Unsound, no milestone). Internal-only change in bevy_ecs/src/schedule/executor/multi_threaded.rs: the executor now threads &SyncUnsafeCell<SystemWithAccess> through system_completed / tick_executor instead of a plain &ScheduleSystem, deferring the &mut borrow to point of use. No public API impactSyncUnsafeCell is a std-internal-style wrapper, not user-facing. Safe to ignore for migration unless you fork/patch the executor directly.
  • #25225 — Font atlas padding fix (C-Bug, A-Text, P-Crash, no milestone). Pure bugfix in bevy_text/src/font_atlas.rs; no signature or behavior change on the non-panic path. Not migration-sensitive.
  • Neither PR is bound to a milestone — version targeting (0.19.x patch vs 0.20) is TBD at time of merge.

2026-08-07 migration watchlist 补记(4 PRs late merges)

  • 4 late merges from Aug 7 03:46 UTC batch — 上次窗口未捕获(合并队列索引延迟)。无 API 破坏性变更,无 M-Migration-Guide 项
  • #25188 / #25184 — UI 渲染提取 removed-component 路径修复(两者均 P-Regression,milestone=0.20,各 1 文件 +18/-3、+15/-2)。修复 CalculatedClip 组件被移除后 UI gradient 与 MaterialNode 的 render entity 被错误 despawn / 不重新提取的问题。纯 bugfix,无公开 API 变化;但 0.20 迁移者可留意 extract_ui_material_nodes 的 removed-component 语义修正(自定义 UI 提取逻辑若有类似假设需对齐)。
  • #25223(CI wasm feature 修复)与 #25164(2d_shapes 示例迁移 FeathersCheckbox) — 均 trivial / examples 级,非迁移敏感。
  • Feathers UI 推广信号:#25164 是 #25032(examples 迁移 Feathers UI)系列的一部分,且 #25223 为 wasm CI 全局启用 bevy_feathers feature —— 若项目已用 Feathers 组件,示例 API 变化(如 FeathersCheckbox helper 与 theming 结构)值得跟踪。

2026-08-11 migration watchlist(18 PRs 中 2 个迁移敏感 + 1 个构建修复)

  • 08-11 单日 18 PR(合并暂停结束),迁移敏感 2 个 + 构建修复 1 个:^[raw/articles/bevy-daily-2026-08-11-merged-prs.md]
  • #24148 — UI CPU clipping 支持旋转/缩放:CalculatedClip 变为 enum(M-Migration-Guide + M-Release-Note + M-Deliberate-Rendering-Change, 0.20, +758/-645, 18 files)。Overflow clipping 现支持变换节点(旋转/缩放)。CalculatedClip 从结构体变为 Rects(本地坐标 Rect 列表 + world-to-local Affine2)与 FullyClipped 两变体的 enum;bevy_ui_render 新增 clipping 模块含 clip_polygon。修复 17630/21775/25126迁移动作:所有读取 CalculatedClip 的代码(UI 自定义渲染、提取、picking 相关)需适配 enum 语义;自定义 UI render 逻辑若直接访问 clip rect 字段需改用 Rects 变体 + Affine2 变换。
  • #25294 — EntityCursorbevy_feathers 移至 bevy_picking(M-Migration-Guide, X-Contentious, no milestone, +47/-32, 21 files)。实现与 feathers 无关,移动后供所有 picking 系统用户复用(#25250)。迁移动作bevy_feathers::EntityCursor import 改为 bevy_picking::EntityCursor;若仅使用 picking 而未启用 feathers,现可直接获得该组件。
  • #25329 — bevy_math 单独编译修复(glam 显式 all-types feature, +6/-1, P-Compile-Failure)。此前 bevy_math 依赖 glam 的 integer-types/float-types 但未自行启用,单独编译失败。构建侧影响:以 default-features = false 或单独依赖 bevy_math 的项目修复编译失败。
  • #25300 — RawCommandQueue 移除(+189/-349, 5 files, D-Unsafe)。World 命令队列重构,去 unsafe。内部实现:无公开 API 破坏;除非 fork/patch 命令执行内部实现,否则忽略。
  • 非迁移敏感项(7 个):#25334/#25338/#25367/#25361/#25253(0.19.1 渲染/剪贴板/文档 bugfix)、#25325(2D material swap 渲染修复)、#25295(ECS 注册 early-out,性能)、#25058/#24928(渲染性能)、#25285(PanCamera 新增选项,默认不变)、#25247/#25339/#25354(usability/示例)。
  • Carried forward checklist 更新(此前 9 项不变,另加 2 项):→ 适配 CalculatedClip enum 语义(#24148,UI 自定义渲染/提取代码);→ EntityCursor import 路径迁移(#25294,bevy_feathers → bevy_picking)。

2026-08-13 migration watchlist(08-12/13 merged 5 PRs + v0.19.1 发布)

  • 08-12 merged 4 个 PR(含凌晨批次 3 个补采)+ 08-13 merged 1 个——全部无破坏性变更,无 M-Migration-Guide 项。另:v0.19.1 于 08-13T00:02:58Z 正式发布(0.19 系列首个补丁版本)。^[raw/articles/bevy-daily-2026-08-12-merged-prs.md]^[https://github.com/bevyengine/bevy/releases]
  • #25379 — 多线程执行器 local_thread_running 标记泄漏修复(08-13T00:28Z, C-Bug, A-ECS, P-Crash, +30/-2, 1 file)。exclusive system 完成后未清除标记,导致后续 non-send 系统断言崩溃(debug)或静默跳过(release)。内部实现修复,无公开 API 影响——同 #25287 模式,仅 fork/patch multi_threaded.rs 执行器才需关注。
  • #25301 — NumberInputUnits 新组件(08-12T02:51Z, C-Feature, A-UI, +562/-32)FeathersNumberInput 新增单位支持(length_meters/time_seconds/angle_degrees)。新增 API 非破坏;Feathers NumberInput 用户可选采用。
  • #25362 — wireframe_2d 示例迁移 FeathersRadio(08-12T03:32Z)。示例级,非迁移敏感;#25032(examples 迁移 Feathers UI)系列继续推进——Feathers UI 在 examples 中占比持续上升的信号
  • v0.19.1 发布对迁移者的意义:补丁版本,无破坏性变更。0.19.x 用户升级到 0.19.1 应确认纳入的 bugfix(渲染/UI 批次:2D flicker #25253、SSAO 双修复 25334/25338、mesh 重分配 GPU 内存泄漏 #25259、CursorGrabMode macOS fallback #25273 等)[推测——release notes 无逐项清单]。
  • Carried forward checklist 更新(此前 11 项不变,本日无新增项)。

2026-08-16 migration watchlist(0 PRs merged,无新增迁移项)

  • 0 PRs merged(08-15/16) — 合并暂停第 2 天,无新迁移敏感项、无 M-Migration-Guide。
  • Carried forward checklist 更新(此前 13 项不变——11 项 + 08-15 新增 2 项:Pointer 事件扁平化 #25337 / Observer EventPattern #24013)。
  • 前瞻关注(未合并,0.20 迁移预备)#25413 Taffy 13 升级——bevy_ui 布局依赖大版本更新,合并后可能改变布局数值/行为语义,0.20 迁移者宜提前将 UI 布局纳入回归测试范围;#25408 ECS insertion 性能回归缓解(内部优化,预期无 API 影响);#25419 孤儿 entity ID 祖先链遍历修复(与 #25416 mark_dirty_trees 正确性相关,UI 变更检测语义收窄的候选信号)。

2026-08-15 migration watchlist(08-14 merged 2 PRs——8 月迁移清单最大单日增量)

  • 08-14 merged 2 个 PR,全部 M-Migration-Guide + 0.20——自 08-11(#24148/#25294 双 M-Migration-Guide)以来迁移项再次集中落地,0.20 API 打磨进入密集期。
  • #25337 — Flat Pointer Events(M-Migration-Guide, X-Contentious, 0.20, +875/-792, 62 files, cart)。Pointer 事件 API 扁平化:On<Pointer<Press>>On<Press>;事件数据不再深一层依赖 Deref。迁移动作:所有 On<Pointer<T>> 形式的 picking/输入处理代码改为 On<T>Press/Release 等类型名从 Pointer<> 命名空间释放,未来可能与 Button 等更高级事件重名——0.20 迁移期需全面 review picking 事件类型引用。
  • #24013 — Observer EventPatterns(M-Migration-Guide, X-Needs-SME, 0.20, +517/-319, 48 files, ItsDoot)On<E, B>On<'w, 't, E: EventPattern>:新增 EventPattern trait(type Event: Event; type Components: Bundle),隐藏 B 类型参数。迁移动作:自定义事件 observer 不再需要写 B 参数(On<MyEvent> 即可);生命周期 observer(On<Add, A>)过滤语义不变;On 泛型约束变化可能影响显式类型标注。
  • 非迁移敏感项(0 个)——本日两个 PR 全部迁移敏感,无纯 bugfix。
  • Carried forward checklist 更新(此前 11 项不变,另加 2 项):→ Pointer 事件 API 扁平化适配(#25337,On<Pointer<T>>On<T>);→ Observer EventPattern 泛型适配(#24013,自定义事件 observer 的 On 标注调整)。

2026-08-14 migration watchlist(08-13 全天补采 8 PRs)

  • 08-13 全天合并 10 个 PR(前次窗口 08-12T16:00–08-13T15:59 只捕获 2 个),本日补采 8 个——无 M-Migration-Guide 项,全部 8 个无破坏性公开 API 变更。
  • #25157 — Per-column change tracking(pcwalton,0.20,M-Release-Note,+751/-39,31 files)。ECS 内部性能机制:按列跟踪变更,让连续迭代系统跳过无变化的整张表。custom system 作者无需动作(新机制默认 opt-in/内部启用),但 change detection 语义将更细粒度——依赖”系统必然看到全量变更”假设的自定义逻辑需在 0.20 迁移期验证。
  • #25183 — Extended material 2D(cookie1170,M-Release-Note,X-Uncontroversial,+460/-114)。bevy_pbrAsBindGroup 逻辑提取至 bevy_renderbevy_sprite_render 新增 MaterialExtension2d trait + ExtendedMaterial2d struct。新增 API 非破坏;2D 自定义材质作者可选用扩展机制(3D 的 ExtendedMaterial 对应物)。
  • 其余 6 个非迁移敏感:#24178(headless_renderer 示例复制时序 bugfix)、#25382(TilemapChunk mesh 缓存从未写入的修复——缓存逻辑此前无效,修复后行为变化但无 API 变化)、#25372(uniform buffer 加 wgpu label,调试友好)、#25397(PanCamera bsn! 宏支持,纯新增)、#25364(spin 0.10→0.12.2 依赖升级,无直接 API 暴露)、#25387(testbed/ui 示例)。
  • Carried forward checklist 更新(此前 11 项不变,本日无新增项——两个 M-Release-Note 特性不构成破坏性迁移,但列入 0.20 迁移者关注清单)。

2026-08-21 migration watchlist(08-20 merged 8 PRs,新增 1 项)

  • 08-20 全天 8 PRs + 08-21 凌晨 1 个(#25480) — 迁移敏感项 1 个:#25480(0.20 迁移项,Tonemapping/DebandDither 定义移至 bevy_render::view,reflected type path 变化)。
  • #25480 — Move Tonemapping and DebandDither to bevy_render::view(A-Rendering, D-Straightforward, +102/-89, 4 files)0.20 迁移项。动机:bevy_render 不能依赖 bevy_core_pipeline,upcoming render-path work 需在 camera extraction 时读取 Tonemapping。定义移至 bevy_render::view(新位置 bevy_render/src/view/mod.rs;旧位置 mod.rs 改 re-export),旧路径 re-export(source 兼容,import 不破坏);但 reflected type path 变化——scene 文件与 Bevy Remote Protocol(BRP)键中拼写旧路径(bevy_core_pipeline::tonemapping::Tonemapping)的将失效,crates/bevy_remote/src/lib.rs 同步更新了 BRP 键路径,migration guide 见 _release-content/migration-guides/tonemapping_moved_to_bevy_render.md迁移动作:0.20 升级时检查 scene 资产与 BRP 调用中的 tonemapping 路径;Tonemapping::Linear PR 将构建于此(后续关注)。
  • #25264 — parallel contiguous iteration(A-ECS, C-Performance, X-Contentious, M-Release-Note, +1114/-34)。ECS 内部性能机制(承接 #25157 summary ticks 的并行化),新 ContiguousQueryData trait 为纯增量——无公开 API 破坏,custom system 作者无需动作;change detection 性能语义持续优化(0.20 大规模场景线,与 25157/25429 同线)。
  • 非迁移敏感项(6 个):#25423(Solari 反射去噪内部增强)、#24989(winit Reactive Duration::MAX 行为修复——修正与文档不符的 bug,恢复预期语义)、#25493(Rust 1.98.0 CI 修复,P-Critical,工具链层)、#25463/#25475/#25476(trivial:sampler 简化 / DeferredPrepass Clone / bevy_extract readme)。
  • Carried forward checklist 更新(此前 17 项不变,另加 1 项):→ 更新 scene/BRP 中 tonemapping reflected path(#25480,0.20;import 层兼容但资产/协议键需动)。

2026-08-23 migration watchlist(08-22 merged 5 PRs,无新增迁移项)

  • 08-22 全天 5 PRs(19:27–21:01Z,42.5h 静默后 drain) — 迁移敏感项 0 个:全部为功能/内部重构/测试/小 bugfix,无 M-Migration-Guide、无破坏性 API 变更。
  • #24827 — Cluster RectLight(A-Rendering, C-Performance, +270/-74, 15 files)新增渲染能力(非破坏):矩形 area light 进入 GPU clustering 管线,解除数量上限。行为变化:同屏 RectLight 数量不再受限且性能更好;自定义渲染代码无需动作,但 WebGL2 目标注意回退路径。0.20 迁移者无需动作。
  • #25489 — pan_orbit_camera 动画计时重构(+27/-37, 3 files)。内部重构(Instant::now()Res<Time<Real>> + Timer),无公开 API 变化。依赖 bevy_editor_cam 的代码 0.20 升级时行为一致(真实时间计时,暂停/速度倍率场景行为更可预期)。
  • 非迁移敏感项(3 个):#25482/#25299(测试基建:font change detection 回归测试 + testbed_ui ChangeDetection 场景,ickshonpe)、#25486(Feathers shader import 1 行 bugfix)。
  • Carried forward checklist 更新(此前 18 项不变,本日无新增项)。

2026-08-24 migration watchlist(08-23 merged 2 PRs,无新增迁移项)

  • 08-23 全天 2 PRs(19:02Z #25522 + 23:09Z #25323,依赖清理日) — 迁移敏感项 0 个:两个均为依赖层清理/例行升级,无 M-Migration-Guide、无破坏性公开 API 变更。
  • #25522 — Removes unused bevy_utils dependency from bevy_ptr(D-Trivial, +0/-1, 1 file)。#25264(08-20)重写的后续清理,bevy_ptr 内部实现不再依赖 bevy_utils。依赖卫生,0.20 迁移者无需动作。
  • #25323 — Update base64 requirement from 0.22.0 to 0.23.0(dependabot, +1/-1, 1 file)。例行依赖 bump,允许 base64 0.23.0。无迁移影响。
  • Carried forward checklist 更新(此前 18 项不变,本日无新增项)。

2026-08-25 migration watchlist(0 PRs merged,无新增迁移项)

  • 08-24 ~ 08-25 0 PRs merged — main 自 08-23T22:25Z(#25323)起约 26h 静默(commits API 验证,非搜索索引延迟);宽窗口 merged:08-22..08-26 total 7 全部为已入库 PR。无 M-Migration-Guide、无破坏性 API 变更。
  • Carried forward checklist 更新(此前 18 项不变,本日无新增项)。
  • 前瞻关注(未合并)延续:#25514 Fix bevy not exporting bevy::extract——#22852(08-19 bevy_extract crate 落地)后的导出 gap 修复,合并后将使 custom render/extract 插件的 import 面进一步确定(属内部收尾,0.20 迁移者无需额外动作);#25542 Timer::almost_finish panic 修复(bevy_time,合并后时间 API 的 edge case 行为更稳)。

Milestone Status (2026-08-25)

Milestone Status (2026-08-24)

Milestone Status (2026-08-23)

Milestone Status (2026-08-21)

Milestone Status (2026-08-20)

Milestone Status (2026-08-19)

Milestone Status (2026-08-18)

Milestone Status (2026-08-16)

Milestone Status (2026-08-15)

Milestone Status (2026-08-13)

Milestone Status (2026-08-12)

Milestone Status (2026-08-11)

  • 0.19.1 milestone: 70/79 closed (88.6%), 9 open — 较 08-09(71/79):closed 71→70 回退 1,疑似一项被重开或 milestone 调整;total 持平 79。补丁发布继续后移(main 已 4 天无合并)。^[https://github.com/bevyengine/bevy/milestones]
  • 0.20 milestone: 70/106 closed (66.0%), 39 open — 较 08-09(68/106)+2 closed,稳步推进。^[https://github.com/bevyengine/bevy/milestones]
  • v0.19.0 stable remains latest release; no 0.19.1 tag yet.

Milestone Status (2026-08-09)

Milestone Status (2026-08-08)

  • 0.19.1 milestone: 71/77 closed (92.2%), 6 open — 较 08-04(59/64)total 增长 13、closed 增长 12:scope inflation 与收敛并存,补丁发布继续后移。^[https://github.com/bevyengine/bevy/milestones]
  • 0.20 milestone: 67/106 closed (63.2%), 39 open — 较 08-04(50/86, 58.1%)稳步推进,且 08-07 的两个 P-Regression UI 修复(#25188/#25184)均落入 0.20。^[https://github.com/bevyengine/bevy/milestones]
  • v0.19.0 stable remains latest release; no 0.19.1 tag yet.

Milestone Status (2026-08-04) — 历史快照

  • 0.19.1 milestone: 59/64 closed (92.2%), 5 open — carried over from Jul 25; today’s two 0.19.1 PRs (#25259, #25273) are in the final tail. Patch release imminent.^[https://github.com/bevyengine/bevy/milestones]
  • 0.20 milestone: 50/86 closed (58.1%), 36 open — last tracked Jul 25; no 0.20-scoped PRs in this window.^[https://github.com/bevyengine/bevy/milestones]
  • #25237 has no milestone binding — likely deferred or lower priority.
  • v0.19.0 stable remains latest release.

→ 续见 bevy-migration-2026-09